Document some benign nondeterminism
authorBartosz Nitka <niteria@gmail.com>
Tue, 24 May 2016 09:56:59 +0000 (02:56 -0700)
committerBartosz Nitka <niteria@gmail.com>
Tue, 24 May 2016 11:33:21 +0000 (04:33 -0700)
commit4c6e69d58a300d6ef440d326a3fd29b58b284fa1
tree6653f56c150c3aa988a96c50359d53f27f2edb01
parent8f7d01632cd79957fe42ea37103ca9b91a1c54f5
Document some benign nondeterminism

I've changed the functions to their nonDet equivalents and explained
why they're OK there. This allowed me to remove foldNameSet,
foldVarEnv, foldVarEnv_Directly, foldVarSet and foldUFM_Directly.

Test Plan: ./validate, there should be no change in behavior

Reviewers: simonpj, simonmar, austin, goldfire, bgamari

Reviewed By: bgamari

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D2244

GHC Trac Issues: #4012
19 files changed:
compiler/basicTypes/DataCon.hs
compiler/basicTypes/Demand.hs
compiler/basicTypes/NameEnv.hs
compiler/basicTypes/NameSet.hs
compiler/basicTypes/VarEnv.hs
compiler/basicTypes/VarSet.hs
compiler/codeGen/StgCmmEnv.hs
compiler/deSugar/Desugar.hs
compiler/main/HscMain.hs
compiler/rename/RnSource.hs
compiler/simplCore/OccurAnal.hs
compiler/simplCore/SetLevels.hs
compiler/specialise/Rules.hs
compiler/typecheck/TcSimplify.hs
compiler/types/Coercion.hs
compiler/types/TyCoRep.hs
compiler/types/Unify.hs
compiler/utils/FastStringEnv.hs
compiler/utils/UniqFM.hs