forsyde-deep-0.2.0: ForSyDe's Haskell-embedded Domain Specific Language.

Copyright(c) ES Group, KTH/ICT/ES 2007-2013
LicenseBSD-style (see the file LICENSE)
Maintainerforsyde-dev@ict.kth.se
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell98

ForSyDe.Deep.Process

Description

Publicly usable functions to create primitive processes. (Reexports ForSyDe.Process.SynchProc)

Synopsis

Documentation

data ProcFun a Source #

A Process Function

newProcFun :: Q [Dec] -> ExpQ Source #

Template Haskell constructor for ProcFun, here is an example on how to use it

 plus1Fun :: ProcFun (Int -> Int)
 plus1Fun = $(newProcFun [d| plus1 :: Int -> Int
                             plus1 n = n + 1     |])

defArgVal :: (Lift a, ProcType a) => ProcFun (a -> b) -> a -> ProcFun b Source #

Sets a default value for an argument of the process function

defArgPF :: ProcFun (a -> b) -> ProcFun a -> ProcFun b Source #

Sets a default value for an argument of the process function when the argument is a process function itself

class (Data a, Lift a) => ProcType a Source #

Class used to constrain the arguments (values and ProcFuns) taken by process constructors

Minimal complete definition

getEnums, readProcType