圏論
「ふつうのHaskellプログラミング」にあった、
main = do cs <- getContents putStr $ lastNLines 5 cs lastNLines n = unlines.takeLast n.lines takeLast n = reverse.take n.reverse
を、モナドを使って書きなおす
単純に
main = getContents >>= putStr.lastNLines 5 lastNLines n = unlines.takeLast n.lines takeLast n = reverse.take n.reverse
ポイントフリースタイルを使ってがちがちにしちゃうと、
main = getContents >>= putStr.unlines.reverse.take 5.reverse.lines
なにごとも、ほどほどが大事ですね