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. 1 Introduction Two of the most important cornerstones of type theory for programming languages are the Hindley/Milner system and the second-order polymorphic -calculus. This paper tries to explore some of the design space betw...
A concise, declarative, and machine executable specification of the Hindley–Milner type system (HM) ...
We present a general algorithm for solving systems of inclusion constraints over type expressions. T...
The ML programming language restricts type polymorphism to occur only in the "let-in" construct and ...
We study an extension of the Hindley/Milner system with explicit type scheme annotations and type de...
We present the first type reconstruction system which combines the implicit typing of ML with the fu...
Type inference is a key component of modern statically typed programming languages. It allows progra...
Our objective is to understand the notion of type in programming languages, present a model of typed...
We present the first type reconstruction system which combines the implicit typing of ML with the fu...
We study the type inference problem for a system with type classes as in the functional programming ...
Our objective is to understand the notion of type in programming languages, present a model of typed...
We present a new approach to the polymorphic typing of data accepting in-place modification in ML-li...
AbstractThe Hindley/Milner discipline for polymorphic type inference in functional programming langu...
There exists an identifiable programming style based on the widespread use of type information handl...
Flexibility of programming and efficiency of program execution are two important features of a progr...
A concise, declarative, and machine executable specification of the Hindley–Milner type system (HM) ...
A concise, declarative, and machine executable specification of the Hindley–Milner type system (HM) ...
We present a general algorithm for solving systems of inclusion constraints over type expressions. T...
The ML programming language restricts type polymorphism to occur only in the "let-in" construct and ...
We study an extension of the Hindley/Milner system with explicit type scheme annotations and type de...
We present the first type reconstruction system which combines the implicit typing of ML with the fu...
Type inference is a key component of modern statically typed programming languages. It allows progra...
Our objective is to understand the notion of type in programming languages, present a model of typed...
We present the first type reconstruction system which combines the implicit typing of ML with the fu...
We study the type inference problem for a system with type classes as in the functional programming ...
Our objective is to understand the notion of type in programming languages, present a model of typed...
We present a new approach to the polymorphic typing of data accepting in-place modification in ML-li...
AbstractThe Hindley/Milner discipline for polymorphic type inference in functional programming langu...
There exists an identifiable programming style based on the widespread use of type information handl...
Flexibility of programming and efficiency of program execution are two important features of a progr...
A concise, declarative, and machine executable specification of the Hindley–Milner type system (HM) ...
A concise, declarative, and machine executable specification of the Hindley–Milner type system (HM) ...
We present a general algorithm for solving systems of inclusion constraints over type expressions. T...
The ML programming language restricts type polymorphism to occur only in the "let-in" construct and ...