Tagless-Final Style
Using my custom keyboard
I boot into NixOS
And then I start
XMonad,
A terminal, and Emacs
From my brain through the keyboard
Via Emacs to a file
I
love to create software
Using tagless-final style
Start the design with the types
Stub functions with
undefined
Enable some extensions
MultiParamTypeClasses
Deriving Eq
, Ord
, and
Show
And Semigroup
and
Monoid
Functor
and
Applicative
Alternative
and
Monad
From my brain through the keyboard
Via Emacs to a file
I
love to create software
Using tagless-final style
Using base
, bytestring
, and
text
transformers
, not
mtl
directory
, filepath
,
time
deepseq
, async
,
stm
process
, network
, warp
,
servant
barbies
, containers
,
vector
aeson
, lens
, and
cryptonite
Test with QuickCheck
,
HUnit
From my brain through the keyboard
Via Emacs to a file
I
love to create software
Using tagless-final style
New buffer, module Main where
main :: IO ()
Write a CLI parser
With
optparse-applicative
git add
, git commit
,
git push
Keep an eye on the CI
And when all the
tests have passed
It’s time to add to Hackage
From my brain through the keyboard
Via Emacs to a file
I
love to create software
Using tagless-final style
Versions
Notes
- I created this song for good friend Tal Walter, who is into keyboards, Emacs, and Haskell.
- I first tried creating lyrics using a variety of proprietary and local LLM models, but I was unhappy with all of the results and wrote the above lyrics myself. They are written for a friend, but any misrepresentations are my own fault.
- The lyrics, © 2024 by Travis Cardwell, are licensed under CC BY 4.0. Feel free to distribute, remix, adapt, and build upon the material in any medium or format, even for commercial purposes, as long as credit/attribution is given.
- The audio for all versions is created and owned by Suno Inc. It may be used for non-commercial purposes, subject to compliance with the Suno Terms of Service.