[Haskell-cafe] Why does `flip` cause function type so different ?

zaxis z_axis at 163.com
Thu Mar 18 23:34:53 EDT 2010


>let f x xs = [x:xs,xs]
> :t  f
f :: a -> [a] -> [[a]]

>:t  (>>=) .f
(>>=) .f :: a -> ([[a]] -> [a] -> b) -> [a] -> b

> :t (flip (>>=) .f)
(flip (>>=) .f) :: a -> [[a]] -> [[a]]

Why is the type of `(>>=) .f` and `flip (>>=) .f` so different ?

Sincerely!

-----
fac n = let {  f = foldr (*) 1 [1..n] } in f 
-- 
View this message in context: http://old.nabble.com/Why-does-%60flip%60-cause-function-type-so-different---tp27950886p27950886.html
Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.



More information about the Haskell-Cafe mailing list