Skip to content

add GHC.Utils.Binary.foldGet' and use for Iface.Binary

doyougnu requested to merge doyougnu/ghc:wip/doyougnu/strict-foldget into master

Another small optimization that removes some lazy IO and strictifies an accumulator. We could go further and specialize foldGet but I chose not to because it would couple modules together. So the right way would be to make a custom foldGet just for its call site in Iface.Binary, which I've opted to try later.

Note that I left the lazy, non-inlined version of foldGet alone. I have no qualms removing it if we deem this function should always be strict and inlined.

Merge request reports