[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Fwd: ITP: libghc6-extensible-exceptions -- Extensible exceptions for the Glasgow Haskell Compiler]



Hi,

Am Donnerstag, den 26.02.2009, 07:44 -0800 schrieb David Fox:

> It is more accurate to say that it provides extensible exceptions for
> both old and new versions of base, both of which are shipped with ghc
> 6.10.  If a package is trying to stay compatible with older versions
> of GHC, it would use the old version of base and use
> Control.Exception.Extensible to access the features of the new
> exception class.
> 
> I believe Happstack does this.

Hmm, let’s see...

The cabal file reads as this:

Library {
    if impl(ghc>=6.9)
        cpp-options: -DUSE_NEW_EXCEPTIONS
        build-depends: base>=4&&<5
    else
        build-depends: base<4
    exposed-modules:
        Control.Exception.Extensible
    extensions: CPP, ExistentialQuantification, DeriveDataTypeable
}

and if the USE_NEW_EXCEPTIONS is set, then:

#ifdef USE_NEW_EXCEPTIONS
module Control.Exception.Extensible (module Control.Exception) where

import Control.Exception hiding (blocked)

#else
[..]


Does this mean that a library using base-3, and using this library to
access Control.Exception from base-4, via Control.Exception.Extensible,
can not do so directly in any way?

If that’s so, then of course we need to package it. If we can patch the
code using this library easily (by changing a module name), then I’m in
favor of doing that.

Marco, out of curiosity, what library are you packaging it for?

Greetings,
Joachim

-- 
Joachim "nomeata" Breitner
Debian Developer
  nomeata@debian.org | ICQ# 74513189 | GPG-Keyid: 4743206C
  JID: nomeata@joachim-breitner.de | http://people.debian.org/~nomeata

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil


Reply to: