Functional Geekery Episode 19 – Julie Moronuki and Chris Allen

In this episode I talk with Julie Moronuki and Chris Allen. In this episode we talk about learning Haskell as a non-programmer, and some of the lessons we can learn as we try and teach others.

Our Guests, Julie Moronuki and Chris Allen

Julie is @argumatronic on Twitter
Julie’s blog
Chris is @bitemyapp on Twitter
Chris’ website
Haskell Book


Erlang Factory San Fransisco is coming up on the 26th-27th of March. Guest speakers include Alan Kay, José Valim, Robert Virding, Joe Armstrong, Mike Williams, John Hughes, Bruce Tate and many more. Listeners get a 10% discount when you use the code FnGeekery. To find out more visit


This episode is sponsored by For high quality videos on Clojure, from an intro to Clojure to an in depth look at core.async, Eric Normand has you covered. Videos are downloadable allowing them to be viewed offline and at your leisure, and include exercises to help ensure your learning through interaction. Listeners get a 25% discount off everything with coupon code GEEK. Visit, and make sure to thank them for being a sponsor.


How Julie got into learning Haskell from Chris
Similarity between Haskell and Julie’s linguistic background
Julie’s excitement of realizing she can make computer do something
The initial hump of understanding static, runtime, compile time, and interacting with the computer
Learn You a Haskell for Great Good!: A Beginner’s Guide
No resources for someone completely new to programming
Chris’ guide to learning Haskell
CIS 194 from University of Pennsylvania
NICTA course
Haskell: The Craft of Functional Programming (3rd Edition) (International Computer Science Series) by Simpon Thompson
Chris experience teaching people new to programming
Chris’ surprise at Julie’s level of curiosity
Confusion of Types for non-programmers and programmers alike
Why Metaphors and Analogies are generally problematic in teaching
Explaining folding to explaining recursion, and textual unrolling of recursion
Some of the best posts, show how things work step-by-step
Chris’ Monad Transformers talk
Interactive teaching helps, but doesn’t scale as well as blog posts
“Types give you a language for talking about the structure of things”
Alternate between specifics and high-level generalizations when teaching
Dialogs from the IRC channel
Different options for putting together static content to teach someone
Importance of directing readers to resources to fill in the gaps of what they may not know
Would like to see something that takes a person from beginner to building a real application
Oliver Charles’ 24 Days of GHC Extensions
Oliver Charles on Twitter at @acid2
Gabriel Gonzalez’s blog
Chris’ Christmas wish is more people writing/talking about the operational side of Haskell
Erlang War Story Example
Importance of setting expectations up front about learning Haskell
Importance of getting to know your students and their background
How to (Actually) Mentor Someone
Chris would love to see more progression and series blog posts on intermediate material
Haskell Book
Chris’ How I Start post on Haskell

A giant Thank You to David Belcher for the logo design.