Croquet alpha release(s?)

Stephane Ducasse ducasse at iam.unibe.ch
Sat Dec 7 15:20:00 UTC 2002


Hi bert,

do I was bashing? No I was wondering if I missed really something.

> On Fri, 6 Dec 2002, Stephane Ducasse wrote:
>
>> when I saw the extension Matrix[,]
>> I thought that this was not worth. Have you arguments why having this
>> is good?
>
> Readability.
>
>> Why Matrix with: with: is not sufficient?
>
> Probably for the same reason you will dish {x.y.z} but rather write 
> (Array
> with: x with: y with: z). Fine. You don't have to. And if you can't 
> stand
> seeing Matrix[i,j] in the Croquet code, switch on "decompile" in your
> browser and you'll see (Matrix matrixAt: i at: j).
>
> I consider myself an experienced Smalltalk code reader, but it takes me
> much longer to mentally parse
> a matrixAt: (1 to:3) at: #all put: (b matrixAt: #all at: (1 to: 3))
> than to understand the equivalent
> 	a[(1 to: 3),#all] := b[#all,(1 to: 3)].

I agree that this is more readable even if I do not understand the 
expression either.

But then can you explain me as a new guy where I can find the 
definition of {}
because I can find ifTrue:, do:.... but {} is hardcoded in the compiler 
as the other constructs.
So may be it would be better to have a way to declare new construct 
than hacking them
in the compiler. At least we could present it in a non ad-hoc fashion.

Note that this may be a bad solution because programmers are like gaz, 
they tends
to use of the features proposed. So I'm sure that in no time we would 
end up in a mess.


>
> Having a minimalist syntax is great, but religiously bashing any 
> extension
> is short-sighted, at least. Even your "minimalist syntax" paper showed
> braces, although you omitted them in the discussion. ;-)

There is a distinction between showing all the constructs so that 
readers
can understand the code and agreeing on this kind of constructs. I 
showed it for completeness sake.
When I send these emails I was trying to educate my taste as language 
designer. I learned a lot from the discussion. Still this is not clear 
what I would put or not into a new language. I like the
idea that with message and block we got nearly everything.


> If we went for a truly minimal syntax we could remove method cascades,
> binary messages, or even variables, assignments, and returns, probably 
> a
> lot more. Why are these still here? Readability.

I think that Smalltalk has better to do for evolving that changing two 
bits of syntax.
Especially because I finally found really sad to have a lot of small 
communities that
are reinventing things. I think that cross dialect tools such as RB, 
swazoo are important.
But apparently we like all to stay in our small little microscopic area 
and watch other communities
growing.

I think that having a scriptable system without UI (but loadable), good 
interoperability
with C, definable core image, .... is more important. Eventually 
escaping the closed sweet world
of the image.

Have you read the slides of the presentation of Dave Thomas at ESUG?
http://csl.ensm-douai.fr/esug2002/2

This makes me think a lot of what could be a new Smalltalk-like 
language that would change radically
from what we have still keeping the best.
Why people like Ruby, Python, do they are only ignorant of our great 
language or is there something else?
{} file-based, emacs?? I do not have the answer but I'm really 
wondering.




> -- Bert
>
>
>
Dr. Stéphane DUCASSE (ducasse at iam.unibe.ch) 
http://www.iam.unibe.ch/~ducasse/
  "if you knew today was your last day on earth, what would you do
  different? ... especially if, by doing something different, today
  might not be your last day on earth" Calvin&Hobbes





More information about the Squeak-dev mailing list