Issue 244 2020-12-31
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.
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.
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.
Trying to hire a Haskell developer? You should advertise with us!
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.
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
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.