Results 1  10
of
116
A Calculus for Overload Functions with Subtyping

, 1992
"... We present a simple extension of typed calculus where functions can be overloaded by putting different "branches of code" together. When the function is applied, the branch to execute is chosen according to a particular selection rule which depends on the type of the argument. The cru ..."
Abstract

Cited by 153 (26 self)
 Add to MetaCart
(Show Context)
We present a simple extension of typed calculus where functions can be overloaded by putting different "branches of code" together. When the function is applied, the branch to execute is chosen according to a particular selection rule which depends on the type of the argument. The crucial feature of the present approach is that the branch selection depends on the "runtime type" of the argument, which may differ from its compiletime type, because of the existence of a subtyping relation among types. Hence overloading cannot be eliminated by a static analysis of code, but is an essential feature to be dealt with during computation. We obtain in this way a typedependent calculus, which differs from the various calculi where types do not play any role during computation. We prove Confluence and a generalized SubjectReduction theorem for this calculus. We prove Strong Normalization for a "stratified" subcalculus. The definition of this calculus is guided by the understand...
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 119 (5 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.
From ProofNets to Interaction Nets
 Advances in Linear Logic
, 1994
"... Introduction If we consider the interpretation of proofs as programs, say in intuitionistic logic, the question of equality between proofs becomes crucial: The syntax introduces meaningless distinctions whereas the (denotational) semantics makes excessive identifications. This question does not hav ..."
Abstract

Cited by 73 (1 self)
 Add to MetaCart
Introduction If we consider the interpretation of proofs as programs, say in intuitionistic logic, the question of equality between proofs becomes crucial: The syntax introduces meaningless distinctions whereas the (denotational) semantics makes excessive identifications. This question does not have a simple answer in general, but it leads to the notion of proofnet, which is one of the main novelties of linear logic. This has been already explained in [Gir87] and [GLT89]. The notion of interaction net introduced in [Laf90] comes from an attempt to implement the reduction of these proofnets. It happens to be a simple model of parallel computation, and so it can be presented independently of linear logic, as in [Laf94]. However, we think that it is also useful to relate the exact origin of interaction nets, especially for readers with some knowledge in linear logic. We take this opportunity to give a survey of the theory of proofnets, including a new proof of the sequentializ
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 60 (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
A Brief Guide to Linear Logic
, 1993
"... An overview of linear logic is given, including an extensive bibliography and a simple example of the close relationship between linear logic and computation. ..."
Abstract

Cited by 56 (10 self)
 Add to MetaCart
An overview of linear logic is given, including an extensive bibliography and a simple example of the close relationship between linear logic and computation.
Asynchronous Communication Model Based on Linear Logic
 Formal Aspects of Computing
, 1995
"... We propose a new framework called ACL for concurrent computation based on linear logic. ACL is a kind of linear logic programming framework, where its operational semantics is described in terms of proof construction in linear logic. We also give a modeltheoretic semantics as a natural extension of ..."
Abstract

Cited by 53 (6 self)
 Add to MetaCart
(Show Context)
We propose a new framework called ACL for concurrent computation based on linear logic. ACL is a kind of linear logic programming framework, where its operational semantics is described in terms of proof construction in linear logic. We also give a modeltheoretic semantics as a natural extension of phase semantics, a model of linear logic. Our framework well captures concurrent computation based on asynchronous communication. It will, therefore, provide us with a new insight into other models of concurrent computation from a logical point of view. We also expect ACL to become a formal framework for verification, reasoning, and transformation of concurrent programs by the use of techniques for traditional logic programming. ACL's attractive features for concurrent programming paradigms are also discussed. 1 Introduction For future massively parallel processing environments, concurrent programming languages based on asynchronous communication would become more and more important. Due ...
Operational Semantics for MultiLanguage Programs
, 2007
"... Interlanguage interoperability is big business, as the success of Microsoft’s.NET and COM and Sun’s JVM show. Programming language designers are designing programming languages that reflect that fact — SML#, Mondrian, and Scala, to name just a few examples, all treat interoperability with other lan ..."
Abstract

Cited by 53 (8 self)
 Add to MetaCart
Interlanguage interoperability is big business, as the success of Microsoft’s.NET and COM and Sun’s JVM show. Programming language designers are designing programming languages that reflect that fact — SML#, Mondrian, and Scala, to name just a few examples, all treat interoperability with other languages as a central design feature. Still, current multilanguage research tends not to focus on the semantics of interoperation features, but only on how to implement them efficiently. In this paper, we take first steps toward higherlevel models of interoperating systems. Our technique abstracts away the lowlevel details of interoperability like garbage collection and representation coherence, and lets us focus on semantic properties like typesafety and observable equivalence. Beyond giving simple expressive models that are natural compositions of singlelanguage models, our studies have uncovered several interesting facts about interoperability. For example, higherorder contracts naturally emerge as the glue to ensure that interoperating languages respect each other’s type systems. While we present our results in an abstract setting, they shed light on real multilanguage systems and tools such as the JNI, SWIG, and Haskell’s stable pointers.
The Calculus of Algebraic Constructions
 In Proc. of the 10th Int. Conf. on Rewriting Techniques and Applications, LNCS 1631
, 1999
"... Abstract. In a previous work, we proved that an important part of the Calculus of Inductive Constructions (CIC), the basis of the Coq proof assistant, can be seen as a Calculus of Algebraic Constructions (CAC), an extension of the Calculus of Constructions with functions and predicates defined by hi ..."
Abstract

Cited by 33 (11 self)
 Add to MetaCart
(Show Context)
Abstract. In a previous work, we proved that an important part of the Calculus of Inductive Constructions (CIC), the basis of the Coq proof assistant, can be seen as a Calculus of Algebraic Constructions (CAC), an extension of the Calculus of Constructions with functions and predicates defined by higherorder rewrite rules. In this paper, we prove that almost all CIC can be seen as a CAC, and that it can be further extended with nonstrictly positive types and inductiverecursive types together with nonfree constructors and patternmatching on defined symbols. 1.
A Reflective Functional Language for Hardware Design and Theorem Proving
"... This paper introduces reFLect, a functional programming language with reflection features intended for applications in hardware design and verification. The reFLect language is strongly typed and similar to ML, but has quotation and antiquotation constructs. These may be used to construct and decomp ..."
Abstract

Cited by 32 (7 self)
 Add to MetaCart
This paper introduces reFLect, a functional programming language with reflection features intended for applications in hardware design and verification. The reFLect language is strongly typed and similar to ML, but has quotation and antiquotation constructs. These may be used to construct and decompose expressions in the reFLect language itself. The paper motivates and presents the syntax and type system of this language, which brings together a new combination of patternmatching and reflection features targeted specifically at our application domain. It also gives an operational semantics based on a new use of contexts as expression constructors, and it presents a scheme for compiling reFLect programs into the λcalculus using the same context mechanism.