[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.