[plt-dev] some Racket proposals & implementation

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Sun Apr 4 09:14:26 EDT 2010

Eli seemed to suggest that the confusing version could be set up to
only be used for porting purposes (ie to do a manual port with a human
cleanup pass later that removed the need for the #lang scheme-based
define-struct). Did I get that right?


On Sun, Apr 4, 2010 at 5:08 AM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> At Sat, 3 Apr 2010 21:51:06 -0400, Eli Barzilay wrote:
>> On Apr  3, Matthew Flatt wrote:
>> > At Sat, 3 Apr 2010 18:30:57 -0600, Robby Findler wrote:
>> > > Does it make sense to give this revision to define-struct a different
>> > > name and keep the same old define-struct around from scheme/base?
>> >
>> > Lots of other forms and procedures have `struct' in the name, so if we
>> > just change `struct' to something else, we'd either have a mismatch or
>> > have many other changes.
>> >
>> > Or did you have a different kind of change in mind?
>> How about this: the current `define-struct' and the one with the
>> lambda-look are (I think) easily distinguishable, so it could be a
>> single form that does the same thing it does now (and uses `make-foo'
>> for constructors) when using the existing syntax, and when you use the
>> new syntax you get the new thing.  Assuming that this can work, it
>> means that even the constructor name change is not happenning for
>> current code so there's no migration problem.
> Cute, but I agree with others that it's likely too confusing.

Posted on the dev mailing list.