diff options
author | Sebastian Graf <sebastian.graf@kit.edu> | 2020-09-24 16:56:28 +0200 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-09-26 05:36:46 -0400 |
commit | af1e84e794591e09e20c661fa1d3df59f5b56e4a (patch) | |
tree | 37ad147a0d3832c2ff30f8a3a7d0086021f52fcf /compiler/GHC/Tc/Solver.hs | |
parent | 83407ffc7acc00cc025b9f6ed063add9ab9f9bcc (diff) | |
download | haskell-af1e84e794591e09e20c661fa1d3df59f5b56e4a.tar.gz |
PmCheck: Big refactor of module structure
* Move everything from `GHC.HsToCore.PmCheck.*` to
`GHC.HsToCore.Pmc.*` in analogy to `GHC.Tc`, rename exported
`covCheck*` functions to `pmc*`
* Rename `Pmc.Oracle` to `Pmc.Solver`
* Split off the LYG desugaring and checking steps into their own
modules (`Pmc.Desugar` and `Pmc.Check` respectively)
* Split off a `Pmc.Utils` module with stuff shared by
`Pmc.{,Desugar,Check,Solver}`
* Move `Pmc.Types` to `Pmc.Solver.Types`, add a new `Pmc.Types` module
with all the LYG types, which form the interfaces between
`Pmc.{Desugar,Check,Solver,}`.
Diffstat (limited to 'compiler/GHC/Tc/Solver.hs')
-rw-r--r-- | compiler/GHC/Tc/Solver.hs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/GHC/Tc/Solver.hs b/compiler/GHC/Tc/Solver.hs index 2aa1189bcf..70af1b1255 100644 --- a/compiler/GHC/Tc/Solver.hs +++ b/compiler/GHC/Tc/Solver.hs @@ -820,7 +820,7 @@ It does *not* reduce type or data family applications or look through newtypes. Why is this useful? As one example, when coverage-checking an EmptyCase expression, it's possible that the type of the scrutinee will only reduce if some local equalities are solved for. See "Wrinkle: Local equalities" -in Note [Type normalisation] in "GHC.HsToCore.PmCheck". +in Note [Type normalisation] in "GHC.HsToCore.Pmc". To accomplish its stated goal, tcNormalise first initialises the solver monad with the given InertCans, then uses flattenType to simplify the desired type |