Issue 156

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

  • GHC 8.6.5 released by Ben Gamari

    The GHC team is proud to announce the release of GHC 8.6.5. This release fixes a handful of issues with 8.6.4.

  • Continuous improvement with hlint code smells by Ben Weitzman

    hlint is an amazing tool for catching all sorts of little Haskell code improvements, but it didn’t catch all of the issues I wanted it to. So I decided to extend hlint with the ability to detect certain code smells.

  • Demystifying folds with ghci by Ayman Nadeem

    Implementing folds can be tricky, brain-bending conquests in Haskell. This becomes all the more challenging in domains where associativity and strictness properties are less straightforward, such as when writing Template Haskell.

  • Rewriting functions with fold and reduce by Max Strübing

    How to use fold and reduce to rewrite any function that operates on lists.

  • Backwards Compatible Configuration with Constraint Kinds by Travis Whitaker

    A changing schema presents challenges at large scales in the form of database migrations or ETL, and anyone who has worked in data science has an idea of how much time this can consume.

  • Exploring Nix & Haskell Part 3: Less Nix, More Reflex by Christian Henry

    In this post we’ll start with a project based off reflex-project-skeleton and remove/add bits and pieces to it until we have a deployable application with a prescribed IDE experience and workflow.

  • Haskell Integer to English by Ben Wiener

    Inspired by a programming interview question I heard about, here’s some cute code I wrote for converting (positive) integers to words.

  • Type-Enforced Exponential Trees by Mitchell Vitez

    We’re going to attempt to make it impossible for anyone to construct an invalid tree with the tree type we come up with.

  • Stackage changes and Stack 2 by Michael Snoyman

    We’re ramping up for the Stack 2 release, which contains a number of changes.

  • Magical Monoids

    Recently something caught my eye while hacking on a Haskell project. Pay attention to the mempty in the code fragment below: … either mempty pure

Jobs

  • Galois is hiring for a variety of roles (ad)

    Including but not limited to: Software Engineers/Researchers, Project Managers, Hardware Engineers, Red Team Lead, Software Integration Engineer.

    We collaborate with organizations like NASA, DARPA, and AWS to explore blue sky ideas and turn them into usable technology. Some of the things we’ve worked on in the past: Formal methods, static analysis, cryptographic algorithms, abstract interpretation, type theory, formal verification, reinforcement learning, autonomous systems assurance, communication security, cyber-deception for network defense, DDoS defense, provable hardware security, and statistical anomaly detection for detecting advanced persistent threats. We think working here is awesome; see lifeatgalois.com.

  • Software Engineer at SimSpace in Boston

  • Haskell Developer at Interos in Arlington or Menlo Park

In brief

Package of the week

This week’s package of the week is ptGHCi, an interactive command shell for Haskell designed for high-productivity interactive coding. It is implemented as a wrapper around GHCi based on Python’s prompt-toolkit library and heavily inspired by IPython.

Call for participation

Events

North America

Europe

Asia

Oceania

South America