Academy PassAdvanced11 lessons250 min

Effects, monads and dependent programs

Move from Option.bind and desugared do notation through Except, functors, applicatives, IO, arrays and pure loop syntax. Then implement a lawful Monad, prove the StateM laws, combine state with errors through StateT, and use dependent indices to make invalid workflows impossible.