Haskell Weekly


Issue 365 2023-04-27

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.


  • Announcing ical: A pessimistic iCalendar (RFC 5545) library by Tom Sydney Kerckhove

    RFC 5545 is a widely used specification for calendar data exchange on the internet. It defines a data format for representing calendar events, such as appointments, meetings, and reminders.

  • Drawing trees functionally: Reingold and Tilford, 1981 by William Yaoh

    Functional programmers often work with trees; for explanatory or debugging purposes, it is useful to be able to visualize them. I explain one such algorithm for drawing m-ary trees, the Reingold-Tilford algorithm, which runs in O(n) time.

  • Haskell: Birecursion Schemes by Leo Dillinger

    As part of a larger project, I’ve been examining the concept of birecursion. Here, I will do my best to explain my motivating factors, and point out which bits of the resulting code I find to be interesting, and why.

  • More thoughts on a bootstrappable GHC by Joachim Breitner

    The bootstrappable builds project tries to find ways of building all our software from source, without relying on binary artifacts. A noble goal, and one that is often thwarted by languages with self-hosting compilers, like GHC: In order to build GHC, you need GHC.

  • Okapi: From Monad to Applicative by Rashad Gover

    Okapi, a web framework that I started working on last year, now uses an Applicative instead of a Monad. This has made the framework a lot more consistent and easier to understand.

  • Optimizing Haskell Code for Runtime Verification: Part 2 by Sergey Gulin

    In this article, we will continue to describe the implementation of the solutions to the problems described in the previous article. Specifically, we will cover the completion of monomorphization and specialization, as well as the solution to the hashing performance issue in the Simplifier cache.

  • Presenting data-forced, an alternative to bang patterns for long lived data structures by Ruben Astudillo

    As a consequence of my previous post, I crafted a new way to deal with liveness leaks: data-forced. It relies on CBV functions and tagging values when we know they have been evaluated.

  • Some practical Haskell by Magnus Therning

    As I’m nearing the end of my time with my current employer I thought I’d put together some bits of practical Haskell that I’ve put into production.


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

In brief

Show & tell

  • dunai version 0.11 by Ivan Perez

    I’m really excited to announce the release of Dunai 0.11.0 and Bearriver 0.14.2! Dunai is a reactive programming library structured around a notion of Monadic Stream Functions.

Call for participation