bimaps- bijections with multiple implementations.

Safe HaskellNone



Bijections via strict maps.



data Bimap l r Source

A bijection between values of type l and type r, implemented via strict maps.


(Eq l, Eq r) => Eq (Bimap l r) 
(Ord l, Ord r, Read l, Read r) => Read (Bimap l r) 
(Show l, Show r) => Show (Bimap l r) 
Generic (Bimap l r) 
(ToJSON (Map l r), ToJSON (Map r l)) => ToJSON (Bimap l r) 
(FromJSON (Map l r), FromJSON (Map r l)) => FromJSON (Bimap l r) 
(Binary l, Binary r) => Binary (Bimap l r) 
(Ord l, Ord r, Serialize l, Serialize r) => Serialize (Bimap l r) 
(NFData l, NFData r) => NFData (Bimap l r) 
(Ord l, Ord r) => Bijection (Bimap l r) 
type Rep (Bimap l r) 
type ContL (Bimap l r) = Map l r 
type ContR (Bimap l r) = Map r l 
type ElemL (Bimap l r) = l 
type ElemR (Bimap l r) = r