aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/tool/compiler/phase/extension/statement.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/lux/tool/compiler/phase/extension/statement.lux')
-rw-r--r--stdlib/source/lux/tool/compiler/phase/extension/statement.lux17
1 files changed, 9 insertions, 8 deletions
diff --git a/stdlib/source/lux/tool/compiler/phase/extension/statement.lux b/stdlib/source/lux/tool/compiler/phase/extension/statement.lux
index 3d944b995..ee70ddfc5 100644
--- a/stdlib/source/lux/tool/compiler/phase/extension/statement.lux
+++ b/stdlib/source/lux/tool/compiler/phase/extension/statement.lux
@@ -10,17 +10,19 @@
["." list ("#/." functor)]
["." dictionary]]]
["." macro]
- [type (#+ :share)
+ [type (#+ :share :extract)
["." check]]]
["." //
["." bundle]
["/." //
- ["." analysis
+ [analysis
["." module]
["." type]]
["." synthesis (#+ Synthesis)]
["." translation]
- ["." statement (#+ Operation Handler Bundle)]]])
+ ["." statement (#+ Operation Handler Bundle)]
+ [//
+ ["." analysis]]]])
## TODO: Inline "evaluate!'" into "evaluate!" ASAP
(def: (evaluate!' translate code//type codeS)
@@ -181,11 +183,10 @@
(case inputsC+
(^ (list [_ (#.Text name)] valueC))
(do ///.monad
- [[_ handlerT handlerV] (evaluate! (:of (:share [anchor expression statement]
- {(Handler anchor expression statement)
- handler}
- {<type>
- (:assume [])}))
+ [[_ handlerT handlerV] (evaluate! (:extract [anchor expression statement]
+ {(Handler anchor expression statement)
+ handler}
+ <type>)
valueC)]
(<| <scope>
(//.install name)