I went to college for philosophy and linguistics, and once believed I would spend my adult life doing morphological analysis of Native American languages, writing papers about generative syntax and verb valencies and the like, and tussling with other academics . Needing a vacation from graduate school, however, I moved to Japan to teach English for three years and discovered that my real passion is teaching. So I was intrigued when a person I met on Twitter wanted to experiment on me: the Haskell programming language is said to be difficult to learn and difficult to teach, and he wanted to teach me Haskell with the aim of eventually writing a book that would introduce Haskell so well that even someone with no prior programming experience – that’s me! – could learn it. Over time, that book became Haskell Programming from First Principles, and I was one of the two co-authors. Rather than become a Haskell developer, though, I’ve continued writing, speaking, and teaching the Haskell language at meetups and workshops around the world. I’m a co-founder of the Haskell education site Type Classes and my most recent book is called Finding Success (and Failure) in Haskell. I live in Montana, where I homeschool my two children, grow a big garden, and keep far too many pets.
I’m interested in helping people learn to create technology. I care a lot about making math and (mostly functional) programming accessible and approachable to all. To that end, I create books, blog posts, and documentation. You can support my work by being friendly on Twitter or more concretely via:
GHCi Helps Those Who Help Themselves Invited workshop at LambdaWorld Seattle 2018. This workshop covers strategies for entering into friendly dialogue with GHCi to gain insight into your code. Sadly, this was not recorded.
The Unreasonable Effectiveness of Metaphor Invited keynote at Compose :: Melbourne 2018. This keynote is all about metaphor and how metaphor gave birth to mathematics.
At Monadic Party I gave a six-hour workshop entitled A Gentle Introduction to Profunctors over the course of three days. You can view the videos.
A Monoid for All Seasons Keynote at Haskell eXchange 2017. This is a historical, beginner-friendly introduction to monoids and semirings.
Teaching Haskell for Understanding Invited keynote at ZuriHac 2017. As the title suggests, this is focused on how I teach Haskell and relates it to work on teaching mathematics.
Applicative Parsing Invited workshop at LambdaConf Winter Retreat 2017. Covers the differences between
Monadand works through an example of applicative-style parsing using
optparse-applicative. The first portion of this talk was the origin of what eventually became my book Finding Success (and Failure) in Haskell.