Functional Geekery Episode 61 – Susan Potter

In this episode I talk with Susan Potter. We talk her introduction to Functional Programming, Haskell, Erlang, reasoning about code, Nix and NixOS, reasonable deployments and environments, and more.

Our Guest, Susan Potter

@SusanPotter on Twitter
Susan on LinkedIn
Susan’s company


Compose Melbourne is a new functional programming conference focused on developing the community and bringing typed functional programming to a wider audience. Visit to find out more.

ElixirConf is taking place August 31st through September 2nd in Orlando, Florida. Visit to register and find out more.

Full Stack Fest will be hold in Barcelona on September 5-9th. You can check out to find out more.

PWLConf 2016 is the first full-day Papers We Love conference, co-located with the preconference events at Strange Loop in Saint Louis, Missouri on September 15th. Keep an eye out for updates on

The Erlang User Conference is coming up in Stockholm, Sweden, the 6th through the 16th of September. Early Bird tickets are now available and get a 10% discount on the conference when you use the code: FunctionalGeekery10 when registering.

Lambda World will be taking place September 30th & October 1st, 2016. Lambda.World is the longest functional programming conference in Spain and Portugal and one of the biggest in Europe. Visit to find out more and to register.

The 2016 edition of ScalaIO will take place in Lyon, France, on 27th and 28th of October. Visit for more information and to register.

CodeMesh is taking place the 3rd and 4th of November with tutorials on the 2nd of November. Tickets are available now, but they are going fast. Visit to register and submit your talk.

Destination Code, a new unconference starting in Utah, is having its inaugural event this December. Visit to find out more.

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


About Susan
Reasonability of software and deployment environments
Susan’s introduction to Functional Programming
Java head and Python meta-programming
Inheriting a Haskell code base
Picking up Haskell 10 years ago and learning resources at the time
What about Haskell clicked, or didn’t click, back then
Algebraic Data Types
Sum and Product types
Recursive data structures
Higher order types and generic types
Period of enlightenment about isolation
Allowing things to fail
How to signify “failures”/errors in Haskell vs Erlang
Thinking about operational semantics
Understanding the separation of concerns
Garrett Smith on Episode 56
Alignment of Erlang and thinking about operational side of applications
Typed based reasoning
Type specs in Erlang
The Dialyzer
Cloud Haskell
Reasoning using types or supervision trees in regards to error handling
Package manager, GNU/Linux distribution, and build expression language
Per user based configuration
Multiple versions of JVM SDKs
Using Nix with Continuous Integration environments
Personal mission of reasonability of systems
Kleisli Arrows
Railway oriented programming
Talk by John De Goes on Free structures
Aaron Levin’s blog post on the van Laarhoven encoding of free monads
Extra credit for extensible effects with the Eff monad as an alternative to monad transformers
Short typed functional programming in infrastructure engineering
Getting started in Nix and NixOS
Lethalman’s Nix pills blog series
Nix Cookbook
Upcoming talks
London Scala User Group (LSUG), London (England) – 2nd August 2016
Strangeloop, St. Louis, MO – Sept 2016
Reactive Summit, Austin, TX – Oct 2016
Reasoning about your code

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 *