- module Vectorise.Monad.Base
- module Vectorise.Monad.Naming
- module Vectorise.Monad.Local
- module Vectorise.Monad.Global
- module Vectorise.Monad.InstEnv
- initV :: PackageId -> HscEnv -> ModGuts -> VectInfo -> VM a -> IO (Maybe (VectInfo, a))
- liftBuiltinDs :: (Builtins -> DsM a) -> VM a
- builtin :: (Builtins -> a) -> VM a
- builtins :: (a -> Builtins -> b) -> VM (a -> b)
- lookupVar :: Var -> VM (Scope Var (Var, Var))
- maybeCantVectoriseVarM :: Monad m => Var -> m (Maybe Var) -> m Var
- dumpVar :: Var -> a
- lookupPrimPArray :: TyCon -> VM (Maybe TyCon)
- lookupPrimMethod :: TyCon -> String -> VM (Maybe Var)
Documentation
module Vectorise.Monad.Base
module Vectorise.Monad.Naming
module Vectorise.Monad.Local
module Vectorise.Monad.Global
module Vectorise.Monad.InstEnv
initV :: PackageId -> HscEnv -> ModGuts -> VectInfo -> VM a -> IO (Maybe (VectInfo, a))Source
Run a vectorisation computation.
Builtins
liftBuiltinDs :: (Builtins -> DsM a) -> VM aSource
Lift a desugaring computation using the Builtins
into the vectorisation monad.
builtins :: (a -> Builtins -> b) -> VM (a -> b)Source
Lift a function using the Builtins
into the vectorisation monad.
Variables
lookupVar :: Var -> VM (Scope Var (Var, Var))Source
Lookup the vectorised and/or lifted versions of this variable. If it's in the global environment we get the vectorised version. If it's in the local environment we get both the vectorised and lifted version.