Haskell Weekly

Newsletter

Issue 432 2024-08-08

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

  • Abusing Haskell: Executable Blog Posts by Sinan

    I post my notes on my blog, Hashnode and dev.to, which require slightly different markdown formats. I have been doing the sane thing to fix formats so far. But it is a rainy Sunday and I am bored, so I decided to make this blog post an executable Haskell program to do the same.

  • Episode 54 – Dominic Orchard by The Haskell Interlude

    In this episode, Wouter and Sam interview Dominic Orchard. Dominic has many roles, including: senior lecturer at the University of Kent, co-director of the Institute of Computing for Climate Science, and bye-fellow of Queen’s College in Cambridge. We will not only discuss his work on Granule - graded monads, coeffects, and linear types - but also his collaboration with actual scientists to improve the languages with which they work.

  • Introduction to typed-session by Miao Yang

    Typed sessions are used to ensure desirable properties in concurrent and distributed systems, i.e. absence of communication errors or deadlocks, and protocol conformance.

  • Parallel property-based testing with a deterministic thread scheduler by Stevan

    This post is about how to write tests that can catch race conditions in a reproducible way. The approach is programming language agnostic, and should work in most languages that have a decent multi-threaded story. It’s a white-box testing approach, meaning you will have to modify the software under test.

  • Skeletest - A new batteries-included, opinionated test framework by Brandon Chinn

    I’m excited to announce the first release of a test framework I’ve been musing about for over a year! Skeletest takes inspiration from pytest and jest, two test frameworks that IMO are some of the best test frameworks out there. Skeletest is batteries-included and opinionated, but it’s also extendable and hookable.

  • The Quest to Completely Eradicate String Awkwardness by Flame Wanes

    I have been recently reminded of this thread: Informal discussion about the progression of base. These are some of the most awkward parts when it comes to handling strings in Haskell right now: Show, String vs Text, OverloadedStrings, and string interpolation.

  • -XMultilineStrings merged! by Brandon Chinn

    !12089: Implement multiline strings · Merge requests · Glasgow Haskell Compiler / GHC · GitLab 449 just merged, which adds multiline string support to Haskell! Not only does it add support for multiline strings, it also refactors string literal parsing that improves both compile-time performance + memory usage by 25%!

Jobs

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

In brief

  • homodoro: a simple pomodoro TUI program by Leonardo Conrado

    A very simple terminal application to use the pomodoro technique and keep track of daily tasks.

  • hs-opentelemetry-instrumentation-servant by Domen Kožar

    Experimental WAI middleware to instrument OpenTelemetry spans with Servant routing information.

  • Monthly DevOps Logs by Bryan Richter

    My first month on the new schedule started with a bang, as an OpenSSH vulnerability demanded upgrades of every Linux system everywhere.

  • Packdeps needs new hosting by Janus Troelsen

    I just noticed that packdeps.haskellers.com is no longer available. It used to be a site where you could explore reverse dependencies of Hackage packages.

Show & tell

  • Hexdim: A simple CPU in Haskell-Clash by loopmempool

    Hexdim is a 8-bit CPU with 16 instructions. Despite its simple instruction set, it is implemented with a 3-stage pipeline structure. One of the main features is that the project is both an emulator and a hardware description at the same time, which allows most of the debugging and testing to be done at software level.

  • mockcat: A simple and flexible mock for test by funnycat

    mockcat provides capabilities for generating stub functions and verifying them.

  • Ray Tracing in One Weekend by dpwiz

    There are some post hoc notes I’ve written down if you’re interested in reading a stream of grumpy remarks (with pictures of the intermediate steps!).

Call for participation