Closed 3noch closed 7 years ago
I haven't been using async-pool
as much in active code recently, so I haven't paid much to attention to whether there have been changes in async
that should be carried over.
It simply extends the API of async
to work in terms of working pools, and this is all. Other than that one change, it aims to retain the look and feel of using async
.
@jwiegley Thank you for the quick response! The fact that async-pool
completely re-exports async
means it should probably get a new release along with async
every time it updates. That's obviously a lot of work...but that's why I assumed this package was falling out of date. However, it looks like the version bounds on async
aren't even specified which means this package has a very interesting version policy. ;) How would you feel about not re-exporting async
and just exporting your additions? I think that would make its place in the ecosystem less ambiguous.
Also, do you have any thoughts on the Task
monad as it relates to the Monad and Applicative laws?
@3noch That sounds like a good plan. Since I change the type of many of async
's methods, I should probably just add a suffix to my versions, so that both library can be used easily in combination.
I'm not as sure about the Monad and Applicative laws for Task
, since I haven't done the proof work on those. Have you run into any issues?
@jwiegley That's a good idea. Either that or just relying on qualified imports.
No I haven't had any issues. I just know that having ap /= (<*>)
is fishy when it comes to the laws (due to differing effects).
Since this package shares so much in common with
async
I'd appreciate a README that helps me (and others) place this package in the grand scheme of the Haskell ecosystem.async
is actively maintained butasync-pool
has had very little action in years.Care to elaborate?