mirror of
https://git.envs.net/iacore/minicoro-nim
synced 2026-01-02 05:04:48 +00:00
No description
| src | ||
| tests | ||
| .gitignore | ||
| minicoro.nimble | ||
| readme.md | ||
Coroutine in Nim, courtesy of https://github.com/edubart/minicoro
Warning: minicoro is not tested without --mm:orc or --mm:arc
Usage
import minicoro
proc coro_entry(co: Coro) {.cdecl.} =
var data: int
co.pop(data)
echo data # print 42
co.yield
var desc = initCoroDesc(coro_entry, 0)
let co = desc.create()
co.push(42.int) # each corotine has its own storage stack
assert co.status == coSUSPENDED
co.resume
assert co.status == coSUSPENDED
co.resume
assert co.status == coDEAD
co.destroy()
For another example, see this test file For complete API, see source code