extensible-effects-concurrent 0.6.2 → 0.6.3
raw patch · 3 files changed
+12/−4 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ Control.Eff.Concurrent.Api.Client: type ServerReader o = Reader (Server o)
- Control.Eff.Concurrent: registerServer :: Server o -> Eff (Reader (Server o) : r) a -> Eff r a
+ Control.Eff.Concurrent: registerServer :: Server o -> Eff (ServerReader o : r) a -> Eff r a
- Control.Eff.Concurrent: type ServesApi o r q = (Typeable o, SetMember Process (Process q) r, Member (Reader (Server o)) r)
+ Control.Eff.Concurrent: type ServesApi o r q = (Typeable o, SetMember Process (Process q) r, Member (ServerReader o) r)
- Control.Eff.Concurrent.Api.Client: registerServer :: Server o -> Eff (Reader (Server o) : r) a -> Eff r a
+ Control.Eff.Concurrent.Api.Client: registerServer :: Server o -> Eff (ServerReader o : r) a -> Eff r a
- Control.Eff.Concurrent.Api.Client: type ServesApi o r q = (Typeable o, SetMember Process (Process q) r, Member (Reader (Server o)) r)
+ Control.Eff.Concurrent.Api.Client: type ServesApi o r q = (Typeable o, SetMember Process (Process q) r, Member (ServerReader o) r)
Files
- ChangeLog.md +4/−0
- extensible-effects-concurrent.cabal +1/−1
- src/Control/Eff/Concurrent/Api/Client.hs +7/−3
ChangeLog.md view
@@ -1,5 +1,9 @@ # Changelog for extensible-effects-concurrent +## 0.6.3++- Add `ServerReader` type alias+ ## 0.6.2 - Fix bad `containers` version boundary
extensible-effects-concurrent.cabal view
@@ -1,5 +1,5 @@ name: extensible-effects-concurrent-version: 0.6.2+version: 0.6.3 description: Please see the README on GitHub at <https://github.com/sheyll/extensible-effects-concurrent#readme> synopsis: Message passing concurrency as extensible-effect homepage: https://github.com/sheyll/extensible-effects-concurrent#readme
src/Control/Eff/Concurrent/Api/Client.hs view
@@ -11,6 +11,7 @@ , callRegistered , callRegisteredA , ServesApi+ , ServerReader , registerServer ) where@@ -102,12 +103,15 @@ type ServesApi o r q = ( Typeable o , SetMember Process (Process q) r- , Member (Reader (Server o)) r+ , Member (ServerReader o) r ) +-- | The reader effect for 'ProcessId's for 'Api's, see 'registerServer'+type ServerReader o = Reader (Server o)+ -- | Run a reader effect that contains __the one__ server handling a specific -- 'Api' instance.-registerServer :: Server o -> Eff (Reader (Server o) ': r) a -> Eff r a+registerServer :: Server o -> Eff (ServerReader o ': r) a -> Eff r a registerServer = runReader -- | Like 'call' but take the 'Server' from the reader provided by@@ -131,7 +135,7 @@ => SchedulerProxy q -> Api o ( 'Synchronous (f reply)) -> Eff r (f reply)-callRegisteredA px method = do+callRegisteredA px method = catchRaisedError px (const (return (empty @f))) (callRegistered px method) -- | Like 'cast' but take the 'Server' from the reader provided by