Smalltalk-72 [Was: threads]

Alan Kay Alan.Kay at squeakland.org
Tue Feb 19 03:10:59 UTC 2002


It was the BestBuy price of one of the early Mac powerbooks one year old.

Cheers,

Alan

-------

At 8:42 PM -0500 2/18/02, gafisher at sprynet.com wrote:
>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