Haskell Weekly

Newsletter

Issue 443 2024-10-24

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

  • GHC 9.8.3 is now available by Ben Gamari

    The GHC developers are happy to announce the availability of GHC 9.8.3. Binary distributions, source distributions, and documentation are available on the release page.

  • Harder-Coded: Simple Newtypes are for Scrubs by Curtis Chin Jen Sem

    There’s quite a few fun and nifty things you can do in Haskell to avoid developer error. One notable one is the usage of newtype, which some other languages have adopted. It avoids parameter blindness and ensures values are only used in specific locations. The trick I’d like to show right now, is to use DataKinds (or TypeData) to achieve something similar using type-level tag values. A simple application of a technique fleshed out quite well in this paper, which has a sick name (Ghosts of Departed Proofs), by Matt Noonan.

  • Haskell For Dilettantes 13: seqOptional by Tea Leaves

    Pete suffers through his least favorite exercise in the “List” module, and closes it out.

  • Legacy Security Manager in Haskell by Mark Seemann

    In early 2013 Richard Dalton published an article about legacy code katas. The idea is to present a piece of ‘legacy code’ that you have to somehow refactor or improve. Of course, in order to make the exercise manageable, it’s necessary to reduce it to some essence of what we might regard as legacy code. It’ll only be one aspect of true legacy code. For the legacy Security Manager exercise, the main problem is that the code is difficult to unit test.

  • MuniHac 2024 video playlist by TNG Technology Consulting GmbH

    MuniHac is an annual three-day hackathon and conference in Munich that brings together Haskell developers and enthusiasts from across the globe. This event offers a unique opportunity to improve Haskell skills, network with experts in the community, and participate in a range of workshops, talks, and projects for both beginners and experienced developers.

  • Plucking constraints in Bluefin by Tom Ellis

    One of the promises of strongly-typed, pure functional programming is to “make invalid states unrepresentable”. We can broaden the slogan to “make invalid behaviours unrepresentable”. Indeed, that’s one of the purposes of effect systems in Haskell: to circumscribe an operation’s range of observable behaviours. Typically, effect systems provide a way of “handling” effects, that is, removing effects from the range of observable behaviours. Matt Parsons calls the technique for handling effects in the “MTL effect system” “plucking constraints”.

Jobs

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

In brief

  • exitFailure doesn’t exit by Tom Ellis

    Haskell’s base library contains System.Exit.exitFailure. From the name, it sounds as though running it ought to cause your Haskell program to exit (with a failure exit code). But it doesn’t, at least not directly.

Show & tell

Call for participation