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 |
Synopsis
- _CanIso :: Iso (Can a b) (Can c d) (Maybe a, Maybe b) (Maybe c, Maybe d)
- _Non :: Prism' (Can a b) ()
- _One :: Prism' (Can a b) a
- _Eno :: Prism' (Can a b) b
- _Two :: Prism' (Can a b) (a, b)
- oneing :: AffineTraversal (Can a c) (Can b c) a b
- enoing :: AffineTraversal (Can a b) (Can a c) b c
- twoed :: AffineTraversal' (Can a b) (a, b)
- twoing :: Traversal (Can a a) (Can b b) a b
Isos
_CanIso :: Iso (Can a b) (Can c d) (Maybe a, Maybe b) (Maybe c, Maybe d) Source #
A Iso
between a wedge coproduct and pointed coproduct.
Prisms
Traversals
oneing :: AffineTraversal (Can a c) (Can b c) a b Source #
An AffineTraversal
of the first parameter, suitable for use
with Optics.
enoing :: AffineTraversal (Can a b) (Can a c) b c Source #
An AffineTraversal
of the second parameter, suitable for use
with Optics.
twoed :: AffineTraversal' (Can a b) (a, b) Source #
An AffineTraversal
of the pair, suitable for use
with Optics.
Note: cannot change type.