[net.micro] Object-orientedness and applicative languages

KELLY@Rutgers@sri-unix (12/07/82)

I have been following the smalltalk "object-orientedness" discussion on
INFO-MICRO for the past week or so, and was wondering if any of the   
participants have read any of the papers on the ORBIT system,  a true
"object-oriented" system (multiple inheritance of both properties and
procedures, etc.) without a "message passing" system model.

The basis for ORBIT is an underlying SCHEME-like language which uses the
lexical scoping of both function and variable names, together with 
function closures, to implement both encapsulation and inheritance.  
The result is a language of great economy (i.e. small and fast) which looks 
like LISP and behaves (much) like SMALLTALK.  It also inherits most of the 
theoretical elegance of SCHEME and its cousins.

The technical papers describing ORBIT are available from the AI group at
Schlumberger-Doll Research in Ridgefield, Ct.  The most accessible seem 
to be:

Steels, Luc (1981)
   "Programming with objects using ORBIT". AI Memo 13

Steels, Luc (1982)
   "An Applicative View of Object-Oriented Programming". AI Memo 15

I am certainly not proposing ORBIT as a be-all and end-all programming
system.  My first-hand experience with object-oriented systems is limited
to UNITS (a message-passing system) and GLISP (a slightly less elegant 
applicative system than ORBIT, built on top of a non-SCHEME-like LISP), so
I certainly cannot claim to be a wizard in such matters.
But if theoretical cleanness is worth much, to say nothing of code clarity,
then I would have to give ORBIT's approach my vote for the best flavor I 
have seen so far in object-oriented languages, SMALLTALK included.

Van E. Kelly
KELLY@RUTGERS
-------