Haskell Weekly

Newsletter

Issue 436 2024-09-05

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

  • Getting Started with Nix for Haskell by Abhinav Sarkar

    Nix is notoriously hard to get started with. If you are familiar with Haskell, you may have an easier time learning the Nix language, but it is still difficult to figure out the various toolchains and libraries functions needed to put your knowledge of the Nix language to use. There are some frameworks for setting up Haskell projects with Nix, but again, they are hard to understand because of their large feature scopes. So, in this post, I’m going to show a really easy way for you to get started.

  • GHC activities report: June–August 2024 by Well-Typed

    This is the twenty-fourth edition of our GHC activities report, which describes the work Well-Typed are doing on GHC, Cabal, HLS and other parts of the core Haskell toolchain. The current edition covers roughly the months of June to August 2024.

  • LSP: the good, the bad, and the ugly by Michael Peyton Jones

    For a few years now I have been working on the Haskell Language Server (HLS), and the lsp library for the LSP protocol and writing LSP servers. Unsurprisingly, I have developed some opinions about the design of the LSP!

  • Parsers are relative bimonads by Artemis

    Even to a Haskeller —proficient in the magics of functors and monads— the term of relative monads might be foreign; let’s thus motivate their existence.

  • Seven Levels of Type Safety in Haskell: Lists by Justin Le

    Here is a rundown of seven “levels” of type safety that you can operate at when working with the ubiquitous linked list data type, and how to use them! I genuinely believe all of these are useful (or useless) in their own different circumstances, even though the “extremes” at both ends are definitely pushing the limits of the language.

  • Sized types and coinduction in Safe Agda by Isaac Elliott

    In short: a datatype definition is given a size parameter, and recursive uses of the type are “guarded” by a proof that the size parameter decreases.

Jobs

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

In brief

Show & tell

  • Improving performance of mutable arrays using linear types by Void

    One of the most important applications of Linear Haskell is to allow pure mutable arrays and improve performance of algorithms involving arrays. However, in playing with Linear Haskell, an example caught my eyes: Suppose we implement Quicksort using the facilities provided by the linear-base package.

Call for participation