Re: Fresh syntax and unintentional capture
Andre van Tonder 26 Jun 2006 15:57 UTC
On Mon, 26 Jun 2006, Andre van Tonder wrote:
> I submit that the conventional model makes it impossible to reliably write
> helper procedures shared by different macros, since such procedures would
> have to know all surrounding bound identifiers potentially introduced by all
> possible present and future callers. For example, the helper
>
> (define (helper) (syntax (list 1 2 3)))
>
> will fail if any future caller inserts the result in code where LIST has been
> rebound.
By the way, I just want to point out that this example illustrates that
the suggestion in the text:
"This SRFI's generate-temporaries, while intended to generate lists of
temporaries as illustrated in the letrec example
of Section 3.9, can of course be used to generate single identifiers as well,
and library helpers can use that feature to introduce their
own unique bindings if necessary."
does not fully solve the "helper problem".
Regards
Andre