• Sebastian Graf's avatar
    Extract definition of DsM into GHC.HsToCore.Types · a77e48d2
    Sebastian Graf authored
    `DsM` was previously defined in `GHC.Tc.Types`, along with `TcM`. But
    `GHC.Tc.Types` is in the set of transitive dependencies of `GHC.Parser`,
    a set which we aim to minimise. Test case `CountParserDeps` checks for
    that.
    
    Having `DsM` in that set means the parser also depends on the innards of
    the pattern-match checker in `GHC.HsToCore.PmCheck.Types`, which is the
    reason we have that module in the first place.
    
    In the previous commit, we represented the `TyState` by an `InertSet`,
    but that pulls the constraint solver as well as 250 more modules into
    the set of dependencies, triggering failure of `CountParserDeps`.
    Clearly, we want to evolve the pattern-match checker (and the desugarer)
    without being concerned by this test, so this patch includes a small
    refactor that puts `DsM` into its own module.
    a77e48d2
Types.hs 68.6 KB