Issue 136

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

  • The Little Typer Interview by Adam Gordon Bell

    You can write more correct software and even rigorous mathematical proofs. Let’s learn about dependent types with Dan and David.

  • Monadic Party

    It is the second edition of a Haskell summer school in Poznań, Poland. This time we have three tracks and as usual great speakers. The CFP is open and we have a scholarship program for people from disadvantaged backgrounds.

  • Almost time by Julie Moronuki

    We are excited to announce that a new course, Timepieces, will be beginning next week. This course is going to be about building basically the same project, a native GUI clock app, with different libraries so we can compare them.

  • Building terminal user interfaces in Haskell by Robert Bobbett

    In this month’s webinar, Tom Sydney Kerckhove will demonstrate just how easy it is to get started with Terminal User Interfaces (TUIs). As a recap, TUIs are text-based user interfaces for use from a terminal.

  • Detecting the undetectable: Custom type errors for stuck type families by Csongor Kiss

    Anyone who has written or used one of these libraries will know that despite the authors’ best efforts, there are still many occasions where a wall of text jumps out, leaving us puzzled as to what went wrong.

  • Introduction to state machine testing: Part 3 by Andrew McMiddlin

    We’re going to look at why Hedgehog required our state and input types to be parameterized on a type constructor, what the Var, Symbolic and Concrete types are all about, and why we need HTraversable instances for our inputs.

  • Laziness quiz by Matt Parsons

    Do you understand laziness? It’s okay if you don’t. Most people don’t. It can be somewhat surprising when something actually gets evaluated in Haskell, even when you’re using bang patterns.

  • Lens by Example: Writing traversals by Chris Penner

    Most lens tutorials show you how to use and compose traversals, but most skim over how to write complex traversals. Let’s dive in!

  • Moving to GitLab by Ben Gamari

    A few weeks ago I wrote to this list proposing that we consider moving GHC’s development infrastructure to GitLab. While the original proposal provided a small test instance to play with, it wasn’t complete enough to use in earnest.

Jobs

  • Haskell Engineer at Mercury in San Francisco

    Mercury is a bank for tech startups. We’re building a product that will power the future of American industry. This turns out to be pretty ambitious for a team of eight, so we’re bringing one more product-minded engineer on board to help us achieve it.

  • Internship at Kiel University

    We’d be very happy to host a motivated student, who is keen to improve our compiler for the functional logic programming language Curry in terms of performance.

In brief

Package of the week

This week’s package of the week is nonempty-containers, a library that provides non-empty variants of containers data types.

Call for participation

Events

North America

Europe

Asia