A PROLOG-ish interpreter written in Rust, intended eventually for use in the compiler
Branch: master
Clone or download
nikomatsakis Merge pull request #205 from dlrobertson/use_failure
Use the failure crate instead of error_chain
Latest commit f36ae45 Jan 31, 2019

README.md

Build Status

chalk

A Prolog-ish interpreter written in Rust, intended perhaps for use in the compiler, but also for experimentation.

FAQ

How does chalk relate to rustc? The plan is to have rustc use the chalk-engine crate (in this repo), which defines chalk's solver. The rest of chalk can then be considered an elaborate unit testing harness. For more details, see the Traits chapter of the rustc-guide.

Where does the name come from? chalk is named after Chalkidiki, the area where Aristotle was born. Since Prolog is a logic programming language, this seemed a suitable reference.

Blog posts

Here are some blog posts talking about chalk:

Contributing

If you're like to contribute, consider joining the Traits Working Group. We hang out on the rust-lang discord in the #wg-traits channel (Lang category).