Functional Geekery Episode 107 – Julie Moronuki

In this episode I talk with Julie Moronuki. We catch up about “Haskell Book”, cover the upcoming Joy of Haskell, lessons learned teaching Haskell in user groups, other projects, linguistics, and more.

Our Guest, Julie Moronuki

@argumatronic on Twitter
GinBaby on Github
Joy of Haskell
@joyofhaskell on Twitter

Conference Announcements

The Strange Loop coming! It will be held in St. Louis, MO on September 28-30, 2017 at the Peabody Opera House. To submit your CfP, visit

PWLConf 2017 will be taking place September 28th in St. Louis, MO, before Strange Loop. Visit for more information and to stay updated on latest announcements.

Open FSharp will be taking place the 28th-29th of September in San Francisco, California. Visit for more information and to register.

elm-conf is returning to St. Louis on September 28, 2017 for a day of learning, speaking, and connecting with the Elm language community. For more information and to register visit

RacketCon is October 7th & 8th at the University of Washington, with keynote speakers Dan Friedman and Will Byrd. Visit for more information and to register.

Celebrate the 10th anniversary of the release of Clojure October the 12th – 14th at the Clojure/Conj in Baltimore, Maryland. Visit for more information and to register.

LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit

CodeMesh is coming up November 8th and 9th in London. For more information, and to keep an eye open for registration, visit

Moonconf will be taking place the 9th-11th of November. For more information visit

Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit:

LambdaDays 2018 will be taking place February 22nd and 23rd in Kraków, Poland. For more information, and to register, visit

If you have a conference related to functional programming, contact me, and I will be happy to announce it.


Some of you have asked how you can support Functional Geekery, in that vein,
Functional Geekery now has a Patreon Page.

If that is one of the ways you would like to show your support, you can
find out more at

Topics [@5:19]

About Julie
Julie on Episode 19
Haskell Programming from first principles
Update to “Haskell Book” since last time Julie and Chris were guests
Goal of being precise in the Haskell Book
Resetting pre-conceived baggage
Lambda Calculus as the first chapter
“I wish people would just read the chapter and let go of their preconceived notions of what it will be”
Teaching Haskell to her son to teach math
Chris Smith
“Baby’s First Category Theory” book
Kids ability to pick up abstract ideas
Teaching Haskell in user groups
Joy of Haskell
Chris Martin
Origin of Joy of Haskell
Introduction to some of the advanced topics you might hear about in Haskell
Lens library
Opal Eye library
Getting to be comfortable reading types
What made Julie decide to write the second book
“Since my mission is to get more people to enjoy Haskell, to love it the way I do”
“Whatever they want to do, I want to help them do it in Haskell”
“Learning a language isn’t hard, it’s all the other stuff”
Separating out the pure from the impure
Nix and NixOS
Looking back at linguistics and how it might tie to category theory
Types should make illegal states irrepresentable
Noam Chomsky
Goal of generating only legal sentences from abstract rules
The goal of trying to find a universal abstract pattern to generate all the legal phrase structures of a language
Shower thought as verbs as TypeClasses
Giving an upcoming talk at Haskell eXchange 2017
hands-on-haskell-meetups project
Upcoming Roguelike project in Haskell
Tips for evaluating whether to write a monad tutorial
Monad Tutorial in JavaScript
Making the target audience explicit
“Every tutorial should start with ‘You don’t need to understand monads to do IO'”

As always, a giant Thank You goes to David Belcher for the logo design.


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.