Minicoro is a single-file library for using asymmetric coroutines in C. The API is inspired by Lua coroutines but with C's use in mind. The project is being developed mainly to be a coroutine backend for the Nelua programming language. The library assembly implementation is inspired by Lua Coco by Mike Pall.

Features

  • Stackful asymmetric coroutines
  • Supports nesting coroutines (resuming a coroutine from another coroutine)
  • Storage system to allow passing values between yield and resume
  • Supports growable stacks and low memory footprint when enabling the virtual memory allocator
  • Customizable stack size
  • Coroutine API design inspired by Lua with C use in mind
  • Made to work in multithread applications
  • Minimal, self contained and no external dependencies
  • Error prone API, returning proper error codes on misuse
  • Support running with Valgrind, ASan (AddressSanitizer) and TSan (ThreadSanitizer)

Project Samples

Project Activity

See All Activity >

Categories

Libraries

License

MIT License

Follow minicoro

minicoro Web Site

Other Useful Business Software
$300 Free Credits to Build on Google Cloud Icon
$300 Free Credits to Build on Google Cloud

New customers can spin up VMs, build with AI, and query data at no cost.

Put your $300 in credit toward real workloads, then keep building with free monthly usage for 20+ products. No commitment and no charge until you upgrade.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of minicoro!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

C

Related Categories

C Libraries

Registered

2024-07-23