[plt-scheme] fluid-let-syntax may get flushed

From: Psy-Kosh (psykosh at earthlink.net)
Date: Wed Aug 11 00:47:29 EDT 2004

Matthew Flatt wrote:

>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> Please drop me a note if you're using `fluid-let-syntax'. My current
> plan is to remove it from MzScheme starting with v299.14.
> The problem with `fluid-let-syntax' is that it provides a way to break
> into a module and access the module's private bindings. We have ignored
> the problem up to now, because there were so many other ways to break
> into a module. We're closing those other holes without changing the
> language much, but I think the solution for `fluid-let-syntax' is
> simply to get rid of it.

Not using it at this time, but, dumb thought, however why couldn't it 
instead be set up to work like fluid-let?

ie, that it would only be able to override bindings in the same module 
it was called from.

Let the macros zeeky-boogy-doog and blah be defined in module x such 
that (zeeky-boogy-doog ...) would become something of the form (blah ...).

if, inside of module x, there was somewhere a (fluid-let-syntax ((blah 
...)) (zeeky-boogy-doog ...)) then blah would be overridden.

but if instead elsewhere, there was a (require x) (fluid-let-syntax 
((blah)) ...) then the blah from module x would not be overridden, and 
zeeky-boogy-doog would operate as normal. (or at least, as normal as a 
transformer with that name could be. :) )

(or is your point simply that doing that would be more effort than it's 
worth if almost no one uses fluid-let-syntax?)


Posted on the users mailing list.