\begin{code}
module Desugar ( deSugar, deSugarExpr ) where
-#include "HsVersions.h"
-
import DynFlags
import StaticFlags
import HscTypes
import SrcLoc
import Maybes
import FastString
-import Pretty ( Doc )
import Coverage
-import IOEnv
import Data.IORef
\end{code}
{ core_prs <- dsTopLHsBinds auto_scc binds_cvr
; (ds_fords, foreign_prs) <- dsForeigns fords
; let all_prs = foreign_prs ++ core_prs
- ; ds_rules <- mappM dsRule rules
+ ; ds_rules <- mapM dsRule rules
; return (all_prs, catMaybes ds_rules, ds_fords, ds_hpc_info, modBreaks)
}
; case mb_res of {
is_exported | target == HscInterpreted = isExternalName
| otherwise = (`elemNameSet` exports)
-ppr_ds_rules :: [CoreRule] -> PprStyle -> Doc
+ppr_ds_rules :: [CoreRule] -> SDoc
ppr_ds_rules [] = empty
ppr_ds_rules rules
= text "" $$ text "-------------- DESUGARED RULES -----------------" $$
; return (Just rule)
} } }
where
- msg = hang (ptext SLIT("RULE left-hand side too complicated to desugar; ignored"))
+ msg = hang (ptext (sLit "RULE left-hand side too complicated to desugar; ignored"))
2 (ppr lhs)
\end{code}