summaryrefslogtreecommitdiff
path: root/compiler/GHC/Hs
diff options
context:
space:
mode:
authorSebastian Graf <sebastian.graf@kit.edu>2020-06-12 10:31:37 +0200
committerBen Gamari <ben@smart-cactus.org>2020-06-25 23:06:18 -0400
commita3d69dc6c2134afe239caf4f881ba5542d2c2be0 (patch)
treea9b26fbb91e8e480b29d9be9b822fd763345331b /compiler/GHC/Hs
parentd3c2d59bafe253dd7e4966a46564fb16acb1af5c (diff)
downloadhaskell-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 'compiler/GHC/Hs')
0 files changed, 0 insertions, 0 deletions