Channel (programming): Difference between revisions

Content deleted Content added
m About ¬I/O channel
Line 88:
== List of implementations ==
 
===* List of non-standard, library based implementations of channels ===
 
* For Scala:
** CSO -- Communicating Scala Objects<ref>{{Citation |last=Sufrin |first=Bernard |title=ThreadCSO |date=2021-07-13 |url=https://github.com/sufrin/ThreadCSO/blob/5f8ef6eebdfd8e001e45af18fea52fec36ff7ddd/Lectures/cso-paper.pdf |access-date=2023-02-17}}</ref> is a complete DSL for channel-based communication and concurrency whose semantic primitives are generalizations of the OCCAM primitives. CSO has been used since 2007 in the teaching of concurrent programming, and relevant lectures can be found with the ThreadCSO implementation<ref>{{Citation |last=Sufrin |first=Bernard |title=ThreadCSO |date=2021-07-13 |url=https://github.com/sufrin/ThreadCSO |access-date=2023-02-17}}</ref>.
 
* For C++:
** [[stlab]]<ref>{{cite web|url=https://stlab.cc/libraries/concurrency|title=stlab is the ongoing work of what was Adobe's Software Technology Lab. The Adobe Source Libraries (ASL), Platform Libraries, and new stlab libraries are hosted on github.|date=2021-01-31}}</ref> This implementation supports splits, and different merge and zip operations. Different executors can be attached to the individual nodes.