When tracing a program or thinking about how it runs, instead of thinking about a program counter, I often think of a spark or an electron traversing the thread of control like electricity on a wire. This is the sequential nature of procedures. However, what if a program were written in a language that was not limited to one spark or a few explicitly forked/spawned sparks but instead was inherently concurrent such that each procedural fragment presumed its own spark, even small programs having many concurrent sparks?
Control Factored Out
…more coming, work in progress. Come back to see more. 🙂