[plt-scheme] Where is macroexpand in PLT Scheme?
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".
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.
FWIW, for a long time the stepper was the last-mixed-in tool. This led
to lots of finger-pointing from the uninitiated.
john