distributed-process-0.4.0: Cloud Haskell: Erlang-style concurrency in Haskell

Safe HaskellNone

Control.Distributed.Process.Internal.Closure.BuiltIn

Contents

Synopsis

Remote table

Static dictionaries and associated operations

staticDecode :: Typeable a => Static (SerializableDict a) -> Static (ByteString -> a)Source

Static decoder, given a static serialization dictionary.

See module documentation of Control.Distributed.Process.Closure for an example.

sdictUnit :: Static (SerializableDict ())Source

Serialization dictionary for '()'

Some static values

sndStatic :: Static ((a, b) -> b)Source

The CP type and associated combinators

type CP a b = Closure (a -> Process b)Source

CP a b is a process with input of type a and output of type b

idCP :: Typeable a => CP a aSource

CP version of id

splitCP :: (Typeable a, Typeable b, Typeable c, Typeable d) => CP a c -> CP b d -> CP (a, b) (c, d)Source

CP version of (***)

returnCP :: forall a. Serializable a => Static (SerializableDict a) -> a -> Closure (Process a)Source

CP version of return

bindCP :: forall a b. (Typeable a, Typeable b) => Closure (Process a) -> CP a b -> Closure (Process b)Source

(Not quite the) CP version of (>>=)

seqCP :: (Typeable a, Typeable b) => Closure (Process a) -> Closure (Process b) -> Closure (Process b)Source

CP version of (>>)

CP versions of Cloud Haskell primitives

cpSend :: forall a. Typeable a => Static (SerializableDict a) -> ProcessId -> CP a ()Source

CP version of send