Datalog is a cool problem. I've started writing some code. The rule-unification part of the algorithm is trivial -- its not even proper unification at all. The hard part seems to be optimising the query strategy to avoid materialising too much. The advantage is you can support rules that would make Prolog barf:
ancestor(X,Y) - parent(X,Y) ancestor(X,Z) - ancestor(X,Y), ancestor(Y,Z). I'm pretty sure that is infinite recursion in Prolog land (correct me if I'm wrong), but works find in Datalog. Anyhow, my progress will be here: http://code.google.com/p/clojure-datalog/ I'll say more when I have more to show. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---