monad-journal 0.2.2.0 → 0.2.3.0
raw patch · 2 files changed
+16/−5 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Control.Monad.Trans.Journal: evalJournalT :: (Monoid w, Monad m) => JournalT w m a -> m a
+ Control.Monad.Trans.Journal: execJournalT :: (Monoid w, Monad m) => JournalT w m a -> m w
Files
- Control/Monad/Trans/Journal.hs +15/−4
- monad-journal.cabal +1/−1
Control/Monad/Trans/Journal.hs view
@@ -16,6 +16,8 @@ -- * JournalT monad transformer JournalT , runJournalT+ , evalJournalT+ , execJournalT , module Control.Monad.Journal.Class ) where @@ -44,7 +46,7 @@ , MonadWriter w' ) -instance (Monoid w, Monad m) => MonadJournal w (JournalT w m) where+instance (Monoid w,Monad m) => MonadJournal w (JournalT w m) where journal !w = JournalT . modify $ flip mappend w history = JournalT get clear = JournalT (put mempty)@@ -64,10 +66,10 @@ {-# INLINE liftWith #-} {-# INLINE restoreT #-} -instance MonadBase b m => MonadBase b (JournalT w m) where+instance (MonadBase b m) => MonadBase b (JournalT w m) where liftBase = liftBaseDefault -instance (Monoid w, MonadBaseControl b m) => MonadBaseControl b (JournalT w m) where+instance (Monoid w,MonadBaseControl b m) => MonadBaseControl b (JournalT w m) where newtype StM (JournalT w m) a = StMJournal { unStMJournal :: ComposeSt (JournalT w) m a } liftBaseWith = defaultLiftBaseWith StMJournal@@ -75,5 +77,14 @@ {-# INLINE liftBaseWith #-} {-# INLINE restoreM #-} -runJournalT :: (Monoid w, Monad m) => JournalT w m a -> m (a,w)+-- |Retrieve the value and the log history.+runJournalT :: (Monoid w,Monad m) => JournalT w m a -> m (a,w) runJournalT (JournalT s) = runStateT s mempty++-- |Only retrieve the value.+evalJournalT :: (Monoid w,Monad m) => JournalT w m a -> m a+evalJournalT (JournalT s) = evalStateT s mempty++-- |Only retrieve the log history.+execJournalT :: (Monoid w,Monad m) => JournalT w m a -> m w+execJournalT (JournalT s) = execStateT s mempty
monad-journal.cabal view
@@ -1,6 +1,6 @@ name: monad-journal license: PublicDomain-version: 0.2.2.0+version: 0.2.3.0 synopsis: Pure logger typeclass and monad transformer description: This package provides a typeclass for logging in pure code, or more generally, in any kind of