aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux
diff options
context:
space:
mode:
authorEduardo Julian2018-05-08 22:30:03 -0400
committerEduardo Julian2018-05-08 22:30:03 -0400
commit8c90251c12a4d0d4cc191bfb273bb5eb51bb0356 (patch)
tree5964bba6bedd134c244bc322df4cced3419ca957 /new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux
parentca9541c0c10d4e6aa94055ecfb47301ed7292828 (diff)
- Re-named "lux process concurrency-level" to "lux process parallelism-level".
- Merged the functionality of "lux process future" into "lux process schedule".
Diffstat (limited to 'new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux')
-rw-r--r--new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux21
1 files changed, 8 insertions, 13 deletions
diff --git a/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux
index ef840d210..e2bf83dfa 100644
--- a/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux
@@ -243,23 +243,18 @@
Runtime
(format @@box//write))
-(runtime: (process//future procedure)
- (ruby.and (format "(Thread.new {"
- (ruby.statement (ruby.call (list ..unit) procedure))
- "})")
- ..unit))
-
(runtime: (process//schedule milli-seconds procedure)
- (ruby.and (format "(Thread.new {"
- (ruby.statement (ruby.apply "sleep" (list (ruby./ (ruby.float 1_000.0) milli-seconds))))
- (ruby.statement (ruby.call (list ..unit) procedure))
- "})")
- ..unit))
+ (ruby.block!
+ (list (format "(Thread.new {"
+ (ruby.when! (ruby.not (ruby.= (ruby.int 0) milli-seconds))
+ (ruby.statement (ruby.apply "sleep" (list (ruby./ (ruby.float 1_000.0) milli-seconds)))))
+ (ruby.statement (ruby.call (list ..unit) procedure))
+ "})")
+ (ruby.return! ..unit))))
(def: runtime//process
Runtime
- (format @@process//future
- @@process//schedule))
+ @@process//schedule)
(def: runtime
Runtime