Namara

毎日コード。手助けなし。

2026-08-20

MyReverse.hs

myReverse :: [a] -> [a]
myReverse = undefined  -- write this

組み込みのreverseを使わずにmyReverseを実装してください。

参考実装
myReverse :: [a] -> [a]
myReverse = foldl (flip (:)) []

リストを左から畳み込み(foldl)、各要素を進みながらアキュムレータの先頭にconsしていきます — 末尾に達する頃には、アキュムレータは反転したリストになっています。