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[a7L7I], ProcType o[a7L7J], Data o[a7L7I], Data o[a7L7J], Lift o[a7L7I], Lift o[a7L7J]) => ProcType (o[a7L7I], o[a7L7J]) | |
(Typeable s, Nat s, ProcType a) => ProcType (FSVec s a) | |
(ProcType o[a7L7K], ProcType o[a7L7L], ProcType o[a7L7M], Data o[a7L7K], Data o[a7L7L], Data o[a7L7M], Lift o[a7L7K], Lift o[a7L7L], Lift o[a7L7M]) => ProcType (o[a7L7K], o[a7L7L], o[a7L7M]) | |
(ProcType o[a7L7N], ProcType o[a7L7O], ProcType o[a7L7P], ProcType o[a7L7Q], Data o[a7L7N], Data o[a7L7O], Data o[a7L7P], Data o[a7L7Q], Lift o[a7L7N], Lift o[a7L7O], Lift o[a7L7P], Lift o[a7L7Q]) => ProcType (o[a7L7N], o[a7L7O], o[a7L7P], o[a7L7Q]) | |
(ProcType o[a7L7R], ProcType o[a7L7S], ProcType o[a7L7T], ProcType o[a7L7U], ProcType o[a7L7V], Data o[a7L7R], Data o[a7L7S], Data o[a7L7T], Data o[a7L7U], Data o[a7L7V], Lift o[a7L7R], Lift o[a7L7S], Lift o[a7L7T], Lift o[a7L7U], Lift o[a7L7V]) => ProcType (o[a7L7R], o[a7L7S], o[a7L7T], o[a7L7U], o[a7L7V]) | |
(ProcType o[a7L7W], ProcType o[a7L7X], ProcType o[a7L7Y], ProcType o[a7L7Z], ProcType o[a7L80], ProcType o[a7L81], Data o[a7L7W], Data o[a7L7X], Data o[a7L7Y], Data o[a7L7Z], Data o[a7L80], Data o[a7L81], Lift o[a7L7W], Lift o[a7L7X], Lift o[a7L7Y], Lift o[a7L7Z], Lift o[a7L80], Lift o[a7L81]) => ProcType (o[a7L7W], o[a7L7X], o[a7L7Y], o[a7L7Z], o[a7L80], o[a7L81]) | |
(ProcType o[a7L82], ProcType o[a7L83], ProcType o[a7L84], ProcType o[a7L85], ProcType o[a7L86], ProcType o[a7L87], ProcType o[a7L88], Data o[a7L82], Data o[a7L83], Data o[a7L84], Data o[a7L85], Data o[a7L86], Data o[a7L87], Data o[a7L88], Lift o[a7L82], Lift o[a7L83], Lift o[a7L84], Lift o[a7L85], Lift o[a7L86], Lift o[a7L87], Lift o[a7L88]) => ProcType (o[a7L82], o[a7L83], o[a7L84], o[a7L85], o[a7L86], o[a7L87], o[a7L88]) |
module ForSyDe.Process.SynchProc