ghc-7.2.1: The GHC API

Vectorise.Var

Description

Vectorise variables and literals.

Synopsis

Documentation

vectBndr :: Var -> VM VVarSource

Vectorise a binder variable, along with its attached type.

vectBndrNew :: Var -> FastString -> VM VVarSource

Vectorise a binder variable, along with its attached type, but give the result a new name.

vectBndrIn :: Var -> VM a -> VM (VVar, a)Source

Vectorise a binder then run a computation with that binder in scope.

vectBndrNewIn :: Var -> FastString -> VM a -> VM (VVar, a)Source

Vectorise a binder, give it a new name, then run a computation with that binder in scope.

vectBndrsIn :: [Var] -> VM a -> VM ([VVar], a)Source

Vectorise some binders, then run a computation with them in scope.

vectVar :: Var -> VM VExprSource

Vectorise a variable, producing the vectorised and lifted versions.

vectPolyVar :: Var -> [Type] -> VM VExprSource

Like vectVar but also add type applications to the variables.

vectLiteral :: Literal -> VM VExprSource

Lifted literals are created by replicating them We use the the integer context in the VM state for the number of elements in the output array.