aboutsummaryrefslogtreecommitdiff
path: root/core/coroutines.nom
diff options
context:
space:
mode:
Diffstat (limited to 'core/coroutines.nom')
-rw-r--r--core/coroutines.nom17
1 files changed, 7 insertions, 10 deletions
diff --git a/core/coroutines.nom b/core/coroutines.nom
index 8a1f8c9..c14042c 100644
--- a/core/coroutines.nom
+++ b/core/coroutines.nom
@@ -1,18 +1,15 @@
-#!/usr/bin/env nomsu -V1
+#!/usr/bin/env nomsu -V2.2.4.3
#
This file defines the code that creates and manipulates coroutines
use "core/metaprogramming.nom"
+compile [coroutine %body, generator %body] to (..)
+ Lua value "(function()\n \(%body as lua statements)\nend)"
-compile [coroutine %body, generator %body] to
- Lua value ".."
- (function()
- \(%body as lua statements)
- end)
-compile [->] to: Lua value "coroutine.yield(true)"
-compile [-> %] to: Lua value "coroutine.yield(true, \(% as lua expr))"
-compile [for % in coroutine %co %body] to
+compile [->] to (Lua value "coroutine.yield(true)")
+compile [-> %] to (Lua value "coroutine.yield(true, \(% as lua expr))")
+compile [for % in coroutine %co %body] to (..)
Lua ".."
for junk,\(% as lua expr) in coroutine.wrap(\(%co as lua expr)) do
\(%body as lua statements)
- end
+ end \ No newline at end of file