Functional Geekery

Functional Geekery


Episode 6 - Reid Draper

March 04, 2014

In this episode I talk with Reid Draper. We cover Reid’s intro to functional programming through Haskell, working in Erlang, distributed systems, and property testing; including his property testing tool simple-check, which has since made it into a Clojure contrib project as test.check.


Our Guest, Reid Draper

reiddraper.com

@reiddraper on Twitter

reiddraper on Github


Topics

Basho

Riak and Riak CS

Reid’s appearance on The Cognicast

The Echo Nest

Two camps of approaching learning a language, project based and learning the language for the language sake

Learn You a Haskell for Great Good

Papers on Haskell and ML to help learn functional programming

Paxos and Raft papers

Consensus

Lamport papers

Amazon Dynamo paper

What about Erlang helps with building Distributed systems

Messaging between nodes in Erlang

The ability to debug live systems with Erlang

Dealing with distributed systems that are not replicated

The Eight Fallacies of Distributed Computing and Fallacies of Distributed Computing Explained

“A static website with only one browser connected is a distributed system”

Immutability and Eventual Consistency

Importance of Idempotent commands in Distributed Systems

Property Based Testing

Quick Check

Erlang Quick Check and Proper

simple-check [It has since been moved to be Clojure contrib project as test.check]

Thinking in Properties about functions

Static vs Dynamic typing and Gradual typing

core.typed by Ambrose Bonnaire-Sergeant

Dialyzer from Kostis Sagonis

Agda

Idris

“Learn one dynamically typed and one statically typed with a good type system”

Typer for Erlang

Webmachine

Riak and RiakCS as example of large scale distribute/Erlang systems

Haskell, Coq, Agda, Idris

Implementation of Functional Programming Languages by Simon Peyton Jones


A giant Thank You to David Belcher for the logo design.


?feed-stats-post-id=99