"map sum $ L.transpose" is the same as "map sum L.transpose" -- i.e.,
it calls map with the arguments "sum" and "L.transpose". map's second
argument is a list; L.transpose isn't. (.) and ($) are not
interchangeable in most cases.
Shachaf
(By the way, if you like having this sort of small question answered
fairly quickly, #haskell on irc.freenode.net is often a good place to
ask.)
And in fact, the point-less plugin [1] for lambdabot can answer many
of these "how do I write 'e' in pointfree form?" questions. You enter
'@pl e' in #haskell to get a point-free version of 'e'. E.g.
<you> @pl \xs -> map sum $ transpose xs
<lambdabot> map sum . transpose
Cheers,
-nathan
[1] http://www.haskell.org/haskellwiki/Pointfree#Tool_support