Vectorise.Monad

ghc-7.0.4: The GHC API

Vectorise.Monad

Contents

- Builtins
- Variables
- Primitives

Synopsis

- 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))

Run a vectorisation computation.

# Builtins

liftBuiltinDs :: (Builtins -> DsM a) -> VM a

Lift a desugaring computation using the `Builtins` into the vectorisation monad.

builtin :: (Builtins -> a) -> VM a

Project something from the set of builtins.

builtins :: (a -> Builtins -> b) -> VM (a -> b)

Lift a function using the `Builtins` into the vectorisation monad.

# Variables

lookupVar :: Var -> VM (Scope Var (Var, Var))

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.

maybeCantVectoriseVarM :: Monad m => Var -> m (Maybe Var) -> m Var

dumpVar :: Var -> a

# Primitives

lookupPrimPArray :: TyCon -> VM (Maybe TyCon)

lookupPrimMethod :: TyCon -> String -> VM (Maybe Var)