Changes between Version 1 and Version 2 of Proposals/async

Show
Ignore:
Timestamp:
06/13/12 13:45:19 (22 months ago)
Author:
simonmar (IP: 94.245.127.11)
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Proposals/async

    v1 v2  
    7070= Design decisions = 
    7171 
     72The implementation is based on STM, because that enables `waitAny` and `waitBoth` to be implemented very straightforwardly.  Without STM these operations would require extra threads, and would be hard to get right.  Using STM also means that users can compose async operations with their own STM operations. 
     73 
     74The `concurrently`, `race`, and `race_` functions are implemented using threads and `MVar` for performance (there is a commented-out STM version in the code and documentation to give the semantics).  The benchmark demonstrating the difference is in `bench/race.hs`; it runs about 30% faster with the `MVar` version. 
     75 
     76Should cancel be synchronous or asynchronous? (I addressed this [http://www.haskell.org/pipermail/libraries/2012-June/017920.html here]). 
    7277 
    7378= Open issues = 
    7479 
     80 * Perhaps there is a better name for `waitCatch` and friends? 
     81 * What should `waitAny` return? 
     82 * Perhaps `waitAny` should work on any `Foldable`? 
     83