Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I was surprised to see that Smalltalk-72 was actually a much different language. In some ways it reminded me of Lisp macros and a bit of stack languages like Forth.

This document [0] and especially Appendix II in this pdf [1] explain it well. Essentially an object just gets the unparsed message sent to it for it to do what it wants. So the code for an object basically parses the raw symbols to figure out what message to respond to.

[0] http://worrydream.com/EarlyHistoryOfSmalltalk

[1] https://raw.githubusercontent.com/worrydream/EarlyHistoryOfS...



If you are curious for more details, here is the Smalltalk-72 manual that Kay and Goldberg wrote at PARC:

http://www.bitsavers.org/pdf/xerox/parc/techReports/Smalltal...


The first Actor languages were inspired by Smalltalk-72 and make a lot more sense if you are familiar with -72 and less for those who only know Smalltalk-80.


Excellent video by Dan Ingalls on the Xerox early history of Smalltalk.

In November 1972, Alan Kay gave an inspiring seminar at MIT

on Smalltalk-72. There were ongoing discussions during the weeks after the lecture about the following:

    Dennis and van Horn capabilities 
    Petri nets
    Smalltalk-72
    Simula, which was strangely very different from Smalltalk-72 
    the Internet
    etc.) 
After extensive discussion about limitations of previous

efforts, we realized that

there is a single abstraction that provided the foundation

for all of computation which it was decided to name the

"Actors Abstraction". The Actors Paradigm covers all of

digital computation and consequently is more powerful than

Church/Turing Paradigm.

     Although the use of bitmap displays with Smalltak-72 
     was very impressive, Smalltalk-72 left a great deal to 
     be desired as a programming language.  
     Later Smalltalk designs were completely 
     different because they adopted the Simula class 
     hierarchy instead of the byte stream interpreter of 
     Smalltalk72
Limitations of Smalltalk72 reinforced the decision to not

define the fundamental abstraction of computation using a

programming language. Instead computation should be

defined axiomatically in terms of fundamental concepts including

       Actors
       Computational Events
       Partial order on computational events
       Regions of mutual exclusion
       Event induction as the foundation for proving properties of Actors Systems
See the following on how to axiomatically define computation

using the Actors Abstraction:

https://papers.ssrn.com/abstract=3418003

https://papers.ssrn.com/abstract=3459566

Also, see the following video:

https://www.youtube.com/watch?v=AJP1VL7shiI


Everybody parsing their own messages sounds interesting but in the end we need a shared language, shared syntax


Messages themselves should be Actors.


I think messages should be able to carry Actors. But there needs to be a "meaning" to a message. Therefore the message must pass on words and sentences which are the interpreted by whoever receives the message.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: