by James Koppel on Dec 30, 2019 | Tags: defunctionalization, functional programming, higher-order functions, refactoring
An impressive number of transformations in both compilers and in ordinary programming are special cases of a transformation called “defunctionalization.” This post explains what it is and the many places it’s useful.
Read more...
by James Bornholt on Nov 26, 2019 | Tags: program synthesis, rosette, SMT solving
Program synthesis promises a new way to build software. In this post we build a simple synthesizer from scratch in just a few lines of code.
Read more...
by Jeremy Gibbons on Oct 14, 2019 | Tags: design recipe, functional programming, programming, recursion, structural corecursion
We accept that data structure determines program structure. But we should not forget that it is not just the input data that may be structured: output data may be structured too, and both may determine program structure.
Read more...