Pagogwodnyigy30otp1i
SkillsCast

Monads for free!

9th October 2013 in London at The Crypt, St James Church Clerkenwell

There are 6 other SkillsCasts available from Haskell eXchange 2013

Please log in to watch this conference skillscast.

Https s3.amazonaws.com prod.tracker2 resource 41088130 skillsmatter conference skillscast o9nohu

In this talk, we'll discuss what free monads are, how they work, and how you can use them.

When writing programs, it often turns out to be useful to separate the description of what to do from a concrete implementation that actually performs the actions. You can do so by turning your descriptions into pure data. Then you can analyze them, transform them, and ultimately interpret them in any way you like.

If your descriptions are imperative in nature, it's natural to try to make them monadic. But the usual suspects such as Maybe, State, or IO aren't quite suitable here: they all add a concrete monadic effect, but we'd just like to obtain an abstract description of a sequential program, that we can later interpret in a concrete way. This is what "free" monads give you. In this talk, we'll discuss what free monads are, how they work, and how you can use them.

YOU MAY ALSO LIKE:

Monads for free!

Andres Löh

Andres Löh is a Haskell consultant and co-owner of Well-Typed LLP. He is based in Regensburg, Germany. He started using Haskell in 1997, when being an undergraduate student of mathematics in Konstanz and has been an enthusiastic functional programmer ever since. Andres obtained a PhD in Computer Science from Utrecht University in 2004, on extending the Haskell language with capabilities for datatype-generic programming. After having been a university lecturer for several years, he joined Well-Typed in 2010.

SkillsCast

Please log in to watch this conference skillscast.

Https s3.amazonaws.com prod.tracker2 resource 41088130 skillsmatter conference skillscast o9nohu

In this talk, we'll discuss what free monads are, how they work, and how you can use them.

When writing programs, it often turns out to be useful to separate the description of what to do from a concrete implementation that actually performs the actions. You can do so by turning your descriptions into pure data. Then you can analyze them, transform them, and ultimately interpret them in any way you like.

If your descriptions are imperative in nature, it's natural to try to make them monadic. But the usual suspects such as Maybe, State, or IO aren't quite suitable here: they all add a concrete monadic effect, but we'd just like to obtain an abstract description of a sequential program, that we can later interpret in a concrete way. This is what "free" monads give you. In this talk, we'll discuss what free monads are, how they work, and how you can use them.

YOU MAY ALSO LIKE:

About the Speaker

Monads for free!

Andres Löh

Andres Löh is a Haskell consultant and co-owner of Well-Typed LLP. He is based in Regensburg, Germany. He started using Haskell in 1997, when being an undergraduate student of mathematics in Konstanz and has been an enthusiastic functional programmer ever since. Andres obtained a PhD in Computer Science from Utrecht University in 2004, on extending the Haskell language with capabilities for datatype-generic programming. After having been a university lecturer for several years, he joined Well-Typed in 2010.