-import BasicTypes ( StrictnessMark(..), boolToRecFlag,
- dfunInlinePragma )
+import BasicTypes ( HsBang(..), boolToRecFlag,
+ alwaysInlinePragma, dfunInlinePragma )
import Var ( Var, TyVar, varType )
import Name ( Name, getOccName )
import NameEnv
import Var ( Var, TyVar, varType )
import Name ( Name, getOccName )
import NameEnv
raw_worker <- cloneId mkVectOcc orig_worker (exprType body)
let vect_worker = raw_worker `setIdUnfolding`
raw_worker <- cloneId mkVectOcc orig_worker (exprType body)
let vect_worker = raw_worker `setIdUnfolding`
defGlobalVar orig_worker vect_worker
return (vect_worker, body)
where
defGlobalVar orig_worker vect_worker
return (vect_worker, body)
where
$ Type inst_ty : map (method_call args) method_ids
dfun_ty = mkForAllTys tvs
$ mkFunTys (map varType args) (mkTyConApp pa_tc [inst_ty])
raw_dfun <- newExportedVar dfun_name dfun_ty
$ Type inst_ty : map (method_call args) method_ids
dfun_ty = mkForAllTys tvs
$ mkFunTys (map varType args) (mkTyConApp pa_tc [inst_ty])
raw_dfun <- newExportedVar dfun_name dfun_ty