Results 1  10
of
27
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 crucial featu ..."
Abstract

Cited by 138 (28 self)
 Add to MetaCart
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...
The Essence of Principal Typings
 In Proc. 29th Int’l Coll. Automata, Languages, and Programming, volume 2380 of LNCS
, 2002
"... Let S be some type system. A typing in S for a typable term M is the collection of all of the information other than M which appears in the final judgement of a proof derivation showing that M is typable. For example, suppose there is a derivation in S ending with the judgement A M : # meanin ..."
Abstract

Cited by 85 (12 self)
 Add to MetaCart
Let S be some type system. A typing in S for a typable term M is the collection of all of the information other than M which appears in the final judgement of a proof derivation showing that M is typable. For example, suppose there is a derivation in S ending with the judgement A M : # meaning that M has result type # when assuming the types of free variables are given by A. Then (A, #) is a typing for M .
Principality and Decidable Type Inference for FiniteRank Intersection Types
 In Conf. Rec. POPL ’99: 26th ACM Symp. Princ. of Prog. Langs
, 1999
"... Principality of typings is the property that for each typable term, there is a typing from which all other typings are obtained via some set of operations. Type inference is the problem of finding a typing for a given term, if possible. We define an intersection type system which has principal typin ..."
Abstract

Cited by 51 (17 self)
 Add to MetaCart
