aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/test/lux/type.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/test/lux/type.lux')
-rw-r--r--stdlib/source/test/lux/type.lux31
1 files changed, 18 insertions, 13 deletions
diff --git a/stdlib/source/test/lux/type.lux b/stdlib/source/test/lux/type.lux
index 8c135b590..65920eca9 100644
--- a/stdlib/source/test/lux/type.lux
+++ b/stdlib/source/test/lux/type.lux
@@ -45,27 +45,32 @@
(Random Name)
(random.and ..short ..short))
-(def: .public (random parameters)
+(def: (random' parameters)
(-> Nat (Random Type))
(random.rec
(function (_ recur)
(let [pairG (random.and recur recur)
- quantifiedG (random.and (random\in (list)) recur)
un_parameterized (: (Random Type)
($_ random.either
- (random\map (|>> #.Primitive) (random.and ..short (random\in (list))))
+ (random\map (|>> #.Primitive) (random.and ..short (random.list 0 recur)))
+ (random\map (|>> #.Primitive) (random.and ..short (random.list 1 recur)))
+ (random\map (|>> #.Primitive) (random.and ..short (random.list 2 recur)))
(random\map (|>> #.Sum) pairG)
(random\map (|>> #.Product) pairG)
(random\map (|>> #.Function) pairG)
- (random\map (|>> #.UnivQ) quantifiedG)
- (random\map (|>> #.ExQ) quantifiedG)
- (random\map (|>> #.Apply) pairG)
- (random\map (|>> #.Named) (random.and ..name recur))
))]
(case parameters
0 un_parameterized
- _ (random.either un_parameterized
- (random\map (|>> (n.% parameters) #.Parameter) random.nat)))))))
+ _ (|> random.nat
+ (random\map (|>> (n.% parameters) #.Parameter))
+ (random.either un_parameterized)))))))
+
+(def: .public (random parameters)
+ (-> Nat (Random Type))
+ ($_ random.either
+ (random\map (/.univ_q parameters) (random' parameters))
+ (random\map (/.ex_q parameters) (random' parameters))
+ ))
(def: .public test
Test
@@ -98,7 +103,7 @@
_
#1)))
(list.repeated size)
- (monad.seq !))
+ (monad.all !))
.let [(^open "/\.") /.equivalence
(^open "list\.") (list.equivalence /.equivalence)]]
(`` ($_ _.and
@@ -123,7 +128,7 @@
(case> #.None #1 _ #0))))
(do {! random.monad}
[size (|> random.nat (\ ! map (n.% 3)))
- members (monad.seq ! (list.repeated size (..random 0)))
+ members (monad.all ! (list.repeated size (..random 0)))
extra (|> (..random 0)
(random.only (function (_ type)
(case type
@@ -144,7 +149,7 @@
(n.= (list.size members) (list.size tparams))))
))
(do {! random.monad}
- [size (|> random.nat (\ ! map (|>> (n.% 3) inc)))
+ [size (|> random.nat (\ ! map (|>> (n.% 3) ++)))
body_type (|> (..random 0)
(random.only (function (_ type)
(case type
@@ -170,7 +175,7 @@
(|> body_type (/.ex_q size) /.quantified?)))
)))
(do {! random.monad}
- [depth (|> random.nat (\ ! map (|>> (n.% 3) inc)))
+ [depth (|> random.nat (\ ! map (|>> (n.% 3) ++)))
element_type (|> (..random 0)
(random.only (function (_ type)
(case type