[plt-scheme] Describe Function

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Tue Nov 10 13:21:47 EST 2009

On Tue, Nov 10, 2009 at 12:18 PM, Doug Williams
<m.douglas.williams at gmail.com> wrote:
> Robby,
> I am going to add your variant procedure to the describe collection.


> Are you
> happy with the name 'variant' and the contract (-> any/c symbol?)?

Yes. (You may want to use substring isntead of regexp-match.)

> What is
> the relationship between this and object-name?

Nothing really. object-name is per-object (and not everything has a name).

>  It seems that for actual
> structs they return the same value. Would it make sense to change
> object-name to return the same value as variant in those cases where it
> (i.e., object-name) returns #f? This would trivially make this functionality
> available in #lang scheme, which seems to be a good thing.

I don't think that that change is really a good idea at this point.
Probably would break lots of stuff.


> Doug
> On Tue, Nov 10, 2009 at 7:43 AM, Robby Findler <robby at eecs.northwestern.edu>
> wrote:
>> On Tue, Nov 10, 2009 at 8:41 AM, Dave Herman <dherman at ccs.neu.edu> wrote:
>> >> This probably doesn't help Doug, but here is another way to define the
>> >> function linked above:
>> >
>> > That's neat, thanks! Has struct->vector always worked on non-structs?
>> I'm not sure about always, but at some point a while ago, Matthew
>> decided that all values are structs (in the sense that you could have
>> implemented everything with structs and scope, etc even if some of
>> them are implemented in C) and adapted the primitives to make them
>> behave accordingly.
>> Robby

Posted on the users mailing list.