On Apr 4, 2010, at 10:37 PM, Eli Barzilay wrote:

On Apr  4, Matthias Felleisen wrote:
On Apr 3, 2010, at 8:19 PM, Matthew Flatt wrote:

I like
 (define-struct (a x y) #:super b)
much better than the current
 (define-struct (a b) (x y))
but I'm not sure that it's worth changing.

The issue I brought up in Boston was the 'heaviness' of the looks of
our code, which to some extent is caused by long names. Going from
(make-a 0 1) to (a 0 1) is a good weight loss. The above seems to
call for trouble for a minor advantage.

I think that there *is* some weight loss here too -- one that is
similar to loss of moving from `mzlib/kw' to the current syntax.
Specifically, there's a whole bunch of struct features that you get
with no need to remember anything more than "use `define-struct'
instead of `struct'".  It's also the same kind of win as "use `for/*'
instead of `let'" that makes the current iterators so good (as opposed
to the srfi or the swindle or the CL syntaxes).


Yes, using a plain function header to specify structures (without body)
is very nice because you get all these things (keywords, initialization)
for free. But then we're back to the balance of change vs getting Racket
out. -- Matthias

_________________________________________________
 For list-related administrative tasks:
 http://list.cs.brown.edu/mailman/listinfo/plt-dev

Reply via email to