Control.Lens.Internal.Prism

lens-4.14: Lenses, Folds and Traversals

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

Control.Lens.Internal.Prism

Description

Synopsis

- data Market a b s t = Market (b -> t) (s -> Either t a)
- type Market' a = Market a a

# Documentation

data Market a b s t #

This type is used internally by the `Prism` code to provide efficient access to the two parts of a `Prism`.

Constructors

Market (b -> t) (s -> Either t a) |

Instances

Choice (Market a b) # |
Methods left' :: Market a b a b -> Market a b (Either a c) (Either b c) # right' :: Market a b a b -> Market a b (Either c a) (Either c b) #
Profunctor (Market a b) # |
Methods dimap :: (a -> b) -> (c -> d) -> Market a b b c -> Market a b a d # lmap :: (a -> b) -> Market a b b c -> Market a b a c # rmap :: (b -> c) -> Market a b a b -> Market a b a c # (#.) :: Coercible * c b => (b -> c) -> Market a b a b -> Market a b a c # (.#) :: Coercible * b a => Market a b b c -> (a -> b) -> Market a b a c #
Functor (Market a b s) # |
Methods fmap :: (a -> b) -> Market a b s a -> Market a b s b # (<$) :: a -> Market a b s b -> Market a b s a #

type Market' a = Market a a #

    type Market' a s t = Market a a s t