diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/test/lux/compiler/default/phase/analysis/structure.lux | 40 |
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) |