[Haskell-beginners] type ambiguity confusion

Daniel Fischer daniel.is.fischer at web.de
Tue Jun 15 10:12:22 EDT 2010


On Tuesday 15 June 2010 16:07:38, Stephen Tetley wrote:
> On 15 June 2010 14:57, Thomas <haskell at phirho.com> wrote:
> > However: Why does the ambiguity matter in the first place?
> > The corresponding value is never used (\_ -> return Nothing).
>
> Hi Thomas
>
> GHC has to resolve all types, even if they are for values that are not
> used at runtime.
>
> > And there's another doubt: I got this example from a book (Real World
> > Haskell, chapter 9) where actually the first version is used, without
> > resolving the ambiguity in any way. And it does not show up in the
> > errata list.
> > So there's likely something I'm still missing about this issue?!?!
>
> The type of handle in Control.Exception has (probably) changed since
> RWH was written.

Right.

>
> latest (from ghc-6.10.1 onwards):
> handle  :: Exception  e => (e -> IO  a) -> IO  a -> IO  a
>
> old (upto ghc-6.8.3, I think, the so called Old.Exception):

Small typo, no dot there, the former Control.Exception still available as

Control.OldException

> handle  :: (Exception  -> IO  a) -> IO  a -> IO  a
>
> Best wishes
>
> Stephen


More information about the Beginners mailing list