Incidentally for machines

A Shakespearean Love Sonnet to Functional Programming

Steve Krouse
1 min readNov 27, 2015

To put one’s thinking into words isn’t tough.

While thoughts unwieldy, words are quite complex.

A thought in prose is just about as rough

As in the noodly mess above our necks.

Yet every word of-a sonnet’s perfectly planned

And none forsaken for its synonym.

Thus its own writer can’t misunderstand,

As-a coder knows an algorithm he’s written.

Dear Scheme doth send my head recursing round

To clarify my own quite messy views.

A Erlanger’s blessed with self-understanding,

The side effect even imperatives can’t do.

We all know scripting in Haskell’s perverse,

But then, no poet emails in blank verse.



Steve Krouse

Enabling computational thinking by building tools for thought at Co-creator of and