2026-08-20
MyReverse.hs
myReverse :: [a] -> [a]
myReverse = undefined -- write this
組み込みのreverseを使わずにmyReverseを実装してください。
参考実装
myReverse :: [a] -> [a]
myReverse = foldl (flip (:)) []
リストを左から畳み込み(foldl)、各要素を進みながらアキュムレータの先頭にconsしていきます — 末尾に達する頃には、アキュムレータは反転したリストになっています。