transformers-compat: A small compatibility shim for the transformers library

[ bsd3, compatibility, library ] [ Propose Tags ]

This package includes backported versions of types that were added to transformers in transformers 0.3, 0.4, and 0.5 for users who need strict transformers 0.2 or 0.3 compatibility to run on old versions of the platform, but also need those types.

Those users should be able to just depend on transformers >= 0.2 and transformers-compat >= 0.3.

Note: missing methods are not supplied, but this at least permits the types to be used.

[Skip to Readme]


[Index] [Quick Jump]


Manual Flags

  • f-mtl Disables support for mtl for transformers 0.2 and 0.3. That is an unsupported configuration, and results in missing instances for ExceptT.

  • f-generic-deriving prevents generic-deriving from being built as a dependency. This disables certain aspects of generics for older versions of GHC. In particular, Generic(1) instances will not be backported prior to GHC 7.2, and generic operations over unlifted types will not be backported prior to GHC 8.0. This is an unsupported configuration.

Automatic Flags

Use transformers 0.2. This will be selected by cabal picking the appropriate version.


Use transformers 0.3. This will be selected by cabal picking the appropriate version.


Use transformers 0.4. This will be selected by cabal picking the appropriate version.


Use transformers 0.5 up until (but not including) 0.5.3. This will be selected by cabal picking the appropriate version.


Use transformers 0.5.3. This will be selected by cabal picking the appropriate version.


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.1, 0.1.1,, 0.2, 0.3, 0.3.2, 0.3.3,,,,,,,,,,,,,,,,,,,,,,, 0.6.2, 0.6.3, 0.6.4, 0.6.5, 0.6.6, 0.7, 0.7.1, 0.7.2 (info)
Change log CHANGELOG.markdown
Dependencies base (>=4.3 && <5), fail (>=4.9 && <4.10), generic-deriving (>=1.10 && <2), ghc-prim, mtl (>=2.0 && <2.2), transformers (>=0.2 && <0.4 || >=0.4.1 && <0.7) [details]
License BSD-3-Clause
Copyright Copyright (C) 2012-2015 Edward A. Kmett
Author Edward A. Kmett
Maintainer Edward A. Kmett <>
Revised Revision 1 made by ryanglscott at 2022-01-10T23:16:30Z
Category Compatibility
Home page
Bug tracker
Source repo head: git clone git://
Uploaded by ryanglscott at 2021-10-30T16:41:52Z
Distributions Arch:0.7.1, Debian:0.6.5, Fedora:0.6.6, FreeBSD:, LTSHaskell:0.6.6, NixOS:0.6.6, Stackage:0.7.2, openSUSE:0.7.1
Downloads 379713 total (668 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2021-10-30 [all 1 reports]

Readme for transformers-compat-0.7.1

[back to package description]


Hackage Build Status

This provides a thin compatibility shim on top of transformers-0.2 to add the types that were added in transformers-0.3.

This enables users to maintain haskell-platform compatibility, while still gaining access ot the new functionality.

The writer-cps-transformers package backports the Control.Monad.Trans.{RWS,Writer}.CPS modules that were introduced in transformers- There are also a variety of companion packages which backport orphan instances for these types. One example is writer-cps-mtl, which backports instances of type classes from the mtl library.

Contact Information

Contributions and bug reports are welcome!

Please feel free to contact me through github or on the #haskell IRC channel on

-Edward Kmett