[Haskell-cafe] How to write (FxF' . delta) AxB --> F A

Johan Glimming glimming at kth.se
Tue Feb 8 06:02:16 EST 2005


> proj :: (Functor f) =>  (f:*:f') (a,b) -> f a
> proj (Pair x _) = fmap fst x

Yes I think that was what I needed. ;-) It seems I also need

fsplit :: (Functor f, Functor f') =>
    (f a, f' b) -> (f :*: f') (a,b)

for same    data (f:*:f') o = Pair (f o) (f' o)

Which takes (FA, F'B) into FxF' (A,B). I am confused by the fact of 
having two instances of F and somehow I need to map on both of them 
simultaneously.

Med vänliga hälsningar / Yours Sincerely,
Johan Glimming


More information about the Haskell-Cafe mailing list