Safe Haskell  None 

Language  Haskell2010 
Synopsis
 data Wedge a b = Wedge {
 get :: a > b
 reverseGet :: b > a
 normalizeA :: Wedge a b > a > a
 normalizeB :: Wedge a b > b > b
 reverse :: Wedge a b > Wedge b a
 composeWedge :: Wedge a b > Wedge b c > Wedge a c
 composeIso :: Wedge a b > Iso' b c > Wedge a c
 fromIso :: Iso' a b > Wedge a b
Documentation
Composition of a SplitMono
and a SplitEpi
, yielding an even weaker structure where neither
`reverseGet . get` and `get . reverseGet` is an identity but both are idempotent.
Wedge  

normalizeA :: Wedge a b > a > a Source #
Normalize a
via a roundtrip through b
.
normalizeB :: Wedge a b > b > b Source #
Normalize b
via a roundtrip through a
.