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 […]
Wheels within wheels
I wanted to use Linux on AArch64 (also known as ARM64), to investigate building a statically-linked Stack executable for that platform. I had a Mac mini M1, 2020 – the M1 chip implements AArch64. So, I investigated virtual machines (VM). I had prior experience of using Linux on x86_64 via WSL 2 on Windows. UTM […]
External storage
My laptop is a Dell XPS 13 9360. I was pleased with it when it arrived in September 2017, and still am. Six years ago, I thought its 220 GB SSD would be plenty. Now, despite the cloud, that drive was often almost full, in part tested by Haskell’s requirements. I turned to an external […]
The website implodes
I updated this website to PHP 8.0.13 and WordPress 6.3.1, and it fell over with “There Has Been a Critical Error on Your Website”. Rolling back to WordPress 6.1.3 did not help. Debug In wp-config.php, I changed (temporarily): to: That sees logging in debug.log in directory wp-content. Diagnose The log reported: The documentation for implode […]
Haskell and concurrency
Stack can perform actions during building concurrently. I wanted to understand how it acheived that. IORef As a preliminary, Haskell provides for mutable references, in the IO monad. For example, the code below makes use of the mutable variable (of type IORef Int) created by action newIORef :: a -> IO (IORef a): The action […]
Haskell and GUI
I saw an introduction to GUI programming in Haskell by Vladislav Zavialov. In his video, he referred to Unix-like operating systems but not Windows. I wanted to reproduce his example on Windows. As is often the case, it was not straightforward. A test project I created a new project gtkTest using stack new gtkTest and […]
Stack and options
The Haskell Tool Stack’s stack command can run a Haskell source file as a script, making use of a Stack interpreter options comment at the start of the file. Stack’s stack script command can also run a script file, but it ignores any interpreter options comment – all Stack flags and arguments must be specified […]