Kevin Millikin

dblp:45/74 · DBLP profile ↗
← Back
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

TopicWeightPapersLastEvidence papers
Programming languages and type systems › language implementation
abstract machines
0.212015
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.212015
A Dynamic Continuation-Passing Style for Dynamic Delimited Continuations · ACM Trans. Program. Lang. Syst. 2015
Compilers and program optimization › program transformation
defunctionalization
0.212015
A Dynamic Continuation-Passing Style for Dynamic Delimited Continuations · ACM Trans. Program. Lang. Syst. 2015
Programming languages and type systems › computational effects
monads
0.212015
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
YearPublicationVenuePosition
2015 A Dynamic Continuation-Passing Style for Dynamic Delimited Continuations
abstract
We 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 Operator
abstract
Landin'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 transformations
abstract
Abstract 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