aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/test/lux/compiler/default/phase/analysis/structure.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/test/lux/compiler/default/phase/analysis/structure.lux40
1 files changed, 20 insertions, 20 deletions
diff --git a/stdlib/source/test/lux/compiler/default/phase/analysis/structure.lux b/stdlib/source/test/lux/compiler/default/phase/analysis/structure.lux
index 34a43c042..6d575fd08 100644
--- a/stdlib/source/test/lux/compiler/default/phase/analysis/structure.lux
+++ b/stdlib/source/test/lux/compiler/default/phase/analysis/structure.lux
@@ -4,17 +4,17 @@
[monad (#+ do)]
pipe]
[data
- ["." bit ("#/." equivalence)]
+ ["." bit ("#;." equivalence)]
["e" error]
["." product]
["." maybe]
["." text]
[collection
- ["." list ("#/." functor)]
+ ["." list ("#;." functor)]
["." set]]]
[math
["r" random]]
- ["." type ("#/." equivalence)
+ ["." type ("#;." equivalence)
["." check]]
[macro
["." code]]
@@ -53,7 +53,7 @@
(inc (get@ #analysis.lefts variant))
(get@ #analysis.lefts variant))]
(|> size dec (n/= tag)
- (bit/= (get@ #analysis.right? variant))
+ (bit;= (get@ #analysis.right? variant))
(and (n/= tag variant-tag)))))
(def: (check-sum type size tag analysis)
@@ -101,7 +101,7 @@
(tagged module tags type)
(phase.run _primitive.state)
(case> (#e.Success [_ productT productA])
- (and (type/= type productT)
+ (and (type;= type productT)
(right-size? size productA))
_
@@ -115,14 +115,14 @@
primitives (r.list size _primitive.primitive)
+choice (|> r.nat (:: @ map (n/% (inc size))))
[_ +valueC] _primitive.primitive
- #let [variantT (type.variant (list/map product.left primitives))
+ #let [variantT (type.variant (list;map product.left primitives))
[valueT valueC] (maybe.assume (list.nth choice primitives))
+size (inc size)
+primitives (list.concat (list (list.take choice primitives)
(list [(#.Parameter 1) +valueC])
(list.drop choice primitives)))
[+valueT +valueC] (maybe.assume (list.nth +choice +primitives))
- +variantT (type.variant (list/map product.left +primitives))]]
+ +variantT (type.variant (list;map product.left +primitives))]]
($_ seq
(test "Can analyse sum."
(check-sum variantT size choice
@@ -166,16 +166,16 @@
primitives (r.list size _primitive.primitive)
choice (|> r.nat (:: @ map (n/% size)))
[_ +valueC] _primitive.primitive
- #let [tupleT (type.tuple (list/map product.left primitives))
+ #let [tupleT (type.tuple (list;map product.left primitives))
[singletonT singletonC] (|> primitives (list.nth choice) maybe.assume)
+primitives (list.concat (list (list.take choice primitives)
(list [(#.Parameter 1) +valueC])
(list.drop choice primitives)))
- +tupleT (type.tuple (list/map product.left +primitives))]]
+ +tupleT (type.tuple (list;map product.left +primitives))]]
($_ seq
(test "Can analyse product."
(|> (typeA.with-type tupleT
- (/.product _primitive.phase (list/map product.right primitives)))
+ (/.product _primitive.phase (list;map product.right primitives)))
(phase.run _primitive.state)
(case> (#e.Success tupleA)
(right-size? size tupleA)
@@ -184,10 +184,10 @@
#0)))
(test "Can infer product."
(|> (typeA.with-inference
- (/.product _primitive.phase (list/map product.right primitives)))
+ (/.product _primitive.phase (list;map product.right primitives)))
(phase.run _primitive.state)
(case> (#e.Success [_type tupleA])
- (and (type/= tupleT _type)
+ (and (type;= tupleT _type)
(right-size? size tupleA))
_
@@ -200,9 +200,9 @@
(|> (do phase.monad
[[_ varT] (typeA.with-env check.var)
_ (typeA.with-env
- (check.check varT (type.tuple (list/map product.left primitives))))]
+ (check.check varT (type.tuple (list;map product.left primitives))))]
(typeA.with-type varT
- (/.product _primitive.phase (list/map product.right primitives))))
+ (/.product _primitive.phase (list;map product.right primitives))))
(phase.run _primitive.state)
(case> (#e.Success tupleA)
(right-size? size tupleA)
@@ -211,11 +211,11 @@
#0)))
(test "Can analyse product through existential quantification."
(|> (typeA.with-type (type.ex-q 1 +tupleT)
- (/.product _primitive.phase (list/map product.right +primitives)))
+ (/.product _primitive.phase (list;map product.right +primitives)))
check-succeeds))
(test "Cannot analyse product through universal quantification."
(|> (typeA.with-type (type.univ-q 1 +tupleT)
- (/.product _primitive.phase (list/map product.right +primitives)))
+ (/.product _primitive.phase (list;map product.right +primitives)))
check-fails))
))))
@@ -230,7 +230,7 @@
module-name (r.unicode 5)
type-name (r.unicode 5)
#let [varT (#.Parameter 1)
- primitivesT (list/map product.left primitives)
+ primitivesT (list;map product.left primitives)
[choiceT choiceC] (maybe.assume (list.nth choice primitives))
[other-choiceT other-choiceC] (maybe.assume (list.nth other-choice primitives))
variantT (type.variant primitivesT)
@@ -268,9 +268,9 @@
type-name (r.unicode 5)
choice (|> r.nat (:: @ map (n/% size)))
#let [varT (#.Parameter 1)
- tagsC (list/map (|>> [module-name] code.tag) tags)
- primitivesT (list/map product.left primitives)
- primitivesC (list/map product.right primitives)
+ tagsC (list;map (|>> [module-name] code.tag) tags)
+ primitivesT (list;map product.left primitives)
+ primitivesC (list;map product.right primitives)
tupleT (type.tuple primitivesT)
namedT (#.Named [module-name type-name] tupleT)
recordC (list.zip2 tagsC primitivesC)