# User:Duplode/Haskell exercises brainstorming

- Haskell/Classes and types
- (tricky) implement a simple Complex data type which is an instance of Num.

- Haskell/Understanding monads/State
- (bonus) implement a random walk simulation.

- Haskell/Understanding monads/List
- implement isGrandparent (see the talk page).

- Haskell/Monad transformers
- Rewrite getValidPassword without using guard.
- Implement a stop-on-failure shell script wrapper with System.Process and MaybeT.
- Write an implementation for ErrorT.
- Combine both kinds of random number generators through the means of StateT/IO
- Collect the generated positions in the random walk simulation with a WriterT/State (or StateT/Writer) combo.

- Haskell/Hierarchical libraries/Arrays
- Complete the tic-tac-toe example from the list monad chapter by implementing a Board type with arrays.

- Misc.
- Write an ironic high-level implementation of a Turing machine.