| ... | @@ -38,30 +38,6 @@ Papers and other docs: |
... | @@ -38,30 +38,6 @@ Papers and other docs: |
|
|
- Providing a 'select' and non-blocking IO would be enough to allow people to implement something like it themselves in haskell and are provided by most systems as primitives.
|
|
- Providing a 'select' and non-blocking IO would be enough to allow people to implement something like it themselves in haskell and are provided by most systems as primitives.
|
|
|
- Things like the 'poor man's concurrency monad' can achieve some of the benefits
|
|
- Things like the 'poor man's concurrency monad' can achieve some of the benefits
|
|
|
|
|
|
|
|
## Proposal
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Standardise on Concurrent Haskell without STM. It is our view that even in the presence of STM, `MVar`s offer
|
|
|
|
|
functionality that is distinct from STM and separately useful, so this leaves room for growth.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Use the semantics from [ Extending the Haskell FFI with Concurrency](http://www.haskell.org/~simonmar/papers/conc-ffi.pdf)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Questions:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Decide how much pre-emption is acceptable, and figure out how to specify this.
|
|
|
|
|
|
|
|
|
|
- Should we specify what an implementation that doesn't provide concurrency should do? (e.g. provide an implementation
|
|
|
|
|
of MVars in terms of IORefs, so that concurrency-safe libraries can be written portably).
|
|
|
|
|
|
|
|
|
|
- Require bound thread support, or make it optional? (YHC has concurrency with non-blocking foreign calls, but doesn't
|
|
|
|
|
have bound threads as yet.)
|
|
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
|
|
|
|
|
| ... | | ... | |