Haskell Weekly

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’s MonadAccum instance 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 hlint configured package version is at least x.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

Call for participation