(no title)
z5h
|
1 year ago
Implementing and using a miniKanren was fun and enlightening. And it helped me appreciate how incredibly optimized and fast SWI-Prolog is for relational/logical programming. If someone knows of a miniKanren/language combination that outperforms SWI-Prolog and has good developer ergonomics for relational/logical programming, I’d love to hear about it.
cess11|1 year ago
I'm kind of a lisper but I find it easier to get things done in a proper Prolog than the kanrens.
upghost|1 year ago
The Clojure one is bundled up into a library called libscryer-clj, which I haven't released yet, but it operates the same way as libpython-clj[3], libjulia-clj[4], and libapl-clj[5].
As an aside, Scryer is hella ergonomic. clpz+reif is an amazing and amazingly powerful combination, and Scryer's DCG philsophy over double quoted strings is chefs kiss -- it really delivers on the original mission of Prolog. Ediprolog[6] is a fantastic REPL for Emacs.
And honestly if you haven't seen Marcus Triska's work[7], by God you are missing out on one of the true joys of life.
[1]: https://github.com/jjtolton/scryer-prolog/blob/ISSUE-2464/sc...
[2]: https://github.com/mthom/scryer-prolog/discussions/2687
[3]: https://github.com/clj-python/libpython-clj
[4]: https://github.com/cnuernber/libjulia-clj
[5]: https://github.com/jjtolton/libapl-clj
[6]: https://www.metalevel.at/ediprolog/
[7]: https://www.youtube.com/@ThePowerOfProlog
z5h|1 year ago
I was/am also anticipating performance gains from Scryer. Which is why I made a point to request up to date Scryer benchmarks in the SWI forums. Still, for free/open Prolog, SWI-Prolog is hard to beat: https://swi-prolog.discourse.group/t/porting-the-swi-prolog-...
sn9|1 year ago
[0] https://en.wikipedia.org/wiki/Flix_(programming_language)