Nice project, not so "mini" though. I'm an expert in Haskell. For instance, I can solve task (i) using list comprehensions, (ii) using maps, folds and filters (higher order functions), and so on, all using "pure" non I/O (no monads) code. The quality of the code will be excellent, good comments throughout the code, use of pattern matching. Regarding I/O, I can neatly print the map on the terminal using characters only, and provide a robust user interface, that will react with error messages rather than crashing in case of malformed inputs.
Contact me if you feel I can help.