Typeful hierarchical structured logging without monad towers.


Version on this page:1.0.3
LTS Haskell 18.11:1.0.4
Stackage Nightly 2021-09-18:1.0.4
Latest on Hackage:1.0.4

See all snapshots di-core appears in

BSD-3-Clause licensed by Renzo Carbonara
Maintained by renλren.zone
This version can be pinned in stack with:di-core-1.0.3@sha256:1fed4988c32d468fb1eb9e666b668e9e03de46df6428e81b67e95a84e9f3db48,992

Module documentation for 1.0.3

Used by 4 packages in lts-12.14(full list with versions):


Typeful hierarchical structured logging without monad towers.

If you like monad towers, though, check out di-monad.

Also, for a logging library, this one doesn’t do any rendering of log messages. Please refer to di-handle and di-df1 for that.

Build Status

See the BSD3 LICENSE file to learn about the legal terms and conditions for this library.


Version 1.0.3

  • Fix handling of async exceptions even more (now with tests).

  • The exceptions dependency is gone.

  • Added ExceptionInLoggingWorker.

  • Documentation improvements.

Version 1.0.2

  • The MonadMask superclass of throw' is gone.

  • Fix handling of async exceptions.

  • Add dependency on safe-exceptions.

Version 1.0.1

  • Added throw', throw and onException.

Version 1.0

  • This library contains most of what was in di-0.3. Consider this first release of the new ecosystem a preview release: The API is likely to stay stable, but extensive testing, formalization and tooling is due.