[squeak-dev] smalltalk evolution
info at tomsik.cz
info at tomsik.cz
Tue May 31 21:30:15 UTC 2011
On Tue, 31 May 2011 22:01:14 +0200, Randal L. Schwartz
<merlyn at stonehenge.com> wrote:
>>>>>> "info at tomsik" == info at tomsik cz <info at tomsik.cz> writes:
>
> info> In short: 1.) binary messages make sense only for math. I've never
> info> implemented even one binary message, have you? (for non-math
> info> things)
>
> info> Why not step further and make dsl for equations? let them live
> info> outside of language. (with everything common to math world)
>
> info> 2.) keyword messages with more than 2 arguments are just ugly -
> info> they smell in the "missing another object" way. And 2 arguments
> info> are rare too. I would allow one argument at top.
>
> So, you've now eliminated both possible ways of creating a new Point:
>
> 3 @ 4
> Point x: 3 y: 4
>
I'll go few steps further to show big-picture in hypothetical syntax
(one-argument closures with argument as implicit receiver, no returns ->
CPS)
Point new: [x: 3, y: 4, printOn: aStream].
<rcvr> <msg>: <arg>[<msgForNew>: <arg>, <msgForNew>: <arg>, <msgForNew>:
<arg>].
concepts: always left-to-right (receiver->message->argument), no
parentheses -> uniformity
returns: nothing, does something
vs.
(Point x: 3 y: 4) printOn: aStream.
(<rcvr> <msg>: <arg> <key2>: <arg2>) <msg>: <arg>.
concepts: sometimes left-to-right, depending on parentheses and
message-type (syntax)
returns: aPoint, which won't be used anyway, because it was printed
already.
> I wonder what language we would end up with if all of your (even
> conflicting) goals were implemented.
>
> The more syntax you eliminate, the more you end up with LISP. Maybe you
> want LISP... you know where to find it!
>
I'm not saying "let's drop objects", I'm saying "let's simplify language,
let's drop unused/misused/bad-in-long-process things"
More information about the Squeak-dev
mailing list
|