Results 1 
9 of
9
A Semantic Model for Graphical User Interfaces
, 2011
"... We give a denotational model for graphical user interface (GUI) programming in terms of the cartesian closed category of ultrametric spaces. The metric structure allows us to capture natural restrictions on reactive systems, such as causality, while still allowing recursively defined values. We capt ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
We give a denotational model for graphical user interface (GUI) programming in terms of the cartesian closed category of ultrametric spaces. The metric structure allows us to capture natural restrictions on reactive systems, such as causality, while still allowing recursively defined values. We capture the arbitrariness of user input (e.g., a user gets to decide the stream of clicks she sends to a program) by making use of the fact that the closed subsets of a metric space themselves form a metric space under the Hausdorff metric, allowing us to interpret nondeterminism with a “powerspace ” monad on ultrametric spaces. The powerspace monad is commutative, and hence gives rise to a model of linear logic. We exploit this fact by constructing a mixed linear/nonlinear domainspecific language for GUI programming. The linear sublanguage naturally captures the usage constraints on the various linear objects in GUIs, such as the elements of a DOM or scene graph. We have implemented this DSL as an extension to OCaml, and give examples demonstrating that programs in this style can be short and readable.
Linearlyused continuations in an enriched effect calculus
 In preparation
, 2009
"... Abstract. The enriched effect calculus is an extension of Moggi’s computational metalanguage with a selection of primitives from linear logic. In this paper, we present an extended case study within the enriched effect calculus: the linear usage of continuations. We show that established callbyval ..."
Abstract

Cited by 6 (4 self)
 Add to MetaCart
Abstract. The enriched effect calculus is an extension of Moggi’s computational metalanguage with a selection of primitives from linear logic. In this paper, we present an extended case study within the enriched effect calculus: the linear usage of continuations. We show that established callbyvalue and callby name linearlyused CPS translations are uniformly captured by a single generic translation of the enriched effect calculus into itself. As a main syntactic theorem, we prove that the generic translation is involutive up to isomorphism. As corollaries, we obtain full completeness results for the original callbyvalue and callbyname translations. The main syntactic theorem is proved using a categorytheoretic semantics for the enriched effect calculus. We show that models are closed under a natural dual model construction. The canonical linearlyused CPS translation then arises as the unique (up to isomorphism) map from the syntactic initial model to its own dual. This map is an equivalence of models. Thus the initial model is selfdual. 1
Linearlyused state in models of callbyvalue
"... Abstract. We investigate the phenomenon that every monad is a linear state monad. We do this by studying a fullycomplete statepassing translation from an impure callbyvalue language to a new linear type theory: the enriched callbyvalue calculus. The results are not specific to store, but can b ..."
Abstract

Cited by 5 (5 self)
 Add to MetaCart
Abstract. We investigate the phenomenon that every monad is a linear state monad. We do this by studying a fullycomplete statepassing translation from an impure callbyvalue language to a new linear type theory: the enriched callbyvalue calculus. The results are not specific to store, but can be applied to any computational effect expressible using algebraic operations, even to effects that are not usually thought of as stateful. There is a bijective correspondence between generic effects in the source language and state access operations in the enriched callbyvalue calculus. From the perspective of categorical models, the enriched callbyvalue calculus suggests a refinement of the traditional Kleisli models of effectful callbyvalue languages. The new models can be understood as enriched adjunctions. 1
The Enriched Effect Calculus: Syntax and Semantics
, 2011
"... This paper introduces the enriched effect calculus, which extends established type theories for computational effects with primitives from linear logic. The new calculus provides a formalism for expressing linear aspects of computational effects; for example, the linear usage of imperative features ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
This paper introduces the enriched effect calculus, which extends established type theories for computational effects with primitives from linear logic. The new calculus provides a formalism for expressing linear aspects of computational effects; for example, the linear usage of imperative features such as state and/or continuations. The enriched effect calculus is implemented as an extension of a basic effect calculus without linear primitives, which is closely related to Moggi’s computational metalanguage, Filinski’s effect PCF and Levy’s callbypushvalue. We present syntactic results showing: the fidelity of the behaviour of the linear connectives of the enriched effect calculus; the conservativity of the enriched effect calculus over its nonlinear core (the effect calculus); and the nonconservativity of intuitionistic linear logic when considered as an extension of the enriched effect calculus. The second half of the paper investigates models for the enriched effect calculus, based on enriched category theory. We give several examples of such models, relating them to models of standard effect calculi (such as those based on monads), and to models of intuitionistic linear logic. We also prove soundness and completeness. 1
LINEARUSE CPS TRANSLATIONS IN THE ENRICHED EFFECT CALCULUS
"... Abstract. The enriched effect calculus (EEC) is an extension of Moggi’s computational metalanguage with a selection of primitives from linear logic. This paper explores the enriched effect calculus as a target language for continuationpassingstyle (CPS) translations in which the typing of the tran ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Abstract. The enriched effect calculus (EEC) is an extension of Moggi’s computational metalanguage with a selection of primitives from linear logic. This paper explores the enriched effect calculus as a target language for continuationpassingstyle (CPS) translations in which the typing of the translations enforces the linear usage of continuations. We first observe that established callbyvalue and callby name linearuse CPS translations of simplytyped lambdacalculus into intuitionistic linear logic (ILL) land in the fragment of ILL given by EEC. These two translations are uniformly generalised by a single generic translation of the enriched effect calculus into itself. As our main theorem, we prove that the generic selftranslation of EEC is involutive up to isomorphism. As corollaries, we obtain full completeness results, both for the generic translation, and for the original callbyvalue and callbyname translations. 1.
Universal Properties of Impure Programming Languages
"... We investigate impure, callbyvalue programming languages. Our first language only has variables and letbinding. Its equational theory is a variant of Lambek’s theory of multicategories that omits the commutativity axiom. We demonstrate that type constructions for impure languages — products, sums ..."
Abstract
 Add to MetaCart
