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.


Episode 4 – Zach Kessin

In this episode I talk with fellow podcaster Zach Kessin. We cover his background in software development and podcasting, the background of Erlang, process recovery, testing tools, as well as profiling live running systems in Erlang.

Our Guest, Zach Kessin

@zkessin on twitter
zkessin on
Mostly Erlang
@mostlyerlang on twitter


Structure and Interpretation of Computer Programs
Programming HTML5 Applications
Building Web Applications with Erlang
Listing to podcasts as part of a commute
365 Days of Astronomy
Mostly Erlang
Ohio State University astronomy professor Richard Pogue and his lectures
Zach’s episode of JavaScript Jabber
Background of Erlang
Actor Model
Erlang Links/Monitors
Behaviors in Erlang
Process Recovery in Erlang
Robert Virding
Kostis Sagonis
PropEr and Property Based Testing
Episode 16 & Episode 27 of Mostly Erlang
Testing Erlang
Moore’s Law is over and mega-cores are the future
Immutability in Erlang
Joe Armstrong
Simon Peyton Jones
Profiling Covering in Running Code
webmachine diagram
Mostly Erlang – 029 Teaching Kids to Code
Ruby Rogues – 141 RR Teaching Kids with Ron Evans
Introducing Erlang by Simon St. Laurent
Learn You Some Erlang for Great Good
Erlang Factory
Chicago Boss

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