Category Archives: Haskell monads

Monads: semantics for subroutines

Monads are fairly simple to understand. Each Monad specifies a different way to execute an imperative-style subroutine. Monads tell what happens between statements Monads are sometimes called “executable semicolons” because they control what nice automation happens between each and every … Continue reading

Posted in Haskell monads | Leave a comment

The List, ListState, and Player monads

If we want to use the nice, imperative do blocks of Haskell to produce a lazy list from another lazy list, we have a few options: the List monad, the ListState monad, and the Player monad. The List monad : is … Continue reading

Posted in Haskell monads | Leave a comment