mk_dict_tys theta = map mkPredTy theta
- sig_msg id = ptext SLIT("When checking the type signature for") <+> ppr id
+ sig_msg id = ptext SLIT("When checking the type signature for") <+> quotes (ppr id)
-- Search for Main.main in the binder_names, return corresponding mono_id
find_main NotTopLevel binder_names mono_ids = Nothing
boxedTypeKind, unboxedTypeKind, tyVarsOfType,
mkArrowKinds, getTyVar_maybe, getTyVar,
tidyOpenType, tidyOpenTypes, tidyTyVar, tidyTyVars,
- tyVarsOfType, tyVarsOfTypes
+ tyVarsOfType, tyVarsOfTypes, mkForAllTys
)
import PprType ( pprConstraint, pprType )
import Subst ( mkTopTyVarSubst, substTy )
(env1, tidy_sig_tyvars) = tidyTyVars tidy_env sig_tyvars
(env2, tidy_sig_rho) = tidyOpenType env1 (mkRhoTy sig_theta sig_tau)
(env3, tidy_actual_tau) = tidyOpenType env1 actual_tau
- forall | null sig_tyvars = empty
- | otherwise = ptext SLIT("forall") <+> hsep (map ppr tidy_sig_tyvars) <> dot
- msg = vcat [ptext SLIT("Signature type: ") <+> forall <+> pprType tidy_sig_rho,
+ msg = vcat [ptext SLIT("Signature type: ") <+> pprType (mkForAllTys tidy_sig_tyvars tidy_sig_rho),
ptext SLIT("Type to generalise:") <+> pprType tidy_actual_tau,
when
]
-- I'm not sure whether the direct-IO approach of printDoc
-- above is better or worse than the put-big-string approach here
printErrs :: SDoc -> IO ()
-printErrs doc = printDoc PageMode stdout (final_doc user_style)
+printErrs doc = printDoc PageMode stderr (final_doc user_style)
where
final_doc = doc -- $$ text ""
user_style = mkUserStyle (PartWay opt_PprUserLength)