We investigate impure, callbyvalue programming languages. Our first language only has variables and letbinding. Its equational theory is a variant of Lambek’s theory of multicategories that omits the commutativity axiom. We demonstrate that type constructions for impure languages — products, sums and functions — can be characterized by universal properties in the setting of ‘premulticategories’, multicategories where the commutativity law may fail. This leads us to new, universal characterizations of two earlier equational theories of impure programming languages: the premonoidal categories of Power and Robinson, and the monadbased models of Moggi. Our analysis thus puts these earlier abstract ideas on a canonical foundation, bringing them to a new, syntactic level. F.3.2 [Semantics of Pro
ComputationbyInteraction with Effects
"... A successful approach in the semantics of programming languages is to model programs by interaction dialogues. While dialogues are most often considered abstract mathematical objects, it has also been argued that they are useful for actual computation. A manual implementation of interaction dialogu ..."
Abstract
 Add to MetaCart
A successful approach in the semantics of programming languages is to model programs by interaction dialogues. While dialogues are most often considered abstract mathematical objects, it has also been argued that they are useful for actual computation. A manual implementation of interaction dialogues can be complicated, however. To address this issue, we consider a general method for extending a given language with a metalanguage that supports the implementation of dialogues. This method is based on the construction by Dal Lago and the author of the programming language INTML, which applies interaction dialogues to sublinear space computation. We show that only few assumptions on the programming languages are needed to implement a useful INTMLlike metalanguage. We identify a weak variant of the Enriched Effect Calculus (EEC) of Egger, Møgelberg & Simpson as a convenient setting for capturing the structure needed for the construction of the metalanguage. In particular, function types are not needed for the construction and iteration by means of a Conway operator is sufficient. By using EEC we show how computational effects can be accounted for
LINEARUSE CPS TRANSLATIONS IN THE ENRICHED EFFECT CALCULUS ∗
, 2012
"... Vol. 8(4:2)2012, pp. 1–27 www.lmcsonline.org ..."
under submission Integrating Dependent and Linear Types
"... In this paper, we show how to integrate linear types with type dependency, by extending the linear/nonlinear calculus of Benton to support type dependency. Next, we give an application of this calculus by giving a prooftheoretic account of imperative programming, which requires extending the calc ..."
Abstract
 Add to MetaCart
In this paper, we show how to integrate linear types with type dependency, by extending the linear/nonlinear calculus of Benton to support type dependency. Next, we give an application of this calculus by giving a prooftheoretic account of imperative programming, which requires extending the calculus with computationally irrelevant quantification, proof irrelevance, and a monad of computations. We show the soundness of our theory by giving a realizability model in the style of Nuprl, which permits us to validate not only the βlaws for each type, but also the ηlaws. These extensions permit us to decompose Hoare triples into a collection of simpler typetheoretic connectives, yielding a rich equational theory for dependentlytyped higherorder imperative programs. Furthermore, both the type theory and its model are relatively simple, even when all of the extensions are considered.