diff options
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.lux | 25 |
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 @ |