[plt-dev] syntax-local-value and identifier-mappings

From: Sam TH (samth at ccs.neu.edu)
Date: Mon Mar 9 16:15:46 EDT 2009

Typed Scheme is implemented using a free-identifier-mapping that
associates type names with types.  This has the nice property that it
cooperates with the module system to track arbitrary requires,
provides, and renamings.  Unfortunately, it breaks in the presence of
rename transformers.

Right now, `syntax-local-value' cooperates with
`make-rename-transformer' to 'do the right thing'.  However, it's not
possible to build any other abstractions with the same property, since
you can't get out the target of a rename transformer (you can't even
tell that an identifier is bound to one).  It would be nice if
`syntax-local-value' took an additional argument to specify that it
shouldn't loop, so that other abstractions could be built that
respected rename-transformers.

sam th
samth at ccs.neu.edu

Posted on the dev mailing list.