[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