Learning Haskell with Chess
- recapitulate Haskell types (keywords type and data, product and sum types)
- Helium: define equality functions (pattern matching)
- pretty printing
- Define data types that represent boards, squares, positions, pieces and game states.
- Helium: Implement suited eq-functions.
- Implement a function prettyBoard, that transforms a board into a clearly arranged string representation (human readable :-)). Support this function with auxiliary functions that pretty print pieces, squares, ...