feldspar-compiler-0.6.0.2: Compiler for the Feldspar language

Safe HaskellNone

Feldspar.Transformation.Framework

Documentation

class Convert a b where

Methods

convert :: a -> b

Instances

Default b => Convert a b 

data Result t s

Constructors

Result 

Fields

result :: s (To t)
 
state :: State t
 
up :: Up t
 

Instances

(Transformation t, Show (s (To t)), Show (State t), Show (Up t)) => Show (Result t s) 

data Result1 t s a

Constructors

Result1 

Fields

result1 :: s (a (To t))
 
state1 :: State t
 
up1 :: Up t
 

Instances

(Transformation t, Show (s (b (To t))), Show (State t), Show (Up t)) => Show (Result1 t s b) 

class Transformable t s where

Methods

transform :: t -> State t -> Down t -> s (From t) -> Result t s

Instances

DefaultTransformable t s => Transformable t s 
Transformable Collect Variable 
Transformable Collect Program 
Transformable Collect Block 
Transformable ConstantFolding Expression 
Transformable Free Block 
Transformable IVarPlugin Program 
Transformable IVarPlugin Block 
Transformable IVarPlugin Entity 
Transformable BlockProgramHandler Program 
Transformable BlockProgramHandler Block 
Transformable VariableRoleAssigner Variable 
Transformable VariableRoleAssigner Entity 
Transformable Unroll2 Variable 
Transformable Unroll2 Expression 
Transformable Unroll2 Program 
Transformable Unroll1 Program 
(DefaultTransformable RulePlugin t, Typeable1 t) => Transformable RulePlugin t 
Transformable Precompilation Variable 
Transformable Precompilation ActualParameter 
Transformable Precompilation Program 
Transformable Precompilation Entity 
Transformable DebugToC Variable 
Transformable DebugToC Constant 
Transformable DebugToC Expression 
Transformable DebugToC Declaration 
Transformable DebugToC ActualParameter 
Transformable DebugToC Program 
Transformable DebugToC Block 
Transformable DebugToC StructMember 
Transformable DebugToC Entity 
Transformable DebugToC Module 
Transformable GetPrgSeqLoop Program 
Transformable GetPrgProcCall Program 
Transformable GetPrgBranch Program 
Transformable GetPrgAssign Program 
Transformable GetPrgParLoop Program 
Transformable TypeCorrector Variable 
Transformable TypeCorrector Entity 
Transformable TypeCheck Variable 
Transformable TypeCheck Declaration 
Transformable TypeCheck Program 
Transformable TypeCheck Block 
Transformable TypeCheck Entity 
Transformable GlobalCollector Variable 
Transformable GlobalCollector Entity 
Transformable TypeDefinitionGenerator Variable 
Transformable TypeDefinitionGenerator Module 

class DefaultTransformable t s where

Methods

defaultTransform :: t -> State t -> Down t -> s (From t) -> Result t s

Instances

(Conversion t Variable, Default (Up t)) => DefaultTransformable t Variable 
(Transformable t Constant, Transformable1 t [] Constant, Conversion t Constant, Conversion t IntConst, Conversion t FloatConst, Conversion t BoolConst, Conversion t ArrayConst, Conversion t ComplexConst, Default (Up t)) => DefaultTransformable t Constant 
(Transformable t Expression, Transformable t Variable, Transformable t Constant, Transformable1 t [] Expression, Conversion t Expression, Conversion t FunctionCall, Conversion t ArrayElem, Conversion t StructField, Conversion t SizeOf, Conversion t Cast, Default (Up t)) => DefaultTransformable t Expression 
(Transformable t Variable, Transformable1 t Maybe Expression, Conversion t Declaration) => DefaultTransformable t Declaration 
(Transformable t Expression, Conversion t ActualParameter) => DefaultTransformable t ActualParameter 
(Transformable1 t [] Program, Transformable t Expression, Transformable1 t [] ActualParameter, Transformable t Block, Transformable t Variable, Conversion t Program, Conversion t Empty, Conversion t Comment, Conversion t Assign, Conversion t ProcedureCall, Conversion t Spawn, Conversion t Run, Conversion t Sequence, Conversion t Branch, Conversion t SeqLoop, Conversion t ParLoop, Default (Up t)) => DefaultTransformable t Program 
(Transformable1 t [] Declaration, Transformable t Program, Conversion t Block) => DefaultTransformable t Block 
(Conversion t StructMember, Default (Up t)) => DefaultTransformable t StructMember 
(Transformable1 t [] StructMember, Transformable1 t [] Variable, Transformable t Block, Transformable t Declaration, Conversion t Entity, Conversion t Struct, Conversion t ProcDef, Conversion t ProcDecl) => DefaultTransformable t Entity 
(Transformable1 t [] Entity, Conversion t Module) => DefaultTransformable t Module 

class DefaultTransformable1 t s a where

Methods

defaultTransform1 :: t -> State t -> Down t -> s (a (From t)) -> Result1 t s a