Lambda the Ultimate

inactiveTopic Self
started 12/13/2000; 3:52:55 AM - last post 12/14/2000; 1:32:03 PM
Ehud Lamm - Self  blueArrow
12/13/2000; 3:52:55 AM (reads: 564, responses: 4)
Self's approach to OOP is different from other languages. It is not based on classes or objects but on prototypes.

This site offers some papers, tutorial information etc.
Posted to OOP by Ehud Lamm on 12/13/00; 3:53:42 AM

John Lawter - Re: Self  blueArrow
12/13/2000; 12:50:22 PM (reads: 559, responses: 0)
Yes, Self is really interesting. There was a link at to a project (I think at a Spanish university) creating an OS in Self.

Although Self hasn't really caught on, AFAIK, some of the compiler technology has found its way into Java.

Chris Rathman - Re: Self  blueArrow
12/14/2000; 7:35:35 AM (reads: 589, responses: 0)
Although Self has not had a lot of success as a language, it has been highly influential in a lot of the languages over the last 10 years. Probably the languages that were most influenced by Self would be JavaScript and Lua.

In my mind, Self is really a variation in Smalltalk - more an idiom developed from the Smalltalk object model than a wholesale variation in language design. Indeed, IIRC, Self was written and developed in Smalltalk. The main difference is that Self does not use Classes or MetaClasses to cut new objects. Instead, the cloning mechanism was refined to allow objects to Morph into new objects without the need to resort to a hierarchical class mechanism. If you look closely at Smalltalk, you will see that classes are objects like everything else - so they are just an idiom of the object model rather than a rigid model of how objects can and must be cut.

Along these lines, there has been an emphasis in the Squeak project to try to bring some of the capability of Self back into the Smalltalk fold. The Morphic World which is used in the GUI of Squeak has a character that is quite like Self, though Squeak is really just mimicking Self by doing all the class cutting behind the scenes (at least that's the way it currently works, though there has been some thought to get closer to Self along these lines).

Ehud Lamm - Re: Self  blueArrow
12/14/2000; 12:44:39 PM (reads: 575, responses: 0)
Sounds ineteresting.

I cam across Guru, a refactoring tool for Self.

It should be interesting since refactoring usually touches on language issues (e.g., Smalltalk doesn't have explicity abstract classes etc.)

Chris Rathman - Re: Self  blueArrow
12/14/2000; 1:32:03 PM (reads: 572, responses: 0)
One other language that falls under the category of object prototype languages is Cecil, a Univ. of Washington research project. An interesting language that combines the prototype nature of Self with the multimethod dispatch of CLOS. Ends up being somewhat similar in usage to Dylan. Of interest to anyone doing research in designing prototype languages.