[self-interest] Assignement return value
mmikulicic at full-moon.com
Tue Sep 12 22:31:36 UTC 2000
David Ungar wrote:
> Why did we specify Self this way?
> The idea is that anything that does not return a particular,
> interesting value, just returns the receiver and we wanted to be
The fact that in Self a method returns the last value without an explicit
return made me think that the situation with the assignment primitive is
also different that from smalltalk's accessors...
> Was it the best choice?
It's ok because it's consistent. It works well in this situations
" (foo a: 1) b: 2 " where receiver based cascading is implemented without
But the pseudo code " foo a: (b := c)" must be written as " b: c . foo a:
b" wich means that
the compiler must be smarter to not duplicate code that re-reads the slot
(not an big execution problem since the value of "b" is on the processor
cache", but it increases the code size
and the pipelines could be longer :-).
Does the Self 4.0 compiler optimizer handle this situation ?
> Beats me, but I still like it.
> BTW, all this interest is really gratifying.
Self is THE language. This research for simplicity but power makes it great.
I can't judge the framework build upon it since I haven't a running system
but you can build infinite frameworks on top of a language. But a flexibile
behind the scene makes the real power go out.
Some people criticise C because of his standard library and search for new
language changing a little bit of
syntax, build a new framework and voila', you got a new language that
inherits all the great mistakes of the past.
I didn't have the time to check out, but I have an opinion that this extreme
situation is happening with the ms's language C#
(and previously, but less extreme, by Java).
> Anyone coming to OOPSLA?
I'm really sad, but I can't.
More information about the Self-interest