peakachu-0.2: Experiemental library for composable interactive programsSource codeContentsIndex
Data.Bijection.YC
Description

In/with functions for bijective functions

Example:

 import Data.Bijection (Bijection(..), bimap)
 import Data.Bijection.YC (withBi2)
 import Data.Monoid (Monoid(..), Sum(..))

 biSum :: Num a => Bijection (->) a (Sum a)
 biSum = Bi Sum getSum

 > withBi2 (bimap biSum) mappend (Just 5) (Just 7)
 Just 12

 > withBi2 (bimap biSum) mappend Nothing (Just 7)
 Just 7
Documentation
withBi :: Arrow x => Bijection x a b -> x b b -> x a aSource
inBi2 :: Bijection (->) a b -> (a -> a -> a) -> b -> b -> bSource
withBi2 :: Bijection (->) a b -> (b -> b -> b) -> a -> a -> aSource
Produced by Haddock version 2.4.2