module DDC.Core.Flow.Process.Process ( Process (..)) where import DDC.Core.Flow.Context import DDC.Core.Flow.Prim import DDC.Core.Flow.Exp -- | A process is a graph of series operators that read from some parameter -- series and write to some accumulators. data Process = Process { -- | Name of whole process. -- This is taken from the function name in the original -- source code. processName :: Name -- | Proc type , processProcType :: TypeF -- | Rate of process loop , processLoopRate :: TypeF -- | Parameters to process. -- These are the parameters of the original function, with flag being true for types. , processParamFlags :: [(Bool, BindF)] -- | Flow context in this process. -- This contains a ContextRate entry for all the Rate variables -- in the parameters, along with an entry for all the nested -- contexts introduced by the process itself. , processContext :: Context }