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

Re: Fresh syntax and unintentional capture

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".