Portability | portable |
---|---|
Stability | experimental |
Maintainer | forsyde-dev@ict.kth.se |
Safe Haskell | Safe-Infered |
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 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) |
module ForSyDe.Process.SynchProc