neco
libaco
neco | libaco | |
---|---|---|
4 | 3 | |
1,029 | 3,475 | |
- | - | |
7.2 | 10.0 | |
7 days ago | about 2 years ago | |
C | C | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
neco
- Neco: Concurrency Library for C (Coroutines)
-
Show HN: Neco – Coroutine Library for C
I don't know where you're getting that impression.
These are stackful, symmetric coroutines with a build-in scheduler. It implements suspend and resume. You can call that a green thread if you want, or a fiber or whatever. They're coroutines.
The API docs make all of this clearer than the README. https://github.com/tidwall/neco/blob/main/docs/API.md
libaco
- Show HN: Neco – Coroutine Library for C
- Splitting the stack - is there a library for this?
-
What are the current hot topics in type theory and static analysis?
Coroutines, async/await and general multicore support in the type system. Most languages by now either have some variant of async / await (JavaScript, Kotlin, Swift, Rust) or super-lightweight threads (Go, Elixir, Java via Project Loom), or they just have Monads which supersede coroutines entirely (Haskell, Scala). It's at the point where some say a language isn't suitable for production if it doesn't have good multicore support (also see Rust speeding through getting async/await even though they already have Send + Sync). Even Python and C++ have coroutines now, and of course there is a coroutine library for C which uses macros and low-level magic.
What are some alternatives?
libco - libco is a coroutine library which is widely used in wechat back-end service. It has been running on tens of thousands of machines since 2013.
val - A small library to bring NaNboxing to C
libco - libco is a cooperative multithreading library written in C89.
coroutine - A asymmetric coroutine library for C.
co - Example implementation of coroutine in C
Akka - Build highly concurrent, distributed, and resilient message-driven applications on the JVM
rfcs - RFC process for Bytecode Alliance projects
fully-homomorphic-encryption - An FHE compiler for C++
eff - 🚧 a work in progress effect system for Haskell 🚧
seL4 - The seL4 microkernel
dafny - Dafny is a verification-aware programming language
egg - egg is a flexible, high-performance e-graph library