Haskell Weekly


Issue 313 2022-04-28

Subscribe now! We'll never send you spam. You can also follow us on Twitter or with 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