aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/experiment/tool/interpreter.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/experiment/tool/interpreter.lux')
-rw-r--r--stdlib/source/experiment/tool/interpreter.lux26
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