ForSyDe-3.1.1: ForSyDe's Haskell-embedded Domain Specific Language.Source codeContentsIndex
ForSyDe.Process
Portabilityportable
Stabilityexperimental
Maintainerforsyde-dev@ict.kth.se
Description
Publicly usable functions to create primitive processes. (Reexports ForSyDe.Process.SynchProc)
Synopsis
data ProcFun a
newProcFun :: Q [Dec] -> ExpQ
defArgVal :: (Lift a, ProcType a) => ProcFun (a -> b) -> a -> ProcFun b
defArgPF :: ProcFun (a -> b) -> ProcFun a -> ProcFun b
class (Data a, Lift a) => ProcType a
module ForSyDe.Process.SynchProc
Documentation
data ProcFun a Source
A Process Function
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 ProcFuns) taken by process constructors
show/hide Instances
(Lift a, Data a) => ProcType a
ProcType a => ProcType (AbstExt a)
(ProcType o[a7SEh], ProcType o[a7SEi], Data o[a7SEh], Data o[a7SEi], Lift o[a7SEh], Lift o[a7SEi]) => ProcType (o[a7SEh], o[a7SEi])
(Typeable s, Nat s, ProcType a) => ProcType (FSVec s a)
(ProcType o[a7SEj], ProcType o[a7SEk], ProcType o[a7SEl], Data o[a7SEj], Data o[a7SEk], Data o[a7SEl], Lift o[a7SEj], Lift o[a7SEk], Lift o[a7SEl]) => ProcType (o[a7SEj], o[a7SEk], o[a7SEl])
(ProcType o[a7SEm], ProcType o[a7SEn], ProcType o[a7SEo], ProcType o[a7SEp], Data o[a7SEm], Data o[a7SEn], Data o[a7SEo], Data o[a7SEp], Lift o[a7SEm], Lift o[a7SEn], Lift o[a7SEo], Lift o[a7SEp]) => ProcType (o[a7SEm], o[a7SEn], o[a7SEo], o[a7SEp])
(ProcType o[a7SEq], ProcType o[a7SEr], ProcType o[a7SEs], ProcType o[a7SEt], ProcType o[a7SEu], Data o[a7SEq], Data o[a7SEr], Data o[a7SEs], Data o[a7SEt], Data o[a7SEu], Lift o[a7SEq], Lift o[a7SEr], Lift o[a7SEs], Lift o[a7SEt], Lift o[a7SEu]) => ProcType (o[a7SEq], o[a7SEr], o[a7SEs], o[a7SEt], o[a7SEu])
(ProcType o[a7SEv], ProcType o[a7SEw], ProcType o[a7SEx], ProcType o[a7SEy], ProcType o[a7SEz], ProcType o[a7SEA], Data o[a7SEv], Data o[a7SEw], Data o[a7SEx], Data o[a7SEy], Data o[a7SEz], Data o[a7SEA], Lift o[a7SEv], Lift o[a7SEw], Lift o[a7SEx], Lift o[a7SEy], Lift o[a7SEz], Lift o[a7SEA]) => ProcType (o[a7SEv], o[a7SEw], o[a7SEx], o[a7SEy], o[a7SEz], o[a7SEA])
(ProcType o[a7SEB], ProcType o[a7SEC], ProcType o[a7SED], ProcType o[a7SEE], ProcType o[a7SEF], ProcType o[a7SEG], ProcType o[a7SEH], Data o[a7SEB], Data o[a7SEC], Data o[a7SED], Data o[a7SEE], Data o[a7SEF], Data o[a7SEG], Data o[a7SEH], Lift o[a7SEB], Lift o[a7SEC], Lift o[a7SED], Lift o[a7SEE], Lift o[a7SEF], Lift o[a7SEG], Lift o[a7SEH]) => ProcType (o[a7SEB], o[a7SEC], o[a7SED], o[a7SEE], o[a7SEF], o[a7SEG], o[a7SEH])
module ForSyDe.Process.SynchProc
Produced by Haddock version 2.6.1