[Bese-devel] Arnesi on Lispworks 5 (call/cc etc.)
"Berki Lukács T."
blt at sch.bme.hu
Mon May 28 07:41:11 UTC 2007
>
> I'm just an interested party who wants to use Arnesi as it looks
> incredibly cool but have only marginal understanding of this
> undocumented feature. What I was wondering is if the original author
> has sufficient knowledge of environments to construct an equivalent to
> augment-environment from other exposed primitives - on LispWorks 5.
Although I am the author of the relevant patch, unfortunately I am no
wiser than you -- they seem to have changed the lexical environment
handling in LispWorks 5.0, and forgot to add augment-environment (all
other symbols from ClTl2 section 8.5 are there (enclose and parse-macro,
for example)).
I have experimented a little with system::make-augmented-environment and
managed to create an environment with an extra symbol-macro definition
like this:
(setq mysymvenv (compiler::make-venv :kind 'compiler::symbol-macro
:lambda 69 :name 'mysym))
(setq mysymenv (system::make-augmented-environment :venv (list mysymvenv)))
(macroexpand 'mysym mysymenv)
And the result is:
69
I guess this could be made to work for macros, variables, and flet's
with a little extra effort. There is a symbol called
system::make-augmented-environment-for-eval, but it always returns an
empty augmented environment for me.
Lukács
More information about the bese-devel
mailing list