Monads, the promised land of functional programming. Or at least with all the hype they'd better be! Come join the cast as we demystify this overhyped structure that has become an indispensable part of many functional programmer's toolkits.

Episode 18 patrons:

Pluton

Tim Buckley

Huge shout out to Marcus Nielsen

Show Notes:

bind :: m a -> (a -> m b) -> m b

Example of do syntax vs using bind aka >>=:

main = do

foo <- doMonadyThing

foo2 <- doOtherMonadyThing foo

pure (whatever foo foo2)

main = doMonadyThing

>>= (\foo -> doOtherMonadyThing foo

>>= (\foo2 -> pure (whatever foo foo2))

)

Extracting a value from a Maybe

extract :: Just Int -> Int

extract foo = case foo of

Just num -> num

Nothing -> 0

Railroad oriented programming talk by Scott Wlaschin

fsharpforfunandprofit.com/rop/

FP Chat Slack Community: https://fpchat-invite.herokuapp.com

Podden och tillhörande omslagsbild på den här sidan tillhör LambdaCast. Innehållet i podden är skapat av LambdaCast och inte av, eller tillsammans med, Poddtoppen.