ForSyDe-3.1.1: ForSyDe's Haskell-embedded Domain Specific Language.

Portabilityportable
Stabilityexperimental
Maintainerforsyde-dev@ict.kth.se
Safe HaskellNone

ForSyDe.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] -> ExpQSource

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 bSource

Sets a default value for an argument of the process function

defArgPF :: ProcFun (a -> b) -> ProcFun a -> ProcFun bSource

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

Instances

(Lift a, Data a) => ProcType a 
ProcType a => ProcType (AbstExt a) 
(ProcType o0, ProcType o1, Data o0, Data o1, Lift o0, Lift o1) => ProcType (o0, o1) 
(Typeable s, Nat s, ProcType a) => ProcType (FSVec s a) 
(ProcType o0, ProcType o1, ProcType o2, Data o0, Data o1, Data o2, Lift o0, Lift o1, Lift o2) => ProcType (o0, o1, o2) 
(ProcType o0, ProcType o1, ProcType o2, ProcType o3, Data o0, Data o1, Data o2, Data o3, Lift o0, Lift o1, Lift o2, Lift o3) => ProcType (o0, o1, o2, o3) 
(ProcType o0, ProcType o1, ProcType o2, ProcType o3, ProcType o4, Data o0, Data o1, Data o2, Data o3, Data o4, Lift o0, Lift o1, Lift o2, Lift o3, Lift o4) => ProcType (o0, o1, o2, o3, o4) 
(ProcType o0, ProcType o1, ProcType o2, ProcType o3, ProcType o4, ProcType o5, Data o0, Data o1, Data o2, Data o3, Data o4, Data o5, Lift o0, Lift o1, Lift o2, Lift o3, Lift o4, Lift o5) => ProcType (o0, o1, o2, o3, o4, o5) 
(ProcType o0, ProcType o1, ProcType o2, ProcType o3, ProcType o4, ProcType o5, ProcType o6, Data o0, Data o1, Data o2, Data o3, Data o4, Data o5, Data o6, Lift o0, Lift o1, Lift o2, Lift o3, Lift o4, Lift o5, Lift o6) => ProcType (o0, o1, o2, o3, o4, o5, o6)