|
|
|
|
|
by logicchains
695 days ago
|
|
>Async runtimes themselves are simply attempts to bolt-on green threads on top of a language that doesn't support them on a language level. Haskell supports async code while also supporting green threads on a language level, and the async code has most of the same issues as async code in any other languages. |
|
- All IO is non-blocking by default.
- FFI support for interruptible.
- Haskell threads can be preempted externally - this allows you to ensure they never leak. Vs a goroutine that can just spin forever if it doesn't explicitly yield.
- There are various stdlib abstractions for building concurrent programs in a compositional way.