monad-journal: Pure logger typeclass and monad transformer

[ bsd3, control, library ] [ Propose Tags ]

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]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS],,,,,,,,, 0.2.4, 0.3, 0.4,,, 0.5,, 0.6,,, 0.7, 0.7.1, 0.7.2, 0.8.0, 0.8.1
Change log
Dependencies base (>=4.5 && <5.0), monad-control (>=0.3 && <1.1), mtl (>=2.1 && <2.3), transformers (>=0.3 && <0.6), transformers-base (>=0.4 && <0.5) [details]
License BSD-3-Clause
Author Dimitri Sabadie <>
Maintainer Dimitri Sabadie <>
Category Control
Home page
Bug tracker
Source repo head: git clone git://
Uploaded by DimitriSabadie at 2017-11-25T23:19:02Z
Distributions Arch:0.8.1, Debian:0.8.1, Fedora:0.8.1
Reverse Dependencies 3 direct, 3 indirect [details]
Downloads 44870 total (70 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-11-25 [all 1 reports]

Readme for monad-journal-0.8.1

[back to package description]


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.