| ... | ... | @@ -48,3 +48,41 @@ Questions: |
|
|
|
|
|
|
|
- Require bound thread support, or make it optional? (YHC has concurrency with non-blocking foreign calls, but doesn't
|
|
|
|
have bound threads as yet.)
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
# Levels
|
|
|
|
|
|
|
|
|
|
|
|
There are several levels of concurrency support which require sucessivly more
|
|
|
|
implementation support and imply more implementation overhead.
|
|
|
|
|
|
|
|
## No Concurrency
|
|
|
|
|
|
|
|
|
|
|
|
The report says nothing about concurrency at all
|
|
|
|
|
|
|
|
## Concurrent Friendly
|
|
|
|
|
|
|
|
|
|
|
|
Enough is specified to allow people to write completley portable programs and
|
|
|
|
libraries that while they may not depend on concurrency, will not break in the
|
|
|
|
presence of it.
|
|
|
|
|
|
|
|
|
|
|
|
This would entail
|
|
|
|
|
|
|
|
- A standardized MVar-like structure.
|
|
|
|
- something along the lines of [ForeignBlocking](foreign-blocking)
|
|
|
|
|
|
|
|
## Concurrent Capabale
|
|
|
|
|
|
|
|
|
|
|
|
This would allow concurrency needing programs to be written, but perhaps not
|
|
|
|
as transparently as it curently is with GHC. This would include everything
|
|
|
|
needed to write concurrent programs without anything that would imply a
|
|
|
|
run-time or implementation overhead in the non-concurrent case.
|
|
|
|
|
|
|
|
## Concurrent Built-in
|
|
|
|
|
|
|
|
## Concurrent Preemptive/SMP |
|
|
\ No newline at end of file |