Lazy skolemisation for @a-binders (#17594)
This patch is a preparation for @a-binders implementation. The main changes are: * Skolemisation is now prepared to deal with @binders. See Note [Skolemisation overview] in GHC.Tc.Utils.Unify. Most of the action is in - Utils.Unify.matchExpectedFunTys - Gen.Pat.tcMatchPats - Gen.Expr.tcPolyExprCheck - Gen.Binds.tcPolyCheck Some accompanying refactoring: * I found that funTyConAppTy_maybe was doing a lot of allocation, and rejigged userTypeError_maybe to avoid calling it.
Showing
- compiler/GHC/Core/Type.hs 34 additions, 7 deletionscompiler/GHC/Core/Type.hs
- compiler/GHC/Tc/Errors/Ppr.hs 3 additions, 3 deletionscompiler/GHC/Tc/Errors/Ppr.hs
- compiler/GHC/Tc/Gen/App.hs 6 additions, 3 deletionscompiler/GHC/Tc/Gen/App.hs
- compiler/GHC/Tc/Gen/Arrow.hs 6 additions, 9 deletionscompiler/GHC/Tc/Gen/Arrow.hs
- compiler/GHC/Tc/Gen/Bind.hs 17 additions, 15 deletionscompiler/GHC/Tc/Gen/Bind.hs
- compiler/GHC/Tc/Gen/Expr.hs 117 additions, 41 deletionscompiler/GHC/Tc/Gen/Expr.hs
- compiler/GHC/Tc/Gen/Expr.hs-boot 4 additions, 1 deletioncompiler/GHC/Tc/Gen/Expr.hs-boot
- compiler/GHC/Tc/Gen/Head.hs 11 additions, 17 deletionscompiler/GHC/Tc/Gen/Head.hs
- compiler/GHC/Tc/Gen/Match.hs 134 additions, 127 deletionscompiler/GHC/Tc/Gen/Match.hs
- compiler/GHC/Tc/Gen/Match.hs-boot 7 additions, 5 deletionscompiler/GHC/Tc/Gen/Match.hs-boot
- compiler/GHC/Tc/Gen/Pat.hs 101 additions, 46 deletionscompiler/GHC/Tc/Gen/Pat.hs
- compiler/GHC/Tc/Gen/Sig.hs 2 additions, 3 deletionscompiler/GHC/Tc/Gen/Sig.hs
- compiler/GHC/Tc/Types.hs 2 additions, 2 deletionscompiler/GHC/Tc/Types.hs
- compiler/GHC/Tc/Types/Origin.hs 9 additions, 5 deletionscompiler/GHC/Tc/Types/Origin.hs
- compiler/GHC/Tc/Utils/Instantiate.hs 22 additions, 10 deletionscompiler/GHC/Tc/Utils/Instantiate.hs
- compiler/GHC/Tc/Utils/TcMType.hs 8 additions, 1 deletioncompiler/GHC/Tc/Utils/TcMType.hs
- compiler/GHC/Tc/Utils/TcType.hs 40 additions, 16 deletionscompiler/GHC/Tc/Utils/TcType.hs
- compiler/GHC/Tc/Utils/Unify.hs 642 additions, 490 deletionscompiler/GHC/Tc/Utils/Unify.hs
- compiler/GHC/Tc/Validity.hs 5 additions, 15 deletionscompiler/GHC/Tc/Validity.hs
- compiler/GHC/Types/Var.hs 8 additions, 1 deletioncompiler/GHC/Types/Var.hs
Loading
Please register or sign in to comment