About

Program synthesis is useful – Who wouldn’t want to make a computer that automatically writes programs? As humans and computers continue to work in collaboration, the distinction between programming, program-synthesis, and naturalistic communication will continue to blur. However, there is a knowledge gap between how to build state of the art program synthesis algorithms and what is generally known about it. This gap is much bigger than it needs to be. This blog aims to shrink this knowlege gap, so that you can start applying program synthesis to your own works. We will cover both the concepts of program synthesis – so you can have a framework to think and talk about it, and the bare-minimum toolings required to implement these algorithms – so you can start iterating on solutions. Ultimately, I hope researchers and system-builders can view “programming” as more than typing obscure green characters onto an uncompromising black terminal, and build systems that are as empathetic as they are efficient.

about me

Evan (Yewen) Pu is a researcher working on making programming more communicative. He has been in the field of program synthesis since 2010, and was adviced by Armando Solar-Lezama and Leslie Kaebling during his PhD.

redes sociales

website, scholar, twitter | I am evanthebouncy on all platforms

contribute

Feel free to create an issue on GitHub or contact me.

a list of contributors

These are the friends who helped me shape my writings for this blog post, in no particular order. Kevin Ellis, Sam Acquaviva, Di Huang (黄迪), Saujas Vaduguru, Armando Solar-Lezama, Daniel Fried, Leslie P. Kaelbling, Robert Hawkins, Leonardo Hernández Cano.