3 ms·
The Actor model is interesting because it wasn't originally a model for concurrency. It expresses concurrency semantics naturally, which is why it's been used
by drnewman 4y ago
The Actor model is interesting because it wasn't originally a model for concurrency. It expresses concurrency semantics naturally, which is why it's been used that way. But, believe it or not, originally it was a mathematical theory of computing comparable to the Lambda Calculus.
If you'd like to explore this space look up the original papers by Carl Hewitt. He's also written some more recent papers on the subject. Also the "Lambda Papers" by Sussman and Steele are instructive. They deal with implementing various control structures and computational patterns with lambdas. Unfortunately there isn't a "Lambda the Ultimate Object" which could be written. I'm guessing they didn't go there because at the time OOP hadn't taken off and may have seemed obvious to the people who where involved in Lisp/OOP at the time.
In his essay "Objects Have not Failed" Guy Steele addresses the history that deckard1 mentions.
[1] "Viewing Control Structures as Patterns of Passing Messages" - Carl Hewitt
[2] "Actor Model of Computation: Scalable Robust Information Systems" - Carl Hewitt
[3] The Lambda Papers - https://research.scheme.org/lambda-papers/ https://research.scheme.org/lambda-papers/
[4] "Objects Have Not Failed" - Guy Steele, https://www.dreamsongs.com/ObjectsHaveNotFailedNarr.html https://www.dreamsongs.com/ObjectsHaveNotFailedNarr.html