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...