A Prolog-ish interpreter written in Rust, intended perhaps for use in the compiler, but also for experimentation.
chalk
is named after Chalkidiki, the island where Aristotle was
born. Since Prolog is a logic programming language, this seemed a
suitable reference.
Here are some blog posts talking about chalk:
- Lowering Rust Traits to Logic
- Explains the basic concepts at play
- Unification in Chalk, Part 1
- An introduction to unification
- Unification in Chalk, Part 2
- Extending the system for associated types
- Negative reasoning in Chalk
- How to prove that something is not true