This sounds a lot like software transactional memory (STM) combined with static single assignment form (SSA).
The idea behind STM is to specify some block of code as being one big fat atomic operation, and then the runtime will magically make it so. The idea behind SSA form is to only assign variables once, as doing so makes imperative optimization as easy as functional.
I wonder if the author knows about these things, or if they're coming in at a different angle.
Author here. You'd be hard-pressed to find an example in the literature that I _haven't_ already heard of, I've been researching this for a few years now.
STM certainly makes temporal programming easier, though it's not universally available and I'm not sure to what extent it will scale up to be performant enough for large-scale use - how many megabytes can I commit in a transaction before I hit some hardware limit.
SSA is a very valuable formalism for describing the interrelation of changing local variables inside an imperative function, but it's difficult to apply program-wide when you're dealing with large data structures and complex call stacks.
Author here. Thanks, that is a core goal of the whole project - take a bunch of existing concepts and represent them as implementation details of a simpler, more general framework.
The idea behind STM is to specify some block of code as being one big fat atomic operation, and then the runtime will magically make it so. The idea behind SSA form is to only assign variables once, as doing so makes imperative optimization as easy as functional.
I wonder if the author knows about these things, or if they're coming in at a different angle.