Hi.
For this code (an example from the Combined Binding Groups section of
Mark Jones's "Typing Haskell in Haskell"):
f :: Eq a = a - Bool
f x = (x == x) || g True
g y = (y = y) || f True
Haskell infers the type:
g :: Ord a = a - Bool
but if the explicit type signature for f
Hi Tom,
Thanks for an interesting example!
| For this code (an example from the Combined Binding Groups section of
| Mark Jones's "Typing Haskell in Haskell"):
|
| f :: Eq a = a - Bool
| f x = (x == x) || g True
| g y = (y = y) || f True
|
| Haskell infers the type:
| g ::
Mark P Jones writes:
[...]
In general, I think you need to know the types to determine what
transformation is required ... but you need to know the
transformation before you get the types. Unless you break this
loop (for example, by supplying explicit type signatures, in which