Modern Prolog Implemented in Rust
github.com
github.com
There's also an aspect that Rust is still seen as "unproven," compared to its rather bold goals and claims. A re-implementation of something existing is a good opportunity to see how well Rust-in-practice manages to approach Rust-in-theory, and in some ways is better for that purpose than a green-field Rust project.
Personally I prefer post-mortem write-ups rather than links to an active code-base, but you take what you can get.
Originally, the project started because I wanted a Prolog that could talk to Common Lisp. Prolog powers the type inference engine of the Shen programming language, a Lisp with optional static type checking. Implementing Shen in CL was something of a no-brainer, because I knew I wasn't going to beat SBCL for Lisp performance. Plus, I wanted to learn the ins-and-outs of Prolog implementation and also retain some of my sanity during the Prolog-to-CL FFI part. That meant avoiding existing Prologs.
How hard was the task? My personal experience has been that it's often hard
What performance benefits did you get? Insane drop in resource usage is what I've seen
What did you contribute to the young Rust ecosystem? Many people end up fixing existing weaknesses or problems to get existing thing rebuilt.
I think these and others, get many of us interested in these types of submissions.
- https://news.ycombinator.com/item?id=19545994
- https://news.ycombinator.com/item?id=19540845
And this one.
https://github.com/rust-lang/chalk
https://rust-lang.github.io/rustc-guide/traits/chalk-overvie...
I can think of several alternatives. I'm currently thinking of: s-crier. Rhymes with cryer. But it would be nice to know for sure.