What do folks think about situational calculus? <h...
# of-logic-programming
s
What do folks think about situational calculus? http://artint.info/html/ArtInt_335.html Specifically I'm interested in ideas and projects where this has been used in "high level programing". One example is that I specify I want to "add a message to a room". This is my goal. This requires planning, e.g. looking at the current situation I see that the message is on client, room is a database on server. Then I determine the sequence of smaller steps (send message to server, append message to db). Often we do the planning in our heads and write out the plan by hand, but can situational calculus help us use the computer to do this planning if we specify the high level goals? It could even provide multiple altenrnative plans and maybe we could choose? Have you seen examples of such use?
👀 2
p
Would you happen to know of any studies, or your own thoughts on how Situational Calculus compares with Prolog or Datalog + time? Because, I think much of the dynamics that happen with the Prolog + time would directly port over to a system that does this. A comparative study I think would shine some light on how exactly the primitives differ, illuminating both in the process.
👍 1
s
My logic programming is pretty weak so I don't really know (and read the following commentary with that in mind). It seems reasonable to me that Prolog could also achieve the same goal above, and the question could have been formulated in those terms as well. In fact an implementation of Situational Calculus - GOLOG (https://en.wikipedia.org/wiki/GOLOG) - is implemented in Prolog. I went with Situational Calculus because it seems to have a stronger notion of state (situation = state + path_to_the_state) and seems to have a closer model to what I'm thinking of. Prolog seems to be more about deriving new facts and asking "is this fact reachable".
👍 1
n
I think Datalog + Dedalus provides a more general solution to modelling state changes than this calculus (at a glance).
👍 1
j
@shalabh for your specific use case, consider also this blog post/paper/code: https://futureofcoding.slack.com/archives/C5U3SEW6A/p1600933934001000
👍 1