distributed-process 0.5.2 → 0.5.3
raw patch · 3 files changed
+22/−8 lines, 3 filesdep ~randomPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: random
API changes (from Hackage documentation)
+ Control.Distributed.Process.Serializable: TypeableDict :: TypeableDict a
+ Control.Distributed.Process.Serializable: data TypeableDict a
+ Control.Distributed.Process.Serializable: instance Typeable TypeableDict
- Control.Distributed.Process.Closure: sdictClosure :: Typeable a => Static (SerializableDict (Closure a))
+ Control.Distributed.Process.Closure: sdictClosure :: Typeable a => Static (TypeableDict a) -> Static (SerializableDict (Closure a))
- Control.Distributed.Process.Closure: sdictStatic :: Typeable a => Static (SerializableDict (Static a))
+ Control.Distributed.Process.Closure: sdictStatic :: Typeable a => Static (TypeableDict a) -> Static (SerializableDict (Static a))
- Control.Distributed.Process.Internal.Closure.BuiltIn: sdictClosure :: Typeable a => Static (SerializableDict (Closure a))
+ Control.Distributed.Process.Internal.Closure.BuiltIn: sdictClosure :: Typeable a => Static (TypeableDict a) -> Static (SerializableDict (Closure a))
- Control.Distributed.Process.Internal.Closure.BuiltIn: sdictStatic :: Typeable a => Static (SerializableDict (Static a))
+ Control.Distributed.Process.Internal.Closure.BuiltIn: sdictStatic :: Typeable a => Static (TypeableDict a) -> Static (SerializableDict (Static a))
Files
- distributed-process.cabal +3/−3
- src/Control/Distributed/Process/Internal/Closure/BuiltIn.hs +13/−5
- src/Control/Distributed/Process/Serializable.hs +6/−0
distributed-process.cabal view
@@ -1,5 +1,5 @@ Name: distributed-process-Version: 0.5.2+Version: 0.5.3 Cabal-Version: >=1.8 Build-Type: Simple License: BSD3@@ -9,7 +9,7 @@ Maintainer: watson.timothy@gmail.com, edsko@well-typed.com, duncan@well-typed.com Stability: experimental Homepage: http://haskell-distributed.github.com/-Bug-Reports: http://cloud-haskell.atlassian.net+Bug-Reports: https://github.com/haskell-distributed/distributed-process/issues Synopsis: Cloud Haskell: Erlang-style concurrency in Haskell Description: This is an implementation of Cloud Haskell, as described in /Towards Haskell in the Cloud/ by Jeff Epstein, Andrew Black,@@ -50,7 +50,7 @@ bytestring >= 0.9 && < 0.11, old-locale >= 1.0 && < 1.1, time >= 1.2 && < 1.5,- random >= 1.0 && < 1.1,+ random >= 1.0 && < 1.2, ghc-prim >= 0.2 && < 0.4, distributed-static >= 0.2 && < 0.4, rank1dynamic >= 0.1 && < 0.3,
src/Control/Distributed/Process/Internal/Closure/BuiltIn.hs view
@@ -52,6 +52,7 @@ import Control.Distributed.Process.Serializable ( SerializableDict(..) , Serializable+ , TypeableDict(..) ) import Control.Distributed.Process.Internal.Types ( Process@@ -84,7 +85,8 @@ . registerStatic "$sdictUnit" (toDynamic (SerializableDict :: SerializableDict ())) . registerStatic "$sdictProcessId" (toDynamic (SerializableDict :: SerializableDict ProcessId)) . registerStatic "$sdictSendPort_" (toDynamic (sdictSendPort_ :: SerializableDict ANY -> SerializableDict (SendPort ANY)))- . registerStatic "$sdictClosure" (toDynamic (SerializableDict :: SerializableDict (Closure ANY)))+ . registerStatic "$sdictStatic" (toDynamic (sdictStatic_ :: TypeableDict ANY -> SerializableDict (Static ANY)))+ . registerStatic "$sdictClosure" (toDynamic (sdictClosure_ :: TypeableDict ANY -> SerializableDict (Closure ANY))) . registerStatic "$returnProcess" (toDynamic (return :: ANY -> Process ANY)) . registerStatic "$seqProcess" (toDynamic ((>>) :: Process ANY1 -> Process ANY2 -> Process ANY2)) . registerStatic "$bindProcess" (toDynamic ((>>=) :: Process ANY1 -> (ANY1 -> Process ANY2) -> Process ANY2))@@ -105,6 +107,12 @@ sdictSendPort_ :: forall a. SerializableDict a -> SerializableDict (SendPort a) sdictSendPort_ SerializableDict = SerializableDict + sdictStatic_ :: forall a. TypeableDict a -> SerializableDict (Static a)+ sdictStatic_ TypeableDict = SerializableDict++ sdictClosure_ :: forall a. TypeableDict a -> SerializableDict (Closure a)+ sdictClosure_ TypeableDict = SerializableDict+ sendDict :: forall a. SerializableDict a -> ProcessId -> a -> Process () sendDict SerializableDict = send @@ -148,12 +156,12 @@ sdictSendPort = staticApply (staticLabel "$sdictSendPort_") -- | Serialization dictionary for 'Static'.-sdictStatic :: Typeable a => Static (SerializableDict (Static a))-sdictStatic = staticLabel "$sdictStatic"+sdictStatic :: Typeable a => Static (TypeableDict a) -> Static (SerializableDict (Static a))+sdictStatic = staticApply (staticLabel "$sdictStatic") -- | Serialization dictionary for 'Closure'.-sdictClosure :: Typeable a => Static (SerializableDict (Closure a))-sdictClosure = staticLabel "$sdictClosure"+sdictClosure :: Typeable a => Static (TypeableDict a) -> Static (SerializableDict (Closure a))+sdictClosure = staticApply (staticLabel "$sdictClosure") -------------------------------------------------------------------------------- -- Static values --
src/Control/Distributed/Process/Serializable.hs view
@@ -12,6 +12,7 @@ , Fingerprint , showFingerprint , SerializableDict(SerializableDict)+ , TypeableDict(TypeableDict) ) where import Data.Binary (Binary)@@ -39,6 +40,11 @@ -- | Reification of 'Serializable' (see "Control.Distributed.Process.Closure") data SerializableDict a where SerializableDict :: Serializable a => SerializableDict a+ deriving (Typeable)++-- | Reification of 'Typeable'.+data TypeableDict a where+ TypeableDict :: Typeable a => TypeableDict a deriving (Typeable) -- | Objects that can be sent across the network