Improve performance of Map.mapKeys[With].
authorMilan Straka <fox@ucw.cz>
Wed, 7 Dec 2011 19:38:57 +0000 (20:38 +0100)
committerMilan Straka <fox@ucw.cz>
Sun, 4 Mar 2012 15:38:11 +0000 (16:38 +0100)
commit7afa9c0b606770927d81a9283885c637fed9c581
tree84b08a46c139bbc234a2b7b45f37abdc4e0f1f22
parentb53359b62f0a182ff4ee33d1173190ac8e3c9c9e
Improve performance of Map.mapKeys[With].

We can manually fuse
  List.map fFirst . toList
    where fFirst (a, b) = (f a, b)
using the right fold as
  foldrWithKey (\k x xs -> (f k, x) : xs) []
Data/Map/Base.hs
Data/Map/Strict.hs