Join Newsletter

co-log: Composable Contravariant Comonadic Logging Component

YOW! Lambda Jam 2019

In this talk I'm going to share key design decisions behind Haskell logging library called co-log.

This library combines multiple algebraic concepts in order to provide convenient and composable solution for the logging problem:

  • Semigroup and Monoid
  • Contravariant/Divisible/Decidable
  • Comonads

I'm also going to show how we use this library in commercial Haskell projects.

Dmitrii Kovanikov

Haskell Adept



Haskell Adept, Functional Programming enthusiast. I like to discover elegant solutions for sophisticated software problems by squeezing maximum from the Haskell programming language. I enjoy discussions about programming languages design. I have experience in full-stack web-applications development with Haskell, Elm and PostgreSQL. Also, I was teaching Haskell to the students at the ITMO University.

I'm a co-founder of the Kowainik organisation where I do my open-source work and mentor people.