
Heinrich Apfelmus
How about
import Data.Ord (comparing)
mySort = sortBy (comparing length)
I just finished chap. 3 of Real World Haskell, which doesn't even imports. It took me hours to figure out how to access sortBy. The book hasn't introduced "comparing", yet.
or at least
mySort = sortBy myCompare where myCompare x y = compare (length x) (length y)
Very nice. The book mentioned the compare function in chap. 2. I have a question about that code: how come you don't have to specify a parameter for mySort, for example: mySort xs = ... And doesn't sortBy require two arguments? sortBy :: (a -> a -> Ordering) -> [a] -> [a] (1) (2) How come you can write it with only one argument? Finally, l'm wondering if anyone can explain why my let examples failed?