Issue 158

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

  • Benchmarks of various trie implementations by Marco Zocca

    While studying various approaches to prefix trees (“tries”), I wrote a small memory and time benchmark of four implementations.

  • Build a HTTP Proxy in Haskell on AWS Lambda by Chris Bacon

    This is just a quick one to put some Haskell code on AWS Lambda, and what’s better than a good-old HTTP Proxy?

  • co-log logging library with polysemy for extensible effects and chronos for fast time by Kowainik

    We are thrilled to share the new release of our multipackage logging library co-log!

  • Discovering DataKinds at Runtime by Travis Whitaker

    Something almost universal to introductions to “type-level programming” in Haskell is an example involving sized vectors.

  • Drawing foldl and foldr by Joachim Breitner

    Often, someone wants to exhaling the difference between a left-fold and a right-fold, i.e. foldl and foldr in Haskell, you see a picture.

  • Haskell monads and the nest of lies by John Sullivan

    The IO monad in Haskell works by assuming our universe is in a simulation and that your tiny computer can capture the entire state of the universe and play it forwards in real time.

  • Higher Kinded Option Parsing by Chris Penner

    Higher Kinded Data Types (HKDTs) have piqued my interest lately. They seem to have a lot of potential applications, however the ergonomics still aren’t so great in most of these cases.

  • Purity in Haskell by Marco Sampellegrini

    Purity is not about preventing side effects, it’s about having a clear boundary between code with side effects and pure code.

  • Some Tricks for List Manipulation by Donnacha Oisín Kidney

    This post is a collection of some of the tricks I’ve learned for manipulating lists in Haskell. Each one starts with a puzzle: you should try the puzzle yourself before seeing the solution!

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.

  • Mercury is hiring a Haskell engineer (Full-time/SF/US Remote) (ad)

    Mercury is a bank for businesses. Founded in 2017, Mercury is growing rapidly and is hiring an additional two full-time engineers. Join a small team writing a backend in 100% Haskell, using Nix for deployment, and using Typescript/React on the frontend.

  • Wire is hiring again: a DevOps + Haskell position [Berlin]

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

In brief

Package of the week

This week’s package of the week is Haze, a small BitTorrent client for learning purposes.

Call for participation

Events

North America

Europe

Oceania

Africa

South America