Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
-- Attempting to implement my own Maybe monad using the Option type naming from F#
data Option x = None
| Some x
Functor Option where
map f None = None
map f (Some x) = Some (f x)
Applicative Option where
pure x = Some x
(<*>) f None = None
(<*>) None (Some x) = None
(<*>) (Some f) (Some x) = Some (f x)
Monad Option where
(>>=) = ?stuff
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment