Results 1  10
of
12
A Linearly Typed Assembly Language
 In Workshop on Types in Compilation
"... Today's typesafe lowlevel languages rely on garbage collection to recycle heapallocated objects safely. We present LTAL, a safe, lowlevel, yet simple language that "stands on its own": it guarantees safe execution within a fixed memory space, without relying on external runtime s ..."
Abstract

Cited by 146 (35 self)
 Add to MetaCart
Today's typesafe lowlevel languages rely on garbage collection to recycle heapallocated objects safely. We present LTAL, a safe, lowlevel, yet simple language that "stands on its own": it guarantees safe execution within a fixed memory space, without relying on external runtime support. We demonstrate the expressiveness of LTAL by giving a typepreserving compiler for the functional core of ML. But this independence comes at a steep price: LTAL's type system imposes a draconian discipline of linearity that ensures that memory can be reused safely, but prohibits any useful kind of sharing. We present the results of experiments with a prototype LTAL system that show just how high the price of linearity can be.
A Mixed Linear and NonLinear Logic: Proofs, Terms and Models (Preliminary Report)
, 1994
"... Intuitionistic linear logic regains the expressive power of intuitionistic logic through the ! (`of course') modality. Benton, Bierman, Hyland and de Paiva have given a term assignment system for ILL and an associated notion of categorical model in which the ! modality is modelled by a comonad ..."
Abstract

Cited by 93 (3 self)
 Add to MetaCart
