I wrote some words recently on monads in C. These are not particularly clever words, and implementing monads in C isn’t a particularly clever idea, but they’re my words, and it’s my idea, and I don’t wish it to vanish into the aether.

I considered, and rejected, using some service like medium.com. I don’t quite know why, maybe it wasn’t interesting enough as an approach. I tried, briefly, using Github Pages, then Jekyll stand-alone, but was dissatisfied with the Ruby underpinnings of Jekyll. Then, like a ray of sunshine on a cloudy day …

Hakyll

… Hakyll appeared. Haskell-based static site generation. It’s like Jekyll, but without the irritating idiom of doing everything implicitly. And with support for literate haskell as a document input type, which I am sure may come in handy.

Perhaps more later on the specifics.

Clay

Applying some style (I use the word only in its CSS technical sense) to the site took me to Clay. CSS authoring with strict typing, and a chance to experience a bit more of Haskell-backed EDSLs, their uses, and their drawbacks.

See the syntax highlighting library file, also a literate Haskell document rendered using Hakyll as a page, for how this looks.

Docker

And of course, putting all this into Docker, continuing my recent decision to keep my hosting box more or less just a base OS install, obviating the need for OS-level backups. Any old base image will do, as long as it runs dockerd.