cyclone/docs/api/scheme/eval.md
Justin Ethier f8717517a4 Issue #480 - Make (expand) easier to use
Only require a single expression argument. The remaining environment arguments are generally not required when debugging from the REPL. This makes expand much easier to use for casual debugging.
2021-08-25 17:47:55 -04:00

1.3 KiB

Eval Library

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.