Issue 331 2022-09-01
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.
Building Haskell for Omni OS by James Hobson
Instead of blowing the dust of a really old solaris build of GHC and building newer and newer versions, the easiest way to bring haskell to a new platform is to cross compile.
Cognitive Loads in Programming by Robert Peszek
This long post presents programming in a different light than what is commonly considered. We will look at cognitive aspects of interacting with code.
Dijkstra with Type Families by Monday Morning Haskell
This is a perfectly valid implementation, but I wanted to go one step further and try out a different approach to generalization.
Haskell in Production: Mercury by Gints Dreimanis
Our today’s guest is Max Tagher. He’s the co-founder and CTO of Mercury, a company that provides banking products to startups. Read further to learn where Mercury uses Haskell, why they chose it, and what they like about it.
How to make a Haskell program 5x faster with 16 lines of code (video) by Alexis King
In this video, she presents “one example of optimizing a Haskell program in some particular way that really focuses on a particular approach — which, in this particular example, is going to involve looking at GHC core.”
Incrementally package a Haskell program using Nix by Gabriella Gonzalez
This post walks through how to take a standalone Haskell file and progressively package the file using Nix. In other words, we will tour a spectrum of packaging options ranging from simple to fancy.
Types for top-level definitions by Brent Yorgey
I’ve come up with idea for a type system for first-class (global) definitions, which can serve as a very lightweight alternative to a proper module system.
Trying to hire a Haskell developer? You should advertise with us!
Show & tell
aeson-dependent-sum by Jack Kelly
These wrappers are helpful when parsing JSON objects where certain keys determine the type of the deserialised value.
hegg by Rodrigo Mesquita
hegg stands for haskell e-graphs good, and it’s a library featuring e-graphs (a data structure that efficiently represents a congruence relation over many expressions) and a high level API for equality saturation (an optimization/term-rewriting technique).
I wanted to use an ECS system in Haskell and I have found
ecstasy. However, both seem to use
IntMapfor storing component data, so I figured that performance could not be all that great.
IHP version 0.20 by Marc Scholten
A new IHP release, containing bug fixes and productivity improvements to existing features.
purescript-backend-optimizer by Arista Networks
An optimizing backend toolkit and modern ECMASCript backend for PureScript.