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

Safe HaskellNone
LanguageHaskell98

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 '()'

sdictStatic :: Typeable a => Static (TypeableDict a) -> Static (SerializableDict (Static a)) Source #

Serialization dictionary for Static.

sdictClosure :: Typeable a => Static (TypeableDict a) -> Static (SerializableDict (Closure a)) Source #

Serialization dictionary for Closure.

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 a Source #

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

cpLink :: ProcessId -> Closure (Process ()) Source #

CP version of link

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

CP version of send

Support for some CH operations

cpDelayed :: ProcessId -> Closure (Process ()) -> Closure (Process ()) Source #

CP version of delay