C asymmetric-coroutines

Open-source C projects categorized as asymmetric-coroutines

C asymmetric-coroutine Projects

asymmetric-coroutines
  1. minicoro

    Single header stackful cross-platform coroutine library in pure C.

    Project mention: Philosophy of Coroutines (2023) | news.ycombinator.com | 2025-03-27

    I share the author's enthusiasm for coroutines. They're nice abstractions for all sorts of state-machine-like code and for concurrency (without parallelism).

    > You could allocate a piece of memory for a coroutine stack; let the coroutines on it push and pop stack frames like ordinary function calls; and have a special ‘yield’ function that swaps out the stack pointer and switches over to executing on another stack. In fact, that’s not a bad way to add coroutines to a language that doesn’t already have them, because it doesn’t need the compiler to have any special knowledge of what’s going on. You could add coroutines to C in this way if you wanted to, and the approach would have several advantages over my preprocessor system.

    In C minicoro is a nice library that provides just that: https://github.com/edubart/minicoro

    In Zig there's zigcoro: https://github.com/rsepassi/zigcoro

    Another source I found enlightening on coroutines is "Coroutines in Lua": https://www.lua.org/doc/jucs04.pdf

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. Tina

    Tina is a teeny tiny, header only, coroutine and job library.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

C asymmetric-coroutines discussion

Log in or Post with

Index

# Project Stars
1 minicoro 736
2 Tina 284

Sponsored
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com