TTG: move phase-specific constructors
The goal of this ticket is to move phase-specific constructors to extension fields (Trees That Grow) - make illegal states unrepresentable.
-
(!2083 (closed)) HsWrap
is specific to typechecking, should be insideXExpr
. -
(!2553 (closed)) ConPatIn
andConPatOut
could become a singleConPat
with fields depending on the pass. -
(!2553 (closed)) Perhaps CoPat
too. -
(!5595 (merged)) HsRnBracketOut
occurs only at theGhcRn
phase. -
(!5595 (merged)) HsTcBracketOut
occurs only at theGhcTc
phase. -
(!7614 (closed)) AbsBinds
occurs only at theGhcTc
phase. -
(!6605 (closed)) HsTick
andHsBinTick
occur only at theGhcTc
phase. -
(!5640 (closed)) HsConLikeOut
occurs only at theGhcTc
phase. -
(!5595 (merged)) Perhaps HsUnboundVar
,HsIPVar
,HsOverLabel
which occur inGhcPs
andGhcRn
but notGhcTc
.
(Initial idea mentioned by Simon and Richard during Zurihac)