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

Run a vectorisation computation.

# Builtins

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

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

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

Project something from the set of builtins.

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.

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

dumpVar :: Var -> aSource

# Primitives

lookupPrimPArray :: TyCon -> VM (Maybe TyCon)Source

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