演習問題

9章の演習問題。自力でできました。

import List

data Line = Line {
  number ::Int,
  string :: String } deriving Show

ln1 = Line 10 "L10"
ln2 = Line {number = 20, string = "L20"}
lns = [ln1,
       ln2,
       Line {number = 15, string = "puts"}]

main = do print ln1
          print lns
          print $ sortLines lns

sortLines :: [Line] -> [Line]
sortLines = sortBy (\x y -> (number x) `compare` (number y))