lazyprop / little-lisp

A little lisp interpreter written in Rust.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A little Lisp interpreter written in Rust. Implements a small subset of Scheme. Extremely slow, but works.

Small example: Small example

To-do's for the next interpreter I write

  • Because of the way built-in functions like arithmetic are represented in the codebase, they cannot be treated as normal lisp procedures. Trying to pass + into a fold, for example, will result in a name error.
  • Too many clones and other hacks to get around Rust's ownership rules. This probably does significantly impact the execution speed of the compiler.
  • Better, context-aware errors, errors at the parser level for catching syntax errors etc.
  • Quotes.
  • Tail call optimization.

About

A little lisp interpreter written in Rust.


Languages

Language:Rust 96.2%Language:Scheme 3.8%