This procedure returns a specifier for the environment that results by starting with an empty environment and then importing each
list, considered as animport-set, into it. The bindings of the environment represented by the specifier are immutable, as is the environment itself. See theevalfunction for examples.
Procedure: null-environment version
This procedure returns an environment that contains no variable bindings, but contains (syntactic) bindings for all the syntactic keywords.
The effect of assigning to a variable in this environment (such as
let) is undefined.
Procedure: scheme-report-environment version
The
versionmust be an exact non-negative inetger corresponding to a version of one of the RevisedversionReports on Scheme. The procedure returns an environment that contains exactly the set of bindings specified in the corresponding report.This implementation supports
versionthat is 4 or 5.The effect of assigning to a variable in this environment (such as
car) is undefined.
Procedure: interaction-environment
This procedure return an environment that contains implementation-defined bindings, as well as top-level user bindings.
Procedure: environment-bound? environment symbol
Return true
#tif there is a binding forsymbolinenvironment; otherwise returns#f.
Syntax: fluid-let ((variable init) ...) body ...
Evaluate the
initexpressions. Then modify the dynamic bindings for thevariablesto the values of theinitexpressions, and evaluate thebodyexpressions. Return the result of the last expression inbody. Before returning, restore the original bindings. The temporary bindings are only visible in the current thread, and its descendent threads.
If
nodeis specified, returns the base-URI property of thenode. If thenodedoes not have the base-URI property, returns#f. (The XQuery version returns the empty sequence in that case.)In the zero-argument case, returns the "base URI" of the current context. By default the base URI is the current working directory (as a URL). While a source file is
loaded, the base URI is temporarily set to the URL of the document.
Procedure: eval expression [environment]
This procedure evaluates
expressionin the environment indicated byenvironment. The default forenvironmentis the result of(interaction-environment).(eval ’(* 7 3) (environment '(scheme base))) ⇒ 21 (let ((f (eval '(lambda (f x) (f x x)) (null-environment 5)))) (f + 10)) ⇒ 20 (eval '(define foo 32) (environment '(scheme base))) ⇒ error is signaled
Procedure: load path [environment]
Procedure: load-relative path [environment]
The
pathcan be an (absolute) URL or a filename of a source file, which is read and evaluated line-by-line. Thepathcan also be a fully-qualified class name. (Mostly acts like the-fcommand-line option, but with different error handling.) Sinceloadis a run-time function it doesn’t know about the enclosing lexical environment, and the latter can’t know about definitions introduced byload. For those reasons it is highly recommended that you use instead userequireorinclude.Evaluation is done in the specified
environment, which defauls to result of(interaction-environment).The
load-relativeprocedure is likeload, except thatpathis a URI that is relative to the context’s current base URI.