Symmetric coroutines!

This commit is contained in:
Bob Nystrom
2014-04-14 07:23:05 -07:00
parent cd75e17f0d
commit f03895b17e
31 changed files with 276 additions and 63 deletions
+10 -3
View File
@@ -1,6 +1,13 @@
var fiber = new Fiber {
var a = new Fiber {
IO.print("run")
}
fiber.run // expect: run
fiber.run // expect runtime error: Cannot run a finished fiber.
// Run a through an intermediate fiber since it will get discarded and we need
// to return to the main one after a completes.
var b = new Fiber {
a.run
IO.print("nope")
}
b.call // expect: run
a.run // expect runtime error: Cannot run a finished fiber.