Results 11  20
of
27
A Classical Linear λcalculus
, 1997
"... This paper proposes and studies a typed λcalculus for classical linear logic. I shall give an explanation of a multipleconclusion formulation for classical logic due to Parigot and compare it to more traditional treatments by Prawitz and others. I shall use Parigot's method to devise a natu ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
This paper proposes and studies a typed λcalculus for classical linear logic. I shall give an explanation of a multipleconclusion formulation for classical logic due to Parigot and compare it to more traditional treatments by Prawitz and others. I shall use Parigot's method to devise a natural deduction formulation of classical linear logic. This formulation is compared in detail to the sequent calculus formulation. In an appendix I shall also demonstrate a somewhat hidden connexion with the paradigm of control operators for functional languages which gives a new computational interpretation of Parigot's techniques.
CallByPushValue: Decomposing CallByValue And CallByName
"... We present the callbypushvalue (CBPV) calculus, which decomposes the typed callbyvalue (CBV) and typed callbyname (CBN) paradigms into finegrain primitives. On the operational side, we give bigstep semantics and a stack machine for CBPV, which leads to a straightforward push/pop reading of ..."
Abstract

Cited by 8 (3 self)
 Add to MetaCart
We present the callbypushvalue (CBPV) calculus, which decomposes the typed callbyvalue (CBV) and typed callbyname (CBN) paradigms into finegrain primitives. On the operational side, we give bigstep semantics and a stack machine for CBPV, which leads to a straightforward push/pop reading of CBPV programs. On the denotational side, we model CBPV using cpos and, more generally, using algebras for a strong monad. For storage, we present an O’Hearnstyle “behaviour semantics” that does not use a monad. We present the translations from CBN and CBV to CBPV. All these translations straightforwardly preserve denotational semantics. We also study their operational properties: simulation and full abstraction. We give an equational theory for CBPV, and show it equivalent to a categorical semantics using monads and algebras. We use this theory to formally compare CBPV to Filinski’s variant of the monadic metalanguage, as well as to Marz’s language SFPL, both of which have essentially the same type structure as CBPV. We also discuss less formally the differences between the CBPV and monadic frameworks.
Enriching an Effect Calculus with Linear Types
"... Abstract. We define an enriched effect calculus by extending a type theory 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 ..."
Abstract

Cited by 8 (4 self)
 Add to MetaCart
