Results 1 -
6 of
6
Putting Type Annotations to Work
, 1996
"... We study an extension of the Hindley-Milner system with explicit type scheme annotations and type declarations. The system can express polymorphic function arguments, user-defined data types with abstract components, and structure types with polymorphic fields. More generally, all programs of the po ..."
Abstract
-
Cited by 91 (1 self)
- Add to MetaCart
We study an extension of the Hindley-Milner system with explicit type scheme annotations and type declarations. The system can express polymorphic function arguments, user-defined data types with abstract components, and structure types with polymorphic fields. More generally, all programs of the polymorphic lambda calculus can be encoded by a translation between typing derivations. We show that type reconstruction in this system can be reduced to the decidable problem of first-order unification under a mixed prefix.
A direct algorithm for type inference in the rank-2 fragment of the second-order λ-calculus
, 1993
"... We study the problem of type inference for a family of polymorphic type disciplines containing the power of Core-ML. This family comprises all levels of the stratification of the second-order lambda-calculus by "rank" of types. We show that typability is an undecidable problem at every rank k >= 3 o ..."
Abstract
-
Cited by 70 (14 self)
- Add to MetaCart
We study the problem of type inference for a family of polymorphic type disciplines containing the power of Core-ML. This family comprises all levels of the stratification of the second-order lambda-calculus by "rank" of types. We show that typability is an undecidable problem at every rank k >= 3 of this stratification. While it was already known that typability is decidable at rank 2, no direct and easy-to-implement algorithm was available. To design such an algorithm, we develop a new notion of reduction and show howto use it to reduce the problem of typability at rank 2 to the problem of acyclic semi-unification. A by-product of our analysis is the publication of a simple solution procedure for acyclic semi-unification.
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...
Typing Constraint Logic Programs
"... We present a prescriptive type system with parametric polymorphism and subtyping for constraint logic programs. The aim of this type system is to detect programming errors statically. It introduces a type discipline for constraint logic programs and modules, while maintaining the capabilities of per ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
We present a prescriptive type system with parametric polymorphism and subtyping for constraint logic programs. The aim of this type system is to detect programming errors statically. It introduces a type discipline for constraint logic programs and modules, while maintaining the capabilities of performing the usual coercions between constraint domains, and of typing meta-programming predicates, thanks to the exibility of subtyping. The property of subject reduction expresses the consistency of a prescriptive type system w.r.t. the execution model: if a program is \well-typed", then all derivations starting from a \well-typed" goal are again \well-typed". That property is proved w.r.t. the abstract execution model of constraint programming which proceeds by accumulation of constraints only, and w.r.t. an enriched execution model with type constraints for substitutions. We describe our implementation of the system for type checking and type inference. We report our experimental results on type checking ISO-Prolog, the (constraint) libraries of Sicstus Prolog and other Prolog programs.
Principal Typing and Mutual Recursion
, 2001
"... As pointed out by Damas[Dam84], the Damas-Milner system (ML) has principal types, but not principal typings. Damas also dened in his thesis a slightly modied version of ML, that we call ML 0 , which, given a typing context and an expression, derives exactly the same types, and provided an algorith ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
As pointed out by Damas[Dam84], the Damas-Milner system (ML) has principal types, but not principal typings. Damas also dened in his thesis a slightly modied version of ML, that we call ML 0 , which, given a typing context and an expression, derives exactly the same types, and provided an algorithm (named as T) that infers principal typings for ML 0 . This work extends each of ML 0 and T with a new rule for typing mutually recursive let-bindings. The proposed rule can type more expressions than the corresponding rule used in ML, by allowing mutually recursive denitions to be used polymorphically by other denitions. 1
An Extension of Baaz's Algorithm to E-semi-unification with One Inequality
"... In this paper we present a preliminary research report on the problem of nding procedures to solve some cases of the Uniform E-Semi- unication Problem, where E is a set of equations dening an equational theory. The problem in general is undecidable, but for certain theories, as is the case wit ..."
Abstract
- Add to MetaCart
In this paper we present a preliminary research report on the problem of nding procedures to solve some cases of the Uniform E-Semi- unication Problem, where E is a set of equations dening an equational theory. The problem in general is undecidable, but for certain theories, as is the case with E-Unication, there may be theories for which it is decidable. 1 Introduction The Semi-Unication problem has applications in areas of computer science like programming languages, computational linguistics, term rewriting, and automated deduction. Despite this, the body of knowledge on Semi-unication is not comparable to that of Unication, which has been for a long time an ongoing branch of study in computer science. The general problem of semi-unication (see below for denitions) has been shown to be undecidable, but there are a number of restrictions andor generalizations that can be shown to be decidable. In this paper we present an introduction and a preliminary research rep...

