diff options
Diffstat (limited to 'stdlib/source/experiment/tool')
-rw-r--r-- | stdlib/source/experiment/tool/interpreter.lux | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/stdlib/source/experiment/tool/interpreter.lux b/stdlib/source/experiment/tool/interpreter.lux index 55064903b..53fe60a88 100644 --- a/stdlib/source/experiment/tool/interpreter.lux +++ b/stdlib/source/experiment/tool/interpreter.lux @@ -16,9 +16,8 @@ ["[0]" module] ["[0]" type]] ["[0]" generation] - ["[0]" declaration (.only State+ Operation) - ["[0]" total]] - ["[0]" extension]] + ["[0]" declaration (.only State Operation) + ["[0]" total]]] ["[0]" default ["[0]" syntax] ["[0]" platform (.only Platform)] @@ -72,14 +71,12 @@ (Console !) (Platform ! anchor expression declaration) Configuration (generation.Bundle anchor expression declaration) - (! (State+ anchor expression declaration)))) + (! (State anchor expression declaration)))) (do Monad<!> [state (platform.initialize platform generation_bundle) state (platform.compile platform (has cli.#module syntax.prelude configuration) - (has [extension.#state - declaration.#analysis declaration.#state - extension.#state + (has [declaration.#analysis declaration.#state .#info .#mode] {.#Interpreter} state)) @@ -102,7 +99,7 @@ (All (_ anchor expression declaration) (-> Code <Interpretation>)) (do [! phase.monad] - [state (extension.lifted phase.state) + [state phase.state .let [analyse (the [declaration.#analysis declaration.#phase] state) synthesize (the [declaration.#synthesis declaration.#phase] state) generate (the [declaration.#generation declaration.#phase] state)] @@ -131,7 +128,7 @@ (function (_ state) (when (<| (phase.result' state) (sharing [anchor expression declaration] - (is (State+ anchor expression declaration) + (is (State anchor expression declaration) state) (is <Interpretation> (interpret_declaration code)))) @@ -142,7 +139,7 @@ (if (ex.match? total.not_a_declaration error) (<| (phase.result' state) (sharing [anchor expression declaration] - (is (State+ anchor expression declaration) + (is (State anchor expression declaration) state) (is <Interpretation> (interpret_expression code)))) @@ -155,17 +152,14 @@ (do phase.monad [[codeT codeV] (interpret configuration code) state phase.state] - (in (/type.represent (the [extension.#state - declaration.#analysis declaration.#state - extension.#state] - state) + (in (/type.represent (the [declaration.#analysis declaration.#state] state) codeT codeV)))) (type (Context anchor expression declaration) (Record [#configuration Configuration - #state (State+ anchor expression declaration) + #state (State anchor expression declaration) #source Source])) (with_expansions [<Context> (these (Context anchor expression declaration))] @@ -179,7 +173,7 @@ state (sharing [anchor expression declaration] (is <Context> context) - (is (State+ anchor expression declaration) + (is (State anchor expression declaration) (the #state context)))] (<| (phase.result' state) ... TODO: Simplify ASAP |