Fill out the rant a bit more

new_docs_polish
Tyler Goodlet 2021-05-31 08:56:36 -04:00
parent 558d546c8f
commit 4ee7db338d
1 changed files with 35 additions and 18 deletions

View File

@ -249,34 +249,51 @@ the parallelism you may have been needing.
Wait, huh?! I thought "actors" have messages, and mailboxes and stuff?! Wait, huh?! I thought "actors" have messages, and mailboxes and stuff?!
----------------------------------------------------------------------- ***********************************************************************
Let's stop and ask how many canon actor model papers have you actually read? Let's stop and ask how many canon actor model papers have you actually read?
From the author's mouth, **the only thing required** is `adherance to`_ From the author's mouth, **the only thing required** is `adherance to`_
the `3 axioms`_, *and that's it*. the `3 axioms`_, *and that's it*.
To get more fired up on the matter, please read issue 1 and issue 2. To get more fired up on the matter, please read these issues:
*News flash*: many "actor systems" people create aren't really "actor - https://github.com/goodboy/tractor/issues/210
models" since they don't adhere to the `3 axioms`_. Despite not looking - https://github.com/goodboy/tractor/issues/18
like an one from the outside ``tractor`` **does seem to adhere** to the
base requirements to be considered an "actor model". *News flash*: many "actor systems" aren't really "actor models" since
they **don't adhere** to the `3 axioms`_ and pay even less attention to
the problem of *unbounded non-determinism* (which was the whole point
for creation of the model in the first place).
Again, ``tractor`` does seem to adhere to the base requirements of
an "actor model"::
In response to a message, an actor may:
- send a finite number of new messages
- create a finite number of new actors
- designate a new behavior to process subsequent messages
``tractor`` requires *no further api changes* to accomplish this.
If you want do debate this further please feel free to chime in on our If you want do debate this further please feel free to chime in on our
chat or discuss on one of the above issues **after you've read chat or discuss on one of the above issues *after you've read
everything in them**. everything in them*.
Let's keep our parlance simple
******************************
The main goal of ``tractor`` besides the above feature set is is to
allow for highly distributed software that, through the adherence to
*structured concurrency*, results in systems which fail in predictable,
recoverable and maybe even understandable ways.
Let's clarify our parlance
**************************
Whether or not ``tractor`` has "actors" underneath should be mostly Whether or not ``tractor`` has "actors" underneath should be mostly
irrelvant to users other then for referring to the interactions of irrelevant to users other then for referring to the interactions of our
our primary runtime primitives: a Python process + `trio.run()` + primary runtime primitives: each Python process + ``trio.run()``
surrounding IPC machinery as *single-units-of-abstraction*. + surrounding IPC machinery. These are our high level, base
*runtime-units-of-abstraction* which both *are* (as much as they can
be in Python) and will be referred to as our *"actors"*.
The main goal of ``tractor`` is is to allow for highly distributed
software that, through the adherence to *structured concurrency*,
results in systems which fail in predictable, recoverable and maybe even
understandable ways; being an "actor model" is just one way to describe
properties of the system.
What's on the TODO: What's on the TODO: