<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Ralph Johnson wrote:<br>
<blockquote
cite="mid:e5fa86ac0803200104x255e8f43k1d8e7e32edbaf5b9@mail.gmail.com"
type="cite">
<pre wrap="">... Originally, the main use of become: was to implement Collections, but ... I don't like to see it in regular application code.
</pre>
</blockquote>
<br>
A.<br>
I don't like seeing #become: either. But my only reason is that it is
not standardized,<br>
therefore de-facto unportable. <br>
<br>
I think #become adds a lot to the 'attractive' power to the language,
and should be <br>
kept if only as a tribute to the founding fathers. Unless of course
there are clearly <br>
stated reasons why it's a bad construct ("#become: considered
harmful ...). <br>
<br>
#become: is very close to the core of Object-Orientation, in my view:
"What it means<br>
to be The object". If we can say what that means, we can also provide
an API for <br>
manipulating the fact, thus adding to the reflective power of the
Language.<br>
<br>
<br>
<br>
B. <br>
Let me transfer to a totally different, but also a "reflection" -issue,
which I've long <br>
considered the only thing lacking from Smalltalk: <br>
<br>
#performOverride:withArgs:<br>
<br>
This should in my view be defined as overriding the message-handling
behavior<br>
of any method sent to an object which provides an implementation of this<br>
method. #perform::withArgs: is already defined for Object, so
naturally we <br>
don't want to impose this behavior on everything. Yet we would like the
effect<br>
of defining this method to be inheritable.<br>
<br>
This single change I think would raise the "Reflection-Quotient" of
Standard Smalltalk<br>
to the level it deserves to be by this time and age.<br>
<br>
<br>
-Panu Viljamaa<br>
<br>
<br>
<br>
<br>
<blockquote
cite="mid:e5fa86ac0803200104x255e8f43k1d8e7e32edbaf5b9@mail.gmail.com"
type="cite">
<pre wrap="">
</pre>
<blockquote type="cite">
<pre wrap="">Object>>perform:
</pre>
</blockquote>
<pre wrap=""><!---->
I have nothing to add to this.
-Ralph
_______________________________________________
ANSI-Smalltalk mailing list
<a class="moz-txt-link-abbreviated" href="mailto:ANSI-Smalltalk@lists.openskills.org">ANSI-Smalltalk@lists.openskills.org</a>
<a class="moz-txt-link-freetext" href="http://lists.openskills.org/cgi-bin/mailman/listinfo/ansi-smalltalk">http://lists.openskills.org/cgi-bin/mailman/listinfo/ansi-smalltalk</a>
</pre>
</blockquote>
<br>
</body>
</html>