Module oxischeme::value [-]  [+] [src]

Scheme value implementation.

Structs

Cons

A cons cell is a pair of car and cdr values. A list is one or more cons cells, daisy chained together via the cdr. A list is "proper" if the last cdr is Value::EmptyList, or the scheme value (). Otherwise, it is "improper".

ConsIterator

An iterator which yields Ok for each value in a cons-list and finishes with None when the end of the list is reached (the scheme empty list value) or Err when iterating over an improper list.

Primitive

A primitive procedure, such as Scheme's + or cons.

Procedure

User defined procedures are represented by their body and a pointer to the activation that they were defined within.

Enums

Value

Value represents a scheme value of any type.

Functions

list

A helper utility to create a cons list from the given values.

Type Definitions

ConsPtr

A pointer to a cons cell on the heap.

ProcedurePtr

A pointer to a Procedure on the heap.

RootedConsPtr

A rooted pointer to a cons cell on the heap.

RootedProcedurePtr

A rooted pointer to a Procedure on the heap.

RootedValue
SchemeResult

Either a Scheme RootedValue, or a String containing an error message.