Blog

Haskell, GTK4 and Hashi

My experiments with Haskell and GTK4 were heading towards something concrete, namely a GUI for a solver of Hashi puzzles. I had previously found Harald Bögeholz’s 2013 [open-source solver](https://github.com/ctbo/hashi) and forked it to create a command line application. hashi-solver.exe With a GUI application, it is perhaps easiest to start the journey with the destination: The […]

Haskell, GTK4 and pictures on the fly

As part of my further experiments with GTK4 and Haskell, I wanted to vary gtk-picture by creating the Picture programatically. I named the alternative gtk-dynamic-picture. Diagrams I created the picture using the Diagrams project. I looked at various backends that support that project: Ultimately, given the pixel format of a Pixbuf value (R G B […]

Haskell, GTK4 and application icons

On Windows 11, in File Explorer, gtk-picture.exe has Windows’ default icon for an executable file and GTK4’s default icon in the task bar when running: I wanted to customise these icons. Also, I wanted a similar icon to appear in the application’s window’s header bar, to the left. *.res file The icon can be set […]

Haskell, GTK4 and pictures

As part of my experiments with GTK4 and Haskell, I sought an application with a picture which would report on the co-ordinates if clicked on with a mouse. For my example image, I took the Flammarion wood engraving. gtk-picture With Stack, I created a new single-package project gtk-picture with Main.hs: and package.yaml (extract): and Stack […]

Haskell and GUI revisited

It had been over two years since I last looked at them, but I returned to Haskell, GUI and GTK4 on Windows. This time, things were more straightforward. To set things up again, I added the following MSYS2 packages to the Stack-supplied MSYS2 with stack exec — pacman -S: and set PKG_CONFIG_PATH to the mingw64\lib\pkgconfig […]

static-bytes and endianess

The Haskell package static-bytes was spun out of the pantry package. Ilias Tsitsimpis reported that static-bytes-0.1.0 did not work as intended on big-endian machine architectures, specifically IBM’s s390x. A big-endian architecture stores the most significant byte of a multi-byte word at the lowest memory address. A little-endian architecture does the opposite. x86_64 is little-endian and […]

eventlog2html and ghc-debug

On 1 December 2022, members of Well-Typed provided a video guide to profiling memory usage of Haskell applications with tools eventlog2html and ghc-debug. I wondered if they would work on Windows 11. Building eventlog2html I could build the executable provided by package eventlog2html-0.11.0 with a project level configuration file: Update: Package eventlog2html-0.11.1, released 17 August […]

The economics of Haskell

I was interested in the economics of the Haskell programming language. I thought I would start by understanding better Haskell consultancies. (Updated in January 2026.) Haskell consultancies I am aware of the following consultancies that draw attention to their use of Haskell (in alphabetical order). In addition, there are individual people who offer to consult. […]

Internal storage

I had shifted Haskell onto 1 TB of external storage, but my Dell XPS 13 9360’s 220 GB SSD was still nearly full to bursting. Emboldened by replacing the laptop’s battery, I looked to replace the SSD. It turned out to be straightforward. Storage Dell’s Setup and Specifications referred to ‘up to 1 TB PCIe/NVMe […]