Skip to content

Instantly share code, notes, and snippets.

@marcosh
Created January 15, 2016 19:51
Show Gist options
  • Save marcosh/db7d13f5eebf41b3b994 to your computer and use it in GitHub Desktop.
Save marcosh/db7d13f5eebf41b3b994 to your computer and use it in GitHub Desktop.
MONADS IN THE REALM OF OBJECT ORIENTED PROGRAMMING

A monad is a particular construction that emerges in the branch of mathematics called category theory. Despite category theory being one of the most abstract field in mathematics, monads are heavily used in functional programming as a design pattern that allows, for example, to manage side-effects. Why should such a powerful design pattern be used only in functional programming languages? Is it possible to apply it also in an Object Oriented paradigm?

In this talk we will try to answer these questions, exploring in parallel the notion of monad in category theory, in functional programming and in object oriented programming, with the help of various examples taken from all the three different worlds.

@chrisseaton
Copy link

I'd drop the all caps title.

'that allows, for example, managing side-effects' rather than the infinitive 'to manage'.

'to apply it also' -> 'to also apply it'

I would be very very that confident you understand the concept of a monad in category theory if you intend to explain the mathematical background in front of a group of people.

@hectorip
Copy link

Did you end up giving this talk? I would like to watch it or read the presentation. Thanks in advance!

@marcosh
Copy link
Author

marcosh commented Jul 20, 2022

@hectorip this talk never saw the light, in the end. I don't even remember if I ever submitted it to a conference...

@hectorip
Copy link

hectorip commented Jul 20, 2022 via email

@marcosh
Copy link
Author

marcosh commented Jul 25, 2022

Thanks for the offer. That would be great, but I'm currently under a quite heavy load at work (and home) and I won't have time to prepare decently in the near future

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment