DEV Community

Functional Geekery

Functional Geekery Episode 67 - Hardy Jones

In this episode I talk with Hardy Jones. We talk his enthusiasm for languages, why types, working in teams, trade-offs, and much, much more.

Our Guest, Hardy Jones

@st58 on Twitter
joneshf on Github
https://joneshf.github.io/
Magic Read Along

Announcements

EuroClojure is coming up in Bratislava, Slovakia from October 25-26. Visit http://euroclojure.org/ to find out more, register, or sign up for their mailing list.

The 2016 edition of ScalaIO will take place in Lyon, France, on 27th and 28th of October. Visit http://scala.io/ 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 codemesh.io to register and submit your talk.

Scala Wave is coming up on the 25th and 26th of November in Gdańsk, Poland. Visit http://www.scalawave.io/ to find out more and sign up for their newsletter for updates.

Destination Code, a new unconference starting in Utah, is having its inaugural event this December. Visit http://www.destination.codes/ to find out more.

The 2016 Clojure Conj will be taking place in Austin, TX on December 1st – 3rd. Visit http://2016.clojure-conj.org for more information and to register.

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

Topics

About Hardy
NoRedInk
Brian Lonsdorf on Episode 51
Magic Read Along
How Hardy got into software
Python
Haskell
RPL
Prolog
JavaScript
“How to work effectively on a team with a lot of people”
Learn You a Haskell
Haskell: The Craft of Functional Programming
What was the spark for being a language enthusiast
Learning programming languages compared to learning natural languages
What features in languages Hardy is favoring now
Types as a languages all to itself
Benefits of type systems vs a dynamic functional language
Functional JavaScript without enforced purity
Value of type system to coordinate changes between teammates
“There’s so much more that helps less”
Elm
Ruby
Elixir
Folding ideas back in between different languages
Trying to stick to the idioms of the language and project one works in
“You want to talk lenses, we can talk lenses”
Encoding effects into types
What are lenses?
Prisms
Proofs
Attempting to bring Proofs to Elm
Hardy’s view of the difference between PureScript and Elm
PureScript
Proofs
“It’s not this scary thing”
Different levels of proving software
“If your function is ‘a -> a’ there is only one implementation of that”
Proof examples in Elm
Equivalence example vs Equality example
“Whatever you’re doing take a step back and try something different”
Magic Read Along Episode 11
Magic Read Along Episode 13

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

Episode source