Break up TyCoRep

Authored by bgamari on Jul 25 2019, 6:41 PM.

Description

Break up TyCoRep

This breaks up the monstrous TyCoReps module into several new modules by
topic:

  • TyCoRep: Contains the Coercion, Type, and related type definitions and a few simple predicates but nothing further
  • TyCoPpr: Contains the the pretty-printer logic
  • TyCoFVs: Contains the free variable computations (and tyConAppNeedsKindSig, although I suspect this should change)
  • TyCoSubst: Contains the substitution logic for types and coercions
  • TyCoTidy: Contains the tidying logic for types

While we are able to eliminate a good number of SOURCE imports (and
make a few others smaller) with this change, we must introduce one new
hs-boot file for TyCoPpr so that TyCoRep can define Outputable
instances for the types it defines.

Metric Increase:

haddock.Cabal
haddock.compiler

Details

Committed
Marge Bot <ben+marge-bot@smart-cactus.org>Jul 31 2019, 3:27 AM
Parents
rGHC2829f6dab5e8: Apply a missing substitution in mkEtaWW (#16979)
Branches
Unknown
Tags
Unknown
Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC371dadfbbc35: Break up TyCoRep (authored by bgamari).Jul 31 2019, 3:27 AM