>>>> "Stephen" == Stephen J Turnbull
<stephen(a)xemacs.org> writes:
>>>> "ms" == Michael Sperber
<sperber(a)informatik.uni-tuebingen.de> writes:
Stephen> That actually is quite reminiscent of the style you
Stephen> favor, it seems to me, but Python enforces it and
Stephen> provides some syntactic sugar.
ms> The nice thing about Scheme is that you can define your own
ms> syntactic sugar.
Stephen> Of course, the common Lisp opinion is that's the problem with Scheme.
Stephen> /duck
I don't think so: Common Lispers define their own syntactic sugar all
the time. Except it's, for the more interesting cases, a much more
painful and error-prone process because of the capture problems.
Stephen> Seriously, one of the things I do like about Python is that I know
Stephen> that [ x, y, z ] is a (mutable) list, ( x, y, z ) is an (immutable)
Stephen> tuple, and { a : x, b : y, c : z } is a dictionary (== hash), no
Stephen> matter who wrote the program.
As for lists, the distinction is equally clear in Scheme, if not
equally visible (well, depending on your screen font):
`(x y z) is mutable
'(x y z) is immutable
Not that this is a fact often intrinsically used in Scheme programs.
Stephen> And the same notations construct both
Stephen> "literals" and compound objects, as if you didn't need the
backquote
Stephen> notation in `(a ,x). I admit that this makes me nervous :-), but I
Stephen> haven't been screwed by it yet, all-hail-the-BDFL.
I can see that. But sooner or later, you run into situations where
the built-in sugar just ... isn't sweet enough.
--
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla