Or: how to write a functional program with IO, mutation, and other effects.
Functional programming is all well and good for mapping over lists, generating the fibonacci numbers, and writing an inefficient version of quicksort, but what about the "programmers in the trenches"? You know, the ones creating CRUD applications, writing to databases, reading from files, and building GUIs with event listeners. Don't these situations require tossing out all that theoretical FP mumbo-jumbo and writing some good ol' fashioned imperative code? In this talk I'll show that FP has a lot to say about how to write and structure useful programs that perform arbitrary effects.