Haskell Weekly

Newsletter

Issue 447 2024-11-21

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.

Featured

  • Competitive Programming in Haskell: Union-Find, part II by Brent Yorgey

    In my previous post I explained how to implement a reasonably efficient union-find data structure in Haskell, and challenged you to solve a couple Kattis problems. In this post, I will (1) touch on a few generalizations brought up in the comments of my last post, (2) go over my solutions to the two challenge problems, and (3) briefly discuss generalizing the second problem’s solution to finding max-edge decompositions of weighted trees.

  • Episode 58 – ICFP 2024 by The Haskell Interlude

    In this episode, Matti and Sam traveled to the International Conference on Functional Programming (ICFP 2024) in Milan, Italy, and recorded snippets with various participants, including keynote speakers, Haskell legends, and organizers.

  • GHC 9.12.1-alpha3 is now available by Zubin Duggal

    The GHC developers are very pleased to announce the availability of the third alpha release of GHC 9.12.1.

  • Labeling threads in Haskell by Kazu Yamamoto

    GHC 9.6 provides a function to list up the current threads finally. The function is listThreads exported from the GHC.Conc.Sync module. listThreads is a killer debug method for thread leaks.

  • The Haskell inlining and specialization FAQ by Gabriella Gonzalez

    This is an FAQ answering the most common questions people ask me related to inlining and specialization. I’ve also structured it as a blog post that you can read from top to bottom.

  • The Haskell Unfolder Episode 36: concurrency and the FFI by Andres Löh, Edsko de Vries

    There are two primary ways to import C functions in Haskell: “unsafe” and “safe”. We will first briefly recap what this means: unsafe functions are fast but cannot call back into Haskell, safe functions are much slower but can. As we will see in this episode, however, there are many more differences between unsafe and safe functions, especially in a concurrent setting. In particular, safe functions are not always safer!

  • Truly Optimal Evaluation with Unordered Superpositions by Victor Taelin

    In this post, I’ll address two subjects: “How to solve HVM’s quadratic slowdown compared to GHC in some cases”, “Why that is relevant to logic programming, unification, and program search”.

Jobs

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

In brief

Show & tell

  • A new ghcid plugin for neovim by jecaro

    Here is a small plugin for neovim users who use either ghcid or ghciwatch for their compilation loop. This is something I had in my dotfiles for a long time. I thought it could be useful for other people.

Call for participation