Haskell Weekly


Issue 408 2024-02-22

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 Gild, a formatter for Haskell package descriptions by Taylor Fausak

    I’m happy to announce Gild, a formatter/pretty-printer for package descriptions (*.cabal files).

  • botan-bindings & botan-low released by Apotheca Labs

    This is the result of more than 7 months of sustained effort to provide a series of bindings to the Botan C++ cryptography library, and was made possible through support from the Haskell Foundation and funding provided by Mercury.

  • Episode 43 – Ivan Perez by The Haskell Interlude

    In this episode, Wouter and Andres interview Ivan Perez, a senior research scientist at NASA. Ivan tells us about how NASA uses Haskell to develop the Copilot embedded domain specific language for runtime verification, together with some of the obstacles he encounters getting to end users to learn Haskell and adopt such an EDSL.

  • Extracting data from a small CSV file with Haskell by Mark Seemann

    This article is part of a short series of articles that compares ad-hoc scripting in Haskell with solving the same problem in Python. The introductory article describes the problem to be solved, so here I’ll jump straight into the Haskell code.

  • Reactimate - A new AFRP library by Simon

    I have been working on a new AFRP (Arrowized Functional Reactive Programming) library for about a month which I wanted to share. It is called reactimate and is heavily inspired by the great Yampa library.

  • Status report of dnsext by Kazu Yamamoto

    This article reports the current status of the dnsext packages in Haskell.

  • The Haskell Unfolder Episode 20: Dijkstra’s shortest paths by Andres Löh, Edsko de Vries

    In this (beginner-friendly) episode, we will use Dijkstra’s shortest paths algorithm as an example of how one can go about implementing an algorithm given in imperative pseudo-code in idiomatic Haskell. We will focus on readability, not on performance.

  • What do you use Haskell for? by u/HearingYouSmile

    Folks using Haskell professionally: what’s your role/industry? How did you get into that type of work? Do you have any advice for someone interested in a similar career?


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

In brief

  • Fourmolu released by Brandon Chinn

    Fourmolu has been released! This release adds one new configuration option, single-deriving-parens, to determine if deriving clauses with a single type should be parenthesized. The release also contains changes from the latest ormolu release, including better comment placement for if blocks and respecting newlines better in data declarations.

  • Pandoc 3.1.12 released

  • Stack-all 0.5 released by Jens Petersen

    I made a new release of stack-all, a tool which can build a project with stack across different Stackage versions.

  • Why is Prettier rock solid? by Manav Rathi

    Of course, this is not to take away from the authors of Prettier and the years of work that has subsequently gone into it – I’m just chirping about how Haskell continues to enrich my life even when I’m not using it.

Show & tell

  • Announcing Purple Yolk, a dumb Haskell extension for VS Code by Taylor Fausak

    I’m happy (although maybe not that proud) to announce Purple Yolk, a dumb Haskell extension for VS Code. It basically just runs GHCi in the background for you in order to get squiggly underlines. Also it can run HLint to get code quality hints. And it can format Haskell and Cabal files with the formatter of your choice. That may not sound like much, but I’ve found it to be enough for an effective Haskell IDE!

  • DevOps Weekly Log, 2024-02-14 by Bryan Richter

    Over the last three days, I worked to fix the search functionality on Stackage.org. The root cause was not related to the ongoing migration I’m performing, but fixing the problem took longer than it would have previously, because I still have a lot to learn about how Stackage works. The good news is it’s fixed now.

Call for participation