pprTcTyThingCategory :: TcTyThing -> SDoc
pprTcTyThingCategory (AGlobal thing) = pprTyThingCategory thing
-pprTcTyThingCategory (ATyVar {}) = ptext SLIT("Type variable")
-pprTcTyThingCategory (ATcId {}) = ptext SLIT("Local identifier")
-pprTcTyThingCategory (AThing {}) = ptext SLIT("Kinded thing")
+pprTcTyThingCategory (ATyVar {}) = ptext (sLit "Type variable")
+pprTcTyThingCategory (ATcId {}) = ptext (sLit "Local identifier")
+pprTcTyThingCategory (AThing {}) = ptext (sLit "Kinded thing")
instance Outputable RefinementVisibility where
- ppr Unrefineable = ptext SLIT("unrefineable")
- ppr (Rigid co) = ptext SLIT("rigid") <+> ppr co
- ppr Wobbly = ptext SLIT("wobbly")
- ppr WobblyInvisible = ptext SLIT("wobbly-invisible")
+ ppr Unrefineable = ptext (sLit "unrefineable")
+ ppr (Rigid co) = ptext (sLit "rigid") <+> ppr co
+ ppr Wobbly = ptext (sLit "wobbly")
+ ppr WobblyInvisible = ptext (sLit "wobbly-invisible")
\end{code}
\begin{code}
data ImportAvails
= ImportAvails {
- imp_mods :: ModuleEnv (Module, [(ModuleName, Bool, SrcSpan)]),
+ imp_mods :: ModuleEnv [(ModuleName, Bool, SrcSpan)],
-- Domain is all directly-imported modules
-- The ModuleName is what the module was imported as, e.g. in
-- import Foo as Bar
-- True => import was "import Foo ()"
-- False => import was some other form
--
- -- We need the Module in the range because we can't get
- -- the keys of a ModuleEnv
-- Used
-- (a) to help construct the usage information in
-- the interface file; if we import somethign we
(ImportAvails { imp_mods = mods2,
imp_dep_mods = dmods2, imp_dep_pkgs = dpkgs2,
imp_orphs = orphs2, imp_finsts = finsts2 })
- = ImportAvails { imp_mods = plusModuleEnv_C plus_mod mods1 mods2,
+ = ImportAvails { imp_mods = plusModuleEnv_C (++) mods1 mods2,
imp_dep_mods = plusUFM_C plus_mod_dep dmods1 dmods2,
imp_dep_pkgs = dpkgs1 `unionLists` dpkgs2,
imp_orphs = orphs1 `unionLists` orphs2,
imp_finsts = finsts1 `unionLists` finsts2 }
where
- plus_mod (m1, xs1) (_, xs2) = (m1, xs1 ++ xs2)
plus_mod_dep (m1, boot1) (m2, boot2)
= WARN( not (m1 == m2), (ppr m1 <+> ppr m2) $$ (ppr boot1 <+> ppr boot2) )
-- Check mod-names match
| ImportBySystem -- Non user import.
instance Outputable WhereFrom where
- ppr (ImportByUser is_boot) | is_boot = ptext SLIT("{- SOURCE -}")
+ ppr (ImportByUser is_boot) | is_boot = ptext (sLit "{- SOURCE -}")
| otherwise = empty
- ppr ImportBySystem = ptext SLIT("{- SYSTEM -}")
+ ppr ImportBySystem = ptext (sLit "{- SYSTEM -}")
\end{code}
instLocOrigin (InstLoc o _ _) = o
pprInstArising :: Inst -> SDoc
-pprInstArising loc = ptext SLIT("arising from") <+> pprInstLoc (tci_loc loc)
+pprInstArising loc = ptext (sLit "arising from") <+> pprInstLoc (tci_loc loc)
pprInstLoc :: InstLoc -> SDoc
pprInstLoc (InstLoc orig span _) = sep [ppr orig, text "at" <+> ppr span]
| EqOrigin -- A type equality
instance Outputable InstOrigin where
- ppr (OccurrenceOf name) = hsep [ptext SLIT("a use of"), quotes (ppr name)]
- ppr (SpecPragOrigin name) = hsep [ptext SLIT("a specialisation pragma for"), quotes (ppr name)]
- ppr (IPOccOrigin name) = hsep [ptext SLIT("a use of implicit parameter"), quotes (ppr name)]
- ppr (IPBindOrigin name) = hsep [ptext SLIT("a binding for implicit parameter"), quotes (ppr name)]
- ppr RecordUpdOrigin = ptext SLIT("a record update")
- ppr ExprSigOrigin = ptext SLIT("an expression type signature")
- ppr ViewPatOrigin = ptext SLIT("a view pattern")
- ppr (LiteralOrigin lit) = hsep [ptext SLIT("the literal"), quotes (ppr lit)]
- ppr (ArithSeqOrigin seq) = hsep [ptext SLIT("the arithmetic sequence"), quotes (ppr seq)]
- ppr (PArrSeqOrigin seq) = hsep [ptext SLIT("the parallel array sequence"), quotes (ppr seq)]
- ppr TupleOrigin = ptext SLIT("a tuple")
- ppr NegateOrigin = ptext SLIT("a use of syntactic negation")
- ppr InstScOrigin = ptext SLIT("the superclasses of an instance declaration")
- ppr DerivOrigin = ptext SLIT("the 'deriving' clause of a data type declaration")
- ppr StandAloneDerivOrigin = ptext SLIT("a 'deriving' declaration")
- ppr DefaultOrigin = ptext SLIT("a 'default' declaration")
- ppr DoOrigin = ptext SLIT("a do statement")
- ppr ProcOrigin = ptext SLIT("a proc expression")
+ ppr (OccurrenceOf name) = hsep [ptext (sLit "a use of"), quotes (ppr name)]
+ ppr (SpecPragOrigin name) = hsep [ptext (sLit "a specialisation pragma for"), quotes (ppr name)]
+ ppr (IPOccOrigin name) = hsep [ptext (sLit "a use of implicit parameter"), quotes (ppr name)]
+ ppr (IPBindOrigin name) = hsep [ptext (sLit "a binding for implicit parameter"), quotes (ppr name)]
+ ppr RecordUpdOrigin = ptext (sLit "a record update")
+ ppr ExprSigOrigin = ptext (sLit "an expression type signature")
+ ppr ViewPatOrigin = ptext (sLit "a view pattern")
+ ppr (LiteralOrigin lit) = hsep [ptext (sLit "the literal"), quotes (ppr lit)]
+ ppr (ArithSeqOrigin seq) = hsep [ptext (sLit "the arithmetic sequence"), quotes (ppr seq)]
+ ppr (PArrSeqOrigin seq) = hsep [ptext (sLit "the parallel array sequence"), quotes (ppr seq)]
+ ppr TupleOrigin = ptext (sLit "a tuple")
+ ppr NegateOrigin = ptext (sLit "a use of syntactic negation")
+ ppr InstScOrigin = ptext (sLit "the superclasses of an instance declaration")
+ ppr DerivOrigin = ptext (sLit "the 'deriving' clause of a data type declaration")
+ ppr StandAloneDerivOrigin = ptext (sLit "a 'deriving' declaration")
+ ppr DefaultOrigin = ptext (sLit "a 'default' declaration")
+ ppr DoOrigin = ptext (sLit "a do statement")
+ ppr ProcOrigin = ptext (sLit "a proc expression")
ppr (ImplicOrigin doc) = doc
ppr (SigOrigin info) = pprSkolInfo info
- ppr EqOrigin = ptext SLIT("a type equality")
+ ppr EqOrigin = ptext (sLit "a type equality")
\end{code}