⚠️ Early draft Version! – Read with caution
- 1A. What are
do
Blocks? - 1B. Scope and Lambda Nesting
- 1C. Using
let
in ado
Block - 1D. Functions as Actions
- 1E. Input and Output with
IO
Monad
- 2A. Using
=<<
for Function Application - 2B.
=<<
as a Sequencing Operator - 2C. The Intuition behind
a -> M b
- 2D Composing
do
Blocks - 2E. Nested
do
Blocks
- 3A. Newtypes and Side-effects
- 3B. Internal State I
- 3C. Writing definitions for
=<<
- 3D. Internal State III
- 3E. Appending I
- 3F. Handling Errors with Either and Maybe
- 4A. Nested
do
Blocks I - 4B. Nested
do
Blocks II - 4C. Conditions in
do
Blocks I - 4D. Conditions in
do
Blocks II - 4E. Iteration in
do
Blocks I - 4F. Iteration in
do
Blocks II
- 5A. A Monad on top of a Monad
- 5B. Creating Monad Transformers Stacks
- 5C. Not Defaulting to the Innermost Monad via
lift
- 5D. Receiving Input Commands
- 5E. Recursion and Monads
- XA. Simplifying
do
Blocks and Monad Laws - XB. Monad, Applicatives and Functors
- XC. Kleisli and Function Composition with
=<<
The materials herein are all © James Lawson 2018
The contents of this book are are licensed under a
Attribution-NonCommercial-NoDerivatives 4.0 International License