練習問題 5.2.4

等しい長さのリストの対に対しては等式

reverse . zipp = zipp . cross (reverse,reverse)

が成り立つ.この事実と

reverse . map f = map f . reverse
であることを使って,
classlist
を書き換えよ.



classlist = sortby name . assign . reverse . sortby mark . zipp . cross (map fst . sortby iden, map snd)

sortby mark . zipp . cross (map fst . sortby iden, map snd)

sortby mark . reverse . zipp . cross (map fst . sortby iden, map snd)

sortby mark . zipp . cross (reverse . map fst . sortby iden, reverse . map snd)

sortby mark . zipp . cross (map fst . reverse . srotby iden, map snd . reverse)