Functional Programmer Lingo in Verse

I recently gave a talk about some of the terms commonly used by functional programmers, entitled Coder Decoder: Functional Programmer Lingo Explained, with Pictures.

As part of my preparation I pulled together a list of lingo and found it started to sound a bit like a rhyme. I ended up rearranging the phrases into a poem, and adding a few more to fill the gaps – perhaps I had a little too much time on my hands on the plane ride to the conference.

I performed the poem as part of my presentation and a few people have since asked me for a copy, so here it is. Enjoy!

Lingo of Lambda Land

Comonads, currying, compose, and closures
This is the language of functional coders
Equational reasoning, tail recursion
Lambdas and lenses and effect aversion
Referential transparency and pure functions
Pattern matching for ADT deconstructions
Functors, folds, functions that are first class
Monoids and monads, it's all in the type class
Infinite lists, so long as they're lazy
Return an Option or just call it Maybe
Polymorphism and those higher kinds
Monad transformers, return and bind
Catamorphisms, like from Category Theory
You could use an Either type for your query
Arrows, applicatives, continuations
IO actions and partial applications
Higher-order functions and dependent types
Bijection and bottom, in a way that's polite
Programming of a much higher order
Can be found just around the jargon corner