Open
Description
The following code currently produces a stack overflow:
type Foo a = | FooA a
let f x = f (FooA x)
Polymorphic recursion is generally not allowed is other languages because it makes type inference undecidable. I'm guessing the stack overflow is because it's not possible to unify the type of f
here?
Metadata
Metadata
Assignees
Labels
No labels