Skip to main content

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

  1. 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).
  2. To serve as a potential example for other people interested in interpreter implementation, particularly Scheme interpreter.
  3. 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

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for serval, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size serval-0.1.tar.gz (14.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page