This work was built on top of “Scalable I/O Event Handling for GHC” from 2010. I think the work is really interesting because I work with node.js quite a bit and people ask me how Haskell does async.
Well, Haskell was able to switch over to an event loop in just a version bump. User code didn’t have to change; IO became asynchronous without work! Thanks to the IO type. Thanks IO!
As a relatively newcomer to haskell of 3 years I was unawares of this thanks!