Kill Type pretty-printer
authorBen Gamari <bgamari.foss@gmail.com>
Sun, 13 Nov 2016 21:17:37 +0000 (16:17 -0500)
committerBen Gamari <ben@smart-cactus.org>
Sun, 13 Nov 2016 21:17:38 +0000 (16:17 -0500)
commit6c0f10fac767c49b65ed71e8eb8e78ca4f9062d5
tree4d37b9d01c1bf38d6356471ddb99ca4327e945c6
parent8cb7bc5c234eb8168068f65b8888597106fec302
Kill Type pretty-printer

Here we consolidate the pretty-printing logic for types in IfaceType. We
need IfaceType regardless and the printer for Type can be implemented in
terms of that for IfaceType. See #11660.

Note that this is very much a work-in-progress. Namely I still have yet
to ponder how to ease the hs-boot file situation, still need to rip out
more dead code, need to move some of the special cases for, e.g., `*` to
the IfaceType printer, and need to get it to validate. That being said,
it comes close to validating as-is.

Test Plan: Validate

Reviewers: goldfire, austin

Subscribers: goldfire, thomie, simonpj

Differential Revision: https://phabricator.haskell.org/D2528

GHC Trac Issues: #11660
48 files changed:
compiler/basicTypes/BasicTypes.hs
compiler/coreSyn/CoreLint.hs
compiler/coreSyn/PprCore.hs
compiler/ghc.cabal.in
compiler/ghc.mk
compiler/iface/IfaceSyn.hs
compiler/iface/IfaceType.hs
compiler/iface/IfaceType.hs-boot [new file with mode: 0644]
compiler/iface/MkIface.hs
compiler/iface/TcIface.hs
compiler/iface/ToIface.hs [new file with mode: 0644]
compiler/iface/ToIface.hs-boot [new file with mode: 0644]
compiler/main/GHC.hs
compiler/prelude/TysWiredIn.hs
compiler/prelude/TysWiredIn.hs-boot
compiler/typecheck/TcDeriv.hs
compiler/typecheck/TcDerivInfer.hs
compiler/typecheck/TcErrors.hs
compiler/typecheck/TcExpr.hs
compiler/typecheck/TcHsType.hs
compiler/typecheck/TcInteract.hs
compiler/typecheck/TcMType.hs
compiler/typecheck/TcPat.hs
compiler/typecheck/TcRnTypes.hs
compiler/typecheck/TcTyClsDecls.hs
compiler/typecheck/TcValidity.hs
compiler/types/Coercion.hs-boot
compiler/types/TyCoRep.hs
compiler/types/TyCoRep.hs-boot
compiler/types/TyCon.hs
compiler/types/Type.hs
compiler/utils/Binary.hs
testsuite/tests/deSugar/should_compile/T2431.stderr
testsuite/tests/dependent/should_fail/TypeSkolEscape.stderr
testsuite/tests/ghci/scripts/T11252.stdout
testsuite/tests/ghci/scripts/T2766.stdout
testsuite/tests/ghci/scripts/ghci059.stdout
testsuite/tests/roles/should_compile/T8958.stderr
testsuite/tests/typecheck/should_compile/T10632.stderr
testsuite/tests/typecheck/should_fail/ClassOperator.stderr
testsuite/tests/typecheck/should_fail/IPFail.stderr
testsuite/tests/typecheck/should_fail/T7019a.stderr
testsuite/tests/typecheck/should_fail/T7525.stderr
testsuite/tests/typecheck/should_fail/T8912.stderr
testsuite/tests/typecheck/should_fail/tcfail041.stderr
testsuite/tests/typecheck/should_fail/tcfail130.stderr
testsuite/tests/typecheck/should_fail/tcfail211.stderr
testsuite/tests/typecheck/should_run/tcrun045.stderr