In computer science, polymorphic recursion (also referred to as Milner–Mycroft typability or the Milner–Mycroft calculus) 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.[1]
^Henglein 1993.
and 15 Related for: Polymorphic recursion information
polymorphicrecursion (also referred to as Milner–Mycroft typability or the Milner–Mycroft calculus) refers to a recursive parametrically polymorphic...
necessary for disambiguation. For instance, type inference with polymorphicrecursion is known to be undecidable. Furthermore, explicit type annotations...
depth of recursion. This could make recursion prohibitively expensive to use instead of imperative loops. However, a special form of recursion known as...
algorithm. However, many extensions to the type system of ML, such as polymorphicrecursion, can make the inference of the principal type undecidable. Other...
natural numbers (System T) or even full recursion (like PCF). In contrast, systems that introduce polymorphic types (like System F) or dependent types...
polymorphism. Essentially, a polymorphic function or datatype constructor may require that one of its arguments is itself polymorphic. Generalized algebraic...
fact many template implementations implement flow control only through recursion, as seen in the example below. Though the syntax of template metaprogramming...
typically correspond to error conditions such as undefined behavior, infinite recursion, or unrecoverable errors. In Bounded Quantification with Bottom, Pierce...
that would only allow the writer to construct valid proofs with its polymorphic type system. ML was turned into a compiler to simplify using LCF on different...
admit a restricted kind of polymorphic types, that is the types in prenex normal form. However, because they feature some recursion operators, their computing...
is an optimizing compiler, and uses field and function inlining, tail recursion elimination, constant folding, loop unrolling and dead code elimination...
motivations for these quantifiers. In applications of the language to recursion theory, such as the arithmetical hierarchy, bounded quantifiers add no...
elimination). ACA0, arithmetical comprehension. ATR0, arithmetical transfinite recursion. Martin-Löf type theory with arbitrarily many finite level universes....