giles
21cb9cf51a
spec: coroutine primitive — make-coroutine/resume/yield via perform/cek-step-loop
...
spec/coroutines.sx: define-library with make-coroutine, coroutine-resume,
coroutine-yield, coroutine?, coroutine-alive?. Built on existing perform/
cek-step-loop/cek-resume suspension machinery.
spec/tests/test-coroutines.sx: 17 tests — multi-yield, final return,
arg passthrough, alive? predicate, nested coroutines, recursive iteration,
independent coroutine interleaving.
Key: coroutine body must use (define loop (fn…)) not named let — named let
transpiles to cek_call→cek_run which rejects IO suspension. All 17/17 pass.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-26 16:15:48 +00:00
..
2026-04-09 19:29:56 +00:00
2026-04-22 20:27:22 +00:00
2026-04-09 19:29:56 +00:00
2026-04-22 20:27:22 +00:00
2026-04-22 20:27:22 +00:00
2026-04-22 20:27:22 +00:00
2026-04-22 20:27:22 +00:00
2026-03-15 12:12:48 +00:00
2026-04-11 08:19:16 +00:00
2026-03-29 07:53:16 +00:00
2026-03-15 18:05:00 +00:00
2026-04-22 09:09:27 +00:00
2026-03-15 02:12:13 +00:00
2026-03-30 17:28:47 +00:00
2026-03-15 11:51:24 +00:00
2026-03-15 12:23:58 +00:00
2026-03-29 18:08:47 +00:00
2026-04-26 16:15:48 +00:00
2026-04-10 22:16:48 +00:00
2026-04-22 13:31:17 +00:00
2026-03-15 11:51:24 +00:00
2026-04-26 14:19:17 +00:00
2026-03-15 12:23:58 +00:00
2026-03-16 08:37:50 +00:00
2026-04-05 19:49:37 +00:00
2026-04-23 07:11:07 +00:00
2026-04-22 09:08:00 +00:00
2026-04-01 00:57:57 +00:00
2026-03-26 00:00:19 +00:00
2026-04-23 07:11:07 +00:00
2026-04-22 09:09:27 +00:00
2026-04-25 12:10:19 +00:00
2026-04-23 07:11:07 +00:00
2026-04-23 07:11:07 +00:00
2026-04-09 19:29:56 +00:00
2026-04-22 13:31:17 +00:00
2026-04-06 08:48:58 +00:00
2026-04-23 07:11:07 +00:00
2026-04-22 15:36:01 +00:00
2026-04-06 08:21:02 +00:00
2026-04-05 00:10:00 +00:00
2026-03-15 16:13:07 +00:00
2026-04-08 18:20:24 +00:00
2026-04-22 13:31:17 +00:00
2026-04-05 00:19:21 +00:00
2026-03-15 13:03:02 +00:00
2026-04-02 11:31:57 +00:00
2026-04-03 18:55:43 +00:00
2026-03-31 21:34:19 +00:00
2026-04-26 12:10:50 +00:00
2026-04-05 20:14:51 +00:00
2026-03-23 23:58:40 +00:00
2026-04-22 09:09:27 +00:00
2026-03-15 10:37:07 +00:00
2026-04-05 02:10:26 +00:00
2026-03-31 17:44:11 +00:00
2026-04-04 00:08:00 +00:00
2026-03-15 15:32:21 +00:00
2026-03-24 02:36:46 +00:00
2026-03-15 02:12:13 +00:00
2026-04-05 11:58:18 +00:00
2026-04-11 08:03:45 +00:00
2026-04-02 13:55:40 +00:00
2026-03-15 12:12:48 +00:00
2026-04-05 20:38:40 +00:00
2026-04-01 18:00:51 +00:00
2026-04-22 13:31:17 +00:00
2026-04-12 11:42:28 +00:00
2026-04-02 12:50:35 +00:00
2026-04-12 20:00:53 +00:00
2026-04-26 10:02:23 +00:00
2026-03-15 02:12:13 +00:00