A toy Scheme interpreter written in Python.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
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.