In this project I wrote a compiler in Rust which turns a functional language inspired by Nix into turing machines. I started this project because I wanted to learn Rust properly and also because I had been studying Computer Theory for my degree. You can read more about the project and the development process on the articles I posted about it here:

  • Introduction and language design: post
  • Lexer, parser and annotater: post
  • Simplifier: post
  • Generator and showcase: post

You can also see the source code and build the compiler in the project’s github repository.