git.iko.soy/distributed-process
on master help sign in
Merge pull request #158 from tweag/closure-closure
7e58aa9Tim Watson
src/Control/Distributed/Process/Closure.hs+4
@@ -163,6 +163,8 @@ module Control.Distributed.Process.Closure
163 , sdictUnit
163 , sdictUnit
164 , sdictProcessId
164 , sdictProcessId
165 , sdictSendPort
165 , sdictSendPort
166+ , sdictStatic
167+ , sdictClosure
166 -- * The CP type and associated combinators
168 -- * The CP type and associated combinators
167 , CP
169 , CP
168 , idCP
170 , idCP
@@ -203,6 +205,8 @@ import Control.Distributed.Process.Internal.Closure.BuiltIn
203 , sdictUnit
205 , sdictUnit
204 , sdictProcessId
206 , sdictProcessId
205 , sdictSendPort
207 , sdictSendPort
208+ , sdictStatic
209+ , sdictClosure
206 -- The CP type and associated combinators
210 -- The CP type and associated combinators
207 , CP
211 , CP
208 , idCP
212 , idCP
src/Control/Distributed/Process/Internal/Closure/BuiltIn.hs+11
@@ -8,6 +8,8 @@ module Control.Distributed.Process.Internal.Closure.BuiltIn
8 , sdictUnit
8 , sdictUnit
9 , sdictProcessId
9 , sdictProcessId
10 , sdictSendPort
10 , sdictSendPort
11+ , sdictStatic
12+ , sdictClosure
11 -- * Some static values
13 -- * Some static values
12 , sndStatic
14 , sndStatic
13 -- * The CP type and associated combinators
15 -- * The CP type and associated combinators
@@ -82,6 +84,7 @@ remoteTable =
82 . registerStatic "$sdictUnit" (toDynamic (SerializableDict :: SerializableDict ()))
84 . registerStatic "$sdictUnit" (toDynamic (SerializableDict :: SerializableDict ()))
83 . registerStatic "$sdictProcessId" (toDynamic (SerializableDict :: SerializableDict ProcessId))
85 . registerStatic "$sdictProcessId" (toDynamic (SerializableDict :: SerializableDict ProcessId))
84 . registerStatic "$sdictSendPort_" (toDynamic (sdictSendPort_ :: SerializableDict ANY -> SerializableDict (SendPort ANY)))
86 . registerStatic "$sdictSendPort_" (toDynamic (sdictSendPort_ :: SerializableDict ANY -> SerializableDict (SendPort ANY)))
87+ . registerStatic "$sdictClosure" (toDynamic (SerializableDict :: SerializableDict (Closure ANY)))
85 . registerStatic "$returnProcess" (toDynamic (return :: ANY -> Process ANY))
88 . registerStatic "$returnProcess" (toDynamic (return :: ANY -> Process ANY))
86 . registerStatic "$seqProcess" (toDynamic ((>>) :: Process ANY1 -> Process ANY2 -> Process ANY2))
89 . registerStatic "$seqProcess" (toDynamic ((>>) :: Process ANY1 -> Process ANY2 -> Process ANY2))
87 . registerStatic "$bindProcess" (toDynamic ((>>=) :: Process ANY1 -> (ANY1 -> Process ANY2) -> Process ANY2))
90 . registerStatic "$bindProcess" (toDynamic ((>>=) :: Process ANY1 -> (ANY1 -> Process ANY2) -> Process ANY2))
@@ -144,6 +147,14 @@ sdictSendPort :: Typeable a
144 => Static (SerializableDict a) -> Static (SerializableDict (SendPort a))
147 => Static (SerializableDict a) -> Static (SerializableDict (SendPort a))
145sdictSendPort = staticApply (staticLabel "$sdictSendPort_")
148sdictSendPort = staticApply (staticLabel "$sdictSendPort_")
146
149
150+-- | Serialization dictionary for 'Static'.
151+sdictStatic :: Typeable a => Static (SerializableDict (Static a))
152+sdictStatic = staticLabel "$sdictStatic"
153+
154+-- | Serialization dictionary for 'Closure'.
155+sdictClosure :: Typeable a => Static (SerializableDict (Closure a))
156+sdictClosure = staticLabel "$sdictClosure"
157+
147--------------------------------------------------------------------------------
158--------------------------------------------------------------------------------
148-- Static values --
159-- Static values --
149--------------------------------------------------------------------------------
160--------------------------------------------------------------------------------