リストを逆順に表示
http://ja.doukaku.org/27/より。GHCのソースを見ると実装がふたつあります。
USE_REPORT_PRELUDEの場合。
reverse :: [a] -> [a] reverse = foldl (flip (:)) []
なしの場合。
reverse :: [a] -> [a] reverse l = rev l [] where rev [] a = a rev (x:xs) a = rev xs (x:a)
http://ja.doukaku.org/27/より。GHCのソースを見ると実装がふたつあります。
USE_REPORT_PRELUDEの場合。
reverse :: [a] -> [a] reverse = foldl (flip (:)) []
なしの場合。
reverse :: [a] -> [a] reverse l = rev l [] where rev [] a = a rev (x:xs) a = rev xs (x:a)