It hasn't been merged into the main branch yet, but you can embed Scryer in Python now[1], and it's quite enjoyable. I've also embedded in Java, Clojure, and elisp[2] :)
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.
Yeah, I really like Scryer, it's been my goto Prolog for quite some time.
You wouldn't know a way to get it working under Termux on Android? I tried to build it a while back but got inscrutable compiler errors and didn't follow through. Maybe building Trealla would be easier, since it's implemented in C.
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