Abstract. We define an enriched effect calculus by extending a type theory 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. Our main syntactic result is the conservativity of the enriched effect calculus over a basic effect calculus without linear primitives (closely related to Moggi’s computational metalanguage, Filinski’s effect PCF and Levy’s callbypushvalue). The proof of this syntactic theorem makes essential use of a categorytheoretic semantics, whose study forms the second half of the paper. Our semantic results include soundness, completeness, the initiality of a syntactic model, and an embedding theorem: every model of the basic effect calculus fully embeds in a model of the enriched calculus. The latter means that our enriched effect calculus is applicable to arbitrary computational effects, answering in the positive a question of Benton and Wadler (LICS 1996). 1
Directions in Functional Programming for Real(Time) Applications
 In the International Workshop on Embedded Software (ES
, 2001
"... . We review the basics of functional programming, and give a brief introduction to emerging techniques and approaches relevant to building realtime software. In doing so we attempt to explain the relevance of functional programming concepts to the realtime applications domain. In particular, w ..."
Abstract

Cited by 7 (3 self)
 Add to MetaCart
. We review the basics of functional programming, and give a brief introduction to emerging techniques and approaches relevant to building realtime software. In doing so we attempt to explain the relevance of functional programming concepts to the realtime applications domain. In particular, we address the use of types to classify properties of realtime computations. "If thought corrupts language, language can also corrupt thought." George Orwell, Politics and the English Language 1
Generating heapbounded programs in a functional setting
 In EMSOFT
, 2003
"... ? Supported by NSF grants ITR0113569, CCR0224244 and CCR0229480. ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
? Supported by NSF grants ITR0113569, CCR0224244 and CCR0229480.
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 7 (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.
Propositions as Sessions
, 2012
"... Continuing a line of work by Abramsky (1994), by Bellin and Scott (1994), and by Caires and Pfenning (2010), among others, this paper presents CP, a calculus in which propositions of classical linear logic correspond to session types. Continuing a line of work by Honda (1993), by Honda, Kubo, and Va ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
Continuing a line of work by Abramsky (1994), by Bellin and Scott (1994), and by Caires and Pfenning (2010), among others, this paper presents CP, a calculus in which propositions of classical linear logic correspond to session types. Continuing a line of work by Honda (1993), by Honda, Kubo, and Vasconcelos (1998), and by Gay and Vasconcelos (2010), among others, this paper presents GV, a linear functional language with session types, and presents a translation from GV into CP. The translation formalises for the first time a connection between a standard presentation of session types and linear logic, and shows how a modification to the standard presentation yield a language free from deadlock, where deadlock freedom follows from the correspondence to linear logic. Note. Please read this paper in colour! The paper uses colour to highlight the relation of types to terms and source to target. 1.
Types and Models for HigherOrder Action Calculi
, 1997
"... . Milner introduced action calculi as a framework for representing models of interactive behaviour. He also introduced the higherorder action calculi, which add higherorder features to the basic setting. We present type theories for action calculi and higherorder action calculi, and give the categ ..."
Abstract

Cited by 6 (5 self)
 Add to MetaCart
. Milner introduced action calculi as a framework for representing models of interactive behaviour. He also introduced the higherorder action calculi, which add higherorder features to the basic setting. We present type theories for action calculi and higherorder action calculi, and give the categorical models of the higherorder calculi. As applications, we give a semantic proof of the conservativity of higherorder action calculi over action calculi, and a precise connection with Moggi's computational lambda calculus and notions of computation. 1 Introduction Milner introduced action calculi as a framework for representing models of interactive behaviour [Mil96]. He also introduced two conservative extensions: higherorder action calculi [Mil94a], which add higherorder features to the basic setting, and reflexive action calculi [Mil94b], which give recursion in the presence of the higherorder features. Various examples, which explore the role of action calculi as a general frame...
Observations on a Linear PCF
, 1997
"... This paper considers some theoretical and practical issues concerning the use of linear logic as a logical foundation of functional programming languages such as Haskell and SML. First I give an operational theory for a linear PCF: the (typed) linear  calculus extended with booleans, conditional a ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
This paper considers some theoretical and practical issues concerning the use of linear logic as a logical foundation of functional programming languages such as Haskell and SML. First I give an operational theory for a linear PCF: the (typed) linear  calculus extended with booleans, conditional and nontermination. An operational semantics is given which corresponds in a precise way to the process of fireduction which originates from proof theory. Using this operational semantics I define notions of observational equivalence (sometimes called contextual equivalence). Surprisingly, the linearity of the language forces a reworking of the traditional notion of a context (the details are given in an appendix). A coinductively defined notion, applicative bisimularity, is developed and compared with observational equivalence using a variant of Howe's method. Interestingly the equivalence of these two notions is greatly complicated by the linearity of the language. These equivalences ar...
Updating Complex Value Databases
, 1998
"... Query languages and their optimizations have been a very important issue in the database community. Languages for updating databases, however, have not been studied to the same extent, although they are clearly important since databases must change over time. The structure and expressiveness of upda ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Query languages and their optimizations have been a very important issue in the database community. Languages for updating databases, however, have not been studied to the same extent, although they are clearly important since databases must change over time. The structure and expressiveness of updates is largely dependent on the data model. In relational databases, for example, the update language typically allows the user to specify changes to individual fields of a subset of a relation that meets some selection criterion. The syntax is terse, specifying only the pieces of the database that are to be altered. Because of its simplicity, most of the optimizations take place in the internal processing of the update rather than at the language level. In complex value databases, the need for a terse and optimizable update language is much greater, due to the deeply nested structures involved. Starting with a query language for complex value databases called the Collection Programming Lang...