diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/test/lux/meta/type/check.lux | 84 |
1 files changed, 42 insertions, 42 deletions
diff --git a/stdlib/source/test/lux/meta/type/check.lux b/stdlib/source/test/lux/meta/type/check.lux index 05b6dcba4..5fd953e73 100644 --- a/stdlib/source/test/lux/meta/type/check.lux +++ b/stdlib/source/test/lux/meta/type/check.lux @@ -61,7 +61,7 @@ random_quantified (random.either (random#each (|>> {.#UnivQ}) quantifiedG) (random#each (|>> {.#ExQ}) quantifiedG))] (all random.either - (random#each (|>> {.#Primitive}) (random.and ..short (random#in (list)))) + (random#each (|>> {.#Nominal}) (random.and ..short (random#in (list)))) random_pair random_id random_quantified @@ -75,7 +75,7 @@ (def (valid_type? type) (-> Type Bit) (when type - {.#Primitive name params} + {.#Nominal name params} (list.every? valid_type? params) {.#Ex id} @@ -118,16 +118,16 @@ ($monad.spec ..injection ..comparison /.monad)) )) -(def (primitive_type parameters) +(def (nominal_type parameters) (-> Nat (Random Type)) (do random.monad - [primitive (random.upper_cased 3) - parameters (random.list parameters (primitive_type (-- parameters)))] - (in {.#Primitive primitive parameters}))) + [nominal (random.upper_cased 3) + parameters (random.list parameters (nominal_type (-- parameters)))] + (in {.#Nominal nominal parameters}))) (def clean_type (Random Type) - (primitive_type 2)) + (nominal_type 2)) (exception.def yolo) @@ -214,7 +214,7 @@ (when (/.result /.fresh_context (do /.monad [[var_id var_type] /.var - _ (/.bind {.#Primitive nominal (list)} + _ (/.bind {.#Nominal nominal (list)} var_id)] (in true))) {try.#Success _} true @@ -225,7 +225,7 @@ (and (|> (do /.monad [[var_id var_type] /.var pre (/.bound? var_id) - _ (/.bind {.#Primitive nominal (list)} + _ (/.bind {.#Nominal nominal (list)} var_id) post (/.bound? var_id)] (in (and (not pre) @@ -248,9 +248,9 @@ (when (/.result /.fresh_context (do /.monad [[var_id var_type] /.var - _ (/.bind {.#Primitive nominal (list)} + _ (/.bind {.#Nominal nominal (list)} var_id)] - (/.bind {.#Primitive nominal (list)} + (/.bind {.#Nominal nominal (list)} var_id))) {try.#Success _} false @@ -262,7 +262,7 @@ var_id random.nat] (_.coverage [/.unknown_type_var] (when (/.result /.fresh_context - (/.bind {.#Primitive nominal (list)} + (/.bind {.#Nominal nominal (list)} var_id)) {try.#Success _} false @@ -271,7 +271,7 @@ (exception.match? /.unknown_type_var error)))) (do random.monad [nominal (random.upper_cased 10) - .let [expected {.#Primitive nominal (list)}]] + .let [expected {.#Nominal nominal (list)}]] (_.coverage [/.peek] (and (|> (do /.monad [[var_id var_type] /.var] @@ -299,7 +299,7 @@ false))))) (do random.monad [nominal (random.upper_cased 10) - .let [expected {.#Primitive nominal (list)}]] + .let [expected {.#Nominal nominal (list)}]] (_.coverage [/.read] (when (/.result /.fresh_context (do /.monad @@ -313,7 +313,7 @@ false))) (do random.monad [nominal (random.upper_cased 10) - .let [expected {.#Primitive nominal (list)}]] + .let [expected {.#Nominal nominal (list)}]] (_.coverage [/.unbound_type_var] (when (/.result /.fresh_context (do /.monad @@ -383,7 +383,7 @@ (Random Type) (do random.monad [name (random.upper_cased 10)] - (in {.#Primitive name (list)}))) + (in {.#Nominal name (list)}))) (def (non_twins = random) (All (_ a) (-> (-> a a Bit) (Random a) (Random [a a]))) @@ -401,22 +401,22 @@ (def (handles_nominal_types! name/0 name/1 parameter/0 parameter/1) (-> Text Text Type Type Bit) (let [names_matter! - (and (..succeeds? (/.check {.#Primitive name/0 (list)} - {.#Primitive name/0 (list)})) - (..fails? (/.check {.#Primitive name/0 (list)} - {.#Primitive name/1 (list)}))) + (and (..succeeds? (/.check {.#Nominal name/0 (list)} + {.#Nominal name/0 (list)})) + (..fails? (/.check {.#Nominal name/0 (list)} + {.#Nominal name/1 (list)}))) parameters_matter! - (and (..succeeds? (/.check {.#Primitive name/0 (list parameter/0)} - {.#Primitive name/0 (list parameter/0)})) - (..fails? (/.check {.#Primitive name/0 (list parameter/0)} - {.#Primitive name/0 (list parameter/1)}))) + (and (..succeeds? (/.check {.#Nominal name/0 (list parameter/0)} + {.#Nominal name/0 (list parameter/0)})) + (..fails? (/.check {.#Nominal name/0 (list parameter/0)} + {.#Nominal name/0 (list parameter/1)}))) covariant_parameters! - (and (..succeeds? (/.check {.#Primitive name/0 (list Super)} - {.#Primitive name/0 (list Sub)})) - (..fails? (/.check {.#Primitive name/0 (list Sub)} - {.#Primitive name/0 (list Super)})))] + (and (..succeeds? (/.check {.#Nominal name/0 (list Super)} + {.#Nominal name/0 (list Sub)})) + (..fails? (/.check {.#Nominal name/0 (list Sub)} + {.#Nominal name/0 (list Super)})))] (and names_matter! parameters_matter! covariant_parameters!))) @@ -424,8 +424,8 @@ (with_template [<assertion> <combinator>] [(def (<assertion> name/0 name/1) (-> Text Text Bit) - (let [pair/0 {<combinator> {.#Primitive name/0 (list)} {.#Primitive name/0 (list)}} - pair/1 {<combinator> {.#Primitive name/1 (list)} {.#Primitive name/1 (list)}} + (let [pair/0 {<combinator> {.#Nominal name/0 (list)} {.#Nominal name/0 (list)}} + pair/1 {<combinator> {.#Nominal name/1 (list)} {.#Nominal name/1 (list)}} invariant! (and (..succeeds? (/.check pair/0 pair/0)) @@ -713,7 +713,7 @@ [name (random.upper_cased 10) parameterT dirty_type] (in (function (_ holeT) - {.#Primitive name (list (parameterT holeT))}))) + {.#Nominal name (list (parameterT holeT))}))) (,, (with_template [<tag>] [(do [! random.monad] [funcT dirty_type @@ -765,18 +765,18 @@ (def for_subsumption|nominal (Random Bit) (do random.monad - [primitive (random.upper_cased 10) + [nominal (random.upper_cased 10) example ..clean_type] - (in (and (/.subsumes? {.#Primitive primitive (list)} - {.#Primitive primitive (list)}) - (/.subsumes? {.#Primitive primitive (list .Any)} - {.#Primitive primitive (list example)}) - (not (/.subsumes? {.#Primitive primitive (list example)} - {.#Primitive primitive (list .Any)})) - (/.subsumes? {.#Primitive primitive (list example)} - {.#Primitive primitive (list .Nothing)}) - (not (/.subsumes? {.#Primitive primitive (list .Nothing)} - {.#Primitive primitive (list example)})) + (in (and (/.subsumes? {.#Nominal nominal (list)} + {.#Nominal nominal (list)}) + (/.subsumes? {.#Nominal nominal (list .Any)} + {.#Nominal nominal (list example)}) + (not (/.subsumes? {.#Nominal nominal (list example)} + {.#Nominal nominal (list .Any)})) + (/.subsumes? {.#Nominal nominal (list example)} + {.#Nominal nominal (list .Nothing)}) + (not (/.subsumes? {.#Nominal nominal (list .Nothing)} + {.#Nominal nominal (list example)})) )))) (def for_subsumption|sum |