Issue 274 2021-07-29
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.
Static analysis using Haskell and Datalog by Luc Tielen
In today’s post, I will give a step-by-step tutorial how you can write sophisticated analyses in Soufflé Datalog controlled by Haskell using the souffle-haskell library.
Bridging a typed and an untyped world by Christoph Hermann
Most recently: we were trying to bridge the gap between Haskell and Redis. Here we’ll discuss two iterations of our Redis library for Haskell, nri-redis.
Composable Data Validation with Haskell by Ben Levy & Christian Charukiewicz
In order to meet the above requirements, we decided to write a small embedded domain-specific language (eDSL) to enable writing declarative validation rules. This article will show a simplified version of the actual language being used in production.
Haskell - The Most Gentle Introduction Ever by Mateusz Podlasin
IDE support when working on GHC by Ben Gamari
Here are some notes for how I configure Neovim,
clangdfor an IDE-like experience when working on GHC.
Ode to a Streaming ByteString by Patrick Thomson
Or: Lazy I/O without Shooting Yourself in the Foot
foldr'from containers by Marcin Szamotulski
This blog post will present Haskell’s evaluation order based on an interesting issue I discovered in
foldr'. As a result of this investigation, the original implementation was altered.
Summer of HLS by Fendor
The project consists of three sub-goals: Bringing HLS/GHCIDE up-to-speed with recent GHC developments, improving the very delicate and important loading logic of GHCIDE, and bringing a proper interface to cabal and stack to query for build information required by an IDE.
In this post we will look at row types and anonymous records. PureScript has them and Haskell doesn’t, so we have to do something.
Towards system profiler support for GHC by Andreas Klebinger
In this blog post we discuss how we could adapt GHC’s register assignment to make
perfusable on Haskell code, what benefits we could gain from this functionality, as well as the trade-offs associated with the change.
Trying to hire a Haskell developer? You should advertise with us!
Cheap interpreter, part 6: faster stack machines by Gary Verhaegen
Hopefully this post, where I show how to make that stack machine interpreter a bit faster, justifies the inclusion of stack machines in this series.
Convert Cabal-based projects to Bazel automatically by Facundo Domínguez & Andreas Herrmann
If you have a large Haskell code base, organized in multiple Cabal packages, with many system dependencies, and which takes very long to build, then this post is for you. We describe herein gazelle_cabal, a new tool that generates Haskell rules to build with the Bazel build tool.
foralls in Data Types by Brandon Chinn
This post contains a quick guide to using
forallin a data type.
haskell.social by Luke Hoersten
Welcome to haskell.social, a constellation of haskell-adjacent, social fediverse nodes.
Pufferfish, please scale the site! by No Red Ink
To facilitate easy refactoring, we built this new service in Haskell. The effect was immediately noticeable.
Seeking a Project Lead for Matchmaker by Andrew Boardman
Matchmaker is a project of the Haskell Foundation to help open-source maintainers and contributors find each other, and provide a smoother experience for people wishing to invest themselves in the open-source Haskell ecosystem.
Show & tell
Functional Design and Architecture: Second Edition by Alexander Granin
I’m thrilled to announce the next era of my book Functional Design and Architecture! It’s getting the second edition at Manning Publications, and we’ve already launched the MEAP program.
ghcup version 0.1.16.1 by Julian Ospald
postgresql-resilient by Gabriel Volpe
Automatic reconnection support for PostgreSQL, built on top of postgresql-simple.