Simple Scheme interpreter in Python
Project description
Overview
Serval is a high-level Scheme interpreter written in Python. It implements a subset of R5RS. The code closely follows Scheme meta-circular evaluator implementation from Ch.4 of the SICP book.
The goal of the project
Self-education (I’ve been always fascinated by language design and implementation, it was about time I started learning about interpreters and compilers by actually writing something).
To serve as a potential example for other people interested in interpreter implementation, particularly Scheme interpreter.
Not a goal per se, but I wanted the Serval to be able to run all examples from “The Little Schemer” book (that was my test target). The project has a test module test_the_little_schemer.py which runs simple meta-circular evaluator from Ch.10 of the book.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.