aboutsummaryrefslogtreecommitdiff
path: root/lux-jvm/source/luxc/lang/translation/jvm/case.lux
diff options
context:
space:
mode:
Diffstat (limited to 'lux-jvm/source/luxc/lang/translation/jvm/case.lux')
-rw-r--r--lux-jvm/source/luxc/lang/translation/jvm/case.lux11
1 files changed, 10 insertions, 1 deletions
diff --git a/lux-jvm/source/luxc/lang/translation/jvm/case.lux b/lux-jvm/source/luxc/lang/translation/jvm/case.lux
index 0c9ad675f..94a3deb05 100644
--- a/lux-jvm/source/luxc/lang/translation/jvm/case.lux
+++ b/lux-jvm/source/luxc/lang/translation/jvm/case.lux
@@ -1,6 +1,6 @@
(.using
[library
- [lux {"-" Type Label Primitive if let case}
+ [lux {"-" Type Label Primitive if exec let case}
[abstract
["[0]" monad {"+" do}]]
[control
@@ -253,6 +253,15 @@
elseI
(_.label @end))))))
+(def: .public (exec phase archive [this that])
+ (Generator [Synthesis Synthesis])
+ (do phase.monad
+ [this! (phase archive this)
+ that! (phase archive that)]
+ (in (|>> this!
+ _.POP
+ that!))))
+
(def: .public (let phase archive [inputS register exprS])
(Generator [Synthesis Nat Synthesis])
(do phase.monad