import TysPrim ( charPrimTy, intPrimTy, floatPrimTy,
doublePrimTy, addrPrimTy
)
-import TysWiredIn ( charTy, stringTy, intTy, integerTy,
+import TysWiredIn ( charTy, stringTy, intTy,
mkListTy, mkPArrTy, mkTupleTy, unitTy,
voidTy, listTyCon, tupleTyCon )
import TyCon ( mkPrimTyCon, tyConKind )
hsLitType (HsStringPrim s) = addrPrimTy
hsLitType (HsInt i) = intTy
hsLitType (HsIntPrim i) = intPrimTy
-hsLitType (HsInteger i) = integerTy
+hsLitType (HsInteger i ty) = ty
hsLitType (HsRat _ ty) = ty
hsLitType (HsFloatPrim f) = floatPrimTy
hsLitType (HsDoublePrim d) = doublePrimTy
) `thenM` \ (env1, new_bind, _) ->
returnM (env1, mkMonoBind is_rec new_bind)
-zonkBinds env (IPBinds binds is_with)
+zonkBinds env (IPBinds binds)
= mappM zonk_ip_bind binds `thenM` \ new_binds ->
let
env1 = extendZonkEnv env (map (ipNameName . fst) new_binds)
in
- returnM (env1, IPBinds new_binds is_with)
+ returnM (env1, IPBinds new_binds)
where
zonk_ip_bind (n, e)
= mapIPNameTc (zonkIdBndr env) n `thenM` \ n' ->
let
env1 = extendZonkEnv env new_dicts
in
- zonkConStuff env stuff `thenM` \ (new_stuff, ids) ->
+ zonkConStuff env1 stuff `thenM` \ (new_stuff, ids) ->
returnM (ConPatOut n new_stuff new_ty new_tvs new_dicts,
listToBag new_dicts `unionBags` ids)
zonk_bndr (RuleBndr v)
| isId v = zonkIdBndr env v
| otherwise = zonkTcTyVarToTyVar v
-
-zonkRule env (IfaceRuleOut fun rule)
- = returnM (IfaceRuleOut (zonkIdOcc env fun) rule)
\end{code}