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

From: John Clements (clements at brinckerhoff.org)
Date: Wed Nov 12 11:39:28 EST 2003

On Wednesday, November 12, 2003, at 11:21  AM, Bill Clementson wrote:

> --- John Clements <clements at brinckerhoff.org> wrote:
> [snip]
>> Look at it this way.  What source would you give to
>> the code in the
>> definitions window?
>> A filename?  But maybe the text has never been
>> saved, or maybe the text
>> in the definitions window is different from that in
>> the file.  In
>> DrScheme, the source for code from the definitions
>> window is listed as
>> being the definitions window itself.
> Why not just show the source for code in the
> definitions window as #f ? That is what is used for
> other statements in an expansion for which there is no
> source.

But there _is_ a source for this. This source is also important & 
useful if, for instance, you want to highlight an expression's source 
in its associated window.

>> I surmise that you would be less confused if the
>> source was listed as
>> "definitions window".  That's exactly what DrScheme
>> is telling you.
> That would make more sense. Having the source location
> of an editor mixin shown as the source of a scheme
> statement in the definitions window is confusing at
> best and incorrect at the worst.

Don't forget to look at the bigger picture.  What general discipline 
should DrScheme use to display objects?

>> What is the definitions window?  It's an instance of
>> a class.  How does
>> DrScheme print out an instance of a class?  By
>> describing the class,
>> including a reference to the file in which it was
>> defined.
> I understand all the words you've written and I
> understand what you're trying to say. I guess I just
> don't find it logical. However, that's probably just
> me.

I don't think it's just you, and I do agree that it's confusing.  On 
the other hand, I claim that it is extremely logical.  If by logical 
you mean 'consistent with a deliberate policy.'

> Thanks to you, Robby & Dor for the explanations.

Thanks for your patience; suggestions are always appreciated.


Posted on the users mailing list.