aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/tool/compiler/language/lux/phase/analysis/structure.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/lux/tool/compiler/language/lux/phase/analysis/structure.lux')
-rw-r--r--stdlib/source/lux/tool/compiler/language/lux/phase/analysis/structure.lux25
1 files changed, 13 insertions, 12 deletions
diff --git a/stdlib/source/lux/tool/compiler/language/lux/phase/analysis/structure.lux b/stdlib/source/lux/tool/compiler/language/lux/phase/analysis/structure.lux
index 68da1dd68..1355b25c6 100644
--- a/stdlib/source/lux/tool/compiler/language/lux/phase/analysis/structure.lux
+++ b/stdlib/source/lux/tool/compiler/language/lux/phase/analysis/structure.lux
@@ -18,7 +18,8 @@
["." dictionary (#+ Dictionary)]]]
["." type
["." check]]
- ["." macro
+ ["." meta]
+ [macro
["." code]]]
["." // #_
["#." type]
@@ -92,7 +93,7 @@
(let [tag (/.tag lefts right?)]
(function (recur valueC)
(do {@ ///.monad}
- [expectedT (///extension.lift macro.expected-type)
+ [expectedT (///extension.lift meta.expected-type)
expectedT' (//type.with-env
(check.clean expectedT))]
(/.with-stack ..cannot-analyse-variant [expectedT' tag valueC]
@@ -165,7 +166,7 @@
(def: (typed-product archive analyse members)
(-> Archive Phase (List Code) (Operation Analysis))
(do {@ ///.monad}
- [expectedT (///extension.lift macro.expected-type)
+ [expectedT (///extension.lift meta.expected-type)
membersA+ (: (Operation (List Analysis))
(loop [membersT+ (type.flatten-tuple expectedT)
membersC+ members]
@@ -192,7 +193,7 @@
(def: #export (product archive analyse membersC)
(-> Archive Phase (List Code) (Operation Analysis))
(do {@ ///.monad}
- [expectedT (///extension.lift macro.expected-type)]
+ [expectedT (///extension.lift meta.expected-type)]
(/.with-stack ..cannot-analyse-tuple [expectedT membersC]
(case expectedT
(#.Product _)
@@ -259,11 +260,11 @@
(def: #export (tagged-sum analyse tag archive valueC)
(-> Phase Name Phase)
(do {@ ///.monad}
- [tag (///extension.lift (macro.normalize tag))
- [idx group variantT] (///extension.lift (macro.resolve-tag tag))
+ [tag (///extension.lift (meta.normalize tag))
+ [idx group variantT] (///extension.lift (meta.resolve-tag tag))
#let [case-size (list.size group)
[lefts right?] (/.choice case-size idx)]
- expectedT (///extension.lift macro.expected-type)]
+ expectedT (///extension.lift meta.expected-type)]
(case expectedT
(#.Var _)
(do @
@@ -285,7 +286,7 @@
(case key
[_ (#.Tag key)]
(do ///.monad
- [key (///extension.lift (macro.normalize key))]
+ [key (///extension.lift (meta.normalize key))]
(wrap [key val]))
_
@@ -304,8 +305,8 @@
(#.Cons [head-k head-v] _)
(do {@ ///.monad}
- [head-k (///extension.lift (macro.normalize head-k))
- [_ tag-set recordT] (///extension.lift (macro.resolve-tag head-k))
+ [head-k (///extension.lift (meta.normalize head-k))
+ [_ tag-set recordT] (///extension.lift (meta.resolve-tag head-k))
#let [size-record (list.size record)
size-ts (list.size tag-set)]
_ (if (n.= size-ts size-record)
@@ -316,7 +317,7 @@
idx->val (monad.fold @
(function (_ [key val] idx->val)
(do @
- [key (///extension.lift (macro.normalize key))]
+ [key (///extension.lift (meta.normalize key))]
(case (dictionary.get key tag->idx)
(#.Some idx)
(if (dictionary.contains? idx idx->val)
@@ -346,7 +347,7 @@
(do {@ ///.monad}
[members (normalize members)
[membersC recordT] (order members)
- expectedT (///extension.lift macro.expected-type)]
+ expectedT (///extension.lift meta.expected-type)]
(case expectedT
(#.Var _)
(do @