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

transformers vs. mtl



Greetings.

Continuing my efforts to package all needed dependencies for Haskore,
today I tackled explicit-exceptions. The cabal file states

Build-Depends: base >= 2, transformers >=0.0 && <0.2

so I tried using mtl instead (ghc6-mtl-dev), but the package did not
build because it needed some extra code not present in mtl.

As suggested by Laney on IRC, I manually installed transformers. It uses
a different namespace (transformers) so I was able to build
explicit-exceptions afterwards, and run all its tests succesfully.

Laney pointed out that having both mtl and transformers installed caused
this behaviour in ghci

Prelude> :m Control.Monad.Identity
<no location info>:
     Ambiguous module name `Control.Monad.Identity':
     it was found in multiple packages: transformers-0.1.4.0 mtl-1.1.0.2

He also suggested that perhaps porting explicit-exception to mtl was a
better idea than packaging transformers.

I mailed upstream privately (I'll quote him as soon as he agrees) and he
answered saying transformers was better, in general, than mtl. He also
pointed out that the problem with ghci is a matter of using the proper
command line option (-hide-package) to hide the package one does not
want to use. There's no problem with ghc either, because one has to use
-package to choose either.

I proceeded to explain this on IRC, and Laney asked me to raise the
issue here. In short, I think having mtl and transformers in Debian is a
good idea. m3g4 also thinks so, as he pointed out on IRC.

I intend to ITP and package transformers tomorrow, unless anyone offers
good reason not to.
-- 
Ernesto Hernández-Novich - Linux 2.6.28 i686 - Unix: Live free or die!
Geek by nature, Linux by choice, Debian of course.
If you can't aptitude it, it isn't useful or doesn't exist.
GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3



Reply to: