Eval Library

August 25, 2021 ยท View on GitHub

The (scheme eval) library exports procedures for evaluating Scheme data as programs.

For more information see the R7RS Scheme Specification.

eval

(eval expr . environment)

Evaluate expr in the specified environment and return the resulting value(s).

A non-standard extension is provided to supply a default global environment if the environment argument is not specified.

create-environment

(create-environment vars values)

A non-standard function to create a new environment on top of the default one.

vars is a list of identifiers in the new environment, and values is a list of each value assigned to each identifier.

setup-environment

(setup-environment)

A non-standard function to initialize a new global environment.

expand

(expand expr [[environment] [rename-environment]])

Perform macro expansion on expr and return the resulting expression.

environment may be optionally passed as the current environment.

rename-environment is an optional argument of an environment containing variables renamed directly by macros. This would generally be an empty environment when using this function for macro debugging.