Simon Marlow
Simon Marlow
Yes, I think you're right. To fix this, either the two transactions should be combined, or the `kick` function should check that the current user has not already been kicked.
Agreed, and I definitely support efforts to clean up and document the API here.
Absolutely. We have a plan to make the binary event format extensible and to enable user-generated events to use the extensibility mechanism (rather than being restricted to just strings as...
You could do this by having a separate controller thread, like this: ``` do tickets do bracket_ (takeMVar t) (writeChan releaseQ ()) $ do .... where controller tickets = ......
It is extremely subtle. Perhaps this issue belongs over on the `chaselev-deque` repo instead?
Firstly, if the thread is running then it won't be considered dead by the GC because the run queue is a source of roots, so this would only work for...
Not a big fan of `SomeAsync`, why not just have `sameAsync :: Async a -> Async b -> Bool` ?
Ok, fair point.
Not to leave this hanging indefinitely - basically I consider this "bug" to be something of a technicality. If we fix it, the cure better not be worse than the...
There are many reasons you might not be seeing a parallel speedup. Do you have a reason to believe this is a problem with `mapConcurrently` in particular?