The essence of compiling with continuations

C Flanagan, A Sabry, BF Duba, M Felleisen - ACM Sigplan Notices, 1993 - dl.acm.org
In order to simplify the compilation process, many compilers for higher-order languages use
the continuation-passing style (CPS) transformation in a first phase to generate an …

Pilsner: A compositionally verified compiler for a higher-order imperative language

G Neis, CK Hur, JO Kaiser, C McLaughlin… - Proceedings of the 20th …, 2015 - dl.acm.org
Compiler verification is essential for the construction of fully verified software, but most prior
work (such as CompCert) has focused on verifying whole-program compilers. To support …

Compiling with continuations, continued

A Kennedy - Proceedings of the 12th ACM SIGPLAN international …, 2007 - dl.acm.org
We present a series of CPS-based intermediate languages suitable for functional language
compilation, arguing that they have practical benefits over direct-style languages based on A …

Compiling without continuations

L Maurer, P Downen, ZM Ariola… - Proceedings of the 38th …, 2017 - dl.acm.org
Many fields of study in compilers give rise to the concept of a join point—a place where
different execution paths come together. Join points are often treated as functions or …

CEAL: a C-based language for self-adjusting computation

MA Hammer, UA Acar, Y Chen - Proceedings of the 30th ACM SIGPLAN …, 2009 - dl.acm.org
Self-adjusting computation offers a language-centric approach to writing programs that can
automatically respond to modifications to their data (eg, inputs). Except for several domain …

Static interpretation of higher-order modules in Futhark: Functional GPU programming in the large

M Elsman, T Henriksen, D Annenkov… - Proceedings of the ACM …, 2018 - dl.acm.org
We present a higher-order module system for the purely functional data-parallel array
language Futhark. The module language has the property that it is completely eliminated at …

An optimizing compiler for a purely functional web-application language

A Chlipala - ACM SIGPLAN Notices, 2015 - dl.acm.org
High-level scripting languages have become tremendously popular for development of
dynamic Web applications. Many programmers appreciate the productivity benefits of …

Control-flow analysis of function calls and returns by abstract interpretation

J Midtgaard, TP Jensen - Proceedings of the 14th ACM SIGPLAN …, 2009 - dl.acm.org
We derive a control-flow analysis that approximates the interprocedural control-flow of both
function calls and returns in the presence of first-class functions and tail-call optimization. In …

Program metamorphosis

C Reichenbach, D Coughlin, A Diwan - … , Genoa, Italy, July 6-10, 2009 …, 2009 - Springer
Modern development environments support refactoring by providing atomically behaviour-
preserving transformations. While useful, these transformations are limited in three ways:(i) …

Validating dominator trees for a fast, verified dominance test

S Blazy, D Demange, D Pichardie - … , ITP 2015, Nanjing, China, August 24 …, 2015 - Springer
The problem of computing dominators in a control flow graph is central to numerous modern
compiler optimizations. Many efficient algorithms have been proposed in the literature, but …