[plt-scheme] fluid-let-syntax may get flushed
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?)
Psy-Kosh