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
Coconut on Github

Conference Announcements

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

Erlang User Conference 2017 will be taking place June 8th and 9th in Stockholm, Sweden. Visit http://www.erlang-factory.com/euc2017 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 https://zurihac.info/

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

Curry On Barcelona will be taking place June 19-20th. For more information, visit http://www.curry-on.org/2017/.

O’Reilly Fluent Conference will be taking place June 19–22, 2017 in San Jose, California. Visit http://www.oreilly.com/pub/cpc/61309 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 http://2017.euroclojure.org/ 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 http://www.bus-conf.org/.

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 http://thestrangeloop.com/.

LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/.

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

Announcements

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 https://www.patreon.com/fngeekery.

Topics [@4:32]

About Evan
Coconut
Harvey Mudd College
Python
Haskell
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
JavaScript
CoffeeScript
TypeScript
Foundations from Python to learning Haskell
View of functional programming languages in college with previous exposure
Racket
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
Rabbit
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
Flow
Realizing the importance of building additive to Python 3
Babel
Six
2to3
3to2
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
NumPy
Pipeline operator in Coconut
Parsing and compilation
Pyparsing
Undebt: How We Refactored 3 Million Lines of Code
Maturity level of Coconut
Introducing type checking to Coconut
mypy
IPython
Jupyter
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.

Leave a Reply

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