libgoc provides a Go - like runtime in portable C.
It is basically C + GC + threadpools + goroutines + channels + goroutine-aware-mutexes.
It's built on top of:
- Boehm GC
- libuv for async I/O and cross-platform threading primitives
- minicoro for cross-platform coroutines
- picohttp as the HTTP parser for goc_http
The API is stable at this point.
Prebuilt static binaries are available for Linux / Mac / Windows.
I plan to make typesafe C++ / Rust wrappers for this at some point.