#include "HsVersions.h"
module DsMonad (
- DsM(..),
+ SYN_IE(DsM),
initDs, returnDs, thenDs, andDs, mapDs, listDs,
mapAndUnzipDs, zipWithDs,
uniqSMtoDsM,
getSrcLocDs, putSrcLocDs,
getModuleAndGroupDs,
extendEnvDs, lookupEnvDs, lookupEnvWithDefaultDs,
- DsIdEnv(..),
+ SYN_IE(DsIdEnv),
lookupId,
dsShadowError,
DsMatchContext(..), DsMatchKind(..), pprDsWarnings
) where
-import Ubiq
+IMP_Ubiq()
import Bag ( emptyBag, snocBag, bagToList )
import CmdLineOpts ( opt_SccGroup )
-import CoreSyn ( CoreExpr(..) )
+import CoreSyn ( SYN_IE(CoreExpr) )
import CoreUtils ( substCoreExpr )
import HsSyn ( OutPat )
import Id ( mkSysLocal, mkIdWithNewUniq,
- lookupIdEnv, growIdEnvList, GenId, IdEnv(..)
+ lookupIdEnv, growIdEnvList, GenId, SYN_IE(IdEnv)
)
import PprType ( GenType, GenTyVar )
import PprStyle ( PprStyle(..) )
import Pretty
import SrcLoc ( unpackSrcLoc, mkUnknownSrcLoc, SrcLoc )
-import TcHsSyn ( TypecheckedPat(..) )
+import TcHsSyn ( SYN_IE(TypecheckedPat) )
import TyVar ( nullTyVarEnv, cloneTyVar, GenTyVar{-instance Eq-} )
import Unique ( Unique{-instances-} )
import UniqSupply ( splitUniqSupply, getUnique, getUniques,
- mapUs, thenUs, returnUs, UniqSM(..) )
+ mapUs, thenUs, returnUs, SYN_IE(UniqSM) )
import Util ( assoc, mapAccumL, zipWithEqual, panic )
infixr 9 `thenDs`
| CaseMatch
| LambdaMatch
| PatBindMatch
+ | DoBindMatch
pprDsWarnings :: PprStyle -> Bag DsMatchContext -> Pretty
pprDsWarnings sty warns
= ppHang (ppPStr SLIT("in a lambda abstraction:"))
4 (ppSep [ppSep (map (ppr sty) pats), pp_arrow_dotdotdot])
+ pp_match DoBindMatch pats
+ = ppHang (ppPStr SLIT("in a `do' pattern binding:"))
+ 4 (ppSep [ppSep (map (ppr sty) pats), pp_arrow_dotdotdot])
+
pp_arrow_dotdotdot = ppPStr SLIT("-> ...")
\end{code}