Divergence


Defined in my 2016 paper, divergence represents any discrepancy between the runtime state of an application, and the state through which it can be authored. Typical sources of divergence include the program’s call stack, unintepreted addresses within the heap, event listeners and typical sources of object representation such as vtables and the like.

In a tradition of materialised programming, divergence should be minimised, in order to reduce the mental burden on those trying to visualise the effects of their edits.