Newsletter
Issue 440 2024-10-03
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
-
What’s trending in the developer world? Take part in the new Developer Nation survey, get free access to our Virtual Goody Bag and you’ll enter amazing prize draws. Among the prizes you can find a Samsung Galaxy Watch 7, a Portable Projector, a RODE NT-USB Mini Microphone, Raspberry Pi 5s, a 12-month Mullvad VPN licence, Gift Cards, and many more.
-
Episode 56 – Satnam Singh by The Haskell Interlude
Today on the Haskell Interlude, Matti and Sam are joined by Satnam Singh. Satnam has been a lecturer at Glasgow, and Software Engineer at Google, Meta, and now Groq. He talks about convincing people to use Haskell, laying out circuits, why community matters, and why you should not be afraid to lose your job!
-
Queenside Castling on Cardano: Bitwise Operations for Better Solutions and Improved Plutus Scripts by Koz Ross
In this article, we will describe two solutions to the n-queens problem, both using operations over a bit-oriented structure. Our first solution will be intuitive, while our second will demonstrate how we can improve on our first attempt, both in theory and in practice.
-
Static-ls v1.0 announcement by Joseph Sumabat
Mercury is pleased to announce the v1.0 release of our own internal language server implementation for Haskell. The goal of
static-ls
is to provide a high-speed, low-memory language server for enterprise-sized projects. -
The Haskell Unfolder Episode 33: diagrams by Andres Löh, Edsko de Vries
In this episode, we will look at the “diagrams” package, which provides a domain-specific language embedded into Haskell for describing all sorts of pictures and visualisations. Concretely, we will try to visualise the game tree of tic-tac-toe that we computed in Episode 32. However, this episode is understandable without having watched the previous episode, and should also be suitable for beginners.
-
Total Denotational Semantics by Sebastian Graf
Denotational semantics assign meaning to a program (e.g., in untyped lambda calculus) by mapping the program into a self-contained domain model in some meta language (e.g., Scott domains). Traditionally, what is complicated about denotational semantics is not so much the function that defines them; rather it is to find a sound mathematical definition of the semantic domain, and a general methodology of doing so that scales to recursive types and hence general recursion, global mutable state, exceptions and concurrency. In this post, I discuss a related issue: I argue that traditional Scott/Strachey denotational semantics are partial (in a precise sense). After exemplifying the problem, I will discuss total denotational semantics as a viable alternative, and how to define one using guarded recursion.
Jobs
Trying to hire a Haskell developer? You should advertise with us!
In brief
-
How to get the String out of the IO String in Haskell by Tom Sydney Kerckhove
Answer: With
<-
. -
How to Statically-link Haskell Binaries using Nix by Dennis Gosnell
I put together an example repository showing how to statically-link x86-64 Linux Haskell binaries using Nix. Check out the README in the repo for more information.
Show & tell
-
Dealing with repeated transformers in a transformer stack using ‘dependent types’ by Void
-
Minion: experimental HTTP router by Danil Berestov