On Mon, Apr 5, 2010 at 2:25 PM, Matthew Flatt <[email protected]> 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 >> <[email protected]> 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 [email protected] _________________________________________________ For list-related administrative tasks: http://list.cs.brown.edu/mailman/listinfo/plt-dev
