Advanced type system features, such as GADTs, type classes and type families, have proven to be invaluable language extensions for ensuring data invariants and program correctness. Unfortunately, they pose a tough problem for type inference when they are used as local type assumptions. Local type assumptions often result in the lack of principal types and cast the generalisation of local let-bindings prohibitively difficult to implement and specify. User-declared axioms only make this situation worse. In this paper, we explain the problems and - perhaps controversially - argue for abandoning local let-binding generalisation. We give empirical results that local let generalisation is only sporadically used by Haskell programmers. Moving on, ...
The more expressive a type system, the more type information has to be provided in a program. Havin...
This article presents a type system based on the Damas-Milner system [DM82], that supports overloadi...
We propose a conservative extension of HM(X), a generic constraint-based type inference framework, w...
Advanced type system features, such as GADTs, type classes, and type families, have proven to be inv...
GADTs have proven to be an invaluable language extension, for ensuring data invariants and program c...
Strong type systems can be used to increase the reliability and performance of programs. In combinat...
GADTs have proven to be an invaluable language extension, a.o. for ensuring data invariants and prog...
Strong type systems can be used to increase the reliability and performance of programs. In combinat...
How Good is Local Type Inference? A partial type inference technique should come with a simple and p...
A partial type inference technique should come with a simple and precise specification, so that user...
Qualified types provide a general framework for constrained type systems, with applications includin...
We study the type inference problem for a system with type classes as in the functional programming ...
Qualified types provide a general framework for constrained type systems, with applications includin...
We study the type inference problem for a system with type classes as in the functional programming ...
Abstract. The more expressive a type system, the more type information has to be provided in a progr...
The more expressive a type system, the more type information has to be provided in a program. Havin...
This article presents a type system based on the Damas-Milner system [DM82], that supports overloadi...
We propose a conservative extension of HM(X), a generic constraint-based type inference framework, w...
Advanced type system features, such as GADTs, type classes, and type families, have proven to be inv...
GADTs have proven to be an invaluable language extension, for ensuring data invariants and program c...
Strong type systems can be used to increase the reliability and performance of programs. In combinat...
GADTs have proven to be an invaluable language extension, a.o. for ensuring data invariants and prog...
Strong type systems can be used to increase the reliability and performance of programs. In combinat...
How Good is Local Type Inference? A partial type inference technique should come with a simple and p...
A partial type inference technique should come with a simple and precise specification, so that user...
Qualified types provide a general framework for constrained type systems, with applications includin...
We study the type inference problem for a system with type classes as in the functional programming ...
Qualified types provide a general framework for constrained type systems, with applications includin...
We study the type inference problem for a system with type classes as in the functional programming ...
Abstract. The more expressive a type system, the more type information has to be provided in a progr...
The more expressive a type system, the more type information has to be provided in a program. Havin...
This article presents a type system based on the Damas-Milner system [DM82], that supports overloadi...
We propose a conservative extension of HM(X), a generic constraint-based type inference framework, w...