Prelude> :t foldl (\x -> \xs -> xs:x) []
foldl (\x -> \xs -> xs:x) [] :: [b] -> [b]
Strange choice of names, though, since x is a list, and xs is an
element. I would have gone for:
foldl (\xs x -> x:xs) []
although the library opts for:
foldl (flip (:)) []
On 21/09/2007, Miguel Mitrofanov <[EMAIL
> reverse = foldl (\x -> \xs -> xs:x) []
Doesn't typecheck.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Hi
reverse = foldl (xs x . x:xs) [] (xs ++ ) = foldl (\ys y -> ys ++ [y]) xs
If I were to define reverse with foldl I would do it this way:
reverse = foldl (\x -> \xs -> xs:x) []
Any idea what the first code frag is suposed to achieve?
Thanks, Paul
___