Haskell's Missing Concurrency Basics (2016)
I&#x27;m kind of surprised to hear that writing to stdout is a source of concurrency problems in a language that&#x27;s considered to be functional.<p>Surely if you can pass your IO handles to all functions that need them, you can decide on a mutexing&#x2F;buffering strategy at the top of your program, wrap the standard IO interface with a delegate that does so, and pass it on.  Then, for all libraries called thereafter to use it consistently isn&#x27;t just a no-brainer, it&#x27;s an outright given, isn&#x27;t it?  There&#x27;s no <i>global</i> (impure, non-functional) handle to stdout, is there?