qualified types for mlf
MLF is a type system that extends a functional language with impredicative rank- n polymorphism. Type inference remains possible and only in some clearly defined situations, a local type annotation is required. Qualified types are a general concept that can accommodate a wide range of type systems extension, for example, type classes in Haskell. We show how the theory of qualified types can be used seamlessly with the higher-ranked impredicative polymorphism of MLF, and give a solution to the non-trivial problem of evidence translation in the presence of impredicative datatypes.
qualified types types mlf type system functional languages impredicativity polymorphic type inference situated locality annotation general concept extensibility examples type classes haskell theory evidence translation presence higher-rank polymorphism ranking