patch applied (packages/base): Must import ExitCode for its instance to be re-exported.

Malcolm Wallace Malcolm.Wallace at cs.york.ac.uk
Wed Aug 13 10:09:44 EDT 2008


Ross Paterson <ross at soi.city.ac.uk> wrote:

> > Wed Aug 13 05:57:10 PDT 2008  Malcolm.Wallace at cs.york.ac.uk
> >   * Must import ExitCode for its instance to be re-exported.
> >   The Cabal library depends on "instance Exception ExitCode", and
> >   expects to import it from Control.Exception, not
> >   Control.Exception.Base.
> 
> But Control.Exception imports Control.Exception.Base.
> Is this another nhc98 thing?

I don't know whether it is H'98 behaviour, or something more quirky.

  * C.E imports C.E.B, but does not import System.ExitCode.
  * Hence, the instance for Exception ExitCode is not imported, since it
    won't be needed.
  * When C.E exports the class Exception, it only exports instances of
    it for any types that are in scope.
  * Hence, the instance for ExitCode is not exported.

Regards,
    Malcolm


More information about the Cvs-libraries mailing list