[plt-scheme] Non-hygenic Macro Revelation

From: Joe Marshall (jmarshall at alum.mit.edu)
Date: Thu Mar 25 17:58:24 EDT 2010

Trimming down David's arguments:

On Thu, Mar 25, 2010 at 12:47 PM, David Herman <dherman at ccs.neu.edu> wrote:
> Sometimes you want it to work one way, sometimes another. Here's my standard example.
> Imagine that you implement `while' to implicitly bind `break'.
> Now imagine you want to implement `for' on top of this:
> In this case, you want part of the public interface of `for' to be that it binds `break'.

> But now imagine you want to use `while' internally as part of an implementation:
> Then you might *not* want the binding of `break' to be exposed.

> So there's no "right" behavior;

Therefore, you should never, ever use implicit bindings:  all
behaviors are wrong.


Posted on the users mailing list.