Representing monads
A Filinski - Proceedings of the 21st ACM SIGPLAN-SIGACT …, 1994 - dl.acm.org
We show that any monad whose unit and extension operations are expressible as purely
functional terms can be embedded in a call-by-value language with “composable …
functional terms can be embedded in a call-by-value language with “composable …
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 …
A gentle introduction to multi-stage programming
W Taha - … Seminar, Dagstuhl Castle, Germany, March 23-28 …, 2004 - Springer
Multi-stage programming (MSP) is a paradigm for developing generic software that does not
pay a runtime penalty for this generality. This is achieved through concise, carefully …
pay a runtime penalty for this generality. This is achieved through concise, carefully …
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 …
Exact Bayesian inference by symbolic disintegration
Bayesian inference, of posterior knowledge from prior knowledge and observed evidence, is
typically defined by Bayes's rule, which says the posterior multiplied by the probability of an …
typically defined by Bayes's rule, which says the posterior multiplied by the probability of an …
Foundations for programming and implementing effect handlers
D Hillerström - 2022 - era.ed.ac.uk
First-class control operators provide programmers with an expressive and efficient means for
manipulating control through reification of the current control state as a first-class object …
manipulating control through reification of the current control state as a first-class object …
A rational deconstruction of Landin's SECD machine
O Danvy - Symposium on Implementation and Application of …, 2004 - Springer
Landin's SECD machine was the first abstract machine for the λ-calculus viewed as a
programming language. Both theoretically as a model of computation and practically as an …
programming language. Both theoretically as a model of computation and practically as an …
Staged generic programming
J Yallop - Proceedings of the ACM on Programming Languages, 2017 - dl.acm.org
Generic programming libraries such as Scrap Your Boilerplate eliminate the need to write
repetitive code, but typically introduce significant performance overheads. This leaves …
repetitive code, but typically introduce significant performance overheads. This leaves …
An operational foundation for delimited continuations in the CPS hierarchy
M Biernacka, D Biernacki… - Logical Methods in …, 2005 - lmcs.episciences.org
We present an abstract machine and a reduction semantics for the lambda-calculus
extended with control operators that give access to delimited continuations in the CPS …
extended with control operators that give access to delimited continuations in the CPS …