0:00 / 0:00
What is a Monad? - Computerphile
Computerphile
2.6M subscribers • 66 videos on Hallway
- Recommended by 4 people: 1 on Lobsters and 3 in engineering communities.
- A classic. People kept recommending it from 2017 to 2022.
- Presented by Graham Hutton, Professor at the University of Nottingham
Beginner. No background in the topic needed.
665K views8 years ago4 recommendations
Programming languagesComputer scienceFunctional programmingComputation and complexity
Professor Graham Hutton explains the concept of monads in functional programming using Haskell examples like the Maybe monad.
Monads sound scary, but Professor Graham Hutton breaks down how handy they can be. facebook.com/computerphile twitter.com/computer_phile This video was filmed and edited by Sean Riley. Computer Science at the University of Nottingham: bit.ly/nottscomputer Computerphile is a sister project to Brady Haran's Numberphile. More at bradyharan.comWhy it's here
4 people recommend thisWhat people say. Highly recommended as one of the clearest and most accessible introductions to understanding monads.
Moments people linked to
blakeon Lobsters • Recommends
What is a Monad?
I know the Monad-tutorial is overdone, but I'm a audial-visual learner and this helped me a lot more than the average blog post on the topic.
u/Rungekkkutain r/functionalprogramming • Recommends
Can a Monad be understood as the wrapper(encapsulation) of a type, its side effects and proper handlers?
I was watching Computerphile's video "What is a Monad" and at 16:42 he explains that the following implementations on a type are generally the idea of a Monad:
```
return :: a -> Maybe a
```
and sequencing:
```
>>= :: Maybe a -> (a -> Maybe b) -> Maybe b
```
Later he explains that it could work for other effects as well, so the way I understood it, is that instead of `Maybe`, we could generalize to `effect`, getting the following:
```
return :: a -> effect a
-- sequence
>>= :: effect a -> (a -> effect b) -> effect b
```
The way I understood it is that a Monad "encode"(not entirely…
u/jptboyin r/scala • Mentions
…ut Maybe/Option Monad correctly.
I have been trying to learn functional programming for a while but it was really hard with Haskell and I never understood it. I always got stuck on the concept of Monads. I am learning Scala in college now, and Scala has made me feel like I have the capability to learn functional programming.
I have watched this link to this video from Computerphile on Monads/evaluating expressions multiple times but i could never understand it in Haskell. I feel like I understand it in Scala and I think I translated the code correctly, but I wanted to post here to make sure I didn't do anything wrong. Is this scala code I wrote the correct implementation of the Haskell code in the v…
u/kamwitstain r/functionalprogramming • Mentions
On “What’s your favourite way to explain a monad to a beginner?”
Hands down this: link to this video