"Krzysztof Skrzętnicki" <[EMAIL PROTECTED]> writes: > Well, it is simply > >> coerce :: a -> b >> coerce _ = undefined > > so coerce is simply empty function. But still, it is possible to write a > function of type (a->b). > Well, possibly I didn't write anything particularly new, but please excuse > me for I'm still in > sort of a shock after I've discovered it.
You have to remember that types in Haskell all have undefined as a member (this is an inevitable consequence of allowing arbitrary recursion). So your coerce is returning something that is in the type claimed by the result, so there's nothing shocking about it! -- Jón Fairbairn [EMAIL PROTECTED] _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe