packages feed

gore-and-ash-network 1.2.2.0 → 1.3.2.0

raw patch · 2 files changed

+14/−2 lines, 2 filesdep +resourcetdep +transformersdep +transformers-base

Dependencies added: resourcet, transformers, transformers-base

Files

gore-and-ash-network.cabal view
@@ -1,5 +1,5 @@ name:                gore-and-ash-network-version:             1.2.2.0+version:             1.3.2.0 synopsis:            Core module for Gore&Ash engine with low level network API description:         Please see README.md homepage:            https://github.com/Teaspot-Studio/gore-and-ash-network@@ -70,8 +70,11 @@                      , integer-gmp >= 1.0.0.0                      , mtl >= 2.2.1                      , network >= 2.6.2.1+                     , resourcet >= 1.1.7.1                      , text >= 1.2.1.3                      , text-show >= 2+                     , transformers >= 0.4.2+                     , transformers-base >= 0.4.4                      , typesafe-endian >= 0.1                      , unordered-containers >= 0.2.5.1 
src/Game/GoreAndAsh/Network/Module.hs view
@@ -14,10 +14,13 @@     NetworkT(..)   ) where +import Control.Monad.Base  import Control.Monad.Catch+import Control.Monad.Error.Class  import Control.Monad.Extra (whenJust) import Control.Monad.Fix import Control.Monad.State.Strict+import Control.Monad.Trans.Resource  import Data.Hashable  import Game.GoreAndAsh import Game.GoreAndAsh.Network.State@@ -49,8 +52,14 @@ -- -- The module is NOT pure within first phase (see 'ModuleStack' docs), therefore currently only 'IO' end monad can handler the module. newtype NetworkT s m a = NetworkT { runNetworkT :: StateT (NetworkState s) m a }-  deriving (Functor, Applicative, Monad, MonadState (NetworkState s), MonadFix, MonadTrans, MonadIO, MonadThrow, MonadCatch, MonadMask)+  deriving (Functor, Applicative, Monad, MonadState (NetworkState s), MonadFix, MonadTrans, MonadIO, MonadThrow, MonadCatch, MonadMask, MonadError e) +instance MonadBase IO m => MonadBase IO (NetworkT s m) where +  liftBase = NetworkT . liftBase ++instance MonadResource m => MonadResource (NetworkT s m) where +  liftResourceT = NetworkT . liftResourceT+   instance GameModule m s => GameModule (NetworkT s m) (NetworkState s) where   type ModuleState (NetworkT s m) = NetworkState s