The very beginnings of a Scheme interpreter written in Rust.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

What this repo is

This repo began life as a simple, lisp-like calculator REPL to help me learn Rust, and, more specifically, learn nom.

After a bit of working on it, I decided it was enough fun to try making it into a fully functional Scheme interpreter. This is in progress, and not very far along.

Also, a word of warning: I don't have a computer science degree, and this is a hobby project, so you may not want to use it as your reference implementation for something critical.


This is a project I'm working on so that I can learn about Rust and programming language design. If you're interested in helping out, I would really appreciate pieces of feedback (or pull requests) in two areas:

  1. Idiomatic Rust - I'm relatively new to rust. If my match statements look cooky or something, please let me know.
  2. Computer science learning - Is my shift-reduce parser completely bonkers? Do pieces of this project have the wrong name? Please let me know.


These are websites or books that I'm referring to as I work through this book: