The monad-journal package

[Tags:bsd3, library]

This package provides a typeclass for logging in pure code, or more generally, in any kind of context. You can do whatever you want with logs, especially get them, clear them or even sink them through IO if you're logging in (MonadIO m) => m.

[Skip to Readme]


Versions,,,,,,,,, 0.2.4, 0.3, 0.4,,, 0.5,, 0.6,,, 0.7, 0.7.1, 0.7.2
Change log
Dependencies base (>=4.5 && <5.0), either (>=4.1 && <4.5), monad-control (>=0.3 && <1.1), mtl (>=2.1 && <2.3), transformers (>=0.3 && <0.6), transformers-base (==0.4.*) [details]
License BSD3
Author Dimitri Sabadie <>
Maintainer Dimitri Sabadie <>
Category Control
Home page
Bug tracker
Source repository head: git clone git://
Uploaded Tue May 17 22:35:30 UTC 2016 by DimitriSabadie
Distributions Arch:0.7.2, Debian:0.7.1, LTSHaskell:0.7.2, NixOS:0.7.2, Stackage:0.7.2, Tumbleweed:0.7.2
Downloads 21774 total (1121 in the last 30 days)
0 []
Status Docs available [build log]
Last success reported on 2016-05-17 [all 1 reports]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees

Readme for monad-journal

Readme for monad-journal-0.7.2


Pure logger typeclass and monad transformer

What is monad-journal?

monad-journal is a simple but powerful answer to the logging problem. A lot of people think that “logging” is IO-related, while it’s not. Everyone must know MonadWriter , which is perfect to log things in pure computations. The issue is that you can’t access those “things” inside the computation itself. monad-journal exposes a cool typeclass called MonadJournal that enables you to do so.