Smalltalk-72 [Was: threads]

gafisher at sprynet.com gafisher at sprynet.com
Tue Feb 19 01:42:39 UTC 2002


Alan Kay <Alan.Kay at squeakland.org> wrote:
> Thanks to Marcel Weiher, "The Early History of Smalltalk" can be found at:
> 
> 
> 	http://www.metaobject.com/papers/SmallHistory.pdf
> 

Dear Alan;

A fascinating paper indeed; thank you for posting it.

Though I haven't finished reading "The Early History" yet, the
introduction immediately caught my eye when you mentioned the US$700
"1992 Interim Dynabook."  Though I might be able to guess, could you
identify this machine?  More to the point, what (if anything) would you
consider to be the current equivalent?

Gary Fisher


> Now to answer David Simmons' question.
> 
> First, Scheme came later ca. 75 and was more influenced by the early 
> work of Landin in the 60s (the great understander of lambda 
> expressions and the reconciler of LISP and Algol).
> 
> The history reveals just how ad hoc was the creation of Smalltalk-72 
> -- it was the result of a hallway conversation and bet -- this 
> resulted in my one-pager to show how to do a "really powerful 
> extensible oop language in one page". Then Dan Ingalls got it 
> running, and suddenly there was a working system. Though it didn't 
> have everything I had planned, it was still interesting in its own 
> right, and we started playing with it.
> 
> The feedins for this one-pager were my own thesis work on Flex 
> (influenced by Simula and Euler), Dave Fisher's control structures 
> thesis (both of these influenced by LISP), Ned Irons' IMP extensible 
> language, and Val Shorre's Meta II compiler compiler.
> 
> The idea was that one could go McCarthy's half-pager a couple of 
> notches better if:
> * one wrote the interpreter as a loop rather than as a recursion
> * objects and classes were the basis
> * a message send was just a notification to the instance->class that 
> a message was waiting
> * each class carried the grammar for its interface language
> * the grammar was a programmable grammar a la Meta II
> * the recognizers were classes with access to the control chains, a la Fisher
> * the notification was in the form of a control transfer without 
> (yet) evaling the params
>        -- that is the class was executed in the context of the static 
> and dynamic chain links
> 
> A version of this half-pager for ST-72 is given in the appendix of 
> the history document. I had to recreate it since I couldn't find the 
> original one I did over two weeks in 72 (I'm sure I have it 
> somewhere).
> 
> The result is a very minimal, but expressively powerful OOP system 
> with extensible syntax: ST-72.
> 
> My intent was that we should eventually make the recognizers look 
> more like BNF (there are examples of what was in mind in the 
> history), but we never did. However, Scott Warren (who lurks on this 
> list) a few years later did "Rosetta Smalltalk" in which he and his 
> friends correctly figured out where this style should go, and 
> implemented a version in a very nice and very pretty system on an 
> 8-bit micro.
> 
> The problem with an easily extensible language (the overhead of 
> writing a class at all in ST-72 also allowed new syntax with no extra 
> work) is that, even with great extensions, a tower of babel can 
> result pretty quickly. The equivalent of polymorphism, especially 
> with the addtion of new classes, could change the interpretation of a 
> message, since the pattern matching was done during receipt of the 
> message. This introduced ambiguities that could be unpleasant.
> 
> Dan decided to implement a fixed syntax when he did ST-76 (a pretty 
> nice compromise, and nicer than ST-80's today, but similar). We could 
> have gone a different direction, which would gather up the grammar 
> from the existing classes, and use it plus symbolic evaluation to 
> allow both compilation and extensible grammar. Ned Irons did this in 
> IMP, and it worked quite well in his parallel beam parser except for 
> the tower of babel effect. Note the interesting problems in 
> late-binding that have to be solved to allow certain new extensions 
> to an already running system.
> 
> To me, the most interesting thing about this exercise was (looking at 
> the past) how much expressive power could be obtained from a tiny 
> amount of code, and (looking at today) how impoverished most 
> scripting languages are for no reason I can discern.
> 
> Cheers,
> 
> Alan
> 
> ------
> 
> At 7:59 AM -0800 2/18/02, Alan Kay wrote:
> >Hi Dave --
> >
> >An interesting question. The story of Smalltalk-72 is in "The Early 
> >History of Smalltalk" that I wrote for the ACM almost 10 years ago. 
> >I have a .pdf of this which I will post in a swiki if someone will 
> >give me URL of a good place to stash it.
> >
> >Then I'll answer your question.
> >
> >Cheers,
> >
> >Alan
> >
> >------
> >At 1:34 PM -0800 2/17/02, David Simmons wrote:
> >>Alan,
> >>
> >>Why was the Smalltalk-72 form abandoned/changed to create Smalltalk-80?
> >>
> >>I just looked over the manual and it was fascinating. It looks like a
> >>hybrid between scheme and half-a-dozen scripting languages that showed
> >>up between the late-80's and early-90's.
> >>
> >>Smalltalk-72 might well have been a very popular scripting language for
> >>the internet 90's era.
> >>
> >>-- Dave S. [SmallScript Corp]
> >>
> >>SmallScript for the AOS & .NET Platforms
> >>David.Simmons at SmallScript.com | http://www.smallscript.org
> >>
> >>>  -----Original Message-----
> >>>  From: squeak-dev-admin at lists.squeakfoundation.org [mailto:squeak-dev-
> >>>  admin at lists.squeakfoundation.org] On Behalf Of Bijan Parsia
> >>>  Sent: Saturday, February 16, 2002 10:17 AM
> >>>  To: squeak-dev at lists.squeakfoundation.org
> >>>  Subject: re: threads
> >>>
> >>>  On Sat, 16 Feb 2002, Helge Horch wrote:
> >>>
> >>>  > At 23:57 15.02.2002 -0500, Bijan Parsia wrote:
> >>>  > >That being said, I don't quite get all of the Smalltalk-72 model,
> >>>  though
> >>>  > >I'm diligently (for me) perusing the manual :)
> >>>  >
> >>>  > Ah!, you mean the one at
> >>>  > <http://www.spies.com/~aek/pdf/xerox/alto/Smalltalk72_Manual.pdf>?
> >>>
> >>>  Yes indeed, thanks to whomever put that up. I guess I should pop the
> >>link
> >>>  into the swiki.
> >>>
> >>>  Cheers,
> >>>  Bijan Parsia.
> >>>
> >
> >
> >--
> 
> 
> --



More information about the Squeak-dev mailing list