The essence of compiling with continuations
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 …
the continuation-passing style (CPS) transformation in a first phase to generate an …
A core calculus of dependency
M Abadi, A Banerjee, N Heintze… - Proceedings of the 26th …, 1999 - dl.acm.org
Notions of program dependency arise in many settings: security, partial evaluation, program
slicing, and call-tracking. We argue that there is a central notion of dependency common to …
slicing, and call-tracking. We argue that there is a central notion of dependency common to …
Type-directed partial evaluation
O Danvy - Proceedings of the 23rd ACM SIGPLAN-SIGACT …, 1996 - dl.acm.org
We present a strikingly simple partial evaluator, that is type-directed and reifies a compiled
program into the text of a residual, specialized program. Our partial evaluator is concise (a …
program into the text of a residual, specialized program. Our partial evaluator is concise (a …
Intersection types and computational effects
R Davies, F Pfenning - Proceedings of the fifth ACM SIGPLAN …, 2000 - dl.acm.org
We show that standard formulations of intersection type systems are unsound in the
presence of computational effects, and propose a solution similar to the value restriction for …
presence of computational effects, and propose a solution similar to the value restriction for …
A relational logic for higher-order programs
Relational program verification is a variant of program verification where one can reason
about two programs and as a special case about two executions of a single program on …
about two programs and as a special case about two executions of a single program on …
A sound reduction semantics for untyped CBN multi-stage computation. Or, the theory of MetaML is non-trival
W Taha - ACM SIGPLAN Notices, 1999 - dl.acm.org
A multi-stage computation is one involving more than one stage of execution. MetaML is a
language for programming multi-stage computations. Previous studies presented big-step …
language for programming multi-stage computations. Previous studies presented big-step …
Monadic and comonadic aspects of dependency analysis
P Choudhury - Proceedings of the ACM on Programming Languages, 2022 - dl.acm.org
Dependency analysis is vital to several applications in computer science. It lies at the
essence of secure information flow analysis, binding-time analysis, etc. Various calculi have …
essence of secure information flow analysis, binding-time analysis, etc. Various calculi have …
A computational formalization for partial evaluation
J Hatcliff, O Danvy - Mathematical structures in computer science, 1997 - cambridge.org
We formalize a partial evaluator for Eugenio Moggi's computational metalanguage. This
formalization gives an evaluation-order independent view of binding-time analysis and …
formalization gives an evaluation-order independent view of binding-time analysis and …
Collapsing towers of interpreters
Given a tower of interpreters, ie, a sequence of multiple interpreters interpreting one another
as input programs, we aim to collapse this tower into a compiler that removes all interpretive …
as input programs, we aim to collapse this tower into a compiler that removes all interpretive …
Cut-free Gentzen calculus for multimodal CK
M Mendler, S Scheele - Information and Computation, 2011 - Elsevier
This paper extends previous work on the modal logic CK as a reference system, both proof-
theoretically and model-theoretically, for a correspondence theory of constructive modal …
theoretically and model-theoretically, for a correspondence theory of constructive modal …