total-1.0.6: Exhaustive pattern matching using lenses, traversals, and prisms

Safe HaskellSafe
LanguageHaskell2010

Lens.Family.Complete

Contents

Synopsis

Documentation

class Full a where Source #

Minimal complete definition

Nothing

Methods

trivial :: x -> a Source #

trivial :: (Generic a, GFull (Rep a)) => x -> a Source #

Instances
Full () Source # 
Instance details

Defined in Lens.Family.Complete

Methods

trivial :: x -> () Source #

Full a => Full (Either a b) Source # 
Instance details

Defined in Lens.Family.Complete

Methods

trivial :: x -> Either a b Source #

(Full a, Full b) => Full (a, b) Source # 
Instance details

Defined in Lens.Family.Complete

Methods

trivial :: x -> (a, b) Source #

class GFull f where Source #

Methods

gtrivial :: x -> f a Source #

Instances
GFull (U1 :: Type -> Type) Source # 
Instance details

Defined in Lens.Family.Complete

Methods

gtrivial :: x -> U1 a Source #

Full a => GFull (K1 i a :: Type -> Type) Source # 
Instance details

Defined in Lens.Family.Complete

Methods

gtrivial :: x -> K1 i a a0 Source #

GFull a => GFull (a :+: b) Source # 
Instance details

Defined in Lens.Family.Complete

Methods

gtrivial :: x -> (a :+: b) a0 Source #

(GFull a, GFull b) => GFull (a :*: b) Source # 
Instance details

Defined in Lens.Family.Complete

Methods

gtrivial :: x -> (a :*: b) a0 Source #

GFull a => GFull (M1 i c a) Source # 
Instance details

Defined in Lens.Family.Complete

Methods

gtrivial :: x -> M1 i c a a0 Source #

_cocase :: Full a => x -> a Source #

Synonym for trivial, used to check if a copattern is complete

at :: ((() -> Identity b) -> s -> Identity t) -> (i -> b) -> (i -> s) -> i -> t Source #

Copattern match on a Traversal

Re-exports

(&) :: a -> (a -> b) -> b infixl 1 #

& is a reverse application operator. This provides notational convenience. Its precedence is one higher than that of the forward application operator $, which allows & to be nested in $.

>>> 5 & (+1) & show
"6"

Since: base-4.8.0.0

(&&&) :: Arrow a => a b c -> a b c' -> a b (c, c') infixr 3 #

Fanout: send the input to both argument arrows and combine their output.

The default definition may be overridden with a more efficient version if desired.