Concurrency designs from other communities

folks. i found concurrency and related topics fascinating and mind blowing. it is very exciting to see how different design constraints and author personal preferences of various languages lead to quite different solutions to the same or similar problems.

this topic is supposed to be a catch-all place with relevant links on "how other guys do concurrency" and related stuff. please share the relevant links here when you come across them.

11 Likes

Python:

What Color is Your Function?
https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/

1 Like

Fibers under the magnifying glass:

Response to “Fibers under the magnifying glass”:

Response to response to "Fibers under the magnifying glass":

The Top 100 Coroutines Open Source Projects

Algebraic Effects

Actual concurrency bugs in Go:

1 Like

Software Transactional Memory in Haskell

The main benefits of STM are composability and modularity .

https://wiki.haskell.org/Software_transactional_memory

Scala library ZIO, which includes an implementation of fibers, STM and more.

1 Like

Just for the record, this is rather technical and low-level, but it may be an interesting read as I think this is what Swift uses for its coroutine:

http://llvm.org/docs/Coroutines.html

1 Like

The Python library Trio, which implements “structured concurrency”: Trio: a friendly Python library for async concurrency and I/O — Trio 0.21.0 documentation.

A couple blog posts with background on structured concurrency: Notes on structured concurrency, or: Go statement considered harmful — njs blog and Timeouts and cancellation for humans — njs blog.

A forum for discussing structured concurrency: Structured concurrency - Trio forum

1 Like

Closure: Concurrency in Clojure

Declarative concurrency: declarative-concurrency

SwiftCoroutine available now!

5 Likes

Heave ho