4 ms·
>> ...about polymorphism, and Rebol doesn't AFAIK have anything like it - Carl shunned OO when creating Rebol. Rebol does have objects, that's what the O in Re
by draegtun 10y ago
>> ...about polymorphism, and Rebol doesn't AFAIK have anything like it - Carl shunned OO when creating Rebol.
Rebol does have objects, that's what the O in Rebol refers to. Their prototypal objects influenced by the Self language.
And it also has polymorphism "built-in" [1] via its datatypes. However there doesn't seem to be a mechanism to extend or add your own. I guess the plan was probably to make use of the utype! datatype [2] penned for Rebol 3.
I think Carl Sassenrath is fine with OO but just doesn't like how most OO languages work [3].
[1] action! datatype - http://www.rebol.com/r3/docs/datatypes/action.html http://www.rebol.com/r3/docs/datatypes/action.html
[2] utype! - http://stackoverflow.com/questions/26780398/whats-known-about-utype-in-rebol-3 http://stackoverflow.com/questions/26780398/whats-known-abou...
[3] The problem with OOL is not the OO - http://www.rebol.com/article/0425.html http://www.rebol.com/article/0425.html
- gokr 10y agoWell, when I talk about polymorphism I of course mean the ability in the language to create first class polymorphic constructs. Hardwired things like [1] doesn't count :) Further, I had read the article [3] and it seems to me that he indeed "rejected" OO in large parts after having worked with Smalltalk. That's quite intriguing (or astounding!) to me - since I agree that most so called OOP languages misses a lot of the story when compared to Smalltalk. Personally I find polymorphism and encapsulation together with strong abilities of abstraction to be the key aspects of OO and I have never found any language that captures these things better than Smalltalk. At the same time I also find Rebol's focus on DSLs to be very interesting - and as many may know this was also a big part of Alan Kay's FONC project. In Spry I want to combine both. In contrast to Carl I embrace the original ideas of OO as manifested in Smalltalk. However, I couldn't care less of a lot of the overcomplicated mess that so called other OOP languages have created since then, and I also think the beauty of Smalltalk can be captured differently, for example without classes.