[Haskell-cafe] map over Bijections

Sergey Mironov ierton at gmail.com
Mon Aug 27 15:55:06 CEST 2012


Hi. I need map equivalent for Bijection type which is defined in fclabels:

data Bijection (~>) a b = Bij { fw :: a ~> b, bw :: b ~> a }

instance Category (~>) => Category (Bijection (~>)) where ...

I can define this function as follows:
mapBij :: Bijection (->) a c -> Bijection (->) [a] [b] -> Bijection (->) [a] [c]
mapBij b1 b = (map (fw b1)) `Bij` (map (bw b1))

but do I really need to do it explicitly? Can I obtain same result
using some Category combinators or other common stuff?

Sergey



More information about the Haskell-Cafe mailing list