roundtrip-0.2.0.5: Bidirectional (de-)serialization

Safe HaskellSafe
LanguageHaskell98

Control.Isomorphism.Partial.Iso

Documentation

data Iso a b Source #

unsafeMakeIso :: (alpha -> Maybe beta) -> (beta -> Maybe alpha) -> Iso alpha beta Source #

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

unsafeMakeNamedIso :: String -> (alpha -> Maybe beta) -> (beta -> Maybe alpha) -> Iso alpha beta Source #

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

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

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

isoRL :: Iso a b -> b -> Maybe a Source #

isoLR :: Iso a b -> a -> Maybe b Source #

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 #