Wed Feb 26 17:08:32 EST 2020

Opaque vs. concrete state: can it just be cache?

It is because Erlang's state machines have no magic.  Their state is a
single data structure.  Putting it like that makes it easier to look
at state in a different way: opaque vs. concrete state.  Concrete
state does not need to be "live".  Spinning up a process with a
particular concrete state can be done lazily, i.e. it is a cache.

If combine that with a universal naming scheme, and perform
just-in-time binding, then ALL state becomes concrete.

To me, this is such an important concept: I grew up with mostly opaque
state: a process' state is a bunch of early bound data structures.