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