guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: syntax-locally-bound-identifiers, local-eval


From: Mark H Weaver
Subject: Re: syntax-locally-bound-identifiers, local-eval
Date: Fri, 20 Jan 2012 15:00:29 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (gnu/linux)

There's another thing that really should be fixed, for the sake of
preserving our ability to change the implementation `local-eval' in the
future.

Since (the-environment) can be included in code compiled to disk, the
lexical environment objects that it returns are effectively now part of
our ABI.  As it is now, if we want to change the representation, we'll
be in for a lot of headaches to support lexical environments produced by
older code.

The fix is simple: Simply change the representation of the lexical
environment object to contain only a single field: a procedure that
takes an expression (and optional keyword arguments) and does the
equivalent of `local-eval' or `local-compile'.  (The keyword arguments
should specify whether or not to compile, and the compile options).

Then, `local-eval' and `local-compile', when applied to a lexical
environment object, should simply call the embedded procedure.

     Thanks,
       Mark



reply via email to

[Prev in Thread] Current Thread [Next in Thread]