futhark-0.21.6: An optimising compiler for a functional, array-oriented language.
Safe HaskellNone
LanguageHaskell2010

Futhark.IR.Rep

Description

The core Futhark AST is parameterised by a rep 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)) => RepTypes l Source #

A collection of type families giving various common types for a representation, 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
RepTypes Seq Source # 
Instance details

Defined in Futhark.IR.Seq

RepTypes SOACS Source # 
Instance details

Defined in Futhark.IR.SOACS

RepTypes SeqMem Source # 
Instance details

Defined in Futhark.IR.SeqMem

RepTypes MCMem Source # 
Instance details

Defined in Futhark.IR.MCMem

RepTypes MC Source # 
Instance details

Defined in Futhark.IR.MC

RepTypes GPU Source # 
Instance details

Defined in Futhark.IR.GPU

RepTypes GPUMem Source # 
Instance details

Defined in Futhark.IR.GPUMem

(RepTypes rep, CanBeAliased (Op rep)) => RepTypes (Aliases rep) Source # 
Instance details

Defined in Futhark.IR.Aliases

Associated Types

type LetDec (Aliases rep) Source #

type ExpDec (Aliases rep) Source #

type BodyDec (Aliases rep) Source #

type FParamInfo (Aliases rep) Source #

type LParamInfo (Aliases rep) Source #

type RetType (Aliases rep) Source #

type BranchType (Aliases rep) Source #

type Op (Aliases rep) Source #

(RepTypes rep, CanBeWise (Op rep)) => RepTypes (Wise rep) Source # 
Instance details

Defined in Futhark.Optimise.Simplify.Rep

Associated Types

type LetDec (Wise rep) Source #

type ExpDec (Wise rep) Source #

type BodyDec (Wise rep) Source #

type FParamInfo (Wise rep) Source #

type LParamInfo (Wise rep) Source #

type RetType (Wise rep) Source #

type BranchType (Wise rep) Source #

type Op (Wise rep) Source #