• Publications
  • Influence
Categorical Structure of Continuation Passing Style
This thesis attempts to make precise the structure inherent in Continuation Passing Style (CPS). We emphasize that CPS translates λ-calculus into a very basic calculus that does not have functions asExpand
Static Analysis for Regular Expression Exponential Runtime via Substructural Logics
A more accurate analysis is built on a recently published static analysis that detects whether a given regular expression can have exponential runtime for some inputs and thereby reducing the REDoS problem to reachability. Expand
Static Analysis for Regular Expression Denial-of-Service Attacks
Testing the analysis on two large repositories of regular expressions shows that the analysis is able to find significant numbers of vulnerable regular expressions in a matter of seconds, and has a firm theoretical foundation in abstract machines. Expand
Modelling environments in call-by-value programming languages
This paper investigates environments in call-by-value languages by analysing a fine-grain variant of Moggi’s computational λ-calculus, giving two equivalent sound and complete classes of models: one given by closed Freyd categories, which are based on symmetric premonoidal categories, the other given by open κ-categories. Expand
A Type-theoretic Reconstruction of the Visitor Pattern
This paper reconstructs the Visitor pattern from the polymorphic encoding by way of generics in Java, and sketches how the quantified types in the polymorphIC encoding can guide reasoning about visitors in general. Expand
Closed Freyd- and kappa-categories
Two classes of sound and complete models for the computational λ-calculus are given and the notion of cartesian closed category is generalised to that of closed Freyd-category. Expand
Continuation semantics and self-adjointness
An abstract categorical presentation of continuation semantics by taking the continuation type constructor ¬ (or cont in Standard ML of New Jersey) as primitive as primitive, specialising the semantics to the CPS term model allows a reconstruction of CPS transforms. Expand
On the call-by-value CPS transform and its semantics
Among the novelties are an unusually simple axiomatization of control operators and a strengthened completeness result with a proof based on a delaying transform. Expand
Linear Continuation-Passing
It is shown that all of these continuations, bar backtracking, in fact use their continuations linearly; this is formalised by taking a target language for CPS transforms that has both intuitionistic and linear function types. Expand
From control effects to typed continuation passing
This paper establishes the connection between an effect system for first-class continuations and typed versions of continuation-passing style, and derives transforms that make use of effect information, in particular, a mixed linear/non-linear continuation-Passing transform. Expand