Newsletter
Issue 136 2018-12-06
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
-
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.
-
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
andConcrete
types are all about, and why we needHTraversable
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.
-
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
- Building network actors with Enecuum Node Framework
- CFP: LambdaConf 2019
- Idris 2: Type-driven development of Idris
- Discussion about “Maybe Not” by Rich Hickey
- MIRI’s newest recruit: Edward Kmett!
- Monthly Hask Anything
- Programming Language Foundations in Agda
- Simplicity: High-assurance smart contracting
- Summoner 1.2.0: TUI and better scaffolding
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.