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: Ultimately, given the pixel format of a Pixbuf value (R G B A), I used diagrams-rasterific […]
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. 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. The Haskell.org wiki has […]
OverloadedRecordDot in GHC
GHC’s OverloadedRecordDot language extension provides a dot (.) syntax to refer to the field of a record expression. I was interested in the history of that development. History Key events in the history are:
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 […]
Recharging batteries
My Dell XPS 13 9360 laptop will be seven this September. Recently, Dell Power Manager began alerting me that its battery could no longer provide sufficient power to the system and needed to be replaced. So, I set about doing that. Guidance I found two helpful videos, one by Yu Felix from May 2022 and […]