Issue 353 2023-02-02
Subscribe now! We'll never send you spam. You can also follow us on Twitter or with 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.
Fail with Class by Alexey Kuleshevich
This post describes a very common failure pattern using
MonadFail. It also introduces a small and hopefully useful
FailTlibrary that plays well with the
MonadFailtype class and makes dealing with failures just a bit easier.
GHC 9.6.1-alpha2 is now available by Ben Gamari
The GHC team is very pleased to announce the availability of GHC 9.6.1-alpha2.
Haskell for Elm developers: giving names to stuff (Part 1 - Functors) by Flavio Corpa
This post is targeted towards all those Elm developers (and functional programmers in general) who are curious about Haskell and would like to learn how what they already know and love from Elm maps directly to Haskell.
Haskell Foundation December and January 2022-2023 Update by David Christiansen
Haskell.org now has “Get Started” page! by Martin Šošić
It is aimed for beginners, to reduce choice fatigue and to give them a clear, official path to get going.
Monoids in the Category of… by Jack Kelly
This is not a monad tutorial. You do not need to read this, especially if you’re new to Haskell. Do something more useful with your time. But if you will not be satisfied until you understand the meme words, let’s proceed.
A semester of HLS: an internship report by Berk Özkütük
Historically, tooling hasn’t been the strongest aspect of the Haskell ecosystem. However, it has come a long way. A major contribution from the last few years is the Haskell Language Server (HLS).
A take on log messages by Magnus Therning
It did give me some ideas of how to structure my current rather simple, but very awkward to use, current loggging code. This is what I came up with, and after using it in a handful services I find it kind of nice to work with.
ghc-syntax-highlighterwith Hakyll by Vaibhav Sagar
In 2018, Mark Karpov announced
ghc-syntax-highlighter, a project which uses GHC’s own lexer to tokenise Haskell source code for the best possible syntax highlighting. I thought this was extremely cool, and really wanted to use it for this blog.
Using Sidenotes with Hakyll by Tony Zorman
In this post, I’d like to explain an alternative approach of integrating sidenotes into pandoc, which does enable the use of these features.
Trying to hire a Haskell developer? You should advertise with us!
Advent of Code: Fetching Puzzle Input using the API by Monday Morning Haskell
When solving Advent of Code problems, my first step is always to access the full puzzle input and copy it into a file on my local system. This doesn’t actually take very long, but it’s still fun to see how we can automate it!
GHC DevX Update 2023-01-26 by IOG
This is the second biweekly update of the IOG GHC DevX team.
Haskell Foundation DevOps Weekly Update, 2023-02-01 by Bryan Richter
After switching away from notarization, I took care of a few loose ends, and then I went back to characterizing spurious failures.
GHC WebAssembly Weekly Update, 2023-02-01 by Cheng Shao
There aren’t interesting test suite failures that only fail for the wasm native codegen anymore, so it’s fair to say the wasm NCG has reached the same level of robustness as the unregisterised codegen, while being much faster at compile-time.
Monthly Hask Anything (February 2023)
This is your opportunity to ask any questions you feel don’t deserve their own threads, no matter how small or simple they might be!
Production Haskell by Matt Parsons
Are you excited about Haskell, but don’t know where to begin? Are you thrilled by the technical advantages, but worried about the unknown pitfalls? This book has you covered.
Show & tell
hasql-listen-notify by Mitchell Rosen
We’ve put together a small addition to the
hasql-listen-notify. Users may be already familiar with
hasql-notifications, the first library in the
hasqlecosystem to provide asynchronous notification support.
Swarm is a 2D terminal programming game with its own language based on polymorphic lambda calculus.