Free monads and the Yoneda lemma

Last week I gave a talk on Purely Functional I/O at Scala.io in Paris. The slides for the talk are available here. In it I presented a data type for IO that is supposedly a “free monad”. But the monad I presented is not exactly the same as scalaz.Free and some people have been asking me why there is a difference and what that difference means.



IO as an application of Free

The Free monad in Scalaz is given a bit like this:



1
2
3
sealed trait Free[F[_],A]
case class Return[F[_],A](a: A) extends Free[F...
 •  0 comments  •  flag
Share on Twitter
Published on February 09, 2015 08:15
No comments have been added yet.