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
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 ::
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 f