Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
The core Futhark AST is parameterised by a rep
type parameter,
which is then used to invoke the type families defined here.
Synopsis
- 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 where
- type Op l = OpC l l
- data NoOp rep = NoOp
- module Futhark.IR.RetType
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.
type LetDec l :: Type Source #
Decoration for every let-pattern element.
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 FParamInfo l = DeclType
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 RetType l = DeclExtType
type BranchType l :: Type Source #
The return type decoration of branches.
type BranchType l = ExtType
type OpC l :: Type -> Type Source #
Type constructor for the extensible operation. The somewhat
funky definition is to ensure that we can change the "inner"
representation in a generic way (e.g. add aliasing information)
In most code, you will use the Op
alias instead.
Instances
RepTypes GPU Source # | |
RepTypes GPUMem Source # | |
RepTypes MC Source # | |
RepTypes MCMem Source # | |
RepTypes SOACS Source # | |
RepTypes Seq Source # | |
RepTypes SeqMem Source # | |
(RepTypes rep, ASTConstraints (OpC rep (Aliases rep))) => RepTypes (Aliases rep) Source # | |
Defined in Futhark.IR.Aliases | |
(Informing rep, Ord (OpC rep (Wise rep)), Eq (OpC rep (Wise rep)), Show (OpC rep (Wise rep)), IsOp (OpC rep), Pretty (OpC rep (Wise rep))) => RepTypes (Wise rep) Source # | |
Defined in Futhark.Optimise.Simplify.Rep |
Returns nothing and does nothing. Placeholder for when we don't really want an operation.
Instances
module Futhark.IR.RetType