Skip to content

PmCheck: Big refactor of module structure

Sebastian Graf requested to merge wip/refactor-pmc into master
  • 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,}.
  • Extract SharedDIdEnv into its own module. It's now named GHC.Types.Unique.SDFM.UniqSDFM. The implementation is more clear about its stated goals and supported operations.

Merge request reports