Skip to content
A PROLOG-ish interpreter written in Rust, intended eventually for use in the compiler
Branch: master
Clone or download
nikomatsakis Merge pull request #229 from nikomatsakis/flounder
Introduce concept of floundering
Latest commit 201775c Jun 10, 2019

Build Status


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


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:


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).

You can’t perform that action at this time.