roundtrip-0.1.0.0: Bidirectional (de-)serialization

Control.Isomorphism.Partial.Iso

Documentation

data Iso a b Source

Instances

unsafeMakeIso :: (alpha -> Maybe beta) -> (beta -> Maybe alpha) -> Iso alpha betaSource

unsafeMakeIso' :: String -> Maybe (a -> ShowS) -> Maybe (b -> ShowS) -> (a -> Maybe b) -> (b -> Maybe a) -> Iso a bSource

unsafeMakeNamedIso :: String -> (alpha -> Maybe beta) -> (beta -> Maybe alpha) -> Iso alpha betaSource

unsafeMakeNamedIsoL :: Show alpha => String -> (alpha -> Maybe beta) -> (beta -> Maybe alpha) -> Iso alpha betaSource

unsafeMakeNamedIsoR :: Show beta => String -> (alpha -> Maybe beta) -> (beta -> Maybe alpha) -> Iso alpha betaSource

unsafeMakeNamedIsoLR :: (Show alpha, Show beta) => String -> (alpha -> Maybe beta) -> (beta -> Maybe alpha) -> Iso alpha betaSource

isoRL :: Iso a b -> b -> Maybe aSource

isoLR :: Iso a b -> a -> Maybe bSource

isoShowSL :: Iso a b -> Maybe (a -> ShowS)Source

isoShowSR :: Iso a b -> Maybe (b -> ShowS)Source

isoShowL :: Iso a b -> Maybe (a -> String)Source

isoShowR :: Iso a b -> Maybe (b -> String)Source