On Sunday 03 November 2002 4:12 pm, Yukihiro Matsumoto wrote:
> Hi,
>
> In message "Re: Thoughts on Ruby"
>
>     on 02/11/03, Albert Wagner <alwagner / tcac.net> writes:
> |Smalltalk is pure OOP.  Ruby is not.  In Smalltalk the "operators" are
> | simply messages to an object.  In Ruby "operators" are neither objects
> | nor messages, but are rather handled as in more conventional languages. 
> | I don't know why Matz only went part way.   This part-way-ness is also
> | visible in other aspects of the language such as "if", "while", etc.  In
> | Ruby these things also are neither object nor message. Whereas in
> | Smalltalk, such constructs are messages to a Boolean object.
>
> They simply cannot implemented as methods.
>
> "=" is assignment, which is not a method even in Smalltalk (:=).

True.

> ""and", "or" and ".." are control structures, which also are *not*
> methods in most implementation of Smalltalk.
>
> 							matz.

IIRC, "and:" and "or:" are both methods of classes "False" and "True".
You are correct concerning "..".  I have never seen it in Smalltalk; perhaps 
because "." ends a statment.  In Smalltalk the same functionality is handled 
by the class Interval.


-- 
"I invented the term Object-Oriented, and I can 
tell you I did not have C++ in mind."
                                            -Alan Kay