Monads you already use (without knowing it)

location_city Bengaluru schedule Oct 10th 11:45 - Jan 1st 12:00 AM place Grand Ball Room 2

Monads are a little bit like Quantum Physics: If you think you understand quantum mechanics, you don't understand quantum mechanics.

Monads are very useful for chaining computation together, in a simple way. The best explanation I've heard for them so far is that they are `programmable semicolons'.

In this session, I'll describe a few patterns that are solved by monads in some FP languages, and how you are already using them.

Some monads I plan to cover:

* Maybe Monad (being the easiest to explain)

* List monad, and how it is used to model non-determinism

* The state monad

* The IO monad

And maybe a few others


Outline/Structure of the Talk

Intro to talk

Brief tongue in cheek definitions of monads => Programmable semicolons, Boxes to put things in, etc...

Brief Intro to classical definition of monads

A simple monad with the Maybe Monad, starting with nil and getting to the monad.

List Monad for non determinism

Other monads as time permits.

Learning Outcome

This talk is mostly aimed at Beginner programmers. After this talk, programmers should have some basic idea of the things monads are used for, and some equivalent patterns in the non-FP world.

Target Audience


schedule Submitted 5 years ago

Public Feedback