Introducing more meaning into inheritance

Alan C. Kay alank at wdi.disney.com
Sun Apr 26 20:26:51 UTC 1998


Bijan --

I agree, but I wasn't talking about modern lisps, but about "LISP" in which there are only unprotected data structures in the base. The real question of whether you have types or not doesn't depend so much on the behavior of variables, but on which functions can apply to which objects. At the time that classes came to be understood, LISP -- which then only existed in its S-expression form -- was a wonderful flexible "higher level assembler", not an OOP or typed language. In fact, CONS originally had 4 arguments and assembled an IBM 704 word. The two access functions left over from that time -- "car" and "cdr" -- stood for "contents of address register" and "contents of decrement register".

Cheers,

Alan

-------

At 3:52 PM -0400 4/26/98, Bijan Parsia wrote:
>At 3:11 PM -0400 4/26/98, Alan C. Kay wrote:
>
>[snip]
>>The whole issue is similar to that of types. Not having anything (like
>>LISP) >puts one too much in a kind of assembler.
>[snip]
>
>I'm sure this was off the cuff, and I really don't want to get into the
>"what is it to be a typed language" debate (even more than I don't want to
>get into the philosophy of math/comp sci debate; even though the claim that
>running a program on a computer is a formal method sends horrified chills
>up and down my spine ;), but to whatever degree Smalltalk is typed, it's
>the case that most folks claim that (modern) lisps are at least as typed.
>(I.e., the objects have types, but the variables can label objects of any
>type, except when you put type hints in, etc,.)
>
>Cheers,
>Bijan Parsia.





More information about the Squeak-dev mailing list