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 | RSS feed

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.

Source Distribution

serval-0.1.tar.gz (14.6 kB view details)

Uploaded Source

File details

Details for the file serval-0.1.tar.gz.

File metadata

  • Download URL: serval-0.1.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for serval-0.1.tar.gz
Algorithm Hash digest
SHA256 49647bf55c41f1f09980f0e6eece8192458bb3066248d91cb291a4acbb2307a3
MD5 ac15b41e04a6ec42e8afa199f997d1c3
BLAKE2b-256 a28d91acf6fb092eb27b76fff8ab8ea0a5b9c2ce8764215e0d5f567bd4d4f8d0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page