diff options
Diffstat (limited to 'stdlib/source/lux/tool/compiler/language/lux/phase/generation/js/structure.lux')
-rw-r--r-- | stdlib/source/lux/tool/compiler/language/lux/phase/generation/js/structure.lux | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/js/structure.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/js/structure.lux index a1f05d050..aaea204bc 100644 --- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/js/structure.lux +++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/js/structure.lux @@ -5,7 +5,7 @@ [target ["_" js (#+ Expression)]]] ["." // #_ - ["#." runtime (#+ Operation Phase)] + ["#." runtime (#+ Operation Phase Generator)] ["#." primitive] ["///#" //// #_ [analysis (#+ Variant Tuple)] @@ -15,25 +15,25 @@ (def: unit Expression (//primitive.text /////synthesis.unit)) -(def: #export (tuple generate elemsS+) - (-> Phase (Tuple Synthesis) (Operation Expression)) +(def: #export (tuple generate archive elemsS+) + (Generator (Tuple Synthesis)) (case elemsS+ #.Nil (///////phase@wrap ..unit) (#.Cons singletonS #.Nil) - (generate singletonS) + (generate archive singletonS) _ (do ///////phase.monad - [elemsT+ (monad.map @ generate elemsS+)] + [elemsT+ (monad.map @ (generate archive) elemsS+)] (wrap (_.array elemsT+))))) -(def: #export (variant generate [lefts right? valueS]) - (-> Phase (Variant Synthesis) (Operation Expression)) +(def: #export (variant generate archive [lefts right? valueS]) + (Generator (Variant Synthesis)) (let [tag (if right? (inc lefts) lefts)] (///////phase@map (//runtime.variant (_.i32 (.int tag)) (//runtime.flag right?)) - (generate valueS)))) + (generate archive valueS)))) |