- readLEnv :: (LocalEnv -> a) -> VM a
- setLEnv :: LocalEnv -> VM ()
- updLEnv :: (LocalEnv -> LocalEnv) -> VM ()
- localV :: VM a -> VM a
- closedV :: VM a -> VM a
- getBindName :: VM FastString
- inBind :: Id -> VM a -> VM a
- lookupTyVarPA :: Var -> VM (Maybe CoreExpr)
- defLocalTyVar :: TyVar -> VM ()
- defLocalTyVarWithPA :: TyVar -> CoreExpr -> VM ()
- localTyVars :: VM [TyVar]
Documentation
Perform a computation in its own local environment. This does not alter the environment of the current state.
getBindName :: VM FastStringSource
Get the name of the local binding currently being vectorised.
inBind :: Id -> VM a -> VM aSource
Run a vectorisation computation in a local environment, with this id set as the current binding.
defLocalTyVar :: TyVar -> VM ()Source
Add a tyvar to the local environment.
defLocalTyVarWithPA :: TyVar -> CoreExpr -> VM ()Source
Add mapping between a tyvar and pa dictionary to the local environment.
localTyVars :: VM [TyVar]Source
Get the set of tyvars from the local environment.