EDBT 2026 Demo / reviewers in the wild / expert
Kevin Millikin
dblp:45/74
· DBLP profile ↗
6ranked-venue papers
0as first author
0since 2021 · last 2015
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 3Theory of computation · 3Databases, data management, data science and information retrieval · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
1 paper |
Programming languages and type systems · 75% Compilers and program optimization · 25% |
Topics — the 4 heaviest of 4, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems › language implementation
abstract machines |
0.2 | 1 | 2015 | A Dynamic Continuation-Passing Style for Dynamic Delimited Continuations · ACM Trans. Program. Lang. Syst. 2015 |
Programming languages and type systems › program manipulation
continuation-passing style |
0.2 | 1 | 2015 | A Dynamic Continuation-Passing Style for Dynamic Delimited Continuations · ACM Trans. Program. Lang. Syst. 2015 |
Compilers and program optimization › program transformation
defunctionalization |
0.2 | 1 | 2015 | A Dynamic Continuation-Passing Style for Dynamic Delimited Continuations · ACM Trans. Program. Lang. Syst. 2015 |
Programming languages and type systems › computational effects
monads |
0.2 | 1 | 2015 | A Dynamic Continuation-Passing Style for Dynamic Delimited Continuations · ACM Trans. Program. Lang. Syst. 2015 |
Methods — techniques the papers use, named apart from their topics
refunctionalization · 0.2defunctionalization · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2015 | A Dynamic Continuation-Passing Style for Dynamic Delimited ContinuationsabstractWe put a preexisting definitional abstract machine for dynamic delimited continuations in defunctionalized form, and we present the consequences of this adjustment. We first prove the correctness of the adjusted abstract machine. Because it is in defunctionalized form, we can refunctionalize it into a higher-order evaluation function. This evaluation function, which is compositional, is in continuation+state-passing style and threads a trail of delimited continuations and a meta-continuation. Since this style accounts for dynamic delimited continuations, we refer to it as “dynamic continuation-passing style” and we present the corresponding dynamic CPS transformation. We show that the notion of computation induced by dynamic CPS takes the form of a continuation monad with a recursive answer type. This continuation monad suggests a new simulation of dynamic delimited continuations in terms of static ones. Finally, we present new applications of dynamic delimited continuations, including a meta-circular evaluator. The significance of the present work is that the computational artifacts surrounding dynamic CPS are not independent designs: they are mechanical consequences of having put the definitional abstract machine in defunctionalized form. Dariusz Biernacki, Olivier Danvy, Kevin Millikin |
ACM Trans. Program. Lang. Syst. | 3 |
| 2012 | On inter-deriving small-step and big-step semantics: A case study for storeless call-by-need evaluation
Olivier Danvy, Kevin Millikin, Johan Munk, Ian Zerny |
Theor. Comput. Sci. | 2 |
| 2009 | Refunctionalization at work
Olivier Danvy, Kevin Millikin |
Sci. Comput. Program. | 2 |
| 2008 | On the equivalence between small-step and big-step abstract machines: a simple application of lightweight fusion
Olivier Danvy, Kevin Millikin |
Inf. Process. Lett. | 2 |
| 2008 | A Rational Deconstruction of Landin's SECD Machine with the J OperatorabstractLandin's SECD machine was the first abstract machine for applicative expressions, i.e., functional programs. Landin's J operator was the first control operator for functional languages, and was specified by an extension of the SECD machine. We present a family of evaluation functions corresponding to this extension of the SECD machine, using a series of elementary transformations (transformation into continu-ation-passing style (CPS) and defunctionalization, chiefly) and their left inverses (transformation into direct style and refunctionalization). To this end, we modernize the SECD machine into a bisimilar one that operates in lockstep with the original one but that (1) does not use a data stack and (2) uses the caller-save rather than the callee-save convention for environments. We also identify that the dump component of the SECD machine is managed in a callee-save way. The caller-save counterpart of the modernized SECD machine precisely corresponds to Thielecke's double-barrelled continuations and to Felleisen's encoding of J in terms of call/cc. We then variously characterize the J operator in terms of CPS and in terms of delimited-control operators in the CPS hierarchy. As a byproduct, we also present several reduction semantics for applicative expressions with the J operator, based on Curien's original calculus of explicit substitutions. These reduction semantics mechanically correspond to the modernized versions of the SECD machine and to the best of our knowledge, they provide the first syntactic theories of applicative expressions with the J operator. Olivier Danvy, Kevin Millikin |
Log. Methods Comput. Sci. | 2 |
| 2007 | On one-pass CPS transformationsabstractAbstract We bridge two distinct approaches to one-pass CPS transformations, i.e, CPS transformations that reduce administrative redexes at transformation time instead of in a post-processing phase. One approach is compositional and higher-order, and is independently due to Appel, Danvy and Filinski, and Wand, building on Plotkin's seminal work. The other is non-compositional and based on a reduction semantics for the lambda-calculus, and is due to Sabry and Felleisen. To relate the two approaches, we use three tools: Reynolds's defunctionalization and its left inverse, refunctionalization; a special case of fold–unfold fusion due to Ohori and Sasano, fixed-point promotion; and an implementation technique for reduction semantics due to Danvy and Nielsen, refocusing. This work is directly applicable to transforming programs into monadic normal form. Olivier Danvy, Kevin Millikin, Lasse R. Nielsen |
J. Funct. Program. | 2 |