Data.Bifunctor.Tannen

bifunctors-5.3: Bifunctors

Copyright | (C) 2008-2016 Edward Kmett
License | BSD-style (see the file LICENSE)
Maintainer | Edward Kmett <ekmett@gmail.com>
Stability | provisional
Portability | portable
Safe Haskell | Safe
Language | Haskell98

Data.Bifunctor.Tannen

Description

Synopsis

- newtype Tannen f p a b = Tannen {
  - runTannen :: f (p a b)
  }

# Documentation

newtype Tannen f p a b

Compose a `Functor` on the outside of a `Bifunctor`.

Constructors

Tannen |
Fields runTannen :: f (p a b)

Instances

Functor f => BifunctorFunctor k k k k (Tannen * k k f) |
Comonad f => BifunctorComonad k k (Tannen * k k f) |
(Functor f, Monad f) => BifunctorMonad k k (Tannen * k k f) |
(Applicative f, Category k p) => Category k (Tannen * k k f p) |
(Functor f, Bifunctor p) => Bifunctor (Tannen * * * f p) |
(Applicative f, Arrow p) => Arrow (Tannen * * * f p) |
(Applicative f, ArrowZero p) => ArrowZero (Tannen * * * f p) |
(Applicative f, ArrowPlus p) => ArrowPlus (Tannen * * * f p) |
(Applicative f, ArrowChoice p) => ArrowChoice (Tannen * * * f p) |
(Applicative f, ArrowLoop p) => ArrowLoop (Tannen * * * f p) |
(Foldable f, Bifoldable p) => Bifoldable (Tannen * * * f p) |
(Traversable f, Bitraversable p) => Bitraversable (Tannen * * * f p) |
(Applicative f, Biapplicative p) => Biapplicative (Tannen * * * f p) |
(Functor f, Bifunctor p) => Functor (Tannen * * * f p a) |
(Foldable f, Bifoldable p) => Foldable (Tannen * * * f p a) |
(Traversable f, Bitraversable p) => Traversable (Tannen * * * f p a) |
Functor f => Generic1 (Tannen * k * f p a) |
Eq (f (p a b)) => Eq (Tannen k k k f p a b) |
Ord (f (p a b)) => Ord (Tannen k k k f p a b) |
Read (f (p a b)) => Read (Tannen k k k f p a b) |
Show (f (p a b)) => Show (Tannen k k k f p a b) |
Generic (Tannen k k k f p a b) |
type Rep1 (Tannen k k1 k2 f p a) |
type Rep (Tannen k k1 k2 f p a b) |