by Robert Rand and Michael Hicks on Feb 6, 2020 | Tags: compilers, formal verification, language design, program synthesis, quantum computing, type systems
As quantum computers become more practical, there is a rich opportunity to advance the development of tools to assist in the process of programming them, both now and in the future. To encourage more PL-minded researchers to work in this exciting new area, we established the Workshop on Programming Languages for Quantum Computing (PLanQC).
Read more...
by Talia Ringer on Jan 29, 2020 | Tags: benchmarks, metatheory, proof engineering, retrospective
The history of machine-checked proofs about programming languages offers valuable lessons for the future of programming languages research.
Read more...
by Jeremy Gibbons on Jan 20, 2020 | Tags: artificial intelligence, programming
Will machine learning automate programming out of existence, as it is doing for many other professions?
Read more...
by Roberto Di Cosmo on Jan 14, 2020 | Tags: open access, publication process
Open Access publication models aim to make scientific results accessible to everyone. How will we pay for them?
Read more...
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 Ilya Sergey on Dec 23, 2019 | Tags: composition, consensus protocols, Distributed systems, formal reasoning, verification
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.
Read more...
by Sarita V. Adve, Ratislav Bodik, and Luis Ceze on Dec 19, 2019 | Tags: architecture, hardware specialization, language design, programming tools
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.
Read more...
by Simon Marlow, Simon Peyton Jones, and Satnam Singh on Dec 16, 2019 | Tags: concurrency, functional programming, Haskell, MIP award, parallelism, runtimes
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.
Read more...
by Shriram Krishnamurthi, Michael Greenberg, Arjun Guha, and Leo Meyerovich on Dec 3, 2019 | Tags: Flapjax, functional reactive programming, javascript, MIP award
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.
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...