{-# LANGUAGE TypeFamilies, FlexibleContexts #-}
module Futhark.Representation.AST.Annotations
( Annotations (..)
, module Futhark.Representation.AST.RetType
)
where
import Futhark.Representation.AST.Syntax.Core
import Futhark.Representation.AST.RetType
import Futhark.Representation.AST.Attributes.Types
class (Show (LetAttr l), Show (ExpAttr l), Show (BodyAttr l), Show (FParamAttr l), Show (LParamAttr l), Show (RetType l), Show (BranchType l), Show (Op l),
Eq (LetAttr l), Eq (ExpAttr l), Eq (BodyAttr l), Eq (FParamAttr l), Eq (LParamAttr l), Eq (RetType l), Eq (BranchType l), Eq (Op l),
Ord (LetAttr l), Ord (ExpAttr l), Ord (BodyAttr l), Ord (FParamAttr l), Ord (LParamAttr l), Ord (RetType l), Ord (BranchType l), Ord (Op l),
IsRetType (RetType l), IsBodyType (BranchType l),
Typed (FParamAttr l), Typed (LParamAttr l), Typed (LetAttr l),
DeclTyped (FParamAttr l))
=> Annotations l where
type LetAttr l :: *
type LetAttr l = Type
type ExpAttr l :: *
type ExpAttr l = ()
type BodyAttr l :: *
type BodyAttr l = ()
type FParamAttr l :: *
type FParamAttr l = DeclType
type LParamAttr l :: *
type LParamAttr l = Type
type RetType l :: *
type RetType l = DeclExtType
type BranchType l :: *
type BranchType l = ExtType
type Op l :: *
type Op l = ()