Here are some links I have been collecting on the topic of monads. I have not read all of them, only have I skim read the first bits. The first article explains some issues people present when they give their perspective on how monads should be best understood.
Here is jamiely’s haskell-draughts repo. I am working on a checkers game too and was referencing this.
https://github.com/jamiely/haskell-draughts
Here is an example of move checking in checkers;
http://gbacon.blogspot.ca/2010/12/checkers-game-over-in-haskell.html
More on monads;
http://www.haskell.org/haskellwiki/Monad
http://www.haskell.org/tutorial/monads.html
http://en.wikibooks.org/wiki/Haskell/Understanding_monads
http://learnyouahaskell.com/a-fistful-of-monads
I also need to learn how to parse strings (commands) in Haskell
this looks neat too, a course on Haskell http://shuklan.com/haskell/
I think one of the more on monad links has a link to an appendix of monad tutorials too which could make an alright read. Some of the tutorials I have posted here come from it actually.
It seems like a fair background in mathematics is required to really get much out of monads however.