Functional Geekery Episode 94 – Evan Hubinger

In this episode I talk with Evan Hubinger. We talk his introduction to programming, creating the Coconut language, building Coconut as additive to Python 3, what makes a good language, and much, much more.

Our Guest, Evan Hubinger

@evhub on Github
Coconut on Github

Conference Announcements

Elm Europe will be taking place June 8th and 9th in Paris, France. Visit for more information and to register.

Erlang User Conference 2017 will be taking place June 8th and 9th in Stockholm, Sweden. Visit for more information and to register.

ZuriHac 2017 will be taking place in Zurich on the 9th-11th of June. For more information, and to register visit

Oslo Elm Day is a one-day conference about Elm taking place June 10th in Oslo, Norway. Visit for more information and to register.

Curry On Barcelona will be taking place June 19-20th. For more information, visit

O’Reilly Fluent Conference will be taking place June 19–22, 2017 in San Jose, California. Visit to find out more and to register, and use code USRG for 20% off.

EuroClojure will be taking place in Berlin, Germany on July 20th & 21st. Visit for more information and to keep updated.

BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at

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

LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated 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 [@4:32]

About Evan
Harvey Mudd College
How Even first was exposed to programming
How Even first was exposed to functional programming
Being exposed to Haskell in High School
Reasonability of functional programs
Foundations from Python to learning Haskell
View of functional programming languages in college with previous exposure
What the Harvey Mudd professors get right teaching functional programming
“You don’t need to go wholesale to functional programming”
What set the stage for the idea to write a language
First pass at writing a programming language on Python
What helped inform lessons learned from first attempt at writing a language
“You have to write a compiler, not an interpreter”
Importance of readability of a language
Realizing the importance of building additive to Python 3
What makes a good language
“Code gets read more frequently than it gets written”
“We are going to do what Python did for imperative programming”
Readability vs Familiarity
Compiling from Coconut to Universal Python
Inter-operability between Coconut and any Python code
Supporting Tail Call Optimization
Immutability in Coconut
Inter-operability with math libraries
Pipeline operator in Coconut
Parsing and compilation
Undebt: How We Refactored 3 Million Lines of Code
Maturity level of Coconut
Introducing type checking to Coconut
Overview of the state of type checking in Python with mypy
Future things to look for in Coconut
PyCon 2017
undebt, refactoring in Python
Coconut on Github
Coconut tutorial
Coconut Documentation
Coconut Gitter chat

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