A PROLOG-ish interpreter written in Rust, intended eventually for use in the compiler
Clone or download
nikomatsakis Merge pull request #197 from nikomatsakis/salsaify
introduce salsa and use a really coarse-grained query
Latest commit 083d843 Jan 17, 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).