ghci> map reverse ["hello", "goodbye"]
["olleh","eybdoog"]
is (mostly) equivalent to the more verbose form with an explicit lambda: ghci> map (\s -> reverse s) ["hello", "goodbye"]
["olleh","eybdoog"]
Operators are just normal functions, but tuples are not automatically uncurried. Here I'm using the multiply operator (*) to multiple a list of pairs: ghci> map (*) [(1,2), (3,4)]
ERROR
ghci> map (uncurry (*)) [(1,2), (3,4)]
[2,12]
Points-free syntax can be used to construct chains of operations without any explicit lambda variable. Here filter strings of more than two characters: ghci> filter ((>2) . length) ["a","bb","ccc","dddd"]
["ccc","dddd"]
In lambda syntax: ghci> filter (\x -> (length x) > 2) ["a","bb","ccc","dddd"]
["ccc","dddd"]
I find the Haskell syntax concise and clear, and I always miss it when using other languages (despite Haskell's other shortcomings).Edit: formatting