these-0.8: An either-or-both data type & a generalized 'zip with padding' typeclass

Safe HaskellNone
LanguageHaskell2010

Data.These.Lens

Contents

Synopsis

Traversals

here :: Applicative f => (a -> f b) -> These a t -> f (These b t) Source #

A Traversal of the first half of a These, suitable for use with Control.Lens.

here :: Traversal (These a t) (These b t) a b
>>> over here show (That 1)
That 1
>>> over here show (These 'a' 2)
These "'a'" 2

there :: Applicative f => (a -> f b) -> These t a -> f (These t b) Source #

A Traversal of the second half of a These, suitable for use with Control.Lens.

there :: Traversal (These t b) (These t b) a b
>>> over there show (That 1)
That "1"
>>> over there show (These 'a' 2)
These 'a' "2"

Prisms

_This :: Prism' (These a b) a Source #

A Prism' selecting the This constructor.

Note: cannot change type.

_That :: Prism' (These a b) b Source #

A Prism' selecting the That constructor.

Note: cannot change type.

_These :: Prism' (These a b) (a, b) Source #

A Prism' selecting the These constructor. These names are ridiculous!

Note: cannot change type.