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:
- Idiomatic Rust - I'm relatively new to rust. If my match statements look cooky or something, please let me know.
- 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:
- Revised6 Report on the Algorithmic Language Scheme
- An Introduction to Scheme and Its Implementation from ftp://ftp.cs.utexas.edu/pub/garbage/cs345/schintro-v13/schintro_toc.html
- The Little Schemer