aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/compiler/default/phase/extension/analysis/common.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/lux/compiler/default/phase/extension/analysis/common.lux20
1 files changed, 11 insertions, 9 deletions
diff --git a/stdlib/source/lux/compiler/default/phase/extension/analysis/common.lux b/stdlib/source/lux/compiler/default/phase/extension/analysis/common.lux
index 0d1148fbd..59a99800b 100644
--- a/stdlib/source/lux/compiler/default/phase/extension/analysis/common.lux
+++ b/stdlib/source/lux/compiler/default/phase/extension/analysis/common.lux
@@ -7,9 +7,10 @@
format]
[collection
["." list ("list/." Functor<List>)]
- ["dict" dictionary (#+ Dictionary)]]]
+ ["." dictionary (#+ Dictionary)]]]
[type
["." check]]
+ ["." macro]
[io (#+ IO)]]
["." ///
["." bundle]
@@ -99,8 +100,9 @@
(case args
(^ (list typeC valueC))
(do ////.Monad<Operation>
- [actualT (:: @ map (|>> (:coerce Type))
- (eval Type typeC))
+ [count (///.lift macro.count)
+ actualT (:: @ map (|>> (:coerce Type))
+ (eval count Type typeC))
_ (typeA.infer actualT)]
(typeA.with-type <type>
(analyse valueC)))
@@ -207,10 +209,10 @@
(-> Eval Bundle)
(<| (bundle.prefix "lux")
(|> bundle.empty
- (dict.merge (bundle::lux eval))
- (dict.merge bundle::bit)
- (dict.merge bundle::int)
- (dict.merge bundle::frac)
- (dict.merge bundle::text)
- (dict.merge bundle::io)
+ (dictionary.merge (bundle::lux eval))
+ (dictionary.merge bundle::bit)
+ (dictionary.merge bundle::int)
+ (dictionary.merge bundle::frac)
+ (dictionary.merge bundle::text)
+ (dictionary.merge bundle::io)
)))