Copyright | (c) 2020 Emily Pillmore |
---|---|
License | BSD-style |
Maintainer | Emily Pillmore <emilypi@cohomolo.gy> |
Stability | Experimental |
Portability | FlexibleInstances, MPTC, Type Families, UndecideableInstances |
Safe Haskell | None |
Language | Haskell2010 |
Prism
s and Traversal
s for the Smash
datatype.
Prisms
_Nada :: Prism' (Smash a b) () Source #
A Prism'
selecting the Nada
constructor.
Note: cannot change type.
_Smash :: Prism' (Smash a b) (a, b) Source #
A Prism'
selecting the Smash
constructor.
Note: cannot change type.
Traversals
smashed :: Traversal (Smash a b) (Smash c d) (a, b) (c, d) Source #
A Traversal
of the smashed pair.
>>>
over smashed show (Smash 1 2)
"(1,2)"
>>>
over smashed show Nada
Nada
smashing :: IxTraversal (Maybe Bool) (Smash a a) (Smash b b) a b Source #
A Traversal
of the smashed pair, suitable for use
with Control.Optics.
>>>
over smashing show (Smash 1 2)
Smash "1" "2"
>>>
over smashing show Nada
Nada