Changes between Version 14 and Version 15 of Concurrency
- Timestamp:
- 03/29/06 04:39:25 (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Concurrency
v14 v15 30 30 31 31 ---------------------- 32 = Proposal =32 = Proposals = 33 33 34 * Standardise on Concurrent Haskell without STM. It is our view that even in the presence of STM, {{{MVar}}}s offer 35 functionality that is distinct from STM and separately useful, so this leaves room for growth. 36 37 * Use the semantics from [http://www.haskell.org/~simonmar/papers/conc-ffi.pdf Extending the Haskell FFI with Concurrency] 34 == Proposal 1 == 38 35 39 * Standardise a way to write thread-safe libraries that work with implementations that don't provide full concurrency support. 36 * The Haskell' standard does not include concurrency, but includes enough to allow portable thread-safe 37 libraries to be written. (see "thread safe", below). 40 38 41 == Questions == 39 * A separate addendum specifies concurrency according to the ''fairness'' requirements (see below). 42 40 43 * Decide whether the Haskell' report includes Concurrency (with a separate !NoConcurrency addendum to specify how implementations without concurrency behave), or whether Concurrency is specified in a separate addendum. 41 == Proposal 2 == 44 42 45 * Decide how much pre-emption is acceptable, and figure out how to specify this. 43 * The Haskell' standard includes concurrency with the ''fairness'' requirements. 44 45 * A separate addendum specifies how implementations that do not provide concurrency behave: at the least, 46 it should include enough to allow portable thread-safe libraries. 47 48 == Proposal 3 == 49 50 * The Haskell' standard includes concurrency with a weaker version of ''fairness'', that is enough 51 to admit implementations with ''cooperative scheduling''. 52 53 * A separate addendum specifies concurrency with the full ''fairness'' requirements. 54 55 == Open questions == 46 56 47 57 * Require bound thread support, or make it optional? (YHC has concurrency with non-blocking foreign calls, but doesn't 48 58 have bound threads as yet.) 59 60 * Do we require ForeignBlocking? 49 61 50 62 == Thread-safety ==
