Plan 9 from Bell Labs’s /usr/web/sources/contrib/fernan/nhc98/src/prelude/List/MapAccumR.hs
module List where mapAccumR :: (a -> b -> (a, c)) -> a -> [b] -> (a, [c]) mapAccumR f s [] = (s, []) mapAccumR f s (x:xs) = (s2, z:zs) where (s2, z ) = f s1 x (s1, zs) = mapAccumR f s xs