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.
Quantum computing may be more powerful than classical computing but has a radically different programming model. Current languages are in their infancy; future languages are likely to be different. Now is a great time for language designers and implementers to try new ideas.
How should ACM address its contribution to climate change? After two years of discussions and study, the SIGPLAN Climate Committee proposes that (1) all ACM conferences should publicly *account* for the CO2e emitted as a result of putting them on; and that (2) ACM should put a *price* on carbon in conference budgets, to create incentive for organizers to reduce their footprints.
From its beginning 15 years ago, gradual typing is now part of everyday development practice for massive code bases at companies from Facebook to Microsoft to Stripe to Dropbox, all of which have developed their own gradual type systems. In this post, we cover the goals of gradual typing, why it’s had such an impact already, and what remains to be accomplished.
We sometimes think of the number of passes in a compiler as a measure of the compiler’s complexity. But what if we could make compiler development more approachable by fully embracing the idea that a compiler should be structured as a large number of small passes, each performing a single specific task?