diff options
Diffstat (limited to 'lux-ruby/source')
-rw-r--r-- | lux-ruby/source/program.lux | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/lux-ruby/source/program.lux b/lux-ruby/source/program.lux index 16fb31a96..5e06719fa 100644 --- a/lux-ruby/source/program.lux +++ b/lux-ruby/source/program.lux @@ -156,14 +156,16 @@ (def: interpreter (org/jruby/embed/ScriptingContainer::new)) -(template: (!ruby_runtime) - [(|> ..interpreter - org/jruby/embed/ScriptingContainer::getProvider - org/jruby/embed/internal/LocalContextProvider::getRuntime)]) +(def: !ruby_runtime + (template (!ruby_runtime) + [(|> ..interpreter + org/jruby/embed/ScriptingContainer::getProvider + org/jruby/embed/internal/LocalContextProvider::getRuntime)])) -(template: (!ruby_thread_context) - [(|> (!ruby_runtime) - org/jruby/Ruby::getCurrentContext)]) +(def: !ruby_thread_context + (template (!ruby_thread_context) + [(|> (!ruby_runtime) + org/jruby/Ruby::getCurrentContext)])) (def: initial_ruby_runtime (!ruby_runtime)) @@ -286,7 +288,7 @@ Translator (`` (<| (if (ffi.null? host_object) (exception.except ..nil_has_no_lux_representation [])) - (~~ (template [<class> <post_processing>] + (~~ (with_template [<class> <post_processing>] [(case (ffi.as <class> host_object) {.#Some typed_object} (`` (|> typed_object (~~ (template.spliced <post_processing>)))) @@ -326,7 +328,7 @@ (-> (Array java/lang/Object) org/jruby/runtime/builtin/IRubyObject) (-> java/lang/Object org/jruby/runtime/builtin/IRubyObject)) (function (again value) - (`` (<| (~~ (template [<when> <then>] + (`` (<| (~~ (with_template [<when> <then>] [(case (ffi.as <when> value) {.#Some value} (|> value |