Portability | portable |
---|---|
Stability | experimental |
Maintainer | forsyde-dev@ict.kth.se |
Publicly usable functions to create primitive processes. (Reexports ForSyDe.Process.SynchProc)
Documentation
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 ProcFun
s) taken by
process constructors
(Lift a, Data a) => ProcType a | |
ProcType a => ProcType (AbstExt a) | |
(ProcType o[a8dsR], ProcType o[a8dsS], Data o[a8dsR], Data o[a8dsS], Lift o[a8dsR], Lift o[a8dsS]) => ProcType (o[a8dsR], o[a8dsS]) | |
(Typeable s, Nat s, ProcType a) => ProcType (FSVec s a) | |
(ProcType o[a8dsT], ProcType o[a8dsU], ProcType o[a8dsV], Data o[a8dsT], Data o[a8dsU], Data o[a8dsV], Lift o[a8dsT], Lift o[a8dsU], Lift o[a8dsV]) => ProcType (o[a8dsT], o[a8dsU], o[a8dsV]) | |
(ProcType o[a8dsW], ProcType o[a8dsX], ProcType o[a8dsY], ProcType o[a8dsZ], Data o[a8dsW], Data o[a8dsX], Data o[a8dsY], Data o[a8dsZ], Lift o[a8dsW], Lift o[a8dsX], Lift o[a8dsY], Lift o[a8dsZ]) => ProcType (o[a8dsW], o[a8dsX], o[a8dsY], o[a8dsZ]) | |
(ProcType o[a8dt0], ProcType o[a8dt1], ProcType o[a8dt2], ProcType o[a8dt3], ProcType o[a8dt4], Data o[a8dt0], Data o[a8dt1], Data o[a8dt2], Data o[a8dt3], Data o[a8dt4], Lift o[a8dt0], Lift o[a8dt1], Lift o[a8dt2], Lift o[a8dt3], Lift o[a8dt4]) => ProcType (o[a8dt0], o[a8dt1], o[a8dt2], o[a8dt3], o[a8dt4]) | |
(ProcType o[a8dt5], ProcType o[a8dt6], ProcType o[a8dt7], ProcType o[a8dt8], ProcType o[a8dt9], ProcType o[a8dta], Data o[a8dt5], Data o[a8dt6], Data o[a8dt7], Data o[a8dt8], Data o[a8dt9], Data o[a8dta], Lift o[a8dt5], Lift o[a8dt6], Lift o[a8dt7], Lift o[a8dt8], Lift o[a8dt9], Lift o[a8dta]) => ProcType (o[a8dt5], o[a8dt6], o[a8dt7], o[a8dt8], o[a8dt9], o[a8dta]) | |
(ProcType o[a8dtb], ProcType o[a8dtc], ProcType o[a8dtd], ProcType o[a8dte], ProcType o[a8dtf], ProcType o[a8dtg], ProcType o[a8dth], Data o[a8dtb], Data o[a8dtc], Data o[a8dtd], Data o[a8dte], Data o[a8dtf], Data o[a8dtg], Data o[a8dth], Lift o[a8dtb], Lift o[a8dtc], Lift o[a8dtd], Lift o[a8dte], Lift o[a8dtf], Lift o[a8dtg], Lift o[a8dth]) => ProcType (o[a8dtb], o[a8dtc], o[a8dtd], o[a8dte], o[a8dtf], o[a8dtg], o[a8dth]) |
module ForSyDe.Process.SynchProc