Functional Geekery Episode 88 – Justin Woo

In this episode I talk with Justin Woo. We talk his introduction to functional programming; the transition from ClojureScript to Elm to PureScript for side projects; the appeal of PureScript; evangelizing PureScript and more.

Our Guest, Justin Woo

@jusrin00 on Twitter
justinwoo on Github
Justin’s blog entries on Qiita


The O’Reilly Software Architecture Conference will be taking place April 2-5, 2017 in New York. Visit to register and find out more, and use code USRG for 20% off most passes.

CycleConf will be taking place on the 21st-23rd of April. Visit to find out more.

Call for presenters is now open for Velocity London 2017. Visit for more information and to submit your proposal.

The Call for Presenters is now open for Software Architecture in London, UK. Visit for more information and to submit your proposal.

flatMap(Oslo) is a FP-conference with focus on Scala and the JVM, taking place on May 2nd and 3rd in Oslo, Norway. Please go to to learn more.

ElixirConf EU will be taking place on May 4th and 5th with tutorials on May 3rd. For more information visit:

OSCON will be taking place May 8-11 in Austin, TX. For more information and to register visit:, and use code USRG for 20% off most passes.

LambdaConf 2017 will be taking place May 25th – 27th in Boulder, Colorado. Visit for more information.

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

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

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

Topics [@6:50]

About Justin
What got Justin into software development
What prompted Justin to start looking into functional programming
Reactive Programming and Elm
Moving from learning ClojureScript to Elm
“It was the first time I could write down types and start modelling my problem”
Higher Kinded Types in Elm
Hardy Jones
How Justin got exposed to PureScript
Making the move from Elm to PureScript
The problem for Justin with teaching functional concepts in JavaScript
What about PureScript appeals to Justin
“The various degrees of buy in you can have” makes PureScript appealing
The appeal of Mechanical Correctness in PureScript
Getting started with PureScript
Type holes
Type hole example on Twitter
What Justin has found that appeals to others about PureScript
How PureScript has affected his day-to-day work in JavaScript
“Be More Boring” in JavaScript
Immutable JS
Generics in PureScript overview
Complete listing of Justin’s videos on
Automatically de/serialize JSON with Purescript-Foreign-Generics
Use Sets with Ord Typeclass instances
Model problems using Algebraic Data Types (ADTs)
Html Parser
Justin’s presentations on Speaker Deck
Cycle Conf

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