concurrent-output (hackage): Lets multiple threads and external processes concurrently output to the console, without it getting all garbled up.  Built on top of that is a way of defining multiple output regions, which are automatically laid out on the screen and can be individually updated by concurrent threads. Can be used for progress displays etc.
Keywords: bsd2|concurrency|library|user-interfaces