We present a new predicative and decidable type system, called ML , suitable for languages that integrate functional programming and parametric polymorphism in the tradition of ML [21, 28], and class-based objectoriented programming and higher-order multi-methods in the tradition of CLOS [12]. Instead of using extensible records as a foundation for object-oriented extensions of functional languages, we propose to reinterpret ML datatype declarations as abstract and concrete class declarations, and to replace pattern matching on run-time values by dynamic dispatch on run-time types. ML is based on universally quantified polymorphic constrained types. Constraints are conjunctions of inequalities between monotypes built from type constructors ...
AbstractThe programming language Standard ML is an amalgam of two, largely orthogonal, languages. Th...
Our objective is to understand the notion of type in programming languages, present a model of typed...
We show how type inference for object oriented programming languages with state can be performed wit...
We present a new approach to the polymorphic typing of data accepting in-place modification in ML-li...
We study the type inference problem for a system with type classes as in the functional programming ...
AbstractWe extend type constraints with kind constraints to increase the expressiveness of constrain...
The ML programming language restricts type polymorphism to occur only in the "let-in" construct and ...
Many computer programs have the property that they work correctly on a variety of types of input; s...
to find the "best" or "most general" type (called the principal type in the case...
In previous work, we presented rules for defining overloaded functions that ensure type safety under...
There exists an identifiable programming style based on the widespread use of type information handl...
The simple and elegant Hindley/Milner polymorphic type discipline is the basis of the type system of...
Type inference is a key component of modern statically typed programming languages. It allows progra...
Traditional techniques for implementing polymorphism use auniversal representation for objects of un...
We present a type inference algoritm and its verification for an object-oriented programming languag...
AbstractThe programming language Standard ML is an amalgam of two, largely orthogonal, languages. Th...
Our objective is to understand the notion of type in programming languages, present a model of typed...
We show how type inference for object oriented programming languages with state can be performed wit...
We present a new approach to the polymorphic typing of data accepting in-place modification in ML-li...
We study the type inference problem for a system with type classes as in the functional programming ...
AbstractWe extend type constraints with kind constraints to increase the expressiveness of constrain...
The ML programming language restricts type polymorphism to occur only in the "let-in" construct and ...
Many computer programs have the property that they work correctly on a variety of types of input; s...
to find the "best" or "most general" type (called the principal type in the case...
In previous work, we presented rules for defining overloaded functions that ensure type safety under...
There exists an identifiable programming style based on the widespread use of type information handl...
The simple and elegant Hindley/Milner polymorphic type discipline is the basis of the type system of...
Type inference is a key component of modern statically typed programming languages. It allows progra...
Traditional techniques for implementing polymorphism use auniversal representation for objects of un...
We present a type inference algoritm and its verification for an object-oriented programming languag...
AbstractThe programming language Standard ML is an amalgam of two, largely orthogonal, languages. Th...
Our objective is to understand the notion of type in programming languages, present a model of typed...
We show how type inference for object oriented programming languages with state can be performed wit...