2008 · 30 citations · 14 references
ComputingComputer ScienceAlgorithmsFormal MethodsProgramming LanguagesAbstract InterpretationCompiler ConstructionData TypesPolymorphism AnalysisType CheckingType SystemsAd Hoc PolymorphismDeclarative SemanticsPolymorphic Type SystemsPolymorphic TypesPolymorphism StudiesType ClassesType ConstructorsType Inference
Languages supporting polymorphism typically have ad-hoc restrictions on where polymorphic types may occur. Supporting "firstclass" polymorphism, by lifting those restrictions, is obviously desirable, but it is hard to achieve this without sacrificing type inference. We present a new type system for higher-rank and impredicative polymorphism that improves on earlier proposals: it is an extension of Damas-Milner; it relies only on System F types; it has a simple, declarative specification; it is robust to program transformations; and it enjoys a complete and decidable type inference algorithm.
14
Principal type-schemes for functional programs
Robin Milner · 1982 · 1.1K citations
Practical type inference for arbitrary-rank types
Simon Peyton Jones, Dimitrios Vytiniotis, Stephanie Weirich et al. · Journal of Functional Programming · 2006 · 213 citations · Full text
Polymorphic type inference and containment
John C. Mitchell · Information and Computation · 1988 · 198 citations
Putting type annotations to work
Martin Odersky, Konstantin Läufer · 1996 · 165 citations · Full text