3 ms·
Probably doesn’t fit what you mean by mainstream, but even so: https://github.com/clojure/core.logic https://github.com/clojure/core.logic > A logic programmin
by FPGAhacker 6y ago
Probably doesn’t fit what you mean by mainstream, but even so: https://github.com/clojure/core.logic https://github.com/clojure/core.logic
> A logic programming library for Clojure & ClojureScript. core.logic offers Prolog-like relational programming, constraint logic programming, and nominal logic programming for Clojure.
- jrumbut 6y agoThis is cool but less what I'm looking for, which is to actually write Prolog inside my Clojure source, or be able to include a Prolog file. Minikanren seems to be closer to the mark, and I thank the commenters who pointed it out!
- harperlee 6y agoI think you oversaw that core.logic is basically a minikanren (plus c-kanren, plus alpha-kanren) implementation in clojure instead of scheme; it even points to the papers and to The Reasoned Schemer for documentation and reference. That is, saying that minikanren seems to be closer to the mark than core.logic is a little bit nonsensical (please read that in a good sense!)
- jrumbut 6y agoYou're right, although I think what I was actually wrong about was what minikanren is (probably by looking at examples in languages I was less familiar with). I don't want to do logic programming in clojure (or whatever other language), I want to do logic programming in Prolog and drop it into my clojure project and have to do as little plumbing as possible. The nearest analogy I can come up with is LINQ. In the examples in [1] the experience of the developer is closer to writing SQL in the middle of a C# or VB file, rather than having a good C# database query library. [1] https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/ https://docs.microsoft.com/en-us/dotnet/csharp/programming-g...