Some background
If you don’t already know what Haskell or Hakyll is, here’s a tl;dr. Haskell is a statically typed functional programming language (don’t worry, I will also explain what that is) designed to be fast, declarative, and predictable1. Hakyll is a Static Site Generator (SSG) library built and composed by the user through Haskell code with support for many types of documents (this one is written in markdown) that get converted via Pandoc.
- Functional Programming
- “a programming paradigm where programs are constructed by applying and composing functions. It is a declarative programming paradigm in which function definitions are trees of expressions that map values to other values, rather than a sequence of imperative statements which update the running state of the program.”2
What this means in a more general and understandable sense (based on my limited knowledge of the subject) is that pretty much everything is a function and these functions can be executed in roughly any order as Haskell has built-in dependency tracing and management which is pretty neat (don’t quote me on that, or ask what a monad or functor are).
User experience (at least for me)
As a beginner (I didn’t even know about Haskell until I started using Hakyll like 3 days ago), I will say that objectively, Hakyll has some nice abstractions and built-in functions on top (as a library should). For syntax, I’m too new to the subject to really say as it all looks alien and overwhelming to me at the moment, but over time that will change like every other language….
Now to the real reason I’m writing this post: Why are all the Hakyll tutorials so F-ing out of date!? I don’t mean by a month, or 6 months, or even a year…. Most of them (at least the ones linked on the official Hakyll page) are almost all over (or close to) a decade old! That’s like a million years in the tech world WTF. take for example today, I have been trying to implement tags for the posts for over 6 hours at the point of giving up and writing this. The newest tutorial in the official Hakyll page I could find was from 2018 (well out of date), yes I know this is simply a skill issue from me not knowing Haskell and not reading the Hakyll docs. However as a library, Hakyll should have better (and functional) examples available… or maybe I just messed up hugely and am big stupid who knows. Regardless, at least for me, the user experience of adding anything new to Hakyll has been a nightmare so far but hopefully that changes as I learn more about both Haskell and Hakyll. Rant over.
Conclusion
If you made it this far, thank you for reading! I kind of hate that my first post is a rant but this is something I needed to get out otherwise I would be seething in it for weeks. I will probably make a post explaining how to add the tags (or whatever other features cough cough rss cough cough i want to add) once I figure out how to do that, so that theres something out there thats not a million years old. Expect more technical focused posts in the future… and maybe book reviews?? I got back into reading so who knows.