Functional Geekery Episode 109 – Zach Kessin

In this episode I talk with Zach Kessin. We talk his transition to using Elm for front-end web development, using it with Erlang back-ends, his goal to help grow the community around Elm, and more.

Our Guest, Zach Kessin

@zkessin on Twitter
Pain Free Web Development YouTube Channel

Conference Announcements

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 [@3:22]

What Zach has been up to in since Episode 4
Mostly Erlang
What put Elm on Zach’s radar
Going from loan calculator to large complicated applications
Friendliness of “you are viewing out of date version” message on package documentation
The Elm Architecture
Initial hump of Elm looking very different than JavaScript
Only handful of ways to crash an Elm program vs a JavaScript program
“Like superheros, [programming] languages have origin stories”
Thinking in types in Elm compared to JavaScript compared to Erlang
“Level 1 Elm is ‘Yay! Types!”
“Level 2 Elm […] is how can we use the type system as a design tool”
Curry-Howard Correspondence
Ability to get runtime errors in Haskell
Upcoming Elm in Motion video course
Pain Free Web Development
Using Elm with Erlang
Parse Transform library in Erlang
JavaScript interop via “ports”
JSON Decoders and Decoders in Elm
Problems around silent errors
MySQL and column value truncation in non Strict Mode
Handling JSON decoder parse errors
Result type
HTTP Errors as a type in Elm
Being forced to think about errors and how to handle them
“Suddenly a 12-hour debugging session has become 12 seconds of fix a typo”
Bootstrap CSS Elm Package
The Elm compiler as the best pair you could have sitting next to you
Making Impossible States Impossible
Pain Free Web Development YouTube Channel
Leave comments as suggestions for upcoming topics
Elm Weekly Training Course
_FunctionalG12_ discount code to get it at $12/month instead of $15/month
Zach’s goal of helping building up the community around Elm
Building the business case for using Elm

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

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.