Some thoughts on Newspeak

Gilad Bracha is working on a Smalltalk-derived language. I found some information via Lambda the Ultimate.

Languages that support both inheritance and nesting of declarations define method lookup to first climb up the inheritance hierarchy and then recurse up the lexical hierarchy. We discuss weaknesses of this approach, present alternatives, and illustrate a preferred semantics as implemented in Newspeak, a new language in the Smalltalk [GR83] family.
Gilad Bracha, On the Interaction of Method Lookup and Scope with Inheritance and Nesting (pdf)

I have also been intrigued by the relation between block structure and objects (or classes). The Beta language combined both in a construct named pattern, which is the only abstraction provided.

Curiously, Lisp languages, which are very block structured and use lexical scope in many ways, have always opted for record-based class systems. That is, in CLOS, for example, is not possible to have nested classes. This may be a result of building classes programmatically (although macros are used to present definitions), but also may come from using generic methods instead of message passing.

Another interesting trait of Newspeak is its use of default constructors as parameters to a class invocation, explained in the article Object Initialization and Construction Revisited.

Leave a Reply

Your email address will not be published. Required fields are marked *