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