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 …

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 …

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 …

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 …

Exact Bayesian inference by symbolic disintegration

C Shan, N Ramsey - Proceedings of the 44th ACM SIGPLAN …, 2017 - dl.acm.org
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 …

Delimited dynamic binding

O Kiselyov, C Shan, A Sabry - ACM SIGPLAN Notices, 2006 - dl.acm.org
Dynamic binding and delimited control are useful together in many settings, including Web
applications, database cursors, and mobile code. We examine this pair of language features …

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 …

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 …

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 …

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 …