This is the mail archive of the
kawa@sources.redhat.com
mailing list for the Kawa project.
Re: null-environment
Daniele Maraschi <maraschi@lirmm.fr> writes:
> In the R5RS section 6.5 "Eval" I read literally:
>
> "...with the restriction that 'eval' is not allowed
> to create new bindings in the environment associated
> with 'null-environment' or 'scheme-report-environment'."
The define is not allowed. The question is whether the implementation
is required to detect the error. The answer is no, according to
section 1.3.2 "Error situations and unspecified behavior".
> I know it, but my intent was to provocate a question
> regarding the possibility to implement in Kawa "first-class"
> environments.
Kawa does have first-class environments. However, the Scheme API
is not all that complete or convenient. But it is possible to
create and use new Environments.
One complication is that I still haven't really rsolved how I want
to handle "Lisp2 vs Lisp1" - i.e. languages (like Emacs Lisp and
Common Lisp) that have separate variable and function name spaces.
Does such a language have two environments, or does each "binding"
have two values?
--
--Per Bothner
per@bothner.com http://www.bothner.com/~per/