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?
The following code currently produces a stack overflow:
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?