sortBy
andを使用してリストを注文しようとしてcompare
いますが、compare式を思い付くのに問題があります。filmRating関数によって返される平均に基づいてリストを並べ替える必要があります。
formattedByYear :: Int -> String
formattedByYear year = concatMap formatString $ sortBy (compare filmRating) $ filmsByYear year
filmRating :: Film -> Float
filmRating (Film _ _ _ ratings)
| ratings == [] = 0.0
| otherwise = average (map snd ratings)