Thu Feb 7 12:26:37 EST 2019
Local reasoning can't solve everything
What helps? The top-level idea that some dependency path should be
I.e. an application should behave as if it is a big ball of mud. An
event shoul have immediate consequence. All indirection should be
unevaluated bindings. I.e. it should be possible for a compiler to
substantially reduce the actual code causalities.
Abstractions should be zero-cost or at least cheap.
A final product is a consequence of a large amount of instantiations
Program design is the mapping of the big ball of mud implementation
onto an abstracted, modular implementation, by applying good judgement
in where to create interfaces.