Haskell Weekly


Issue 313 2022-04-28

Subscribe now! We'll never send you spam. You can also follow our feed. Read more issues in the archives.

Welcome to another issue of Haskell Weekly! Haskell is a safe, purely functional programming language with a fast, concurrent runtime. This is a weekly summary of what’s going on in its community.


  • Building a bulletin board using twain and friends by Gil Mizrahi

    It’ll be so simple that we won’t even use a database, but hopefully it’ll provide enough information on twain that you can continue it yourselves if you’d like.

  • Calligraphy tutorial by Jonas Carpay

    Today, I released calligraphy, a Haskell call graph/source code visualizer. In this post, I’ll walk you through how to actually use it.

  • Free monads in the real world by Arnau Abella

    In this post, we have introduced free monads and how they can be used to implement embedded domain specific languages.

  • Generalizing Folds in Haskell by Danila Fedorin

    Have you encountered Haskell’s foldr function? Did you know that you can use it to express any function on a list?

  • The Hidden Dangers of Haskell’s Ratio Type by Neil Mayhew

    It’s tempting to use Ratio with a fixed-width type like Int because Int is much faster than Integer. However, let’s see what can happen if you do this.

  • Introduction to Haskell Typeclasses by Gints Dreimanis

    To sum two members of the same type in Haskell via +, their type needs to have an instance of the Num typeclass. But what’s a typeclass, and what’s an instance of a typeclass? Read further to find the answers.

  • Let’s Program a Calculus Student by Iago Leal de Freitas

    At first sight this may seem too monumental of a task for a mere exposition. But what if I told you that if we restrict ourselves to derivatives, it takes about a hundred lines of code?

  • So Long Surrogates: How we moved to UTF-8 in Haskell by Paul Brinkmeier

    In this post we will illustrate the challenges we encountered implementing UTF-8 support in alfred-margaret and also give some insights into how we optimized our Haskell code for maximal performance.


Trying to hire a Haskell developer? You should advertise with us!

In brief

  • On Commenting Code by Michael Peyton Jones

    Programmers like to go on about how you should or should not comment your code. This is my contribution.

  • Traverse: Fully Generalized Loops by Monday Morning Haskell

    Today for our last article of for-loops month, we’ll look at the final generalization of this idea: the traverse function.

Show & tell

Call for participation