Issue 351 2023-01-19
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.
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
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.
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.
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.
Trying to hire a Haskell developer? You should advertise with us!
MonadAccuminstance by Felix Springer
Transformers provides a monad transformer
AccumT. Mtl provides a type class
MonadAccum. There should be an
instance (Monoid w, Monad m) => MonadAccum w (AccumT w m), but this is not the case.
Cabal package macros (
MIN_VERSION_xyz) by Shayne Fletcher
This macro is a compile time predicate. Use to test the
hlintconfigured package version is at least
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