Results 11  20
of
21
Typability and Type Checking in the SecondOrder lambdaCalculus Are Equivalent and Undecidable
, 1993
"... We consider the problems of typability and type checking in the Girard/Reynolds secondorder polymorphic typedcalculus, for which we use the short name "System F" and which we use in the "Curry style" where types are assigned to pureterms. These problems have been considere ..."
Abstract

Cited by 12 (1 self)
 Add to MetaCart
We consider the problems of typability and type checking in the Girard/Reynolds secondorder polymorphic typedcalculus, for which we use the short name "System F" and which we use in the "Curry style" where types are assigned to pureterms. These problems have been considered and proven to be decidable or undecidable for various restrictions and extensions of System F and other related systems, and lowerbound complexity results for System F have been achieved, but they have remained "embarrassing open problems" 3 for System F itself. We first prove that type checking in System F is undecidable by a reduction from semiunification. We then prove typability in System F is undecidable by a reduction from type checking. Since the reverse reduction is already known, this implies the two problems are equivalent. The second reduction uses a novel method of constructingterms such that in all type derivations, specific bound variables must always be assigned a specific type. Using this technique, we can require that specif subterms must be typable using a specific, fixed type assignment in order for the entire term to be typable at all. Any desired type assignment maybe simulated. We develop this method, which we call \constants for free", for both the K and I calculi.
Type Reconstruction with FirstClass Polymorphic Values
, 1989
"... We present the first type reconstruction system which combines the implicit typing of ML with the full power of the explicitly typed secondorder polymorphic lambda calculus. The system will accept MLstyle programs, explicitly typed programs, and programs that use explicit types for all firstclass ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
We present the first type reconstruction system which combines the implicit typing of ML with the full power of the explicitly typed secondorder polymorphic lambda calculus. The system will accept MLstyle programs, explicitly typed programs, and programs that use explicit types for all firstclass polymorphic values. We accomplish this flexibility by providing both generic and explicitlyquantified polymorphic types, as well as operators which convert between these two forms of polymorphism. This type reconstruction system is an integral part of the FX89 programming language. We present a type reconstruction algorithm for the system. The type reconstruction algorithm is proven sound and complete with respect to the formal typing rules.
Raising ML to the Power of System F
 In ICFP ’03: Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
, 2003
"... We propose a type system MLF that generalizes ML with firstclass polymorphism as in System F. We perform partial type reconstruction. As in ML and in opposition to System F, each typable expression admits a principal type, which can be inferred. Furthermore, all expressions of ML are welltyped, wi ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
We propose a type system MLF that generalizes ML with firstclass polymorphism as in System F. We perform partial type reconstruction. As in ML and in opposition to System F, each typable expression admits a principal type, which can be inferred. Furthermore, all expressions of ML are welltyped, with a possibly more general type than in ML, without any need for type annotation. Only arguments of functions that are used polymorphically must be annotated, which allows to type all expressions of System F as well.
Towards a Practical Programming Language Based on the Polymorphic Lambda Calculus
, 1989
"... The value of polymorphism in programming languages has been demonstrated by languages such as ML [19]. Recent e cient implementations of ML have shown that a language with implicit polymorphism can be practical [1]. The core of ML's type system is limited, however, by the fact that only instanc ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
The value of polymorphism in programming languages has been demonstrated by languages such as ML [19]. Recent e cient implementations of ML have shown that a language with implicit polymorphism can be practical [1]. The core of ML's type system is limited, however, by the fact that only instances of polymorphic functions may be passed as arguments to other functions, but
TypeReconstruction wit FirstClass Polymorphic Values
"... We present the first type reconstruction system which combines the implicit typing of ML with the full power of the explicitly typed secondorder polymorphic lambda calculus. The system will accept MLstyle programs, explicitly typed programs, and programs that use explicit types for all firstclass ..."
Abstract
 Add to MetaCart
We present the first type reconstruction system which combines the implicit typing of ML with the full power of the explicitly typed secondorder polymorphic lambda calculus. The system will accept MLstyle programs, explicitly typed programs, and programs that use explicit types for all firstclass polymorphic values. We accomplish this exibility by providing both generic and explicitlyquanti ed polymorphic types, as well as operators which convert between these two forms of polymorphism. This type reconstruction system is an integral part of the FX89 programming language. We present atype reconstruction algorithm for the system. The type reconstruction algorithm is proven sound and complete with respect to the formal typing rules.
unknown title
"... The quest for type inference with firstclasspolymorphic types Programming languages considerably benefit from static typechecking. In practice however, types may sometimes trammel programmers, for two opposite reasons. On the one hand, type annotations may quickly become a burden to write; while ..."
Abstract
 Add to MetaCart
The quest for type inference with firstclasspolymorphic types Programming languages considerably benefit from static typechecking. In practice however, types may sometimes trammel programmers, for two opposite reasons. On the one hand, type annotations may quickly become a burden to write; while they usefully serve as documentation for toplevel functions, they also obfuscatethe code when every local function must be decorated. On the other hand, since types are only approximations, any type system willreject programs that are perfectly wellbehaved and that could be accepted by another more expressive one; hence, sharp programmers may be irritated in such situations.
EXISTENTIAL TYPE SYSTEMS BETWEEN CHURCH AND CURRY STYLE
"... Abstract. We study type checking, typability, and type inference problems for typefree style and Curry style secondorder existential systems where the typefree style differs from the Curry style in that the terms of the former contain information on where the existential quantifier elimination an ..."
Abstract
 Add to MetaCart
Abstract. We study type checking, typability, and type inference problems for typefree style and Curry style secondorder existential systems where the typefree style differs from the Curry style in that the terms of the former contain information on where the existential quantifier elimination and introduction take place but omit the information on which types are involved. We show that all the problems are undecidable employing reduction of secondorder unification in case of the typefree system and semiunification in case of the Curry style system. This provides a fine border between problems yielding to a reduction of secondorder unification problem and the semiunification problem. In addition, we investigate the subject reduction property of the system in the Currystyle. 5 10