packages feed

monad-journal 0.1.0.0 → 0.2.0.0

raw patch · 2 files changed

+11/−11 lines, 2 files

Files

Control/Monad/Trans/Journal.hs view
@@ -13,9 +13,9 @@ -}  module Control.Monad.Trans.Journal (-    -- * LoggerT monad transformer-    LoggerT-  , runLoggerT+    -- * JournalT monad transformer+    JournalT+  , runJournalT   , module X   ) where @@ -25,12 +25,12 @@ import Control.Monad.Trans.State ( StateT, get, modify, put, runStateT ) import Data.Monoid ( Monoid(..) ) -newtype LoggerT w m a = LoggerT (StateT w m a) deriving (Applicative,Functor,Monad,MonadTrans,MonadIO)+newtype JournalT w m a = JournalT (StateT w m a) deriving (Applicative,Functor,Monad,MonadTrans,MonadIO) -instance (Monoid w, Monad m) => MonadJournal w (LoggerT w m) where-  journal = LoggerT . modify . flip mappend-  history = LoggerT get-  clear   = LoggerT (put mempty)+instance (Monoid w, Monad m) => MonadJournal w (JournalT w m) where+  journal = JournalT . modify . flip mappend+  history = JournalT get+  clear   = JournalT (put mempty) -runLoggerT :: (Monoid w, Monad m) => LoggerT w m a -> m (a,w)-runLoggerT (LoggerT s) = runStateT s mempty+runJournalT :: (Monoid w, Monad m) => JournalT w m a -> m (a,w)+runJournalT (JournalT s) = runStateT s mempty
monad-journal.cabal view
@@ -1,6 +1,6 @@ name:                monad-journal license:             PublicDomain-version:             0.1.0.0+version:             0.2.0.0 synopsis:            On-the-fly logging typeclass and monad transformer  description:         This package provides a typeclass for logging situations                      when you want to deal with the logs on-the-fly.