Welcome to the talk!
=<< What's up with that Title? >>=
It’s functions, pure functions! Pure functions and their values, PURE FUNCTIONS FOREVER AND FOREVER AND FOREVER A HUNDRED YEARS monad... some... things... Me and monads runnin' around and...applicative functor time... a- all day long forever... All a - a hundred days applicatives and functors! Forever a hundred times.... OVER and over monad transformers... adventures dot com... W W W dot at lambda calculus and category theory dot com w..w..w... function composition adventures... Ah- hundred years… Every minute referential… transparency dot com.... w w w a hundred times... composition dot com...
Fig 1.1 What most people thing a typical functional programming advocate looks like
=<< Obligatory Quote >>=
=<< Obligatory Quote >>=
If you wish to build a ship, do not divide the men into teams and send them to the forest to cut wood. Instead, teach them to long for the vast and endless sea.
=<< Promises >>=
>:(
>:(
>:(
>:(
>:(
>:(
>:(
>:(
>:(
>:(
Promises do not make things asynchronous!
=<< Promises >>=

JavaScript

Promise.resolve("We start here")
    .then(x => Promise.resolve(x + " then get here"))
    .then(x => Promise.resolve(x + " and finally here!"))

Haskell

Right("We start here")
            >>= (\x -> Right (x ++ " then get here"))
            >>= (\x -> Right (x ++ " and finally here!"))
=<< Promises >>=

JavaScript

Promise.resolve("We start here")
    .then(x => Promise.resolve(x + " then get here"))
    .then(x => Promise.reject("Oh noes!"))
    .then(x => Promise.resolve(x + " and finally here!"))

Haskell

Right("We start here")
            >>= (\x -> Right (x ++ " then get here"))
            >>= (\x -> Left("Oh noes!"))
            >>= (\x -> Right (x ++ " and finally here!"))