> The disadvantage of gensym'd symbols is that the code is more difficult
> to understand when pretty printed, and cannot be written to some file
> and retrieved later.


> The PicoLisp solution of transient symbols has an identical effect
> (especially if you surround the function definition(s) with (====)).

I see!

> Though the usage of transient symbols (like gensym'd symbols) nicely
> protects from symbol capture, there is one nasty detail: Symbols that we
> *want* to be evaluated in the outer environment, most notably '@'.

Thanks for explanation.

Is @ the only problem?  How serious problem/inconvenience do you
consider it?

Would not it be possible somehow to rebind it again with some trick
along the lines of:

(de foo "Prg"
   (when (car "Prg")
      (run (let @ (up '@) (cdr "Prg")) ) ) )

Why this does not work?

Thank you,


Reply via email to