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
and connections.

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.