diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/loop.lux | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/loop.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/loop.lux index ac0cd300d..d2a900a87 100644 --- a/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/loop.lux +++ b/stdlib/source/lux/tool/compiler/language/lux/phase/generation/jvm/loop.lux @@ -14,7 +14,7 @@ [jvm ["_" bytecode (#+ Label Bytecode) ("#@." monad)]]]] ["." // #_ - ["#." runtime (#+ Operation Phase)] + ["#." runtime (#+ Operation Phase Generator)] ["#." value] [//// ["." synthesis (#+ Path Synthesis)] @@ -35,8 +35,8 @@ (def: no-op (_@wrap [])) -(def: #export (recur translate updatesS) - (-> Phase (List Synthesis) (Operation (Bytecode Any))) +(def: #export (recur translate archive updatesS) + (Generator (List Synthesis)) (do phase.monad [[@begin offset] generation.anchor updatesG (|> updatesS @@ -48,7 +48,7 @@ (wrap [..no-op ..no-op]) (do @ - [fetchG (translate updateS) + [fetchG (translate archive updateS) #let [storeG (_.astore register)]] (wrap [fetchG storeG]))))))] (wrap ($_ _.compose @@ -69,13 +69,13 @@ (monad.seq _.monad)) (_.goto @begin))))) -(def: #export (scope translate [offset initsS+ iterationS]) - (-> Phase [Nat (List Synthesis) Synthesis] (Operation (Bytecode Any))) +(def: #export (scope translate archive [offset initsS+ iterationS]) + (Generator [Nat (List Synthesis) Synthesis]) (do phase.monad [@begin //runtime.forge-label - initsI+ (monad.map @ translate initsS+) + initsI+ (monad.map @ (translate archive) initsS+) iterationG (generation.with-anchor [@begin offset] - (translate iterationS)) + (translate archive iterationS)) #let [initializationG (|> (list.enumerate initsI+) (list@map (function (_ [index initG]) ($_ _.compose |