Doing something like Datalog would be terrific fun. I might contribute if there is interest.
I'm not an academic, so most of my contributions would be on a practical level. We'd need someone else to provide the deeper aspects of theory. I've read Norvig's book, and understand his code, and my database book (Mollina, Ullman, and Wisdom's) has a chapter on Datalog. On Jan 29, 8:34 am, Rich Hickey <richhic...@gmail.com> wrote: > On Jan 26, 11:44 pm, smanek <sma...@gmail.com> wrote: > > > Hello all, > > > I'm a Common Lisp programmer who has just started learning Clojure. I > > saw it mentioned online that several members of the existing community > > were looking for someone to build adatalogfor Clojure: I was > > wondering what exactly you had in mind? > > > Were you thinking of a faithful implementation of the originalDatalog > > rule/query language? > > Yes, plus stratified negation at least. > > > Or, if not, what features would you like this > >datalogto have that aren't present in, say, the toy implementation of > > Prolog that Norvig defines in PAIP? (See chapter11, if you have a copy > > handy). > > I'd like it to beDatalog, and not Prolog, as I'd prefer the stronger > guarantees ofDatalog. In particular, I like the fact that clause > order does not matter, queries will complete, the distinction between > intensional and extensional etc. > > > Or, more to the point, what did you see thisdatalogbeing > > used for? > > As a declarative query/rule language for in-memory use (although > mappingdatalogqueries to SQL is also possible). > > > It seems like this could potentially be a fun little non-trivial > > problem to get started with Clojure in. > > I think so. There are two ways to go depending on one's interests. > > One would be a from-scratch Clojure implementation. The other would be > a Clojure wrapper for IRIS Reasoner: > > http://iris-reasoner.org/ > > Unfortunately I haven't had time to pursue either of these beyond some > initial exploration, but I think a simple declarative rule engine > would be a terrific addition to Clojure. > > Rich --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---