5 ms·
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 Fo
by hencq 5y ago
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 http://worrydream.com/EarlyHistoryOfSmalltalk
[1] https://raw.githubusercontent.com/worrydream/EarlyHistoryOfSmalltalk/master/SmalltalkHistoryHOPL-scanned-2015-07-16.pdf https://raw.githubusercontent.com/worrydream/EarlyHistoryOfS...
- scroot 5y agoIf 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/Smalltalk-72_Instruction_Manual_Mar76.pdf http://www.bitsavers.org/pdf/xerox/parc/techReports/Smalltal...
- jecel 5y agoThe 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.
- ProfHewitt 5y agoExcellent 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=3418003 https://papers.ssrn.com/abstract=3459566 https://papers.ssrn.com/abstract=3459566 Also, see the following video: https://www.youtube.com/watch?v=AJP1VL7shiI https://www.youtube.com/watch?v=AJP1VL7shiI
- galaxyLogic 5y agoEverybody parsing their own messages sounds interesting but in the end we need a shared language, shared syntax
- ProfHewitt 5y agoMessages themselves should be Actors.
- galaxyLogic 5y agoI 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.