diff options
author | Sebastian Graf <sebastian.graf@kit.edu> | 2020-06-12 10:31:37 +0200 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2020-06-25 23:06:18 -0400 |
commit | a3d69dc6c2134afe239caf4f881ba5542d2c2be0 (patch) | |
tree | a9b26fbb91e8e480b29d9be9b822fd763345331b /testsuite/tests | |
parent | d3c2d59bafe253dd7e4966a46564fb16acb1af5c (diff) | |
download | haskell-a3d69dc6c2134afe239caf4f881ba5542d2c2be0.tar.gz |
GHC.Core.Unify: Make UM actions one-shot by defaultwip/oneshot-unify
This MR makes the UM monad in GHC.Core.Unify into a one-shot
monad. See the long Note [The one-shot state monad trick].
See also #18202 and !3309, which applies this to all Reader/State-like
monads in GHC for compile-time perf improvements. The pattern used
here enables something similar to the state-hack, but is applicable to
user-defined monads, not just `IO`.
Metric Decrease 'runtime/bytes allocated' (test_env='i386-linux-deb9'):
haddock.Cabal
Diffstat (limited to 'testsuite/tests')
0 files changed, 0 insertions, 0 deletions