Crate oxischeme[stability] [-]  [+] [src]

A Scheme implementation, in Rust.

Modules

environment

The implementation of the Scheme environment binding symbols to values.

eval

Oxischeme is an interpreter, but it is not a naiive AST walking interpreter. In contrast to an AST walking interpreter, syntactic analysis is separated from execution, so that no matter how many times an expression might be evaluated, it is only ever analyzed once.

heap

The heap module provides memory management for our Scheme implementation.

primitives

Implementation of primitive procedures.

read

Parsing values.

value

Scheme value implementation.

Functions

main

Given no arguments, start the REPL. Otherwise, treat each argument as a file path and read and evaluate each of them in turn.

repl

Start a Read -> Evaluate -> Print loop.