Paul Chiusano: How to Write a Functional Program with IO, Mutation, and other effects

Paul Chiusano (@pchiusano) shows how we can write Functional programmes whilst having effects such as IO. He gently takes us through a typical imperative programme showing how effects can be minimised and then ultimately derives the IO monad. Paul is a co-author of Functional Programming in Scala and has just announced that he is now a freelance Functional Programming consultant.

You can find the talk here on YouTube.

One thought on “Paul Chiusano: How to Write a Functional Program with IO, Mutation, and other effects

  1. コーヒー豆 (@cohimame)

    ah, found a typo in “Action(version3a)” slide:

    trait Source[+A] {
    def map[B](f: A => B): Source[B] = MapSource(this, f)

    case class MapSource[A,B](s: Source[A], f: A=>B) extends Source[A]

    should it be a

    def map[B](f: A => B): Source[A] = MapSource(this, f)

Leave a Reply