generic-lens-1.0.0.2: Generically derive traversals, lenses and prisms.

Copyright(C) 2017 Csongor Kiss
LicenseBSD3
MaintainerCsongor Kiss <kiss.csongor.kiss@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Generics.Internal.VL.Prism

Description

Internal lens helpers. Only exported for Haddock

Synopsis

Documentation

type Prism s t a b = forall p f. (Choice p, Applicative f) => p a (f b) -> p s (f t) Source #

Type alias for prism

type Prism' s a = Prism s s a a Source #

(^?) :: s -> ((a -> Const (First a) a) -> s -> Const (First a) s) -> Maybe a infixl 8 Source #

match :: Prism s t a b -> s -> Either t a Source #

(#) :: (Tagged b (Identity b) -> Tagged t (Identity t)) -> b -> t Source #

prism :: (b -> t) -> (s -> Either t a) -> Prism s t a b Source #

prismRavel :: (Market a b a b -> Market a b s t) -> Prism s t a b Source #

type APrismVL s t a b = Market a b a (Identity b) -> Market a b s (Identity t) Source #

withPrism :: APrismVL s t a b -> ((b -> t) -> (s -> Either t a) -> r) -> r Source #

prism2prismvl :: Market a b s t -> Prism s t a b Source #

build :: (Tagged b (Identity b) -> Tagged t (Identity t)) -> b -> t Source #