coroutine-object 0.2.0.0 → 0.3
raw patch · 3 files changed
+9/−14 lines, 3 files
Files
- coroutine-object.cabal +1/−1
- src/Control/Monad/Trans/Crtn/Logger/Simple.hs +8/−6
- src/Control/Monad/Trans/Crtn/Object.hs +0/−7
coroutine-object.cabal view
@@ -1,5 +1,5 @@ Name: coroutine-object-Version: 0.2.0.0+Version: 0.3 Synopsis: Object-oriented programming realization using coroutine Description: Object-oriented programming realization using coroutine License: BSD3
src/Control/Monad/Trans/Crtn/Logger/Simple.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE GADTs #-}+{-# LANGUAGE ScopedTypeVariables #-} module Control.Monad.Trans.Crtn.Logger.Simple where @@ -14,11 +15,12 @@ simplelogger = loggerW 0 -- |-loggerW :: (MonadLog m) => Int -> LogServer m () +loggerW :: forall m. (MonadLog m) => Int -> LogServer m () loggerW num = ReaderT (f num)- where f n req = - case req of - Arg WriteLog msg -> do lift (scribe ("log number "++show n++" : "++ msg))- req' <- request (Res WriteLog ())- f (n+1) req' + where+ f :: Int -> LogInput -> CrtnT (Res LogOp) (Arg LogOp) m () + f n (Arg WriteLog msg) = do + lift (scribe ("log number "++show n++" : "++ msg))+ req' <- request (Res WriteLog ())+ f (n+1) req'
src/Control/Monad/Trans/Crtn/Object.hs view
@@ -30,13 +30,6 @@ data Res s = forall i o. Res (s i o) o | Ign -{---- |-type SObjT s = CrtnT (Arg s) (ResMethodInput s) ---- | -type ClientT s = CoroutineT (MethodInput s) (MethodOutput s)--} -- | Server object type SObjT s m = SrvT (Arg s) (Res s) m