Haskell Weekly

Newsletter

Issue 212 2020-05-21

Subscribe now! We'll never send you spam. You can also follow us on Twitter or with 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

  • 30% Off - Optics By Example: The lenses book by Chris Penner (ad)

    Learn how optics allow you to write code that’s more composable, readable, and robust with this comprehensive guide. It’s packed with examples, exercises and insights covering everything you need to progress from beginner or hobbyist to optics master! Lenses, Traversals, Prisms and more!

  • Announcing password-2.0 by Dennis Gosnell

    The biggest improvement in 2.0 is the addition of a few new options for hashing algorithms, including Argon2, Bcrypt, and PBKDF2.

  • Error Messages in Haskell, and how to Improve them by Anthony Super

    The Haskell compiler gives you errors that are extremely informative—if you know the language. If you don’t know the language very well, the compiler errors can occasionally be opaque and unhelpful.

  • Functional Design and Architecture by Alexander Granin

    The book is focussing on many different design patterns, design principles and approaches, but the central role in it plays the approach I call Hierarchical Free Monads.

  • GHC Unproposals by Neil Mitchell

    Here are four short proposals that I won’t be raising, but think would be of benefit (if you raise a proposal for one of them, I’ll buy you a beer next time we are physically co-located).

  • How to define JSON instances quickly by Taylor Fausak

    Today I’m going to explore various methods for defining type class instances and their relative performance.

  • Implementing Clean Architecture with Haskell and Polysemy by Thomas Mahler

    This article shows how algebraic effect systems can be used to maintain a clear separation of concerns between different parts of software systems.

  • The state of GHC on ARM by Ben Gamari

    As I’ve had a few people ask about the state of GHC-on-ARM over the past few months, I thought now might be a good time to write some words on the state of things.

  • Trade-Offs in Type Safety by Marco Sampellegrini

    Fancy types have a cost. There are scenarios where exceptions are not as bad as one might think.

  • Weekly Update and Multiple Components by Fendor

    In this blog post I will first present the progress we made during the last week, what we have been working on, what has been implemented, and what has been fixed.

Jobs

  • Interos is Hiring Full Stack Haskell Software Engineers (ad)

    At Interos, we are disrupting the way Fortune 500 companies and government agencies identify and respond to risk within their supply chains. We deliver the data and insights to business leaders that help them identify, visualize and understand the ripple effects that could impact their supply chains, before they happen. Recently funded by Kleiner Perkins and pivoting to an automated solution, Interos is in essence, a start-up SaaS environment.

Trying to hire a Haskell developer? You should advertise with us!

In brief

Show & tell

  • fourmolu by Matt Parsons

    Everyone has Objective reasons for believing why they’re chosen indentation is correct, but the fact of the matter is that the people who believe in 2 space indentation are in word and deed lizard people who would rather be writing Ruby or Coffeescript than an Honest Person’s Working Language like Java or Python.

  • medea by Koz Ross

    A schema language for JSON document structure. It is similar to JSON Schema, but is designed to be simpler and more self-contained.

  • odd-jobs by Saurabh Nanda

    I’m pleased to (finally) announce the release of odd-jobs - a Haskell job queue, backed by a PostgreSQL table.

  • Relude version 0.7.0.0 by Kowainik

    GHC-8.10, Docs, New FUNctions and FUN

  • Todo Haskell Backend API by Brian Jones

    This git repository shows a method for laying out a Haskell web application based on how we do things at AlasConnect.

Call for participation