diff options
Diffstat (limited to 'stdlib/source/lux/compiler/default/evaluation.lux')
-rw-r--r-- | stdlib/source/lux/compiler/default/evaluation.lux | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/stdlib/source/lux/compiler/default/evaluation.lux b/stdlib/source/lux/compiler/default/evaluation.lux index d93feca93..3fb1a9984 100644 --- a/stdlib/source/lux/compiler/default/evaluation.lux +++ b/stdlib/source/lux/compiler/default/evaluation.lux @@ -3,7 +3,9 @@ [control [monad (#+ do)]] [data - ["." error]]] + ["." error] + [text + format]]] [// ["." phase [analysis (#+ Operation) @@ -14,7 +16,7 @@ ["." translation]]]) (type: #export Eval - (-> Type Code (Operation Any))) + (-> Nat Type Code (Operation Any))) (def: #export (evaluator synthesis-state translation-state translate) (All [anchor expression statement] @@ -22,7 +24,7 @@ (translation.State+ anchor expression statement) (translation.Phase anchor expression statement) Eval)) - (function (eval type exprC) + (function (eval count type exprC) (do phase.Monad<Operation> [exprA (type.with-type type (expressionA.compile exprC))] @@ -31,4 +33,4 @@ (phase.run translation-state (do phase.Monad<Operation> [exprO (translate exprS)] - (translation.evaluate! exprO)))))))) + (translation.evaluate! (format "eval" (%n count)) exprO)))))))) |