Programming with Monads
- đ¤ Speaker: Pan Song (Churchill College)
- đ Date & Time: Wednesday 15 November 2017, 19:00 - 19:30
- đ Venue: Wolfson Hall, Churchill College
Abstract
As we all know, functional programming is a different programming paradigm in which functions have no side effects. This kind of pure functions has many advantages such as allowing us to reason about the program in an equational way and use arbitrary evaluation order, (and one in particular with practical significance, lazy evaluation). However, side effects are common, if not essential, to real programs we use. Some functional programming languages simply adds in imperative features such as references and sequential execution. This broke the referential transparency and we lose the advantages aforementioned. Monads were invented by the purist to support side effects and at the same time maintain referential transparency. However, many people are confounded by the “inappropriately chosen name” (the inventor of Haskell admitted this) and the underlying relation to the so-called “category theory”. In this talk, we will explore some examples and derive Monads from first principles. We will see that they are nothing but another example of abstraction, the fundamental idea of computer science. In the second half of the talk, we will explore some more advanced usages of monads.
Series This talk is part of the Churchill CompSci Talks series.
Included in Lists
Note: Ex-directory lists are not shown.
![[Talks.cam]](/static/images/talkslogosmall.gif)


Wednesday 15 November 2017, 19:00-19:30