ghc-8.4.3: The GHC API

Vectorise.Utils.Closure

Description

Utils concerning closure construction and application.

Synopsis

# Documentation

Arguments

 :: Type Type of the argument. -> Type Type of the result. -> Type Type of the environment. -> VExpr The function to apply. -> VExpr The environment to use. -> VM VExpr

Make a closure.

Arguments

 :: Type Type of the argument. -> Type Type of the result. -> VExpr Closure to apply. -> VExpr Argument to use. -> VM VExpr

Make a closure application.

Arguments

 :: [TyVar] Type variables passed during closure construction. -> [Var] Variables passed during closure construction. -> [VVar] Variables in the environment. -> [Type] Type of the arguments. -> Type Type of result. -> VM VExpr -> VM VExpr

Build a set of n closures corresponding to an n-ary vectorised function. The length of the list of types of arguments determines the arity.

In addition to a set of type variables, a set of value variables is passed during closure construction. In contrast, the closure environment and the arguments are passed during closure application.