futhark-0.18.2: An optimising compiler for a functional, array-oriented language.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Futhark.IR.Decorations

Description

The core Futhark AST is parameterised by a lore type parameter, which is then used to invoke the type families defined here.

Synopsis

Documentation

class (Show (LetDec l), Show (ExpDec l), Show (BodyDec l), Show (FParamInfo l), Show (LParamInfo l), Show (RetType l), Show (BranchType l), Show (Op l), Eq (LetDec l), Eq (ExpDec l), Eq (BodyDec l), Eq (FParamInfo l), Eq (LParamInfo l), Eq (RetType l), Eq (BranchType l), Eq (Op l), Ord (LetDec l), Ord (ExpDec l), Ord (BodyDec l), Ord (FParamInfo l), Ord (LParamInfo l), Ord (RetType l), Ord (BranchType l), Ord (Op l), IsRetType (RetType l), IsBodyType (BranchType l), Typed (FParamInfo l), Typed (LParamInfo l), Typed (LetDec l), DeclTyped (FParamInfo l), SexpIso (LetDec l), SexpIso (ExpDec l), SexpIso (BodyDec l), SexpIso (FParamInfo l), SexpIso (LParamInfo l), SexpIso (RetType l), SexpIso (BranchType l), SexpIso (Op l)) => Decorations l Source #

A collection of type families, along with constraints specifying that the types they map to should satisfy some minimal requirements.

Associated Types

type LetDec l :: Type Source #

Decoration for every let-pattern element.

type LetDec l = Type

type ExpDec l :: Type Source #

Decoration for every expression.

type ExpDec l = ()

type BodyDec l :: Type Source #

Decoration for every body.

type BodyDec l = ()

type FParamInfo l :: Type Source #

Decoration for every (non-lambda) function parameter.

type LParamInfo l :: Type Source #

Decoration for every lambda function parameter.

type LParamInfo l = Type

type RetType l :: Type Source #

The return type decoration of function calls.

type BranchType l :: Type Source #

The return type decoration of branches.

type Op l :: Type Source #

Extensible operation.

type Op l = ()

Instances

Instances details
Decorations Seq Source # 
Instance details

Defined in Futhark.IR.Seq

Decorations SOACS Source # 
Instance details

Defined in Futhark.IR.SOACS

Decorations MCMem Source # 
Instance details

Defined in Futhark.IR.MCMem

Decorations MC Source # 
Instance details

Defined in Futhark.IR.MC

Decorations SeqMem Source # 
Instance details

Defined in Futhark.IR.SeqMem

Decorations Kernels Source # 
Instance details

Defined in Futhark.IR.Kernels

Decorations KernelsMem Source # 
Instance details

Defined in Futhark.IR.KernelsMem

(Decorations lore, CanBeAliased (Op lore)) => Decorations (Aliases lore) Source # 
Instance details

Defined in Futhark.IR.Aliases

Associated Types

type LetDec (Aliases lore) Source #

type ExpDec (Aliases lore) Source #

type BodyDec (Aliases lore) Source #

type FParamInfo (Aliases lore) Source #

type LParamInfo (Aliases lore) Source #

type RetType (Aliases lore) Source #

type BranchType (Aliases lore) Source #

type Op (Aliases lore) Source #

(Decorations lore, CanBeWise (Op lore)) => Decorations (Wise lore) Source # 
Instance details

Defined in Futhark.Optimise.Simplify.Lore

Associated Types

type LetDec (Wise lore) Source #

type ExpDec (Wise lore) Source #

type BodyDec (Wise lore) Source #

type FParamInfo (Wise lore) Source #

type LParamInfo (Wise lore) Source #

type RetType (Wise lore) Source #

type BranchType (Wise lore) Source #

type Op (Wise lore) Source #