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.
Most applications of program synthesis are concerned with the engineering of software. However, because programming languages can be used to model the physical world, program synthesis can also offer a way of discovering and validating new hypotheses in the natural sciences. In this post, I elaborate on how.
The wealth of code now available on-line is fertile ground to enable machine learning to be applied to programming tasks. This post discusses the promise of and some progress on the problem “deep code.” It is the first in a series.
Program synthesis addresses an age-old problem in computer science: can a computer program itself? This post surveys the growing evolution of work in this exciting area.