/bobscheme

An implementation of Scheme in Python and C++

Primary LanguageC++The UnlicenseUnlicense

Bob is a suite of implementations of the Scheme language in Python. It currently includes:

  • A Scheme interpreter
  • An implementation of a stack-based virtual machine called the "Bob VM"
  • A compiler from Scheme to Bob VM bytecode
  • A serializer and deserializer for Bob VM bytecode

In addition, Bob comes with another version of the VM, implemented in C++. It's called "BareVM". BareVM is an optional component - Bob is fully usable as an implementation of Scheme in pure Python.

There's some documentation in the doc/ directory in the source. Getting Started.

The following diagram describes Bob:

https://github.com/eliben/bobscheme/blob/master/doc/diagrams/bob_toplevel.png