Portability | portable |
---|---|
Stability | experimental |
Maintainer | forsyde-dev@ict.kth.se |
ForSyDe.Process
Description
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
Instances
(Lift a, Data a) => ProcType a | |
ProcType a => ProcType (AbstExt a) | |
(ProcType o[a7oeF], ProcType o[a7oeG], Data o[a7oeF], Data o[a7oeG], Lift o[a7oeF], Lift o[a7oeG]) => ProcType (o[a7oeF], o[a7oeG]) | |
(Typeable s, Nat s, ProcType a) => ProcType (FSVec s a) | |
(ProcType o[a7oeH], ProcType o[a7oeI], ProcType o[a7oeJ], Data o[a7oeH], Data o[a7oeI], Data o[a7oeJ], Lift o[a7oeH], Lift o[a7oeI], Lift o[a7oeJ]) => ProcType (o[a7oeH], o[a7oeI], o[a7oeJ]) | |
(ProcType o[a7oeK], ProcType o[a7oeL], ProcType o[a7oeM], ProcType o[a7oeN], Data o[a7oeK], Data o[a7oeL], Data o[a7oeM], Data o[a7oeN], Lift o[a7oeK], Lift o[a7oeL], Lift o[a7oeM], Lift o[a7oeN]) => ProcType (o[a7oeK], o[a7oeL], o[a7oeM], o[a7oeN]) | |
(ProcType o[a7oeO], ProcType o[a7oeP], ProcType o[a7oeQ], ProcType o[a7oeR], ProcType o[a7oeS], Data o[a7oeO], Data o[a7oeP], Data o[a7oeQ], Data o[a7oeR], Data o[a7oeS], Lift o[a7oeO], Lift o[a7oeP], Lift o[a7oeQ], Lift o[a7oeR], Lift o[a7oeS]) => ProcType (o[a7oeO], o[a7oeP], o[a7oeQ], o[a7oeR], o[a7oeS]) | |
(ProcType o[a7oeT], ProcType o[a7oeU], ProcType o[a7oeV], ProcType o[a7oeW], ProcType o[a7oeX], ProcType o[a7oeY], Data o[a7oeT], Data o[a7oeU], Data o[a7oeV], Data o[a7oeW], Data o[a7oeX], Data o[a7oeY], Lift o[a7oeT], Lift o[a7oeU], Lift o[a7oeV], Lift o[a7oeW], Lift o[a7oeX], Lift o[a7oeY]) => ProcType (o[a7oeT], o[a7oeU], o[a7oeV], o[a7oeW], o[a7oeX], o[a7oeY]) | |
(ProcType o[a7oeZ], ProcType o[a7of0], ProcType o[a7of1], ProcType o[a7of2], ProcType o[a7of3], ProcType o[a7of4], ProcType o[a7of5], Data o[a7oeZ], Data o[a7of0], Data o[a7of1], Data o[a7of2], Data o[a7of3], Data o[a7of4], Data o[a7of5], Lift o[a7oeZ], Lift o[a7of0], Lift o[a7of1], Lift o[a7of2], Lift o[a7of3], Lift o[a7of4], Lift o[a7of5]) => ProcType (o[a7oeZ], o[a7of0], o[a7of1], o[a7of2], o[a7of3], o[a7of4], o[a7of5]) |
module ForSyDe.Process.SynchProc