Intuitionistic linear logic regains the expressive power of intuitionistic logic through the ! (`of course') modality. Benton, Bierman, Hyland and de Paiva have given a term assignment system for ILL and an associated notion of categorical model in which the ! modality is modelled by a comonad satisfying certain extra conditions. Ordinary intuitionistic logic is then modelled in a cartesian closed category which arises as a full subcategory of the category of coalgebras for the comonad. This paper attempts to explain the connection between ILL and IL more directly and symmetrically by giving a logic, term calculus and categorical model for a system in which the linear and nonlinear worlds exist on an equal footing, with operations allowing one to pass in both directions. We start from the categorical model of ILL given by Benton, Bierman, Hyland and de Paiva and show that this is equivalent to having a symmetric monoidal adjunction between a symmetric monoidal closed category and a cartesian closed category. We then derive both a sequent calculus and a natural deduction presentation of the logic corresponding to the new notion of model.
Computational types from a logical perspective
 Journal of Functional Programming
, 1998
"... Moggi’s computational lambda calculus is a metalanguage for denotational semantics which arose from the observation that many different notions of computation have the categorical structure of a strong monad on a cartesian closed category. In this paper we show that the computational lambda calculus ..."
Abstract

Cited by 54 (6 self)
 Add to MetaCart
Moggi’s computational lambda calculus is a metalanguage for denotational semantics which arose from the observation that many different notions of computation have the categorical structure of a strong monad on a cartesian closed category. In this paper we show that the computational lambda calculus also arises naturally as the term calculus corresponding (by the CurryHoward correspondence) to a novel intuitionistic modal propositional logic. We give natural deduction, sequent calculus and Hilbertstyle presentations of this logic and prove strong normalisation and confluence results. 1
CallbyName, CallbyValue, CallbyNeed, and the Linear Lambda Calculus
, 1994
"... Girard described two translations of intuitionistic logic into linear logic, one where A > B maps to (!A) o B, and another where it maps to !(A o B). We detail the action of these translations on terms, and show that the first corresponds to a callbyname calculus, while the second correspond ..."
Abstract

Cited by 29 (5 self)
 Add to MetaCart
Girard described two translations of intuitionistic logic into linear logic, one where A > B maps to (!A) o B, and another where it maps to !(A o B). We detail the action of these translations on terms, and show that the first corresponds to a callbyname calculus, while the second corresponds to callbyvalue. We further show that if the target of the translation is taken to be an affine calculus, where ! controls contraction but weakening is allowed everywhere, then the second translation corresponds to a callbyneed calculus, as recently defined by Ariola, Felleisen, Maraist, Odersky, and Wadler. Thus the different calling mechanisms can be explained in terms of logical translations, bringing them into the scope of the CurryHoward isomorphism.
L³: A Linear Language with Locations
 IN SEVENTH INTERNATIONAL CONFERENCE ON TYPED LAMBDA CALCULI AND APPLICATIONS
, 2005
"... We explore foundational typing support for strong updates  updating a memory cell to hold values of unrelated types at different points in time. We present a simple, but expressive type system based upon standard linear logic, one that also enjoys a simple semantic interpretation for types tha ..."
Abstract

Cited by 23 (3 self)
 Add to MetaCart
We explore foundational typing support for strong updates  updating a memory cell to hold values of unrelated types at different points in time. We present a simple, but expressive type system based upon standard linear logic, one that also enjoys a simple semantic interpretation for types that is closely related to models for spatial logics. The typing
Separating Weakening and Contraction in a Linear Lambda Calculus
 in: Proc. CATS'98, Computing: the Fourth Australian Theory Symposium (Perth
, 1996
"... . We present a separatedlinear lambda calculus of resource consumption based on a refinement of linear logic which allows separate control of weakening and contraction. The calculus satisfies subject reduction and confluence, and inherits previous results on the relationship of Girard's two tr ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
. We present a separatedlinear lambda calculus of resource consumption based on a refinement of linear logic which allows separate control of weakening and contraction. The calculus satisfies subject reduction and confluence, and inherits previous results on the relationship of Girard's two translations from minimal intuitionistic logic to linear logic with callbyname and callbyvalue. We construct a hybrid translation from Girard's two which is sound and complete for mapping types and reduction sequences from callbyneed into separatedlinear . This treatment of callbyneed is more satisfying than in previous work, allowing a contrasting of all three reduction strategies in the manner (for example) that the CPS translations allow for callbyname and callbyvalue. H OW can we explain the differences between parameterpassing styles? With the continuationpassing style (CPS) transforms [24, 25], one makes the flow of control explicit. Each parameterpassing style is associated ...
IOS Press L 3: A Linear Language with Locations
"... Abstract. We present a simple, but expressive type system that supports strong updates—updating a memory cell to hold values of unrelated types at different points in time. Our formulation is based upon a standard linear lambda calculus and, as a result, enjoys a simple semantic interpretation for t ..."
Abstract
 Add to MetaCart
Abstract. We present a simple, but expressive type system that supports strong updates—updating a memory cell to hold values of unrelated types at different points in time. Our formulation is based upon a standard linear lambda calculus and, as a result, enjoys a simple semantic interpretation for types that is closely related to models for spatial logics. The typing interpretation is strong enough that, in spite of the fact that our core programming language supports shared, mutable references and cyclic graphs, every welltyped program terminates. We then consider extensions needed to model MLstyle references, where the capability to access a reference cell is unrestricted, but strong updates are disallowed. Our extensions include a thaw primitive for regaining the capability to perform strong updates on unrestricted references. The thaw primitive is closely related to other mechanisms that support strong updates, such as CQUAL’s restrict. 1.
Abstract L 3: A Linear Language with Locations
"... We present a simple, but expressive type system that supports strong updates—updating a memory cell to hold values of unrelated types at different points in time. Our formulation is based upon standard linear logic and, as a result, enjoys a simple semantic interpretation for types that is closely r ..."
Abstract
 Add to MetaCart
We present a simple, but expressive type system that supports strong updates—updating a memory cell to hold values of unrelated types at different points in time. Our formulation is based upon standard linear logic and, as a result, enjoys a simple semantic interpretation for types that is closely related to models for spatial logics. The typing interpretation is strong enough that, in spite of the fact that our core calculus supports shared, mutable references and cyclic graphs, every welltyped program terminates. We then consider extensions needed to model MLstyle references, where the capability to access a reference cell is unrestricted, but strong updates are disallowed. Our extensions include a thaw primitive for regaining the capability to perform strong updates on unrestricted references. The thaw primitive is closely related to other mechanisms that support strong updates, such as CQUAL’s restrict. 1