packages feed

distributed-process-client-server 0.2.5.1 → 0.2.6.0

raw patch · 8 files changed

+116/−54 lines, 8 filesdep −derivedep −template-haskelldep −uniplatedep ~basedep ~binarydep ~containerssetup-changednew-uploaderPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies removed: derive, template-haskell, uniplate

Dependency ranges changed: base, binary, containers, deepseq, distributed-process-systest, exceptions, hashable, network, network-transport-tcp, stm, time

API changes (from Hackage documentation)

+ Control.Distributed.Process.ManagedProcess: act :: forall s. GenProcess s () -> Action s
+ Control.Distributed.Process.ManagedProcess: addUserTimer :: Timer -> Message -> GenProcess s TimerKey
+ Control.Distributed.Process.ManagedProcess: currentTimeout :: GenProcess s Delay
+ Control.Distributed.Process.ManagedProcess: data DispatchFilter s
+ Control.Distributed.Process.ManagedProcess: data Filter s
+ Control.Distributed.Process.ManagedProcess: data GenProcess s a
+ Control.Distributed.Process.ManagedProcess: data Message a b
+ Control.Distributed.Process.ManagedProcess: evalAfter :: forall s m. Serializable m => TimeInterval -> m -> s -> Action s
+ Control.Distributed.Process.ManagedProcess: peek :: GenProcess s (Maybe Message)
+ Control.Distributed.Process.ManagedProcess: processDefinition :: GenProcess s (ProcessDefinition s)
+ Control.Distributed.Process.ManagedProcess: processFilters :: GenProcess s [DispatchFilter s]
+ Control.Distributed.Process.ManagedProcess: processState :: GenProcess s s
+ Control.Distributed.Process.ManagedProcess: processUnhandledMsgPolicy :: GenProcess s UnhandledMessagePolicy
+ Control.Distributed.Process.ManagedProcess: push :: forall s. Message -> GenProcess s ()
+ Control.Distributed.Process.ManagedProcess: runAfter :: forall s m. Serializable m => TimeInterval -> m -> GenProcess s ()
+ Control.Distributed.Process.ManagedProcess: setProcessState :: s -> GenProcess s ()
+ Control.Distributed.Process.ManagedProcess: setUserTimeout :: Delay -> GenProcess s ()
- Control.Distributed.Process.ManagedProcess: chanServe :: (Serializable b) => a -> InitHandler a s -> (ControlChannel b -> Process (ProcessDefinition s)) -> Process ()
+ Control.Distributed.Process.ManagedProcess: chanServe :: Serializable b => a -> InitHandler a s -> (ControlChannel b -> Process (ProcessDefinition s)) -> Process ()
- Control.Distributed.Process.ManagedProcess: newControlChan :: (Serializable m) => Process (ControlChannel m)
+ Control.Distributed.Process.ManagedProcess: newControlChan :: Serializable m => Process (ControlChannel m)
- Control.Distributed.Process.ManagedProcess.Client: callSTM :: forall s a b. (Addressable s) => s -> (a -> STM ()) -> STM b -> a -> Process (Either ExitReason b)
+ Control.Distributed.Process.ManagedProcess.Client: callSTM :: forall s a b. Addressable s => s -> (a -> STM ()) -> STM b -> a -> Process (Either ExitReason b)
- Control.Distributed.Process.ManagedProcess.Client: flushPendingCalls :: forall b. (Serializable b) => TimeInterval -> (b -> Process b) -> Process (Maybe b)
+ Control.Distributed.Process.ManagedProcess.Client: flushPendingCalls :: forall b. Serializable b => TimeInterval -> (b -> Process b) -> Process (Maybe b)
- Control.Distributed.Process.ManagedProcess.Internal.GenProcess: evalAfter :: forall s m. (Serializable m) => TimeInterval -> m -> s -> Action s
+ Control.Distributed.Process.ManagedProcess.Internal.GenProcess: evalAfter :: forall s m. Serializable m => TimeInterval -> m -> s -> Action s
- Control.Distributed.Process.ManagedProcess.Internal.GenProcess: processFilters :: GenProcess s ([DispatchFilter s])
+ Control.Distributed.Process.ManagedProcess.Internal.GenProcess: processFilters :: GenProcess s [DispatchFilter s]
- Control.Distributed.Process.ManagedProcess.Internal.GenProcess: runAfter :: forall s m. (Serializable m) => TimeInterval -> m -> GenProcess s ()
+ Control.Distributed.Process.ManagedProcess.Internal.GenProcess: runAfter :: forall s m. Serializable m => TimeInterval -> m -> GenProcess s ()
- Control.Distributed.Process.ManagedProcess.Internal.Types: CallMessage :: a -> (CallRef b) -> Message a b
+ Control.Distributed.Process.ManagedProcess.Internal.Types: CallMessage :: a -> CallRef b -> Message a b
- Control.Distributed.Process.ManagedProcess.Internal.Types: ChanMessage :: a -> (SendPort b) -> Message a b
+ Control.Distributed.Process.ManagedProcess.Internal.Types: ChanMessage :: a -> SendPort b -> Message a b
- Control.Distributed.Process.ManagedProcess.Internal.Types: NoReply :: (ProcessAction s) -> ProcessReply r s
+ Control.Distributed.Process.ManagedProcess.Internal.Types: NoReply :: ProcessAction s -> ProcessReply r s
- Control.Distributed.Process.ManagedProcess.Internal.Types: ProcessActivity :: (GenProcess s ()) -> ProcessAction s
+ Control.Distributed.Process.ManagedProcess.Internal.Types: ProcessActivity :: GenProcess s () -> ProcessAction s
- Control.Distributed.Process.ManagedProcess.Internal.Types: ProcessBecome :: (ProcessDefinition s) -> s -> ProcessAction s
+ Control.Distributed.Process.ManagedProcess.Internal.Types: ProcessBecome :: ProcessDefinition s -> s -> ProcessAction s
- Control.Distributed.Process.ManagedProcess.Internal.Types: ProcessExpression :: (GenProcess s (ProcessAction s)) -> ProcessAction s
+ Control.Distributed.Process.ManagedProcess.Internal.Types: ProcessExpression :: GenProcess s (ProcessAction s) -> ProcessAction s
- Control.Distributed.Process.ManagedProcess.Internal.Types: ProcessReject :: String -> (ProcessAction s) -> ProcessReply r s
+ Control.Distributed.Process.ManagedProcess.Internal.Types: ProcessReject :: String -> ProcessAction s -> ProcessReply r s
- Control.Distributed.Process.ManagedProcess.Internal.Types: ProcessReply :: r -> (ProcessAction s) -> ProcessReply r s
+ Control.Distributed.Process.ManagedProcess.Internal.Types: ProcessReply :: r -> ProcessAction s -> ProcessReply r s
- Control.Distributed.Process.ManagedProcess.Internal.Types: newControlChan :: (Serializable m) => Process (ControlChannel m)
+ Control.Distributed.Process.ManagedProcess.Internal.Types: newControlChan :: Serializable m => Process (ControlChannel m)
- Control.Distributed.Process.ManagedProcess.Internal.Types: waitResponse :: forall b. (Serializable b) => Maybe TimeInterval -> CallRef b -> Process (Maybe (Either ExitReason b))
+ Control.Distributed.Process.ManagedProcess.Internal.Types: waitResponse :: forall b. Serializable b => Maybe TimeInterval -> CallRef b -> Process (Maybe (Either ExitReason b))
- Control.Distributed.Process.ManagedProcess.Server: action :: forall s a. (Serializable a) => StatelessHandler s a -> Dispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: action :: forall s a. Serializable a => StatelessHandler s a -> Dispatcher s
- Control.Distributed.Process.ManagedProcess.Server: continue_ :: (s -> Action s)
+ Control.Distributed.Process.ManagedProcess.Server: continue_ :: s -> Action s
- Control.Distributed.Process.ManagedProcess.Server: handleCallExternal :: forall s r w. (Serializable r) => STM r -> (w -> STM ()) -> CallHandler s r w -> ExternDispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleCallExternal :: forall s r w. Serializable r => STM r -> (w -> STM ()) -> CallHandler s r w -> ExternDispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleCast :: (Serializable a) => CastHandler s a -> Dispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleCast :: Serializable a => CastHandler s a -> Dispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleCastIf :: forall s a. (Serializable a) => Condition s a -> CastHandler s a -> Dispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleCastIf :: forall s a. Serializable a => Condition s a -> CastHandler s a -> Dispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleCastIf_ :: forall s a. (Serializable a) => Condition s a -> StatelessHandler s a -> Dispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleCastIf_ :: forall s a. Serializable a => Condition s a -> StatelessHandler s a -> Dispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleCast_ :: (Serializable a) => StatelessHandler s a -> Dispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleCast_ :: Serializable a => StatelessHandler s a -> Dispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleControlChan :: forall s a. (Serializable a) => ControlChannel a -> ActionHandler s a -> ExternDispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleControlChan :: forall s a. Serializable a => ControlChannel a -> ActionHandler s a -> ExternDispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleControlChan_ :: forall s a. (Serializable a) => ControlChannel a -> StatelessHandler s a -> ExternDispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleControlChan_ :: forall s a. Serializable a => ControlChannel a -> StatelessHandler s a -> ExternDispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleDispatch :: forall s a. (Serializable a) => ActionHandler s a -> Dispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleDispatch :: forall s a. Serializable a => ActionHandler s a -> Dispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleDispatchIf :: forall s a. (Serializable a) => Condition s a -> ActionHandler s a -> Dispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleDispatchIf :: forall s a. Serializable a => Condition s a -> ActionHandler s a -> Dispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleExit :: forall s a. (Serializable a) => (ProcessId -> ActionHandler s a) -> ExitSignalDispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleExit :: forall s a. Serializable a => (ProcessId -> ActionHandler s a) -> ExitSignalDispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleExitIf :: forall s a. (Serializable a) => (s -> a -> Bool) -> (ProcessId -> ActionHandler s a) -> ExitSignalDispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleExitIf :: forall s a. Serializable a => (s -> a -> Bool) -> (ProcessId -> ActionHandler s a) -> ExitSignalDispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleExternal :: forall s a. (Serializable a) => STM a -> ActionHandler s a -> ExternDispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleExternal :: forall s a. Serializable a => STM a -> ActionHandler s a -> ExternDispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleExternal_ :: forall s a. (Serializable a) => STM a -> StatelessHandler s a -> ExternDispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleExternal_ :: forall s a. Serializable a => STM a -> StatelessHandler s a -> ExternDispatcher s
- Control.Distributed.Process.ManagedProcess.Server: handleInfo :: forall s a. (Serializable a) => ActionHandler s a -> DeferredDispatcher s
+ Control.Distributed.Process.ManagedProcess.Server: handleInfo :: forall s a. Serializable a => ActionHandler s a -> DeferredDispatcher s
- Control.Distributed.Process.ManagedProcess.Server: input :: forall s m. (Serializable m) => (m -> Bool) -> Condition s m
+ Control.Distributed.Process.ManagedProcess.Server: input :: forall s m. Serializable m => (m -> Bool) -> Condition s m
- Control.Distributed.Process.ManagedProcess.Server: noReply :: (Serializable r) => ProcessAction s -> Reply r s
+ Control.Distributed.Process.ManagedProcess.Server: noReply :: Serializable r => ProcessAction s -> Reply r s
- Control.Distributed.Process.ManagedProcess.Server: noReply_ :: forall s r. (Serializable r) => s -> Reply r s
+ Control.Distributed.Process.ManagedProcess.Server: noReply_ :: forall s r. Serializable r => s -> Reply r s
- Control.Distributed.Process.ManagedProcess.Server: rejectWith :: forall r m s. (Show r) => s -> r -> Reply m s
+ Control.Distributed.Process.ManagedProcess.Server: rejectWith :: forall r m s. Show r => s -> r -> Reply m s
- Control.Distributed.Process.ManagedProcess.Server: reply :: (Serializable r) => r -> s -> Reply r s
+ Control.Distributed.Process.ManagedProcess.Server: reply :: Serializable r => r -> s -> Reply r s
- Control.Distributed.Process.ManagedProcess.Server: replyChan :: (Serializable m) => SendPort m -> m -> Process ()
+ Control.Distributed.Process.ManagedProcess.Server: replyChan :: Serializable m => SendPort m -> m -> Process ()
- Control.Distributed.Process.ManagedProcess.Server: replyTo :: (Serializable m) => CallRef m -> m -> Process ()
+ Control.Distributed.Process.ManagedProcess.Server: replyTo :: Serializable m => CallRef m -> m -> Process ()
- Control.Distributed.Process.ManagedProcess.Server: replyWith :: (Serializable r) => r -> ProcessAction s -> Reply r s
+ Control.Distributed.Process.ManagedProcess.Server: replyWith :: Serializable r => r -> ProcessAction s -> Reply r s
- Control.Distributed.Process.ManagedProcess.Server: state :: forall s m. (Serializable m) => (s -> Bool) -> Condition s m
+ Control.Distributed.Process.ManagedProcess.Server: state :: forall s m. Serializable m => (s -> Bool) -> Condition s m
- Control.Distributed.Process.ManagedProcess.Server.Gen: evalAfter :: forall s m. (Serializable m) => TimeInterval -> m -> s -> Action s
+ Control.Distributed.Process.ManagedProcess.Server.Gen: evalAfter :: forall s m. Serializable m => TimeInterval -> m -> s -> Action s
- Control.Distributed.Process.ManagedProcess.Server.Gen: noReply :: (Serializable r) => ProcessAction s -> GenProcess s (ProcessReply r s)
+ Control.Distributed.Process.ManagedProcess.Server.Gen: noReply :: Serializable r => ProcessAction s -> GenProcess s (ProcessReply r s)
- Control.Distributed.Process.ManagedProcess.Server.Gen: processFilters :: GenProcess s ([DispatchFilter s])
+ Control.Distributed.Process.ManagedProcess.Server.Gen: processFilters :: GenProcess s [DispatchFilter s]
- Control.Distributed.Process.ManagedProcess.Server.Gen: rejectWith :: forall r m s. (Show r) => r -> GenProcess s (ProcessReply m s)
+ Control.Distributed.Process.ManagedProcess.Server.Gen: rejectWith :: forall r m s. Show r => r -> GenProcess s (ProcessReply m s)
- Control.Distributed.Process.ManagedProcess.Server.Gen: reply :: forall r s. (Serializable r) => r -> GenProcess s (ProcessReply r s)
+ Control.Distributed.Process.ManagedProcess.Server.Gen: reply :: forall r s. Serializable r => r -> GenProcess s (ProcessReply r s)
- Control.Distributed.Process.ManagedProcess.Server.Gen: replyWith :: forall r s. (Serializable r) => r -> ProcessAction s -> GenProcess s (ProcessReply r s)
+ Control.Distributed.Process.ManagedProcess.Server.Gen: replyWith :: forall r s. Serializable r => r -> ProcessAction s -> GenProcess s (ProcessReply r s)
- Control.Distributed.Process.ManagedProcess.Server.Gen: runAfter :: forall s m. (Serializable m) => TimeInterval -> m -> GenProcess s ()
+ Control.Distributed.Process.ManagedProcess.Server.Gen: runAfter :: forall s m. Serializable m => TimeInterval -> m -> GenProcess s ()
- Control.Distributed.Process.ManagedProcess.Server.Priority: ensureM :: forall s m. (Serializable m) => (s -> m -> Process Bool) -> DispatchFilter s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: ensureM :: forall s m. Serializable m => (s -> m -> Process Bool) -> DispatchFilter s
- Control.Distributed.Process.ManagedProcess.Server.Priority: evalAfter :: forall s m. (Serializable m) => TimeInterval -> m -> s -> Action s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: evalAfter :: forall s m. Serializable m => TimeInterval -> m -> s -> Action s
- Control.Distributed.Process.ManagedProcess.Server.Priority: info :: forall s m. (Serializable m) => (s -> m -> Process Bool) -> (s -> m -> Process (Filter s)) -> FilterHandler s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: info :: forall s m. Serializable m => (s -> m -> Process Bool) -> (s -> m -> Process (Filter s)) -> FilterHandler s
- Control.Distributed.Process.ManagedProcess.Server.Priority: info_ :: forall s m. (Serializable m) => (m -> Process Bool) -> (s -> m -> Process (Filter s)) -> FilterHandler s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: info_ :: forall s m. Serializable m => (m -> Process Bool) -> (s -> m -> Process (Filter s)) -> FilterHandler s
- Control.Distributed.Process.ManagedProcess.Server.Priority: prioritiseCast :: forall s a. (Serializable a) => (s -> a -> Priority ()) -> DispatchPriority s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: prioritiseCast :: forall s a. Serializable a => (s -> a -> Priority ()) -> DispatchPriority s
- Control.Distributed.Process.ManagedProcess.Server.Priority: prioritiseCast_ :: forall s a. (Serializable a) => (a -> Priority ()) -> DispatchPriority s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: prioritiseCast_ :: forall s a. Serializable a => (a -> Priority ()) -> DispatchPriority s
- Control.Distributed.Process.ManagedProcess.Server.Priority: prioritiseInfo :: forall s a. (Serializable a) => (s -> a -> Priority ()) -> DispatchPriority s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: prioritiseInfo :: forall s a. Serializable a => (s -> a -> Priority ()) -> DispatchPriority s
- Control.Distributed.Process.ManagedProcess.Server.Priority: prioritiseInfo_ :: forall s a. (Serializable a) => (a -> Priority ()) -> DispatchPriority s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: prioritiseInfo_ :: forall s a. Serializable a => (a -> Priority ()) -> DispatchPriority s
- Control.Distributed.Process.ManagedProcess.Server.Priority: processFilters :: GenProcess s ([DispatchFilter s])
+ Control.Distributed.Process.ManagedProcess.Server.Priority: processFilters :: GenProcess s [DispatchFilter s]
- Control.Distributed.Process.ManagedProcess.Server.Priority: refuse :: forall s m. (Serializable m) => (m -> Bool) -> DispatchFilter s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: refuse :: forall s m. Serializable m => (m -> Bool) -> DispatchFilter s
- Control.Distributed.Process.ManagedProcess.Server.Priority: reject :: forall s m r. (Show r) => r -> s -> m -> Process (Filter s)
+ Control.Distributed.Process.ManagedProcess.Server.Priority: reject :: forall s m r. Show r => r -> s -> m -> Process (Filter s)
- Control.Distributed.Process.ManagedProcess.Server.Priority: runAfter :: forall s m. (Serializable m) => TimeInterval -> m -> GenProcess s ()
+ Control.Distributed.Process.ManagedProcess.Server.Priority: runAfter :: forall s m. Serializable m => TimeInterval -> m -> GenProcess s ()
- Control.Distributed.Process.ManagedProcess.Server.Priority: safe :: forall s m. (Serializable m) => (s -> m -> Bool) -> DispatchFilter s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: safe :: forall s m. Serializable m => (s -> m -> Bool) -> DispatchFilter s
- Control.Distributed.Process.ManagedProcess.Server.Priority: storeM :: forall s m. (Serializable m) => (s -> m -> Process s) -> DispatchFilter s
+ Control.Distributed.Process.ManagedProcess.Server.Priority: storeM :: forall s m. Serializable m => (s -> m -> Process s) -> DispatchFilter s
- Control.Distributed.Process.ManagedProcess.Server.Restricted: haltNoReply :: forall s r. (Serializable r) => ExitReason -> RestrictedProcess s (Result r)
+ Control.Distributed.Process.ManagedProcess.Server.Restricted: haltNoReply :: forall s r. Serializable r => ExitReason -> RestrictedProcess s (Result r)
- Control.Distributed.Process.ManagedProcess.Server.Restricted: handleCast :: forall s a. (Serializable a) => (a -> RestrictedProcess s RestrictedAction) -> Dispatcher s
+ Control.Distributed.Process.ManagedProcess.Server.Restricted: handleCast :: forall s a. Serializable a => (a -> RestrictedProcess s RestrictedAction) -> Dispatcher s
- Control.Distributed.Process.ManagedProcess.Server.Restricted: handleCastIf :: forall s a. (Serializable a) => Condition s a -> (a -> RestrictedProcess s RestrictedAction) -> Dispatcher s
+ Control.Distributed.Process.ManagedProcess.Server.Restricted: handleCastIf :: forall s a. Serializable a => Condition s a -> (a -> RestrictedProcess s RestrictedAction) -> Dispatcher s
- Control.Distributed.Process.ManagedProcess.Server.Restricted: handleExit :: forall s a. (Serializable a) => (a -> RestrictedProcess s RestrictedAction) -> ExitSignalDispatcher s
+ Control.Distributed.Process.ManagedProcess.Server.Restricted: handleExit :: forall s a. Serializable a => (a -> RestrictedProcess s RestrictedAction) -> ExitSignalDispatcher s
- Control.Distributed.Process.ManagedProcess.Server.Restricted: handleInfo :: forall s a. (Serializable a) => (a -> RestrictedProcess s RestrictedAction) -> DeferredDispatcher s
+ Control.Distributed.Process.ManagedProcess.Server.Restricted: handleInfo :: forall s a. Serializable a => (a -> RestrictedProcess s RestrictedAction) -> DeferredDispatcher s
- Control.Distributed.Process.ManagedProcess.Server.Restricted: noReply :: forall s r. (Serializable r) => Result r -> RestrictedProcess s (Result r)
+ Control.Distributed.Process.ManagedProcess.Server.Restricted: noReply :: forall s r. Serializable r => Result r -> RestrictedProcess s (Result r)
- Control.Distributed.Process.ManagedProcess.Server.Restricted: reply :: forall s r. (Serializable r) => r -> RestrictedProcess s (Result r)
+ Control.Distributed.Process.ManagedProcess.Server.Restricted: reply :: forall s r. Serializable r => r -> RestrictedProcess s (Result r)
- Control.Distributed.Process.ManagedProcess.UnsafeClient: flushPendingCalls :: forall b. (NFSerializable b) => TimeInterval -> (b -> Process b) -> Process (Maybe b)
+ Control.Distributed.Process.ManagedProcess.UnsafeClient: flushPendingCalls :: forall b. NFSerializable b => TimeInterval -> (b -> Process b) -> Process (Maybe b)

