11 lines
761 B
Text
11 lines
761 B
Text
Demonstrate in your programming language the following:
|
|
|
|
#Construct a Maybe Monad by writing the 'bind' function and the 'unit' (sometimes known as 'return') function for that Monad (or just use what the language already has implemented)
|
|
#Make two functions, each which take a number and return a monadic number, e.g. Int -> Maybe Int and Int -> Maybe String
|
|
#Compose the two functions with bind
|
|
|
|
|
|
A [[wp:Monad_(functional_programming)|Monad]] is a single type which encapsulates several other types, eliminating boilerplate code. In practice it acts like a dynamically typed computational sequence, though in many cases the type issues can be resolved at compile time.
|
|
|
|
A Maybe Monad is a monad which specifically encapsulates the type of an undefined value.
|
|
|