git.iko.soy/distributed-process
on master help sign in
Tidy up
commit3f40470450b22c2a5601776789d91dbe5a94e23a authorEdsko de Vries <edsko@edsko.net> dateWed 11 Jul 2012, 17:57 (14 years ago) parent1b74f54
4 files changed+26−31
distributed-process/src/Control/Distributed/Process.hs+2−7 distributed-process/src/Control/Distributed/Process/Closure.hs+5−6 distributed-process/src/Control/Distributed/Process/Internal/Closure/CP.hs+1−2 distributed-process/src/Control/Distributed/Process/Internal/Closure/Static.hs+18−16
distributed-process/src/Control/Distributed/Process.hs+2−7
@@ -7,7 +7,6 @@
77-- although some of the details are different. The precise message passing
88-- semantics are based on /A unified semantics for future Erlang/ by Hans
99-- Svensson, Lars-Åke Fredlund and Clara Benac Earle.
10−{-# LANGUAGE TemplateHaskell #-}
1110module Control.Distributed.Process
1211 ( -- * Basic types
1312 ProcessId
@@ -125,10 +124,7 @@ import Control.Distributed.Process.Internal.Closure.CP
125124 , cpLink
126125 , cpUnlink
127126 )
128−import Control.Distributed.Process.Internal.Closure.Static
129− ( sdictUnit
130− , sdictUnit__static
131− )
127+import Control.Distributed.Process.Internal.Closure.Static (sdictUnit)
132128import Control.Distributed.Process.Internal.Primitives
133129 ( -- Basic messaging
134130 send
@@ -182,7 +178,6 @@ import Control.Distributed.Process.Internal.Primitives
182178 , spawnAsync
183179 )
184180import Control.Distributed.Process.Serializable (Serializable)
185−import Control.Distributed.Process.Internal.Closure.TH (mkStatic)
186181
187182-- INTERNAL NOTES
188183--
@@ -258,7 +253,7 @@ spawn nid proc = do
258253 -- that was already set up
259254 mRef <- monitorNode nid
260255 sRef <- spawnAsync nid $ cpLink us
261− `cpSeq` cpExpect $(mkStatic 'sdictUnit)
256+ `cpSeq` cpExpect sdictUnit
262257 `cpSeq` cpUnlink us
263258 `cpSeq` proc
264259 mPid <- receiveWait
distributed-process/src/Control/Distributed/Process/Closure.hs+5−6
@@ -93,6 +93,9 @@ module Control.Distributed.Process.Closure
9393 , mkStatic
9494 , mkClosure
9595 , functionSDict
96+ -- * Primitive operations on static values
97+ , staticApply
98+ , staticDuplicate
9699 -- * Static functionals
97100 , staticConst
98101 , staticCompose
@@ -113,18 +116,16 @@ module Control.Distributed.Process.Closure
113116 , cpReturn
114117 , cpBind
115118 , cpSeq
116− -- * Serialization dictionaries (and their static versions)
119+ -- * Serialization dictionaries
117120 , SerializableDict(..)
118− , staticApply
119121 , sdictUnit
120− , sdictUnit__static
121122 , sdictProcessId
122− , sdictProcessId__static
123123 ) where
124124
125125import Control.Distributed.Process.Internal.Types
126126 ( SerializableDict(..)
127127 , staticApply
128+ , staticDuplicate
128129 )
129130import Control.Distributed.Process.Internal.Closure.TH
130131 ( remotable
@@ -144,9 +145,7 @@ import Control.Distributed.Process.Internal.Closure.Static
144145 , toClosure
145146 -- Serialization dictionaries (and their static versions)
146147 , sdictUnit
147− , sdictUnit__static
148148 , sdictProcessId
149− , sdictProcessId__static
150149 )
151150import Control.Distributed.Process.Internal.Closure.MkClosure (mkClosure)
152151import Control.Distributed.Process.Internal.Closure.CP
distributed-process/src/Control/Distributed/Process/Internal/Closure/CP.hs+1−2
@@ -54,7 +54,6 @@ import Control.Distributed.Process.Internal.Closure.Static
5454 , staticConst
5555 , staticUnit
5656 , sdictProcessId
57− , sdictProcessId__static
5857 )
5958import Control.Distributed.Process.Internal.Closure.MkClosure (mkClosure)
6059import Control.Distributed.Process.Internal.Dynamic
@@ -177,7 +176,7 @@ cpSend dict pid = Closure decoder (encode pid)
177176 decoder :: Static (ByteString -> a -> Process ())
178177 decoder = ($(mkStatic 'sendDict) `staticApply` dict)
179178 `staticCompose`
180− staticDecode $(mkStatic 'sdictProcessId)
179+ staticDecode sdictProcessId
181180
182181-- | Closure version of 'expect'
183182cpExpect :: Typeable a => Static (SerializableDict a) -> Closure (Process a)
distributed-process/src/Control/Distributed/Process/Internal/Closure/Static.hs+18−16
@@ -15,9 +15,7 @@ module Control.Distributed.Process.Internal.Closure.Static
1515 , toClosure
1616 -- * Serialization dictionaries (and their static versions)
1717 , sdictUnit
18− , sdictUnit__static
1918 , sdictProcessId
20− , sdictProcessId__static
2119 -- * Runtime support
2220 , __remoteTable
2321 ) where
@@ -66,19 +64,11 @@ decodeDict SerializableDict = decode
6664
6765---- Serialization dictionaries ------------------------------------------------
6866
69−-- | Serialization dictionary for '()'
70−--
71−-- Use @$(mkStatic sdictUnit)@ (instead of 'sdictUnit__static')
72−-- to refer to the static dictionary.
73−sdictUnit :: SerializableDict ()
74−sdictUnit = SerializableDict
67+sdictUnit_ :: SerializableDict ()
68+sdictUnit_ = SerializableDict
7569
76−-- | Serialization dictionary for 'ProcessId'
77−--
78−-- Use @$(mkStatic sdictProcessId)@ (instead of 'sdictProcessId__static')
79−-- to refer to the static dictionary.
80−sdictProcessId :: SerializableDict ProcessId
81−sdictProcessId = SerializableDict
70+sdictProcessId_ :: SerializableDict ProcessId
71+sdictProcessId_ = SerializableDict
8272
8373---- Finally, the call to remotable --------------------------------------------
8474
@@ -94,8 +84,8 @@ remotable [ -- Functionals (predefined)
9484 -- Explicit dictionaries
9585 , 'decodeDict
9686 -- Serialization dictionaries
97− , 'sdictUnit
98− , 'sdictProcessId
87+ , 'sdictUnit_
88+ , 'sdictProcessId_
9989 ]
10090
10191--------------------------------------------------------------------------------
@@ -135,6 +125,18 @@ staticSplit f g = $(mkStatic 'split) `staticApply` f `staticApply` g
135125staticUnit :: Static ()
136126staticUnit = $(mkStatic 'unit)
137127
128+--------------------------------------------------------------------------------
129+-- Dictionaries --
130+--------------------------------------------------------------------------------
131+
132+-- | Serialization dictionary for '()'
133+sdictUnit :: Static (SerializableDict ())
134+sdictUnit = $(mkStatic 'sdictUnit_)
135+
136+-- | Serialization dictionary for 'ProcessId'
137+sdictProcessId :: Static (SerializableDict ProcessId)
138+sdictProcessId = $(mkStatic 'sdictProcessId_)
139+
138140--------------------------------------------------------------------------------
139141-- Creating closures --
140142--------------------------------------------------------------------------------