Proposal for removing transformers dependency

Alexander V Vershilov alexander.vershilov at gmail.com
Wed Jan 21 15:51:55 UTC 2015


Hello.

I'm coming with a proposal for removing transformers dependency
from ghc library. The reason for this proposal that it's not possible
to build consistent environment where a modern libraries (that depend
on a newer transformers or mtl-2.2) and libraries that use ghc API
are used together. And often people are tend to use version that is
bundled with ghc, even if newer are available.

As transformers usage are quite limited in ghc, and it's really relevant
in ghc-bin, it's possible to duplicate the code, and provide required
fixes in ghc-bin.cabal. As a result ghc uses it's own MonadIO, MonadControl
and Strict State, and ghc-bin.cabal (ghc/*) uses ones from transformers.

I have prepared a proof of concept [1], however it doesn't look very clean
and it's quite possible that will require some generalization, for example
introduction of the ghc-transformers-instances package that will have
all required instances.

Should I continue doing this? Are there any things to consider and fix?

[1] https://github.com/qnikst/ghc/compare/wip/remove-tf
-- 
Alexander
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20150121/4fb8e098/attachment.html>


More information about the ghc-devs mailing list