A toy Scheme interpreter written in Python.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md
__init__.py
environment.py
evaluator.py
forms.py
parser.py
scheme.py
scheme_test.py

README.md

schemepy

A toy Scheme interpreter written in Python. With guidance from Peter Norvig's lispy tutorial and Mary Rose Cook's Little Lisp Interpreter.

to use

  • download, clone, or fork
  • navigate to directory
  • run python scheme.py or rlwrap python scheme.py if you have rlwrap installed for readline support.

what it does

It evaluates:

  • if statements
  • let and lambda expressions
  • some simple math

it can also define a variable and evaluate its expression if it has any.

what it doesn't do

set!, begin

todo

  • Implement the stuff in the what it doesn't do section
  • Definitely refactor
  • Write better tests

special thanks

Made with lots of tears and heart at Hacker School.