Live briefing
Everything about Polymorphic recursion
In computer science, polymorphic recursion refers to a recursive parametrically polymorphic function where the type parameter changes with each recursive invocation made, instead of staying constant. Type inference for polymorphic recursion is equivalent to semi-unification and therefore undecidable and requires the use of a semi-algorithm or programmer-supplied type annotations. Wikipedia →
đź§ Start here: a 6-step reading path
- Read the overview: Polymorphic recursionA 5-minute orientation
- Pick up a classic book: Fundamentals of Computer Programming with CSharp Free Book (by Nakov & Co.)The most-reprinted book on the subject
- Read the landmark paper: Type inference with polymorphic recursionCited 130 times
- Go sideways: Mads TofteA closely related topic
- Go sideways: Principal typeA closely related topic
đź“– Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Type inference with polymorphic recursion
Type reconstruction in the presence of polymorphic recursion
Operational Properties of Lily, a Polymorphic Linear Lambda Calculus with Recursion
Extending the type checker of Standard ML by polymorphic recursion
Programming Examples Needing Polymorphic Recursion
Let Generalization, Polymorphic Recursion, and Variable Minimization in Boolean-Kinded Type Systems
📚 Books worth reading
Fundamentals of Computer Programming with CSharp Free Book (by Nakov & Co.)Svetlin Nakov · 2013
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
đź”— Related topics
- Mads Tofte Mads Tofte (born 20 April 1959) is a Danish computer scientist who has contributed in particular to functional programming and the Standard ML programming…
- Principal type In type theory, a type system is said to have the principal type property if, given a term and an environment, there exists a principal type for this term…
- Parametric polymorphism In programming languages and type theory, parametric polymorphism allows a single piece of code to be given a "generic" type, using variables in place…
- Region-based memory management In computer science, region-based memory management is a type of memory management in which each allocated object is assigned to a region. A region, also…
- Glasgow Haskell Compiler The Glasgow Haskell Compiler (GHC) is a native or machine code compiler for the functional programming language Haskell. It provides a cross-platform software…
- Generalized algebraic data type In functional programming, a generalized algebraic data type (GADT, also first-class phantom type, guarded recursive datatype, or equality-qualified type)…
- Hindley–Milner type system A Hindley–Milner (HM) type system is a classical type system for the lambda calculus with parametric polymorphism. It is also known as Damas–Milner or…
- Recursive data type In computer programming, a recursive data type is a data type whose definition contains values of the same type. It is also known as a recursively defined…