A transcript from a deeply insightful @strangeloop_stl 2018 talk: comparing software design to programs that generate programs.
Deductive synthesis can give us insights on choosing abstractions, and counter-example guided synthesis is much like TDD!
miniblog.
Related Posts
Futhark's design is deliberately trying to stay simple to keep long term design sustainable.
The author also has an interesting discussion of relative versus absolute paths in import syntax, and how relative paths can make local analysis easier.
Individuals and interactions over processes and tools => Competence trumps process
Working software over comprehensive documentation => Minimize time from program launch to deployment of simplest useful functionality
I really like the DoD's phrasings of classic agile maxims:
Short and very accessible introduction to implementing unification, including Python sample code: