@@ -198,6 +198,20 @@ main = do
198198 , bench "bl" $ nf (BL.map f) bla
199199 , bench "l" $ nf (L.map f) la
200200 ],
201+ bgroup "mapAccumL" [
202+ bench "ts" $ nf (TS.mapAccumL g 0) tsa
203+ , bench "tl" $ nf (TL.mapAccumL g 0) tla
204+ , bench "bs" $ nf (BS.mapAccumL g 0) bsa
205+ , bench "bl" $ nf (BL.mapAccumL g 0) bla
206+ , bench "l" $ nf (L.mapAccumL g 0) la
207+ ],
208+ bgroup "mapAccumR" [
209+ bench "ts" $ nf (TS.mapAccumR g 0) tsa
210+ , bench "tl" $ nf (TL.mapAccumR g 0) tla
211+ , bench "bs" $ nf (BS.mapAccumR g 0) bsa
212+ , bench "bl" $ nf (BL.mapAccumR g 0) bla
213+ , bench "l" $ nf (L.mapAccumR g 0) la
214+ ],
201215 bgroup "map.map" [
202216 bench "ts" $ nf (TS.map f . TS.map f) tsa
203217 , bench "tl" $ nf (TL.map f . TL.map f) tla
@@ -414,6 +428,7 @@ main = do
414428 tsw = TS.pack lw
415429 tlw = TL.fromChunks [tsw]
416430 f (C# c#) = C# (chr# (ord# c# +# 1#))
431+ g (I# i#) (C# c#) = (I# (i# +# 1#), C# (chr# (ord# c# +# i#)))
417432 len l _ = l + (1::Int)
418433 replicat n = concat . L.replicate n
419434 short = TS.pack "short"