Principality of typings is the property that for each typable term, there is a typing from which all other typings are obtained via some set of operations. Type inference is the problem of finding a typing for a given term, if possible. We define an intersection type system which has principal typings and types exactly the strongly normalizable terms. More interestingly, every finiterank restriction of this system (using Leivant's first notion of rank) has principal typings and also has decidable type inference. This is in contrast to System F where the finite rank restriction for every finite rank at 3 and above has neither principal typings nor decidable type inference. This is also in contrast to earlier presentations of intersection types where the status (decidable or undecidable) of these properties is unknown for the finiterank restrictions at 3 and above. Furthermore, the notion of principal typings for our system involves only one operation, substitution, rather than severa...
Principality and Type Inference for Intersection Types Using Expansion Variables
, 2003
"... Principality of typings is the property that for each typable term, there is a typing from which all other typings are obtained via some set of operations. Type inference is the problem of finding a typing for a given term, if possible. We define an intersection type system which has principal typ ..."
Abstract

Cited by 26 (12 self)
 Add to MetaCart
Principality of typings is the property that for each typable term, there is a typing from which all other typings are obtained via some set of operations. Type inference is the problem of finding a typing for a given term, if possible. We define an intersection type system which has principal typings and types exactly the strongly normalizable #terms. More interestingly, every finiterank restriction of this system (using Leivant's first notion of rank) has principal typings and also has decidable type inference.
Relating Typability and Expressiveness in FiniteRank Intersection Type Systems (Extended Abstract)
 In Proc. 1999 Int’l Conf. Functional Programming
, 1999
"... We investigate finiterank intersection type systems, analyzing the complexity of their type inference problems and their relation to the problem of recognizing semantically equivalent terms. Intersection types allow something of type T1 /\ T2 to be used in some places at type T1 and in other places ..."
Abstract

Cited by 21 (9 self)
 Add to MetaCart
We investigate finiterank intersection type systems, analyzing the complexity of their type inference problems and their relation to the problem of recognizing semantically equivalent terms. Intersection types allow something of type T1 /\ T2 to be used in some places at type T1 and in other places at type T2 . A finiterank intersection type system bounds how deeply the /\ can appear in type expressions. Such type systems enjoy strong normalization, subject reduction, and computable type inference, and they support a pragmatics for implementing parametric polymorphism. As a consequence, they provide a conceptually simple and tractable alternative to the impredicative polymorphism of System F and its extensions, while typing many more programs than the HindleyMilner type system found in ML and Haskell. While type inference is computable at every rank, we show that its complexity grows exponentially as rank increases. Let K(0, n) = n and K(t + 1, n) = 2^K(t,n); we prove that recognizing the pure lambdaterms of size n that are typable at rank k is complete for dtime[K(k1, n)]. We then consider the problem of deciding whether two lambdaterms typable at rank k have the same normal form, Generalizing a wellknown result of Statman from simple types to finiterank intersection types. ...
New Notions of Reduction and NonSemantic Proofs of βStrong Normalization in Typed λCalculi
, 1994
"... Two new notions of reduction for terms of the λcalculus are introduced and the question of whether a λterm is βstrongly normalizing is reduced to the question of whether a λterm is merely normalizing under one of the new notions of reduction. This leads to a new way to provestrong normalization ..."
Abstract

Cited by 18 (2 self)
 Add to MetaCart
Two new notions of reduction for terms of the λcalculus are introduced and the question of whether a λterm is βstrongly normalizing is reduced to the question of whether a λterm is merely normalizing under one of the new notions of reduction. This leads to a new way to provestrong normalization for typedcalculi. Instead of the usual semantic proof style based on Girard's "candidats de reductibilite", termination can be proved using a decreasing metric over a wellfounded ordering in a style more common in the eld of term rewriting. This new proof method is applied to the simplytyped λcalculus and the system of intersection types.
The LambdaCalculus with Multiplicities
, 1993
"... We introduce a refinement of the λcalculus, where the argument of a function is a bag of resources, that is a multiset of terms, whose multiplicities indicate how many copies of them are available. We show that this "λcalculus with multiplicities" has a natural functionality theory, similar to Cop ..."
Abstract

Cited by 17 (2 self)
 Add to MetaCart
We introduce a refinement of the λcalculus, where the argument of a function is a bag of resources, that is a multiset of terms, whose multiplicities indicate how many copies of them are available. We show that this "λcalculus with multiplicities" has a natural functionality theory, similar to Coppo and Dezani's intersection type discipline. In our functionality theory the conjunction is managed in a "multiplicative" manner, according to Girard's terminology. We show that this provides an adequate interpretation of the calculus, by establishing that a term is convergent if and only if it has a nontrivial functional character.
A Complete Characterization of Complete IntersectionType Theories (Extended Abstract)
 ACM TOCL
, 2000
"... M. DEZANICIANCAGLINI Universita di Torino, Italy F. HONSELL Universita di Udine, Italy F. ALESSI Universita di Udine, Italy Abstract We characterize those intersectiontype theories which yield complete intersectiontype assignment systems for lcalculi, with respect to the three canonical ..."
Abstract

Cited by 12 (5 self)
 Add to MetaCart
M. DEZANICIANCAGLINI Universita di Torino, Italy F. HONSELL Universita di Udine, Italy F. ALESSI Universita di Udine, Italy Abstract We characterize those intersectiontype theories which yield complete intersectiontype assignment systems for lcalculi, with respect to the three canonical settheoretical semantics for intersectiontypes: the inference semantics, the simple semantics and the Fsemantics. Keywords Lambda Calculus, Intersection Types, Semantic Completeness, Filter Structures. 1 Introduction Intersectiontypes disciplines originated in [6] to overcome the limitations of Curry 's type assignment system and to provide a characterization of strongly normalizing terms of the lcalculus. But very early on, the issue of completeness became crucial. Intersectiontype theories and filter lmodels have been introduced, in [5], precisely to achieve the completeness for the type assignment system l" BCD W , with respect to Scott's simple semantics. And this result, ...
Intersection Types and Lambda Models
, 2005
"... Invariance of interpretation by #conversion is one of the minimal requirements for any standard model for the #calculus. With the intersection type systems being a general framework for the study of semantic domains for the #calculus, the present paper provides a (syntactic) characterisation of t ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
Invariance of interpretation by #conversion is one of the minimal requirements for any standard model for the #calculus. With the intersection type systems being a general framework for the study of semantic domains for the #calculus, the present paper provides a (syntactic) characterisation of the above mentioned requirement in terms of characterisation results for intersection type assignment systems.
Characterizing Convergent Terms in Object Calculi via Intersection Types
"... We give a simple characterization of convergent terms in Abadi and Cardelli untyped Object Calculus (&calculus) via intersection types. We consider a calculus with records and its intersection type assignment system. We prove that convergent terms are characterized by their types. The charact ..."
Abstract

Cited by 11 (4 self)
 Add to MetaCart
We give a simple characterization of convergent terms in Abadi and Cardelli untyped Object Calculus (&calculus) via intersection types. We consider a calculus with records and its intersection type assignment system. We prove that convergent terms are characterized by their types. The characterization is then inherited by the object calculus via selfapplication interpretation.