Newsletter
Issue 244 2020-12-31
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
-
Glasgow Haskell Compiler 9.0.1-rc1 now available! by Ben Gamari
The GHC team is very pleased to announce the availability of the first release candidate of GHC 9.0.1 series.
-
Advent of Code 2020: Haskell Solution Reflections for all 25 Days by Justin Le
Speaking of Haskell, I usually do a write-up for every day I can get around to about unique insights that solving in Haskell can provide to each different puzzle.
-
Ephemeral Purely Functional Data Structure and Linear Type by Kazuki Okamoto
This queue has a constraint that you can operate just once for each value because of its computational complexity. The theme of this article is that linear types can save this constraint.
-
(Haskell in Haskell) 3. Parsing by Lúcás Meier
In this post, we’ll go over creating a parser for our subset of Haskell. This stage of the compiler is responsible for taking the tokens that our lexer produced in the previous part.
-
Haskell type-level functions shenanigans by Antoine Leblanc
Looking into it, I found several possible implementations, that relied on parts of the language I wasn’t very familiar with. I thought it’d be interesting to go over them, and highlight why each extension is required, step by step.
-
Learn just enough about linear types by Artyom Kazak
After reading this post, you will be able to answer some immediate questions about them, and explain some of the gotchas — thus becoming the go-to linear types person at your $dayjob (unless you work at Tweag).
-
Monad Transformers and Effects with Backpack by Ollie Charles
In this post, I want to show how we can use Backpack to give us the performance benefits of explicit transformers, but without having library code commit to any specific stack.
-
StateT vs IORef: a benchmark by Roman Cheplyaka
Intuitively, IORefs are dedicated heap objects, while a StateT transformer’s state becomes “just” a local variable, so StateT might optimize better.
Jobs
Trying to hire a Haskell developer? You should advertise with us!
In brief
-
Algebra-Driven Design by Sandy Maguire
Get it right, get it working, and then get it fast. And have the computer do most of the work for you.
-
Countdown to 2021! by Monday Morning Haskell
As I always do, I’ll sign off the year with a review of the different concepts we’ve looked at this year, and give a preview of what to expect in 2021.
-
Haskell doesn’t have macros by Chris Done
I wanted to underscore a specific point about Haskell’s metaprogramming capabilities. It doesn’t have a macro system, the kind that Lispers love.
-
Is it Try.do that is dangerous? by Chris Done
I wrote the post Try.do for recoverable errors in Haskell and someone has written a nice response post proposing that this pattern is actually dangerous.
-
Learnings From Solving Advent Of Code 2020 In Haskell by Abhinav Sarkar
After many years of trying unsuccessfully, I finally completed all 25 days of the Advent of Code 2020 in Haskell.
-
New Haskell Foundation to Foster Haskell Adoption, Raises $200,000 USD by Bruno Couriol
The foundation, which already gathered $200,000 in funding from corporate sponsors, will add a board of directors and an executive director that will set the technical agenda and priorities for the language.
-
Postmortem of outage on 20th December by Cachix
I recently upgraded to GHC 8.10.3 together with a switch to non-moving GC and bumped to recent Stackage nightly. The bug could be just anywhere in the Haskell software stack, as I haven’t seen this before.
-
Search! by Type Classes
We’ve added a search page to help you find what you’re looking for on Type Classes.
-
This post is a response to Try.do for recoverable errors in Haskell. I’ll describe why I believe it’s a bad idea to do what the post suggests.
-
Working with Dates in IHP and Haskell by Zac Wood
In the IHP web framework, columns with the Postgres “Date” type are translated into Haskell as the Day type.
Show & tell
-
Parochial by Richard Heycock
Parochial helps manage local documentation by creating an index of a project’s html, it also builds a hoogle index.
-
Quad CI by Marco Sampellegrini
Quad CI is a simple, tiny and beginner friendly Continuous Integration system written in Haskell.
-
quote-quot by Andrew Lelechenko
Generate routines for integer division, employing arithmetic and bitwise operations only, which are 2.5x-3.5x faster than
quot
. -
skyrim-alchemy by Timofey Peshin
I was away from my console for a while and decided to “play” Skyrim by writing a tool to help me discover ingredient effects.
-
sydtest by Tom Sydney Kerckhove
An advanced modern testing framework for Haskell with good defaults and advanced testing features.