Results 1 
2 of
2
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 52 (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...
A Linearization of the LambdaCalculus and Consequences
, 2000
"... We embed the standard #calculus, denoted #, into two larger #calculi, denoted # # and &# # . The standard notion of #reduction for # corresponds to two new notions of reduction, # # for # # and &# # for &# # . A distinctive feature of our new calculus # # (resp., &# # ) is that, in every function ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We embed the standard #calculus, denoted #, into two larger #calculi, denoted # # and &# # . The standard notion of #reduction for # corresponds to two new notions of reduction, # # for # # and &# # for &# # . A distinctive feature of our new calculus # # (resp., &# # ) is that, in every function application, an argument is used at most once (resp., exactly once) in the body of the function. We establish various connections between the three notions of reduction, #, # # and &# # . As a consequence, we provide an alternative framework to study the relationship between #weak normalization and #strong normalization, and give a new proof of the oftmentioned equivalence between #strong normalization of standard #terms and typability in a system of "intersection types".