[plt-dev] some Racket proposals & implementation

From: Sam Tobin-Hochstadt (samth at ccs.neu.edu)
Date: Mon Apr 5 14:38:04 EDT 2010

On Mon, Apr 5, 2010 at 2:25 PM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> At Mon, 5 Apr 2010 10:31:42 -0400, Sam Tobin-Hochstadt wrote:
>> On Mon, Apr 5, 2010 at 10:21 AM, Robby Findler
>> <robby at eecs.northwestern.edu> wrote:
>> > I dislike this change. Brainfuck is very lightweight language too (by
>> > the measures of lightweightness I've seen here recently), lets not
>> > forget.
>> >
>> > In more politic words, it seems like making function definitions and
>> > structure definitions look so similar to each other is just asking
>> > Racket programmers to get confused.
>> We should also recall that almost all Racket programmers in the near
>> future will be people who already know PLT Scheme, and we shouldn't
>> throw away their (our) intuitions without strong reasons.  Switching
>> to #:super for the much-less-common case is very different from
>> changing the syntax in a significant way.
>> Also, for the foreseeable future, lots of people will program in
>> student languages where `define-struct' will have the syntax it has
>> now, using a textbook that uses that syntax as well.  I think this
>> installed mind-share suggests keeping the basic structure of the
>> syntax the same.
> I'm sympathetic to this argument, but doesn't it argue equally well
> against changing the name of the constructor bound by `define-struct'
> (i.e., dropping the `make-' prefix)?

I think it is an argument for that, but that dropping the `make-'
prefix has a much bigger upside than changing where an open
parenthesis goes.  These are all balancing issues, and we have to
weight the costs as well as the benefits.
sam th
samth at ccs.neu.edu

Posted on the dev mailing list.