diff options
author | Andreas Klebinger <klebinger.andreas@gmx.at> | 2020-10-07 14:06:14 +0200 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-10-09 08:53:21 -0400 |
commit | ef950b19c04bc9c41920ecc9f94382653981d4bb (patch) | |
tree | 376288f99f961cb28736a9b966155a257269de2e /compiler/GHC/Tc/Solver | |
parent | e5c7c9c8578de1248826c21ebd08e475d094a552 (diff) | |
download | haskell-ef950b19c04bc9c41920ecc9f94382653981d4bb.tar.gz |
Add TyCon Set/Env and use them in a few places.
Firstly this improves code clarity.
But it also has performance benefits as we no longer
go through the name of the TyCon to get at it's unique.
In order to make this work the recursion check for TyCon
has been moved into it's own module in order to avoid import
cycles.
Diffstat (limited to 'compiler/GHC/Tc/Solver')
-rw-r--r-- | compiler/GHC/Tc/Solver/Monad.hs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/GHC/Tc/Solver/Monad.hs b/compiler/GHC/Tc/Solver/Monad.hs index 10c577e723..a524493b94 100644 --- a/compiler/GHC/Tc/Solver/Monad.hs +++ b/compiler/GHC/Tc/Solver/Monad.hs @@ -174,6 +174,7 @@ import GHC.Core.Predicate import GHC.Types.Unique import GHC.Types.Unique.FM import GHC.Types.Unique.DFM +import GHC.Core.TyCon.Env import GHC.Data.Maybe import GHC.Core.Map @@ -2640,7 +2641,7 @@ delFunEq :: FunEqMap a -> TyCon -> [Type] -> FunEqMap a delFunEq m tc tys = delTcApp m (getUnique tc) tys ------------------------------ -type ExactFunEqMap a = UniqFM TyCon (ListMap TypeMap a) +type ExactFunEqMap a = TyConEnv (ListMap TypeMap a) emptyExactFunEqs :: ExactFunEqMap a emptyExactFunEqs = emptyUFM |