Files

+ CHANGELOG.md view
@@ -0,0 +1,70 @@+# Change Log++2024-09-03 Laurent P. René de Cotret <laurent.decotret@outlook.com> 0.2.6.0++* Bumped dependency bounds to support GHC 8.10.7 - GHC 9.10.1+* Updated links to point to Distributed Haskell monorepo++## [v0.2.5.1](https://github.com/haskell-distributed/distributed-process-client-server/tree/v0.2.5.1) (2018-06-14)+[Full Changelog](https://github.com/haskell-distributed/distributed-process-client-server/compare/v0.2.3...v0.2.5.1)++* Update version bounds.+* Support exceptions-0.10.+++## [v0.2.3](https://github.com/haskell-distributed/distributed-process-client-server/tree/v0.2.3) (2017-03-28)+[Full Changelog](https://github.com/haskell-distributed/distributed-process-client-server/compare/v0.2.2...v0.2.3)++## [v0.2.2](https://github.com/haskell-distributed/distributed-process-client-server/tree/v0.2.2) (2017-03-27)+[Full Changelog](https://github.com/haskell-distributed/distributed-process-client-server/compare/v0.2.1...v0.2.2)++## [v0.2.1](https://github.com/haskell-distributed/distributed-process-client-server/tree/v0.2.1) (2017-03-22)+[Full Changelog](https://github.com/haskell-distributed/distributed-process-client-server/compare/v0.2.0...v0.2.1)++**Merged pull requests:**++- Implement ProcessBecome [\#18](https://github.com/haskell-distributed/distributed-process-client-server/pull/18) ([hyperthunk](https://github.com/hyperthunk))+- Safe Handler Execution [\#17](https://github.com/haskell-distributed/distributed-process-client-server/pull/17) ([hyperthunk](https://github.com/hyperthunk))++## [v0.2.0](https://github.com/haskell-distributed/distributed-process-client-server/tree/v0.2.0) (2017-03-13)+[Full Changelog](https://github.com/haskell-distributed/distributed-process-client-server/compare/v0.1.3.2...v0.2.0)++**Closed issues:**++- Read external input vectors in the prioritised mailbox drain loop [\#15](https://github.com/haskell-distributed/distributed-process-client-server/issues/15)+- Compiler should enforce rules for prioritised processes [\#13](https://github.com/haskell-distributed/distributed-process-client-server/issues/13)+- Prioritised process mailbox handling can block indefinitely [\#12](https://github.com/haskell-distributed/distributed-process-client-server/issues/12)+- `handleExternal` support [\#9](https://github.com/haskell-distributed/distributed-process-client-server/issues/9)+- `safeCall` and `tryCall` can fail if `resolve` throws [\#8](https://github.com/haskell-distributed/distributed-process-client-server/issues/8)+- Someone on IRC claims we are leaking file descriptors [\#7](https://github.com/haskell-distributed/distributed-process-client-server/issues/7)+- Support GHC 8 [\#5](https://github.com/haskell-distributed/distributed-process-client-server/issues/5)++**Merged pull requests:**++- Re-implement Prioritised Managed Processes [\#16](https://github.com/haskell-distributed/distributed-process-client-server/pull/16) ([hyperthunk](https://github.com/hyperthunk))+- Update bounds & stackify [\#11](https://github.com/haskell-distributed/distributed-process-client-server/pull/11) ([hyperthunk](https://github.com/hyperthunk))+- Handle arbitrary STM actions  [\#10](https://github.com/haskell-distributed/distributed-process-client-server/pull/10) ([hyperthunk](https://github.com/hyperthunk))+- Bump upper bounds on time and binary [\#6](https://github.com/haskell-distributed/distributed-process-client-server/pull/6) ([3noch](https://github.com/3noch))+- make adjustments for GHC 8 support [\#4](https://github.com/haskell-distributed/distributed-process-client-server/pull/4) ([agentm](https://github.com/agentm))+- Stick state argument to request and unify types across the handlers. [\#3](https://github.com/haskell-distributed/distributed-process-client-server/pull/3) ([wiz](https://github.com/wiz))++## [v0.1.3.2](https://github.com/haskell-distributed/distributed-process-client-server/tree/v0.1.3.2) (2016-02-16)+[Full Changelog](https://github.com/haskell-distributed/distributed-process-client-server/compare/v0.1.3.1...v0.1.3.2)++## [v0.1.3.1](https://github.com/haskell-distributed/distributed-process-client-server/tree/v0.1.3.1) (2015-09-29)+[Full Changelog](https://github.com/haskell-distributed/distributed-process-client-server/compare/v0.1.2...v0.1.3.1)++**Merged pull requests:**++- Add compatibility with ghc-7.10 [\#1](https://github.com/haskell-distributed/distributed-process-client-server/pull/1) ([qnikst](https://github.com/qnikst))++## [v0.1.2](https://github.com/haskell-distributed/distributed-process-client-server/tree/v0.1.2) (2014-12-25)+[Full Changelog](https://github.com/haskell-distributed/distributed-process-client-server/compare/v0.1.1...v0.1.2)++## [v0.1.1](https://github.com/haskell-distributed/distributed-process-client-server/tree/v0.1.1) (2014-12-17)+[Full Changelog](https://github.com/haskell-distributed/distributed-process-client-server/compare/v0.1.0...v0.1.1)++## [v0.1.0](https://github.com/haskell-distributed/distributed-process-client-server/tree/v0.1.0) (2014-05-30)+++\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
− Setup.lhs
@@ -1,3 +0,0 @@-#!/usr/bin/env runhaskell-> import Distribution.Simple-> main = defaultMain
distributed-process-client-server.cabal view
@@ -1,53 +1,58 @@+cabal-version:  3.0 name:           distributed-process-client-server-version:        0.2.5.1-cabal-version:  >=1.8+version:        0.2.6.0 build-type:     Simple-license:        BSD3+license:        BSD-3-Clause license-file:   LICENCE stability:      experimental Copyright:      Tim Watson 2012 - 2017 Author:         Tim Watson-Maintainer:     Tim Watson <watson.timothy@gmail.com>-Homepage:       http://github.com/haskell-distributed/distributed-process-client-server-Bug-Reports:    http://github.com/haskell-distributed/distributed-process-client-server/issues+maintainer:     The Distributed Haskell team+Homepage:       http://github.com/haskell-distributed/distributed-process+Bug-Reports:    http://github.com/haskell-distributed/distributed-process/issues synopsis:       The Cloud Haskell Application Platform description:    Modelled after Erlang OTP's gen_server, this framework provides similar                 facilities for Cloud Haskell, grouping essential practices for client/server                 development into a set of modules and standards designed to help you build                 concurrent, distributed applications with relative ease. category:       Control-Tested-With:    GHC==8.2.2-data-dir:       ""+tested-with:    GHC==8.10.7 GHC==9.0.2 GHC==9.2.8 GHC==9.4.5 GHC==9.6.4 GHC==9.8.2 GHC==9.10.1+extra-doc-files: CHANGELOG.md  source-repository head-  type:      git-  location:  https://github.com/haskell-distributed/distributed-process-client-server+  Type:     git+  Location: https://github.com/haskell-distributed/distributed-process+  SubDir:   packages/distributed-process-client-server +common warnings+    ghc-options: -Wall+                 -Wcompat+                 -Widentities+                 -Wincomplete-uni-patterns+                 -Wincomplete-record-updates+                 -Wredundant-constraints+                 -fhide-source-paths+                 -Wpartial-fields+ library+  import:          warnings   build-depends:                    base >= 4.8.2.0 && < 5,                    distributed-process >= 0.6.6 && < 0.8,                    distributed-process-extras >= 0.3.1 && < 0.4,                    distributed-process-async >= 0.2.4 && < 0.3,-                   binary >= 0.6.3.0 && < 0.9,-                   deepseq >= 1.3.0.1 && < 1.6,+                   binary >= 0.8 && < 0.9,+                   deepseq >= 1.4 && < 1.6,                    mtl,-                   containers >= 0.4 && < 0.6,-                   hashable >= 1.2.0.5 && < 1.3,+                   containers >= 0.6 && < 0.8,+                   hashable >= 1.2.0.5 && < 1.6,                    unordered-containers >= 0.2.3.0 && < 0.3,                    fingertree < 0.2,-                   stm >= 2.4 && < 2.5,-                   time > 1.4 && < 1.9.2,+                   stm >= 2.4 && < 2.6,+                   time > 1.4 && < 1.15,                    transformers,-                   exceptions >= 0.5 && < 0.11-  if impl(ghc <= 7.5)-    Build-Depends:   template-haskell == 2.7.0.0,-                     derive == 2.5.5,-                     uniplate == 1.6.12,-                     ghc-prim-  extensions:      CPP+                   exceptions >= 0.10 && < 0.11   hs-source-dirs:   src-  ghc-options:      -Wall   exposed-modules:                    Control.Distributed.Process.ManagedProcess,                    Control.Distributed.Process.ManagedProcess.Client,@@ -60,12 +65,14 @@                    Control.Distributed.Process.ManagedProcess.Internal.Types,                    Control.Distributed.Process.ManagedProcess.Internal.GenProcess   other-modules:   Control.Distributed.Process.ManagedProcess.Internal.PriorityQueue+  default-language: Haskell2010  test-suite ManagedProcessTests+  import:          warnings   type:            exitcode-stdio-1.0   x-uses-tf:       true   build-depends:-                   base >= 4.4 && < 5,+                   base >= 4.14 && < 5,                    ansi-terminal >= 0.5 && < 0.9,                    containers,                    distributed-process,@@ -76,10 +83,10 @@                    network-transport >= 0.4 && < 0.7,                    mtl,                    fingertree,-                   network-transport-tcp >= 0.6 && < 0.7,-                   binary >= 0.6.3.0 && < 0.9,+                   network-transport-tcp >= 0.6 && < 0.9,+                   binary >= 0.8 && < 0.9,                    deepseq,-                   network >= 2.3 && < 2.7,+                   network >= 2.3 && < 3.3,                    HUnit >= 1.2 && < 2,                    stm,                    test-framework >= 0.6 && < 0.9,@@ -95,15 +102,16 @@                    TestUtils   hs-source-dirs:                    tests-  ghc-options:     -Wall -threaded -rtsopts -with-rtsopts=-N -fno-warn-unused-do-bind-  extensions:      CPP+  ghc-options:     -threaded -rtsopts -with-rtsopts=-N -fno-warn-unused-do-bind   main-is:         TestManagedProcess.hs+  default-language: Haskell2010  test-suite PrioritisedProcessTests+  import:          warnings   type:            exitcode-stdio-1.0   x-uses-tf:       true   build-depends:-                   base >= 4.4 && < 5,+                   base >= 4.14 && < 5,                    ansi-terminal,                    containers,                    distributed-process,@@ -130,6 +138,6 @@                    TestUtils   hs-source-dirs:                    tests-  ghc-options:     -Wall -threaded -rtsopts -with-rtsopts=-N -fno-warn-unused-do-bind-  extensions:      CPP+  ghc-options:     -threaded -rtsopts -with-rtsopts=-N -fno-warn-unused-do-bind   main-is:         TestPrioritisedProcess.hs+  default-language: Haskell2010
src/Control/Distributed/Process/ManagedProcess/Internal/Types.hs view
@@ -288,12 +288,10 @@         (a', _) <- lift $ restoreP $ runProcess ourSTate p2         return a' -#if MIN_VERSION_exceptions(0,10,0)   generalBracket acquire release inner = GenProcess $      generalBracket (unManaged acquire)                    (\a e -> unManaged $ release a e)                    (unManaged . inner)-#endif  -- | Run an action in the @GenProcess@ monad. runProcess :: State s -> GenProcess s a -> Process (a, State s)
tests/ManagedProcessCommon.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP                 #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE FlexibleInstances   #-} {-# LANGUAGE RecordWildCards     #-}@@ -21,10 +22,6 @@ import Control.Distributed.Process.ManagedProcess import qualified Control.Distributed.Process.ManagedProcess.UnsafeClient as Unsafe import Control.Distributed.Process.Serializable()--#if ! MIN_VERSION_base(4,6,0)-import Prelude hiding (catch)-#endif  import TestUtils 
tests/TestManagedProcess.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP  #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE RecordWildCards     #-} @@ -23,10 +24,6 @@ import MathsDemo import Counter import qualified SafeCounter as SafeCounter--#if ! MIN_VERSION_base(4,6,0)-import Prelude hiding (catch)-#endif  import Test.Framework (Test, testGroup) import Test.Framework.Providers.HUnit (testCase)
tests/TestPrioritisedProcess.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP                 #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE DeriveDataTypeable  #-} {-# LANGUAGE DeriveGeneric       #-}@@ -36,10 +37,6 @@ import Data.List (isInfixOf) import Data.Maybe (isNothing, isJust) import Data.Typeable (Typeable)--#if ! MIN_VERSION_base(4,6,0)-import Prelude hiding (catch)-#endif  import Test.Framework (Test, testGroup) import Test.Framework.Providers.HUnit (testCase)
tests/TestUtils.hs view
@@ -37,14 +37,12 @@  mkNode :: String -> IO LocalNode mkNode port = do-  Right (transport1, _) <- createTransportExposeInternals-                                    "127.0.0.1" port ("127.0.0.1",) defaultTCPParameters+  Right (transport1, _) <- createTransportExposeInternals (defaultTCPAddr "127.0.0.1" port) defaultTCPParameters   newLocalNode transport1 initRemoteTable  -- | Given a @builder@ function, make and run a test suite on a single transport testMain :: (NT.Transport -> IO [Test]) -> IO () testMain builder = do-  Right (transport, _) <- createTransportExposeInternals-                                    "127.0.0.1" "0" ("127.0.0.1",) defaultTCPParameters+  Right (transport, _) <- createTransportExposeInternals (defaultTCPAddr "127.0.0.1" "0") defaultTCPParameters   testData <- builder transport   defaultMain testData