bifunctors-5.1: Bifunctors

Copyright | (C) 2008-2015 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.Clown

Description

From the Functional Pearl "Clowns to the Left of me, Jokers to the Right: Dissecting Data Structures" by Conor McBride.

Synopsis

- newtype Clown f a b = Clown {
  - runClown :: f a
  }

# Documentation

newtype Clown f a b Source

Make a `Functor` over the first argument of a `Bifunctor`.

Mnemonic: Clowns to the left (parameter of the Bifunctor), jokers to the right.

Constructors

Clown |

Fields

runClown :: f a

Instances

Functor f => Bifunctor (Clown f) Source |
Foldable f => Bifoldable (Clown f) Source |
Traversable f => Bitraversable (Clown f) Source |
Applicative f => Biapplicative (Clown f) Source |
Functor (Clown f a) Source |
Foldable (Clown f a) Source |
Traversable (Clown f a) Source |
Eq (f a) => Eq (Clown f a b) Source |
Ord (f a) => Ord (Clown f a b) Source |
Read (f a) => Read (Clown f a b) Source |
Show (f a) => Show (Clown f a b) Source |