Newsletter
Issue 351 2023-01-19
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
-
Competitive programming in Haskell: Infinite 2D array, Levels 2 and 3 by Brent Yorgey
In a previous post, I challenged you to solve Infinite 2D Array using Haskell.
-
Composing instances using deriving via by Magnus Therning
Today I watched the very good, and short, video from Tweag on how to Avoid boilerplate instances with
-XDerivingVia
. -
Concurrent state machine testing with linearisability by Stevan Andjelkovic
Below we will show how the same state machine specification that we already developed previously can be used to check if a concurrent execution is correct using a technique called linearisability checking.
-
FOOL’s errand: let’s build a real FP language from scratch (in Haskell) by Anton Antich
This is the first article in a series describing the creation of FOOL3: “functional object-oriented low-level language” — a functional programming language with a powerful type system.
-
GHC 9.6.1-alpha1 is now available by Ben Gamari
The GHC team is very pleased to announce the availability of GHC 9.6.1-alpha1. This is the first alpha release in the 9.6 series which will bring a number of exciting features.
-
Haskell Guide by Reuben Cohn-Gordon
Since there are quite a lot of attempts to write Haskell introductory material, with varying levels of success (and some understandable scepticism), I’ve included some notes about why I think this guide is a Good Idea.
-
Making Haskell lenses less pointless by Jules Hedges
For reasons that are brutally obvious to anyone who’s ever programmed with open games, it’s a hard requirement to have a syntax based on name-binding: working with point-free combinators is not humanly possible at this scale.
-
Parallel streaming in Haskell: Part 3 - A parallel work consumer by Channable
We will discuss how we can execute work in parallel and look at the internals of Conduit to do this efficiently. For a good understanding it helps if you have a bit of hands-on experience with the Conduit library.
-
Relational Parsing, part 0, recognizer by Henri Tuhola
Examining relational parsing, a new general context-free parsing algorithm.
-
What I love about the Haskell community by Simon Peyton Jones
Today, January 18th, is my 65th birthday. I am almost exactly twice as old as Haskell – the Haskell 1.0 report came out in April 1990.
Jobs
Trying to hire a Haskell developer? You should advertise with us!
In brief
-
AccumT
’sMonadAccum
instance by Felix SpringerTransformers provides a monad transformer
AccumT
. Mtl provides a type classMonadAccum
. There should be aninstance (Monoid w, Monad m) => MonadAccum w (AccumT w m)
, but this is not the case. -
Cabal package macros (
MIN_VERSION_xyz
) by Shayne FletcherThis macro is a compile time predicate. Use to test the
hlint
configured package version is at leastx.y.z
. -
Episode 20: Jesper Cockx by The Haskell Interlude
In this episode Jesper Cockx, one of the main Agda developers, is interviews by Niki Vazou and Matthias Pall.
-
GHC+DH Weekly Update #4, 2023-01-18 by Vladislav Zavialov
Hi all, you are reading the fourth weekly report on the implementation of dependent types in GHC.
-
GHC Medium-Term Priorities by David Christiansen
The GHC team asked me to help them gather input about their priorities for the next six months.
-
GHC WebAssembly Weekly Update, 2023-01-18 by Cheng Shao
-
GSoC 2023: Call for Ideas by Jasper Van der Jeugt
Google Summer of Code is a long-running program by Google that supports Open Source projects. Haskell has taken part in this program almost since it’s inception!
-
Writing Haskell with Chat GPT by Monday Morning Haskell
In our last couple of articles, we’ve asked Chat GPT a bunch of questions about Haskell and functional programming. Today we’re going to do one more exploration to see what kinds of Haskell code this chatbot can write.
Show & tell
-
bits-and-bobs by Stevan Andjelkovic
A Haskell library for working with binary data, inspired by Erlang’s bit syntax.
-
GHCup version 0.1.19.0 by Julian Ospald