>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.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to