[plt-scheme] Where is macroexpand in PLT Scheme?

From: Bill Clementson (bill_clementson at yahoo.com)
Date: Tue Nov 11 23:34:42 EST 2003

--- John Clements <clements at brinckerhoff.org> wrote:
> On Tuesday, Nov 11, 2003, at 21:27 US/Eastern, Robby
> Findler wrote:
> >   For list-related administrative tasks:
> >  
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> >
> > At Tue, 11 Nov 2003 17:21:20 -0800 (PST), Bill
> Clementson wrote:
> >> It seems odd that it always shows up as
> colorer.ss or
> >> #f. Maybe it is getting confused somewhere and is
> >> using the filename of the last editor object that
> was
> >> used (in this case, the syntax colorer?)?
> >
> > No DrScheme's got it right, I think. All of your
> source is either some
> > unknown place or the definitions window.
> I think it confuses some folks that references to
> the definitions 
> window contain the letters "colorer.ss".

It definitely confuses me.

> If (like I was) you are confused, here's what's
> going on:
> MzScheme provides a powerful 'mixin' facility; at
> runtime, a mixin 
> applied to a class yields a class.  This facility is
> used widely to 
> extend DrScheme's functionality.  That is, to extend
> the 'DrScheme 
> definitions text% class', you supply a mixin that
> can be composed with 
> that class.  Instances of the resulting class are
> assigned the source 
> position of the last applied mixin.
> So, references to the definitions-text% show up as
> strings containing a 
> reference to the file containing the last-mixed-in
> tool.

But, isn't the expander confusing (I was about to say
"mixing up", but I limit myself to one bad pun a day)
an editor mixin with application code? The expander is
supposed to be expanding application code, not editor
code. Why is it showing the source file location for a
mixin that has modified the editor tool?

> FWIW, for a long time the stepper was the
> last-mixed-in tool.  This led 
> to lots of finger-pointing from the uninitiated.

At least I'm not the only person who has been confused
by this ;-).

Bill Clementson

Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard

Posted on the users mailing list.