Will machine learning automate programming out of existence, as it is doing for many other professions?
Open Access publication models aim to make scientific results accessible to everyone. How will we pay for them?
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.
Ideas from PL research, such as functional combinators, behavioural types, and compiler correctness proofs, can be applied to distributed systems, facilitating their understanding, implementation, and formal verification.
We share the results of a DARPA ISAT study, I-USHER: Interfaces to Unlock the Specialized HardwarE Revolution, arguing for new hardware/software interfaces to enable the revolution promised by hardware specialization.
Runtime Support for Multicore Haskell (ICFP’09) was awarded the SIGPLAN ten-year most-influential paper award in 2019. In this blog post we reflect on the journey that led to the paper, and what has happened since.
Reactive frameworks are very popular on the Web today, but they were unknown a decade ago. As creators of an early project in this space, we recount its origins and the unusual approach we took to writing an academic research paper about it.
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.
Drawing on numerous examples from papers published in PLDI 2019, I argue that scatter plots can be easier to understand than bar charts.
Drawing on numerous examples from papers published in PLDI 2019, I argue that normalised data should usually be plotted on a logarithmic scale.