snoyberg / classy-prelude

A typeclass-based Prelude.
108 stars 15 forks source link

Export more modules from lifted-base #121

Closed TerrorJack closed 8 years ago

TerrorJack commented 8 years ago

Currently, Control.Concurrent.Lifted, Control.Concurrent.QSem.Lifted, Control.Concurrent.QSemN.Lifted and System.Timeout.Lifted are not exported from classy-prelude. Especially Control.Concurrent.Lifted, since when I replace base with classy-prelude, there is no fork which is troublesome for writing threaded programs.

Also, it shall be good to add lifted-asyncdependency and export Control.Concurrent.Async.Lifted, since Async is also a widely used concurrent abstraction.

snoyberg commented 8 years ago

I have specific concerns around lifted-async, since (at my last review at least) it did some slightly unsound things around dropping context from some of the run threads. For the others, though, my opinion is: as long as it doesn't introduce any conflicting names to the export list, it's a good change, so no objection from me.

@gregwebs any thoughts? I think you've worked with lifted-async more recently than me.