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