Results 1 -
2 of
2
Typability and Type Checking in System F Are Equivalent and Undecidable
- Annals of Pure and Applied Logic
, 1998
"... Girard and Reynolds independently invented System F (a.k.a. the second-order polymorphically typed lambda calculus) to handle problems in logic and computer programming language design, respectively. Viewing F in the Curry style, which associates types with untyped lambda terms, raises the questions ..."
Abstract
-
Cited by 51 (4 self)
- Add to MetaCart
Girard and Reynolds independently invented System F (a.k.a. the second-order polymorphically typed lambda calculus) to handle problems in logic and computer programming language design, respectively. Viewing F in the Curry style, which associates types with untyped lambda terms, raises the questions of typability and type checking . Typability asks for a term whether there exists some type it can be given. Type checking asks, for a particular term and type, whether the term can be given that type. The decidability of these problems has been settled for restrictions and extensions of F and related systems and complexity lower-bounds have been determined for typability in F, but this report is the rst to resolve whether these problems are decidable for System F. This report proves that type checking in F is undecidable, by a reduction from semiuni cation, and that typability in F is undecidable, by a reduction from type checking. Because there is an easy reduction from typability to typ...
Type Checking in System . . .
"... The main contribution of this paper is a partial type-checking algorithm for the system F and its use in a programming language like ML. We dene this system as an extension of the second-order -calculus (system F) verifying the preservation of type during computation (subject-reduction) for -red ..."
Abstract
- Add to MetaCart
The main contribution of this paper is a partial type-checking algorithm for the system F and its use in a programming language like ML. We dene this system as an extension of the second-order -calculus (system F) verifying the preservation of type during computation (subject-reduction) for -reduction (this result fails for -reduction in system F). Our presentation is based on an original notion of sub-typing which includes all the handling of quantication rules. 1 Introduction. Motivation. Type systems have proved to be useful for many modern functional programming languages such as ML, Miranda, Haskell, . . . . In most cases, the basis of the type system is Milner's algorithm [12]. The main characteristic of these type systems is polymorphism which allows the programmer to write generic functions that can work on arguments of dierent types. However it is often insucient: polymorphic recursion, existential types or the state monad of Haskell are treated using specic exte...

