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[a8dtw], ProcType o[a8dtx], Data o[a8dtw], Data o[a8dtx], Lift o[a8dtw], Lift o[a8dtx]) => ProcType (o[a8dtw], o[a8dtx])
(Typeable s, Nat s, ProcType a) => ProcType (FSVec s a)
(ProcType o[a8dty], ProcType o[a8dtz], ProcType o[a8dtA], Data o[a8dty], Data o[a8dtz], Data o[a8dtA], Lift o[a8dty], Lift o[a8dtz], Lift o[a8dtA]) => ProcType (o[a8dty], o[a8dtz], o[a8dtA])
(ProcType o[a8dtB], ProcType o[a8dtC], ProcType o[a8dtD], ProcType o[a8dtE], Data o[a8dtB], Data o[a8dtC], Data o[a8dtD], Data o[a8dtE], Lift o[a8dtB], Lift o[a8dtC], Lift o[a8dtD], Lift o[a8dtE]) => ProcType (o[a8dtB], o[a8dtC], o[a8dtD], o[a8dtE])
(ProcType o[a8dtF], ProcType o[a8dtG], ProcType o[a8dtH], ProcType o[a8dtI], ProcType o[a8dtJ], Data o[a8dtF], Data o[a8dtG], Data o[a8dtH], Data o[a8dtI], Data o[a8dtJ], Lift o[a8dtF], Lift o[a8dtG], Lift o[a8dtH], Lift o[a8dtI], Lift o[a8dtJ]) => ProcType (o[a8dtF], o[a8dtG], o[a8dtH], o[a8dtI], o[a8dtJ])
(ProcType o[a8dtK], ProcType o[a8dtL], ProcType o[a8dtM], ProcType o[a8dtN], ProcType o[a8dtO], ProcType o[a8dtP], Data o[a8dtK], Data o[a8dtL], Data o[a8dtM], Data o[a8dtN], Data o[a8dtO], Data o[a8dtP], Lift o[a8dtK], Lift o[a8dtL], Lift o[a8dtM], Lift o[a8dtN], Lift o[a8dtO], Lift o[a8dtP]) => ProcType (o[a8dtK], o[a8dtL], o[a8dtM], o[a8dtN], o[a8dtO], o[a8dtP])
(ProcType o[a8dtQ], ProcType o[a8dtR], ProcType o[a8dtS], ProcType o[a8dtT], ProcType o[a8dtU], ProcType o[a8dtV], ProcType o[a8dtW], Data o[a8dtQ], Data o[a8dtR], Data o[a8dtS], Data o[a8dtT], Data o[a8dtU], Data o[a8dtV], Data o[a8dtW], Lift o[a8dtQ], Lift o[a8dtR], Lift o[a8dtS], Lift o[a8dtT], Lift o[a8dtU], Lift o[a8dtV], Lift o[a8dtW]) => ProcType (o[a8dtQ], o[a8dtR], o[a8dtS], o[a8dtT], o[a8dtU], o[a8dtV], o[a8dtW])
module ForSyDe.Process.SynchProc
Produced by Haddock version 2.6.1