Relation to Actors
Watching David Spivak's course (see my twitter thread) which led me to this book, I came to wonder very quickly if Poly as Dynamical Systems could not be the mathematics for Actor based systems. That is an important question to me as I am using Actors to program a web server, and so understanding the relation would give me extra energy to read the books, and correct typos :-) If it did fit it could perhaps provide the maths for a general theory of the web.
The inventor of Actor Systems was Carl Hewitt and he wrote up a very personal explanation of them in a 2010 paper where he writes that it integrates:
1.the lambda calculus 2. interrupts 3. blocking method invocation 4. imperative programming using locks 5. capability systems 6 co-routines 7. packet networks 8. email systems 9. Petri nets 10. Smalltalk-72 11. Simula-67 12. pattern-directed invocation (from Planner)
I first came across an actor system using a language April by Keith Clark in 1993 doing my Masters, that could send messages to actors on the internet around the world as tuples. I am now using a different actor system - Akka - to build a Web Server used by many internet behemoths such as Paypal, that use it to execute over 1 billion transactions a day on relatively little hardware.
Akka Actors
- form open systems,
- maintain state
- have names (URLs) that can be used to address them
- can be typed by the messages they receive,
- they can change their own behavior
- the whole point is that they are individual execution contexts
Actor systems are excellent tools to build streaming libraries, which can be composed then using symmetric monoidal category like diagrams.
@alcestes has been working on pushing typesafe actors to the next level and I think he has a very good understanding of the theory of actors. I am not sure how much category theory he knows though.