aboutsummaryrefslogtreecommitdiff
path: root/lux-jvm
diff options
context:
space:
mode:
authorEduardo Julian2022-01-08 06:37:39 -0400
committerEduardo Julian2022-01-08 06:37:39 -0400
commit54e219ee24c1508713d07473cd8a3b04c7f8fe18 (patch)
tree704007cf63c49d54e4d642da028f12c59eea0047 /lux-jvm
parentef847d54cc6ac57bb2d470c1164ca7daeaa241b1 (diff)
Fixes for the pure-Lux JVM compiler machinery. [Part 4]
Diffstat (limited to 'lux-jvm')
-rw-r--r--lux-jvm/source/luxc/lang/translation/jvm/extension/host.lux13
1 files changed, 8 insertions, 5 deletions
diff --git a/lux-jvm/source/luxc/lang/translation/jvm/extension/host.lux b/lux-jvm/source/luxc/lang/translation/jvm/extension/host.lux
index 45bbce9f9..7048bdd25 100644
--- a/lux-jvm/source/luxc/lang/translation/jvm/extension/host.lux
+++ b/lux-jvm/source/luxc/lang/translation/jvm/extension/host.lux
@@ -905,11 +905,11 @@
(-> (Dictionary Synthesis Variable) Synthesis Synthesis)
(function (again body)
(case body
- (^ {synthesis.#Primitive value})
- body
-
- (^ (synthesis.constant value))
- body
+ (^template [<tag>]
+ [(^ <tag>)
+ body])
+ ([{//////synthesis.#Primitive _}]
+ [(//////synthesis.constant _)])
(^ (synthesis.variant [lefts right? sub]))
(synthesis.variant [lefts right? (again sub)])
@@ -926,6 +926,9 @@
(^ (synthesis.branch/case [inputS pathS]))
(synthesis.branch/case [(again inputS) (normalize_path again pathS)])
+ (^ (synthesis.branch/exec [this that]))
+ (synthesis.branch/exec [(again this) (again that)])
+
(^ (synthesis.branch/let [inputS register outputS]))
(synthesis.branch/let [(again inputS) register (again outputS)])