mkDataConIds,
mkRecordSelId,
- mkPrimOpId, mkFCallId, mkTickBoxOpId, mkBinaryTickBoxOpId,
+ mkPrimOpId, mkFCallId, mkTickBoxOpId,
mkReboxingAlt, wrapNewTypeBody, unwrapNewTypeBody,
mkUnpackCase, mkProductBox,
-- arguments to the universals of the data constructor
-- (crucial when type checking interfaces)
dict_tys = mkPredTys theta
- result_ty_args = map (substTyVar subst) univ_tvs
+ result_ty_args = substTyVars subst univ_tvs
result_ty = case tyConFamInst_maybe tycon of
-- ordinary constructor
Nothing -> mkTyConApp tycon result_ty_args
name = mkTickBoxOpName uniq occ_str
info = noCafIdInfo
ty = realWorldStatePrimTy
-
-mkBinaryTickBoxOpId
- :: Unique
- -> Module
- -> TickBoxId
- -> TickBoxId
- -> Id
-mkBinaryTickBoxOpId uniq mod ixT ixF = mkGlobalId (TickBoxOpId tickbox) name ty info
- where
- tickbox = BinaryTickBox mod ixT ixF
- occ_str = showSDoc (braces (ppr tickbox))
- name = mkTickBoxOpName uniq occ_str
- info = noCafIdInfo
- `setArityInfo` arity
- `setAllStrictnessInfo` Just strict_sig
- ty = mkFunTy boolTy boolTy
-
- arity = 1
- strict_sig = mkStrictSig (mkTopDmdType (replicate arity evalDmd) TopRes)
- --- ?? mkStrictSig (mkTopDmdType [seqDmd] TopRes)
\end{code}