Trivial monad transformer that allows identical monad stacks have different types
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Control/Monad/Trans/Identity
.gitignore
.travis.yml
CHANGELOG.md
LICENSE.md
README.md
Setup.hs
tagged-identity.cabal

README.md

Tagged Identity

License BSD3 Hackage Stackage Nightly Stackage LTS Build Status

The library provides a monad transformer that works just like IdentityT, but can be tagged at the type level. This allows to work with monad stacks as usual, but you can make two identical monad stacks have different types. The main application of this is, of course, the ability to have different instances for otherwise the same stacks without having to do opaque newtype wrapping which is not handy with monad stacks.

License

Copyright © 2016–2018 Mark Karpov

Distributed under BSD 3 clause license.