aboutsummaryrefslogtreecommitdiff
path: root/stdlib
diff options
context:
space:
mode:
authorEduardo Julian2022-04-08 21:59:08 -0400
committerEduardo Julian2022-04-08 21:59:08 -0400
commitab99de20a3d0566a71bf0ef607d9d6e291d7f62a (patch)
tree3755ede88eebb40e76291b45d0e3be4fdfb68621 /stdlib
parent120ebb44dbb1a20fc150e5e58099f90be2e61d49 (diff)
Removed (mostly useless) pattern-matching macro for abstract types.
Diffstat (limited to 'stdlib')
-rw-r--r--stdlib/source/library/lux/control/concurrency/async.lux2
-rw-r--r--stdlib/source/library/lux/control/concurrency/atom.lux2
-rw-r--r--stdlib/source/library/lux/control/concurrency/frp.lux2
-rw-r--r--stdlib/source/library/lux/control/concurrency/semaphore.lux7
-rw-r--r--stdlib/source/library/lux/control/concurrency/stm.lux2
-rw-r--r--stdlib/source/library/lux/control/io.lux2
-rw-r--r--stdlib/source/library/lux/control/lazy.lux2
-rw-r--r--stdlib/source/library/lux/control/security/capability.lux2
-rw-r--r--stdlib/source/library/lux/control/security/policy.lux2
-rw-r--r--stdlib/source/library/lux/control/thread.lux2
-rw-r--r--stdlib/source/library/lux/data/collection/set/multi.lux41
-rw-r--r--stdlib/source/library/lux/data/collection/set/ordered.lux2
-rw-r--r--stdlib/source/library/lux/data/collection/stack.lux2
-rw-r--r--stdlib/source/library/lux/data/color.lux2
-rw-r--r--stdlib/source/library/lux/data/format/css/class.lux2
-rw-r--r--stdlib/source/library/lux/data/format/css/id.lux2
-rw-r--r--stdlib/source/library/lux/data/format/css/property.lux2
-rw-r--r--stdlib/source/library/lux/data/format/css/query.lux2
-rw-r--r--stdlib/source/library/lux/data/format/css/selector.lux2
-rw-r--r--stdlib/source/library/lux/data/format/css/style.lux2
-rw-r--r--stdlib/source/library/lux/data/format/css/value.lux2
-rw-r--r--stdlib/source/library/lux/data/format/html.lux2
-rw-r--r--stdlib/source/library/lux/data/format/markdown.lux2
-rw-r--r--stdlib/source/library/lux/data/format/tar.lux2
-rw-r--r--stdlib/source/library/lux/data/text/buffer.lux2
-rw-r--r--stdlib/source/library/lux/data/text/encoding.lux2
-rw-r--r--stdlib/source/library/lux/data/text/unicode/block.lux2
-rw-r--r--stdlib/source/library/lux/data/text/unicode/set.lux2
-rw-r--r--stdlib/source/library/lux/ffi.lux2
-rw-r--r--stdlib/source/library/lux/locale.lux2
-rw-r--r--stdlib/source/library/lux/locale/language.lux2
-rw-r--r--stdlib/source/library/lux/locale/territory.lux2
-rw-r--r--stdlib/source/library/lux/math/modular.lux2
-rw-r--r--stdlib/source/library/lux/math/modulus.lux2
-rw-r--r--stdlib/source/library/lux/target/common_lisp.lux2
-rw-r--r--stdlib/source/library/lux/target/js.lux2
-rw-r--r--stdlib/source/library/lux/target/jvm/bytecode/address.lux2
-rw-r--r--stdlib/source/library/lux/target/jvm/bytecode/environment/limit/registry.lux2
-rw-r--r--stdlib/source/library/lux/target/jvm/bytecode/environment/limit/stack.lux2
-rw-r--r--stdlib/source/library/lux/target/jvm/bytecode/instruction.lux2
-rw-r--r--stdlib/source/library/lux/target/jvm/constant.lux2
-rw-r--r--stdlib/source/library/lux/target/jvm/constant/tag.lux2
-rw-r--r--stdlib/source/library/lux/target/jvm/encoding/name.lux2
-rw-r--r--stdlib/source/library/lux/target/jvm/encoding/signed.lux2
-rw-r--r--stdlib/source/library/lux/target/jvm/encoding/unsigned.lux2
-rw-r--r--stdlib/source/library/lux/target/jvm/index.lux2
-rw-r--r--stdlib/source/library/lux/target/jvm/modifier.lux2
-rw-r--r--stdlib/source/library/lux/target/jvm/type.lux2
-rw-r--r--stdlib/source/library/lux/target/jvm/type/category.lux2
-rw-r--r--stdlib/source/library/lux/target/jvm/type/descriptor.lux2
-rw-r--r--stdlib/source/library/lux/target/jvm/type/lux.lux2
-rw-r--r--stdlib/source/library/lux/target/jvm/type/reflection.lux2
-rw-r--r--stdlib/source/library/lux/target/jvm/type/signature.lux2
-rw-r--r--stdlib/source/library/lux/target/lua.lux2
-rw-r--r--stdlib/source/library/lux/target/php.lux2
-rw-r--r--stdlib/source/library/lux/target/python.lux2
-rw-r--r--stdlib/source/library/lux/target/r.lux2
-rw-r--r--stdlib/source/library/lux/target/ruby.lux2
-rw-r--r--stdlib/source/library/lux/target/scheme.lux2
-rw-r--r--stdlib/source/library/lux/time.lux2
-rw-r--r--stdlib/source/library/lux/time/date.lux2
-rw-r--r--stdlib/source/library/lux/time/duration.lux2
-rw-r--r--stdlib/source/library/lux/time/instant.lux2
-rw-r--r--stdlib/source/library/lux/time/year.lux2
-rw-r--r--stdlib/source/library/lux/tool/compiler/meta/archive.lux2
-rw-r--r--stdlib/source/library/lux/tool/compiler/meta/archive/key.lux2
-rw-r--r--stdlib/source/library/lux/tool/compiler/meta/archive/module/document.lux2
-rw-r--r--stdlib/source/library/lux/tool/compiler/meta/archive/registry.lux2
-rw-r--r--stdlib/source/library/lux/type/abstract.lux20
-rw-r--r--stdlib/source/library/lux/type/quotient.lux2
-rw-r--r--stdlib/source/library/lux/type/refinement.lux2
-rw-r--r--stdlib/source/library/lux/type/resource.lux2
-rw-r--r--stdlib/source/library/lux/type/unit.lux2
-rw-r--r--stdlib/source/library/lux/world/db/sql.lux2
-rw-r--r--stdlib/source/library/lux/world/net/http/mime.lux2
-rw-r--r--stdlib/source/program/aedifex/artifact/time/date.lux2
-rw-r--r--stdlib/source/program/aedifex/hash.lux2
-rw-r--r--stdlib/source/test/aedifex/dependency/resolution.lux190
-rw-r--r--stdlib/source/test/lux/type/abstract.lux9
79 files changed, 196 insertions, 219 deletions
diff --git a/stdlib/source/library/lux/control/concurrency/async.lux b/stdlib/source/library/lux/control/concurrency/async.lux
index 82184402f..f72f51abb 100644
--- a/stdlib/source/library/lux/control/concurrency/async.lux
+++ b/stdlib/source/library/lux/control/concurrency/async.lux
@@ -15,7 +15,7 @@
[macro
["^" pattern]]
[type {"+" sharing}
- [abstract {"-" pattern}]
+ [abstract "*"]
["[0]" variance {"+" Mutable}]]]]
[//
["[0]" thread]
diff --git a/stdlib/source/library/lux/control/concurrency/atom.lux b/stdlib/source/library/lux/control/concurrency/atom.lux
index 39207767c..8bef7b29b 100644
--- a/stdlib/source/library/lux/control/concurrency/atom.lux
+++ b/stdlib/source/library/lux/control/concurrency/atom.lux
@@ -14,7 +14,7 @@
["[0]" array "_"
["[1]" \\unsafe]]]]
[type
- [abstract {"-" pattern}]
+ [abstract "*"]
["[0]" variance {"+" Mutable}]]]])
(with_expansions [<jvm> (these (ffi.import: (java/util/concurrent/atomic/AtomicReference a)
diff --git a/stdlib/source/library/lux/control/concurrency/frp.lux b/stdlib/source/library/lux/control/concurrency/frp.lux
index ee7054786..df890ccc1 100644
--- a/stdlib/source/library/lux/control/concurrency/frp.lux
+++ b/stdlib/source/library/lux/control/concurrency/frp.lux
@@ -12,7 +12,7 @@
["[0]" exception {"+" exception:}]
["[0]" io {"+" IO io}]]
[type {"+" sharing}
- [abstract {"-" pattern}]
+ [abstract "*"]
["[0]" variance {"+" Mutable}]]]]
[//
["[0]" atom {"+" Atom}]
diff --git a/stdlib/source/library/lux/control/concurrency/semaphore.lux b/stdlib/source/library/lux/control/concurrency/semaphore.lux
index 05ce1aef6..e534fc2de 100644
--- a/stdlib/source/library/lux/control/concurrency/semaphore.lux
+++ b/stdlib/source/library/lux/control/concurrency/semaphore.lux
@@ -18,7 +18,7 @@
["n" nat]
["i" int]]]
[type
- ["[0]" abstract {"-" pattern}]
+ ["[0]" abstract "*"]
["[0]" refinement]]]]
[//
["[0]" atom {"+" Atom}]
@@ -148,10 +148,11 @@
(# async.monad in []))))
(template [<phase> <update> <goal> <turnstile>]
- [(def: (<phase> (abstract.pattern barrier))
+ [(def: (<phase> barrier)
(-> Barrier (Async Any))
(do async.monad
- [.let [limit (refinement.value (the #limit barrier))
+ [.let [barrier (representation barrier)
+ limit (refinement.value (the #limit barrier))
goal <goal>
[_ count] (io.run! (atom.update! <update> (the #count barrier)))
reached? (n.= goal count)]]
diff --git a/stdlib/source/library/lux/control/concurrency/stm.lux b/stdlib/source/library/lux/control/concurrency/stm.lux
index 0e4c75e6e..94365f4f4 100644
--- a/stdlib/source/library/lux/control/concurrency/stm.lux
+++ b/stdlib/source/library/lux/control/concurrency/stm.lux
@@ -16,7 +16,7 @@
[macro
["^" pattern]]
[type {"+" sharing}
- [abstract {"-" pattern}]
+ [abstract "*"]
["[0]" variance {"+" Mutable}]]]]
[//
["[0]" atom {"+" Atom atom}]
diff --git a/stdlib/source/library/lux/control/io.lux b/stdlib/source/library/lux/control/io.lux
index 9ea2818d3..96a1288f4 100644
--- a/stdlib/source/library/lux/control/io.lux
+++ b/stdlib/source/library/lux/control/io.lux
@@ -9,7 +9,7 @@
[parser
["<[0]>" code]]]
[type
- [abstract {"-" pattern}]]
+ [abstract "*"]]
[macro {"+" with_symbols}
[syntax {"+" syntax:}]
["[0]" template]]]])
diff --git a/stdlib/source/library/lux/control/lazy.lux b/stdlib/source/library/lux/control/lazy.lux
index 4d13538c0..25c821be5 100644
--- a/stdlib/source/library/lux/control/lazy.lux
+++ b/stdlib/source/library/lux/control/lazy.lux
@@ -15,7 +15,7 @@
[macro {"+" with_symbols}
[syntax {"+" syntax:}]]
[type {"+" sharing}
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(abstract: .public (Lazy a)
(-> [] a)
diff --git a/stdlib/source/library/lux/control/security/capability.lux b/stdlib/source/library/lux/control/security/capability.lux
index 4878554bf..9affbf537 100644
--- a/stdlib/source/library/lux/control/security/capability.lux
+++ b/stdlib/source/library/lux/control/security/capability.lux
@@ -15,7 +15,7 @@
[collection
["[0]" list ("[1]#[0]" functor)]]]
[type
- [abstract {"-" pattern}]]
+ [abstract "*"]]
["[0]" meta]
["[0]" macro
["[0]" code]
diff --git a/stdlib/source/library/lux/control/security/policy.lux b/stdlib/source/library/lux/control/security/policy.lux
index 3e6bb2e0c..de357b6e2 100644
--- a/stdlib/source/library/lux/control/security/policy.lux
+++ b/stdlib/source/library/lux/control/security/policy.lux
@@ -6,7 +6,7 @@
[apply {"+" Apply}]
[monad {"+" Monad}]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(abstract: .public (Policy brand value label)
value
diff --git a/stdlib/source/library/lux/control/thread.lux b/stdlib/source/library/lux/control/thread.lux
index 2192c1824..94de4803a 100644
--- a/stdlib/source/library/lux/control/thread.lux
+++ b/stdlib/source/library/lux/control/thread.lux
@@ -13,7 +13,7 @@
["[0]" array "_"
["[1]" \\unsafe {"+" Array}]]]]
[type
- [abstract {"-" pattern}]
+ [abstract "*"]
["[0]" variance {"+" Mutable}]]]])
(type: .public (Thread ! a)
diff --git a/stdlib/source/library/lux/data/collection/set/multi.lux b/stdlib/source/library/lux/data/collection/set/multi.lux
index bdb423f0e..7654c4239 100644
--- a/stdlib/source/library/lux/data/collection/set/multi.lux
+++ b/stdlib/source/library/lux/data/collection/set/multi.lux
@@ -75,15 +75,16 @@
[sum n.+]
)
- (def: .public (intersection parameter (abstract.pattern subject))
+ (def: .public (intersection parameter subject)
(All (_ a) (-> (Set a) (Set a) (Set a)))
- (list#mix (function (_ [elem multiplicity] output)
- (..has (n.min (..multiplicity parameter elem)
- multiplicity)
- elem
- output))
- (..empty (dictionary.key_hash subject))
- (dictionary.entries subject)))
+ (let [subject (representation subject)]
+ (list#mix (function (_ [elem multiplicity] output)
+ (..has (n.min (..multiplicity parameter elem)
+ multiplicity)
+ elem
+ output))
+ (..empty (dictionary.key_hash subject))
+ (dictionary.entries subject))))
(def: .public (difference parameter subject)
(All (_ a) (-> (Set a) (Set a) (Set a)))
@@ -114,23 +115,25 @@
(implementation: .public equivalence
(All (_ a) (Equivalence (Set a)))
- (def: (= (abstract.pattern reference) sample)
- (and (n.= (dictionary.size reference)
- (dictionary.size (representation sample)))
- (|> reference
- dictionary.entries
- (list.every? (function (_ [elem multiplicity])
- (|> elem
- (..multiplicity sample)
- (n.= multiplicity))))))))
+ (def: (= reference sample)
+ (let [reference (representation reference)]
+ (and (n.= (dictionary.size reference)
+ (dictionary.size (representation sample)))
+ (|> reference
+ dictionary.entries
+ (list.every? (function (_ [elem multiplicity])
+ (|> elem
+ (..multiplicity sample)
+ (n.= multiplicity)))))))))
(implementation: .public hash
(All (_ a) (Hash (Set a)))
(def: equivalence ..equivalence)
- (def: (hash (abstract.pattern set))
- (let [[hash _] set]
+ (def: (hash set)
+ (let [set (representation set)
+ [hash _] set]
(list#mix (function (_ [elem multiplicity] acc)
(|> elem (# hash hash) (n.* multiplicity) (n.+ acc)))
0
diff --git a/stdlib/source/library/lux/data/collection/set/ordered.lux b/stdlib/source/library/lux/data/collection/set/ordered.lux
index edb7c6539..f79a1b640 100644
--- a/stdlib/source/library/lux/data/collection/set/ordered.lux
+++ b/stdlib/source/library/lux/data/collection/set/ordered.lux
@@ -10,7 +10,7 @@
[dictionary
["/" ordered]]]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(abstract: .public (Set a)
(/.Dictionary a a)
diff --git a/stdlib/source/library/lux/data/collection/stack.lux b/stdlib/source/library/lux/data/collection/stack.lux
index fa7a5c589..26dea90cc 100644
--- a/stdlib/source/library/lux/data/collection/stack.lux
+++ b/stdlib/source/library/lux/data/collection/stack.lux
@@ -8,7 +8,7 @@
[collection
["//" list]]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(abstract: .public (Stack a)
(List a)
diff --git a/stdlib/source/library/lux/data/color.lux b/stdlib/source/library/lux/data/color.lux
index 7a907d83e..a6ce4338d 100644
--- a/stdlib/source/library/lux/data/color.lux
+++ b/stdlib/source/library/lux/data/color.lux
@@ -16,7 +16,7 @@
["[0]" rev ("[1]#[0]" interval)]
["[0]" i64]]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(def: rgb_limit 256)
(def: top (-- rgb_limit))
diff --git a/stdlib/source/library/lux/data/format/css/class.lux b/stdlib/source/library/lux/data/format/css/class.lux
index 61e71e094..59aa80efb 100644
--- a/stdlib/source/library/lux/data/format/css/class.lux
+++ b/stdlib/source/library/lux/data/format/css/class.lux
@@ -11,7 +11,7 @@
[syntax {"+" syntax:}]
["[0]" code]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(abstract: .public Class
Text
diff --git a/stdlib/source/library/lux/data/format/css/id.lux b/stdlib/source/library/lux/data/format/css/id.lux
index c2f821ccb..ea1d66aa5 100644
--- a/stdlib/source/library/lux/data/format/css/id.lux
+++ b/stdlib/source/library/lux/data/format/css/id.lux
@@ -11,7 +11,7 @@
[syntax {"+" syntax:}]
["[0]" code]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(abstract: .public ID
Text
diff --git a/stdlib/source/library/lux/data/format/css/property.lux b/stdlib/source/library/lux/data/format/css/property.lux
index 944701b7a..5035ee8de 100644
--- a/stdlib/source/library/lux/data/format/css/property.lux
+++ b/stdlib/source/library/lux/data/format/css/property.lux
@@ -7,7 +7,7 @@
[data
["[0]" text]]
[type
- [abstract {"-" pattern}]]
+ [abstract "*"]]
[macro
["[0]" template]
["[0]" code]
diff --git a/stdlib/source/library/lux/data/format/css/query.lux b/stdlib/source/library/lux/data/format/css/query.lux
index afcd0740b..18ab53a99 100644
--- a/stdlib/source/library/lux/data/format/css/query.lux
+++ b/stdlib/source/library/lux/data/format/css/query.lux
@@ -12,7 +12,7 @@
["[0]" code]
[syntax {"+" syntax:}]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
["[0]" // "_"
["[1][0]" value {"+" Value Length Count Resolution Ratio
Orientation Scan Boolean Update
diff --git a/stdlib/source/library/lux/data/format/css/selector.lux b/stdlib/source/library/lux/data/format/css/selector.lux
index fc53d8731..405af9952 100644
--- a/stdlib/source/library/lux/data/format/css/selector.lux
+++ b/stdlib/source/library/lux/data/format/css/selector.lux
@@ -9,7 +9,7 @@
[number
["i" int]]]
[type
- [abstract {"-" pattern}]]
+ [abstract "*"]]
[macro
["[0]" template]]]]
["[0]" // "_"
diff --git a/stdlib/source/library/lux/data/format/css/style.lux b/stdlib/source/library/lux/data/format/css/style.lux
index 42c7d07cb..6404b2216 100644
--- a/stdlib/source/library/lux/data/format/css/style.lux
+++ b/stdlib/source/library/lux/data/format/css/style.lux
@@ -7,7 +7,7 @@
[collection
["[0]" list ("[1]#[0]" mix)]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
["[0]" // "_"
["[1][0]" value {"+" Value}]
["[1][0]" property {"+" Property}]])
diff --git a/stdlib/source/library/lux/data/format/css/value.lux b/stdlib/source/library/lux/data/format/css/value.lux
index ae3a15195..481d2996c 100644
--- a/stdlib/source/library/lux/data/format/css/value.lux
+++ b/stdlib/source/library/lux/data/format/css/value.lux
@@ -23,7 +23,7 @@
["r" rev]
["f" frac]]]
[type
- [abstract {"-" pattern}]]
+ [abstract "*"]]
[world
[net {"+" URL}]]]]
[//
diff --git a/stdlib/source/library/lux/data/format/html.lux b/stdlib/source/library/lux/data/format/html.lux
index 418513440..0a1c861fc 100644
--- a/stdlib/source/library/lux/data/format/html.lux
+++ b/stdlib/source/library/lux/data/format/html.lux
@@ -15,7 +15,7 @@
[target
["[0]" js]]
[type
- [abstract {"-" pattern}]]
+ [abstract "*"]]
[world
[net {"+" URL}]]]]
[//
diff --git a/stdlib/source/library/lux/data/format/markdown.lux b/stdlib/source/library/lux/data/format/markdown.lux
index 984c023c1..f9acd6890 100644
--- a/stdlib/source/library/lux/data/format/markdown.lux
+++ b/stdlib/source/library/lux/data/format/markdown.lux
@@ -7,7 +7,7 @@
[collection
["[0]" list ("[1]#[0]" functor)]]]
[type
- [abstract {"-" pattern}]]
+ [abstract "*"]]
[world
[net {"+" URL}]]]])
diff --git a/stdlib/source/library/lux/data/format/tar.lux b/stdlib/source/library/lux/data/format/tar.lux
index 5e3c57155..b1ceb5bbf 100644
--- a/stdlib/source/library/lux/data/format/tar.lux
+++ b/stdlib/source/library/lux/data/format/tar.lux
@@ -37,7 +37,7 @@
[world
["[0]" file]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(type: Size
Nat)
diff --git a/stdlib/source/library/lux/data/text/buffer.lux b/stdlib/source/library/lux/data/text/buffer.lux
index 341c9a688..3aef48a85 100644
--- a/stdlib/source/library/lux/data/text/buffer.lux
+++ b/stdlib/source/library/lux/data/text/buffer.lux
@@ -16,7 +16,7 @@
[number
["n" nat]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
["[0]" //])
(with_expansions [<jvm> (these (import: java/lang/CharSequence
diff --git a/stdlib/source/library/lux/data/text/encoding.lux b/stdlib/source/library/lux/data/text/encoding.lux
index 10a29ed5c..643c279ae 100644
--- a/stdlib/source/library/lux/data/text/encoding.lux
+++ b/stdlib/source/library/lux/data/text/encoding.lux
@@ -4,7 +4,7 @@
[macro
["[0]" template]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
... https://en.wikipedia.org/wiki/Character_encoding#Common_character_encodings
(abstract: .public Encoding
diff --git a/stdlib/source/library/lux/data/text/unicode/block.lux b/stdlib/source/library/lux/data/text/unicode/block.lux
index 2f0eae7f7..e0da6cb16 100644
--- a/stdlib/source/library/lux/data/text/unicode/block.lux
+++ b/stdlib/source/library/lux/data/text/unicode/block.lux
@@ -11,7 +11,7 @@
["n" nat ("[1]#[0]" interval)]
["[0]" i64]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
[/// {"+" Char}])
(abstract: .public Block
diff --git a/stdlib/source/library/lux/data/text/unicode/set.lux b/stdlib/source/library/lux/data/text/unicode/set.lux
index b323804a9..155507178 100644
--- a/stdlib/source/library/lux/data/text/unicode/set.lux
+++ b/stdlib/source/library/lux/data/text/unicode/set.lux
@@ -10,7 +10,7 @@
["[0]" tree "_"
["[1]" finger {"+" Tree}]]]]
[type {"+" by_example}
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
["[0]" / "_"
["/[1]" // "_"
[// {"+" Char}]
diff --git a/stdlib/source/library/lux/ffi.lux b/stdlib/source/library/lux/ffi.lux
index fcd23b157..5d2b400a0 100644
--- a/stdlib/source/library/lux/ffi.lux
+++ b/stdlib/source/library/lux/ffi.lux
@@ -21,7 +21,7 @@
["[0]" code]
["[0]" template]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(with_expansions [<constant> (for @.js "js constant"
@.python "python constant"
diff --git a/stdlib/source/library/lux/locale.lux b/stdlib/source/library/lux/locale.lux
index 98a244fcd..8519516a9 100644
--- a/stdlib/source/library/lux/locale.lux
+++ b/stdlib/source/library/lux/locale.lux
@@ -11,7 +11,7 @@
["%" format {"+" format}]
["[0]" encoding {"+" Encoding}]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
[/
["[0]" language {"+" Language}]
["[0]" territory {"+" Territory}]])
diff --git a/stdlib/source/library/lux/locale/language.lux b/stdlib/source/library/lux/locale/language.lux
index 0efdfc91e..cd51ac019 100644
--- a/stdlib/source/library/lux/locale/language.lux
+++ b/stdlib/source/library/lux/locale/language.lux
@@ -7,7 +7,7 @@
[data
["[0]" text]]
[type
- [abstract {"-" pattern}]]
+ [abstract "*"]]
[macro
["[0]" template]]]])
diff --git a/stdlib/source/library/lux/locale/territory.lux b/stdlib/source/library/lux/locale/territory.lux
index e17297a5c..8cc984ec7 100644
--- a/stdlib/source/library/lux/locale/territory.lux
+++ b/stdlib/source/library/lux/locale/territory.lux
@@ -7,7 +7,7 @@
[data
["[0]" text]]
[type
- [abstract {"-" pattern}]]
+ [abstract "*"]]
[macro
["[0]" template]]]])
diff --git a/stdlib/source/library/lux/math/modular.lux b/stdlib/source/library/lux/math/modular.lux
index 6c4263f23..8808e01c2 100644
--- a/stdlib/source/library/lux/math/modular.lux
+++ b/stdlib/source/library/lux/math/modular.lux
@@ -23,7 +23,7 @@
[number
["i" int ("[1]#[0]" decimal)]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
["[0]" // "_"
["[1]" modulus {"+" Modulus}]])
diff --git a/stdlib/source/library/lux/math/modulus.lux b/stdlib/source/library/lux/math/modulus.lux
index 6a08451e1..dfc630966 100644
--- a/stdlib/source/library/lux/math/modulus.lux
+++ b/stdlib/source/library/lux/math/modulus.lux
@@ -16,7 +16,7 @@
[number
["i" int]]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(exception: .public zero_cannot_be_a_modulus)
diff --git a/stdlib/source/library/lux/target/common_lisp.lux b/stdlib/source/library/lux/target/common_lisp.lux
index dbeee8bdb..ba8ce8d02 100644
--- a/stdlib/source/library/lux/target/common_lisp.lux
+++ b/stdlib/source/library/lux/target/common_lisp.lux
@@ -14,7 +14,7 @@
[number
["f" frac]]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(def: as_form
(-> Text Text)
diff --git a/stdlib/source/library/lux/target/js.lux b/stdlib/source/library/lux/target/js.lux
index d2b802d2f..5d24ab3d7 100644
--- a/stdlib/source/library/lux/target/js.lux
+++ b/stdlib/source/library/lux/target/js.lux
@@ -15,7 +15,7 @@
["i" int]
["f" frac]]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(def: expression
(text.enclosed ["(" ")"]))
diff --git a/stdlib/source/library/lux/target/jvm/bytecode/address.lux b/stdlib/source/library/lux/target/jvm/bytecode/address.lux
index f0df22eb4..94f53c258 100644
--- a/stdlib/source/library/lux/target/jvm/bytecode/address.lux
+++ b/stdlib/source/library/lux/target/jvm/bytecode/address.lux
@@ -15,7 +15,7 @@
[number
["n" nat]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
["[0]" // "_"
[jump {"+" Big_Jump}]
["/[1]" // "_"
diff --git a/stdlib/source/library/lux/target/jvm/bytecode/environment/limit/registry.lux b/stdlib/source/library/lux/target/jvm/bytecode/environment/limit/registry.lux
index b7952504e..cc99cdaed 100644
--- a/stdlib/source/library/lux/target/jvm/bytecode/environment/limit/registry.lux
+++ b/stdlib/source/library/lux/target/jvm/bytecode/environment/limit/registry.lux
@@ -14,7 +14,7 @@
[number
["n" nat]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
["[0]" ///// "_"
[encoding
["[1][0]" unsigned {"+" U1 U2}]]
diff --git a/stdlib/source/library/lux/target/jvm/bytecode/environment/limit/stack.lux b/stdlib/source/library/lux/target/jvm/bytecode/environment/limit/stack.lux
index 4b7b29804..4722fde9e 100644
--- a/stdlib/source/library/lux/target/jvm/bytecode/environment/limit/stack.lux
+++ b/stdlib/source/library/lux/target/jvm/bytecode/environment/limit/stack.lux
@@ -12,7 +12,7 @@
[format
[binary {"+" Writer}]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
["[0]" ///// "_"
[encoding
["[1][0]" unsigned {"+" U2}]]])
diff --git a/stdlib/source/library/lux/target/jvm/bytecode/instruction.lux b/stdlib/source/library/lux/target/jvm/bytecode/instruction.lux
index 61201beb5..b899cd83d 100644
--- a/stdlib/source/library/lux/target/jvm/bytecode/instruction.lux
+++ b/stdlib/source/library/lux/target/jvm/bytecode/instruction.lux
@@ -23,7 +23,7 @@
[number {"+" hex}
["n" nat]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
["[0]" // "_"
["[1][0]" address {"+" Address}]
["[1][0]" jump {"+" Jump Big_Jump}]
diff --git a/stdlib/source/library/lux/target/jvm/constant.lux b/stdlib/source/library/lux/target/jvm/constant.lux
index 230157059..e1fc0337e 100644
--- a/stdlib/source/library/lux/target/jvm/constant.lux
+++ b/stdlib/source/library/lux/target/jvm/constant.lux
@@ -22,7 +22,7 @@
["[0]" int]
["[0]" frac]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
["[0]" / "_"
["[1][0]" tag]
["/[1]" // "_"
diff --git a/stdlib/source/library/lux/target/jvm/constant/tag.lux b/stdlib/source/library/lux/target/jvm/constant/tag.lux
index 36acb163f..21a53ae56 100644
--- a/stdlib/source/library/lux/target/jvm/constant/tag.lux
+++ b/stdlib/source/library/lux/target/jvm/constant/tag.lux
@@ -9,7 +9,7 @@
[format
[binary {"+" Writer}]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
["[0]" /// "_"
[encoding
["[1][0]" unsigned {"+" U1} ("u1//[0]" equivalence)]]])
diff --git a/stdlib/source/library/lux/target/jvm/encoding/name.lux b/stdlib/source/library/lux/target/jvm/encoding/name.lux
index 247300884..666251728 100644
--- a/stdlib/source/library/lux/target/jvm/encoding/name.lux
+++ b/stdlib/source/library/lux/target/jvm/encoding/name.lux
@@ -5,7 +5,7 @@
["[0]" text
["%" format {"+" format}]]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(def: .public internal_separator "/")
(def: .public external_separator ".")
diff --git a/stdlib/source/library/lux/target/jvm/encoding/signed.lux b/stdlib/source/library/lux/target/jvm/encoding/signed.lux
index 85e812b71..c56ada38f 100644
--- a/stdlib/source/library/lux/target/jvm/encoding/signed.lux
+++ b/stdlib/source/library/lux/target/jvm/encoding/signed.lux
@@ -20,7 +20,7 @@
["n" nat]
["i" int]]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(abstract: .public (Signed brand)
Int
diff --git a/stdlib/source/library/lux/target/jvm/encoding/unsigned.lux b/stdlib/source/library/lux/target/jvm/encoding/unsigned.lux
index 7e47d8260..ec8b7b068 100644
--- a/stdlib/source/library/lux/target/jvm/encoding/unsigned.lux
+++ b/stdlib/source/library/lux/target/jvm/encoding/unsigned.lux
@@ -19,7 +19,7 @@
["n" nat]
["[0]" i64]]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(abstract: .public (Unsigned brand)
Nat
diff --git a/stdlib/source/library/lux/target/jvm/index.lux b/stdlib/source/library/lux/target/jvm/index.lux
index b6a0eb318..9afae818a 100644
--- a/stdlib/source/library/lux/target/jvm/index.lux
+++ b/stdlib/source/library/lux/target/jvm/index.lux
@@ -7,7 +7,7 @@
[format
[binary {"+" Writer}]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
["[0]" // "_"
[encoding
["[1][0]" unsigned {"+" U2}]]])
diff --git a/stdlib/source/library/lux/target/jvm/modifier.lux b/stdlib/source/library/lux/target/jvm/modifier.lux
index 24e442a21..0e4097cb0 100644
--- a/stdlib/source/library/lux/target/jvm/modifier.lux
+++ b/stdlib/source/library/lux/target/jvm/modifier.lux
@@ -18,7 +18,7 @@
["[0]" number {"+" hex}
["[0]" i64]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
["[0]" // "_"
[encoding
["[1][0]" unsigned]]])
diff --git a/stdlib/source/library/lux/target/jvm/type.lux b/stdlib/source/library/lux/target/jvm/type.lux
index b0a0a1624..06191a89f 100644
--- a/stdlib/source/library/lux/target/jvm/type.lux
+++ b/stdlib/source/library/lux/target/jvm/type.lux
@@ -15,7 +15,7 @@
[number
["n" nat]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
["[0]" // "_"
[encoding
["[1][0]" name {"+" External}]]]
diff --git a/stdlib/source/library/lux/target/jvm/type/category.lux b/stdlib/source/library/lux/target/jvm/type/category.lux
index 0b740dae1..82080666d 100644
--- a/stdlib/source/library/lux/target/jvm/type/category.lux
+++ b/stdlib/source/library/lux/target/jvm/type/category.lux
@@ -4,7 +4,7 @@
[macro
["[0]" template]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(abstract: Void' Any)
(abstract: .public (Value' kind) Any)
diff --git a/stdlib/source/library/lux/target/jvm/type/descriptor.lux b/stdlib/source/library/lux/target/jvm/type/descriptor.lux
index c8c8f6f49..cfc674edc 100644
--- a/stdlib/source/library/lux/target/jvm/type/descriptor.lux
+++ b/stdlib/source/library/lux/target/jvm/type/descriptor.lux
@@ -14,7 +14,7 @@
[number
["n" nat]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
["[0]" // "_"
[category {"+" Void Value Return Method Primitive Object Class Array Var Parameter Declaration}]
["/[1]" // "_"
diff --git a/stdlib/source/library/lux/target/jvm/type/lux.lux b/stdlib/source/library/lux/target/jvm/type/lux.lux
index 60960123d..a1b8328bf 100644
--- a/stdlib/source/library/lux/target/jvm/type/lux.lux
+++ b/stdlib/source/library/lux/target/jvm/type/lux.lux
@@ -16,7 +16,7 @@
["[0]" array]
["[0]" dictionary {"+" Dictionary}]]]
[type
- [abstract {"-" pattern}]
+ [abstract "*"]
["[0]" check {"+" Check} ("[1]#[0]" monad)]]]]
["[0]" //
[category {"+" Void Value Return Method Primitive Object Class Array Var Parameter}]
diff --git a/stdlib/source/library/lux/target/jvm/type/reflection.lux b/stdlib/source/library/lux/target/jvm/type/reflection.lux
index 37d7e0dde..ae364efa0 100644
--- a/stdlib/source/library/lux/target/jvm/type/reflection.lux
+++ b/stdlib/source/library/lux/target/jvm/type/reflection.lux
@@ -7,7 +7,7 @@
["[0]" text ("[1]#[0]" equivalence)
["%" format {"+" format}]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
["[0]" // "_"
[category {"+" Void Value Return Method Primitive Object Class Array Var Parameter Declaration}]
["[1][0]" descriptor]
diff --git a/stdlib/source/library/lux/target/jvm/type/signature.lux b/stdlib/source/library/lux/target/jvm/type/signature.lux
index ddf19de5a..46a4c1066 100644
--- a/stdlib/source/library/lux/target/jvm/type/signature.lux
+++ b/stdlib/source/library/lux/target/jvm/type/signature.lux
@@ -12,7 +12,7 @@
[collection
["[0]" list ("[1]#[0]" functor)]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
["[0]" // "_"
[category {"+" Void Value Return Method Primitive Object Class Array Var Parameter Declaration Inheritance}]
["[1][0]" descriptor]
diff --git a/stdlib/source/library/lux/target/lua.lux b/stdlib/source/library/lux/target/lua.lux
index ef63669f0..676a0791f 100644
--- a/stdlib/source/library/lux/target/lua.lux
+++ b/stdlib/source/library/lux/target/lua.lux
@@ -25,7 +25,7 @@
["i" int]
["f" frac]]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
... Added the carriage return for better Windows compatibility.
(def: \n+
diff --git a/stdlib/source/library/lux/target/php.lux b/stdlib/source/library/lux/target/php.lux
index 5338f7aa6..ef79be536 100644
--- a/stdlib/source/library/lux/target/php.lux
+++ b/stdlib/source/library/lux/target/php.lux
@@ -24,7 +24,7 @@
["n" nat]
["f" frac]]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(def: input_separator ", ")
(def: statement_suffix ";")
diff --git a/stdlib/source/library/lux/target/python.lux b/stdlib/source/library/lux/target/python.lux
index 492881cea..369cbfd92 100644
--- a/stdlib/source/library/lux/target/python.lux
+++ b/stdlib/source/library/lux/target/python.lux
@@ -25,7 +25,7 @@
["n" nat]
["f" frac]]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(def: input_separator
", ")
diff --git a/stdlib/source/library/lux/target/r.lux b/stdlib/source/library/lux/target/r.lux
index 631b0b74d..d7e7b7c90 100644
--- a/stdlib/source/library/lux/target/r.lux
+++ b/stdlib/source/library/lux/target/r.lux
@@ -20,7 +20,7 @@
[number
["f" frac]]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(abstract: .public (Code kind)
Text
diff --git a/stdlib/source/library/lux/target/ruby.lux b/stdlib/source/library/lux/target/ruby.lux
index ba29eb81a..cc797609c 100644
--- a/stdlib/source/library/lux/target/ruby.lux
+++ b/stdlib/source/library/lux/target/ruby.lux
@@ -24,7 +24,7 @@
["n" nat]
["f" frac]]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(def: input_separator ", ")
(def: statement_suffix ";")
diff --git a/stdlib/source/library/lux/target/scheme.lux b/stdlib/source/library/lux/target/scheme.lux
index 509d1fe05..826ada9da 100644
--- a/stdlib/source/library/lux/target/scheme.lux
+++ b/stdlib/source/library/lux/target/scheme.lux
@@ -19,7 +19,7 @@
["n" nat]
["f" frac]]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
... Added the carriage return for better Windows compatibility.
(def: \n+
diff --git a/stdlib/source/library/lux/time.lux b/stdlib/source/library/lux/time.lux
index c03676e09..d395b5795 100644
--- a/stdlib/source/library/lux/time.lux
+++ b/stdlib/source/library/lux/time.lux
@@ -19,7 +19,7 @@
[number
["n" nat ("[1]#[0]" decimal)]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
[/
["[0]" duration {"+" Duration}]])
diff --git a/stdlib/source/library/lux/time/date.lux b/stdlib/source/library/lux/time/date.lux
index d47ed902c..75091e32e 100644
--- a/stdlib/source/library/lux/time/date.lux
+++ b/stdlib/source/library/lux/time/date.lux
@@ -23,7 +23,7 @@
["n" nat ("[1]#[0]" decimal)]
["i" int]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
["[0]" // "_"
["[1][0]" year {"+" Year}]
["[1][0]" month {"+" Month}]])
diff --git a/stdlib/source/library/lux/time/duration.lux b/stdlib/source/library/lux/time/duration.lux
index 84588ff83..ec876f942 100644
--- a/stdlib/source/library/lux/time/duration.lux
+++ b/stdlib/source/library/lux/time/duration.lux
@@ -19,7 +19,7 @@
["i" int]
["[0]" nat ("[1]#[0]" decimal)]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
["[0]" // "_"
["[1][0]" year]])
diff --git a/stdlib/source/library/lux/time/instant.lux b/stdlib/source/library/lux/time/instant.lux
index 5ba290670..cf854a9fc 100644
--- a/stdlib/source/library/lux/time/instant.lux
+++ b/stdlib/source/library/lux/time/instant.lux
@@ -22,7 +22,7 @@
["i" int]
["f" frac]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
["[0]" // {"+" Time}
["[0]" duration {"+" Duration}]
["[0]" year {"+" Year}]
diff --git a/stdlib/source/library/lux/time/year.lux b/stdlib/source/library/lux/time/year.lux
index 608f29958..dc149b476 100644
--- a/stdlib/source/library/lux/time/year.lux
+++ b/stdlib/source/library/lux/time/year.lux
@@ -18,7 +18,7 @@
["n" nat ("[1]#[0]" decimal)]
["i" int ("[1]#[0]" decimal)]]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(def: (internal year)
(-> Int Int)
diff --git a/stdlib/source/library/lux/tool/compiler/meta/archive.lux b/stdlib/source/library/lux/tool/compiler/meta/archive.lux
index 5089188ce..e2bd7a114 100644
--- a/stdlib/source/library/lux/tool/compiler/meta/archive.lux
+++ b/stdlib/source/library/lux/tool/compiler/meta/archive.lux
@@ -27,7 +27,7 @@
[number
["n" nat ("[1]#[0]" equivalence)]]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
[/
["[0]" artifact]
["[0]" registry {"+" Registry}]
diff --git a/stdlib/source/library/lux/tool/compiler/meta/archive/key.lux b/stdlib/source/library/lux/tool/compiler/meta/archive/key.lux
index 7ae44b175..78b3aa25f 100644
--- a/stdlib/source/library/lux/tool/compiler/meta/archive/key.lux
+++ b/stdlib/source/library/lux/tool/compiler/meta/archive/key.lux
@@ -2,7 +2,7 @@
[library
[lux "*"
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
[//
[signature {"+" Signature}]])
diff --git a/stdlib/source/library/lux/tool/compiler/meta/archive/module/document.lux b/stdlib/source/library/lux/tool/compiler/meta/archive/module/document.lux
index 4f87f705c..5ca25f617 100644
--- a/stdlib/source/library/lux/tool/compiler/meta/archive/module/document.lux
+++ b/stdlib/source/library/lux/tool/compiler/meta/archive/module/document.lux
@@ -14,7 +14,7 @@
[format
["[0]" binary {"+" Writer}]]]
[type {"+" sharing}
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
[///
["[0]" signature {"+" Signature} ("[1]#[0]" equivalence)]
["[0]" key {"+" Key}]])
diff --git a/stdlib/source/library/lux/tool/compiler/meta/archive/registry.lux b/stdlib/source/library/lux/tool/compiler/meta/archive/registry.lux
index ea5245ea7..6a9420985 100644
--- a/stdlib/source/library/lux/tool/compiler/meta/archive/registry.lux
+++ b/stdlib/source/library/lux/tool/compiler/meta/archive/registry.lux
@@ -23,7 +23,7 @@
[macro
["^" pattern]]
[type
- [abstract {"-" pattern}]]]]
+ [abstract "*"]]]]
["[0]" // "_"
["[0]" unit]
["[1]" artifact {"+" Artifact ID}
diff --git a/stdlib/source/library/lux/type/abstract.lux b/stdlib/source/library/lux/type/abstract.lux
index ec8b13b95..3d644dae3 100644
--- a/stdlib/source/library/lux/type/abstract.lux
+++ b/stdlib/source/library/lux/type/abstract.lux
@@ -1,6 +1,6 @@
(.using
[library
- [lux {"-" pattern}
+ [lux "*"
["[0]" meta]
[abstract
[monad {"+" Monad do}]]
@@ -261,21 +261,3 @@
{#Current value}
(in (list (` (.|> (~ value) ..representation ..abstraction))))))
-
-(syntax: .public (pattern [selection (<code>.form (..selection <code>.local))
- body <code>.any
- branches (<>.some <code>.any)])
- (case selection
- {#Specific specific name}
- (let [g!var (code.local name)]
- (in (partial_list g!var
- (` (.let [(~ g!var) (..representation (~ specific) (~ g!var))]
- (~ body)))
- branches)))
-
- {#Current name}
- (let [g!var (code.local name)]
- (in (partial_list g!var
- (` (.let [(~ g!var) (..representation (~ g!var))]
- (~ body)))
- branches)))))
diff --git a/stdlib/source/library/lux/type/quotient.lux b/stdlib/source/library/lux/type/quotient.lux
index bd190b7b5..73c4b2a1e 100644
--- a/stdlib/source/library/lux/type/quotient.lux
+++ b/stdlib/source/library/lux/type/quotient.lux
@@ -9,7 +9,7 @@
[macro {"+" with_symbols}
[syntax {"+" syntax:}]]
["[0]" type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(abstract: .public (Class t c %)
(-> t c)
diff --git a/stdlib/source/library/lux/type/refinement.lux b/stdlib/source/library/lux/type/refinement.lux
index c4ac00c29..1a4433507 100644
--- a/stdlib/source/library/lux/type/refinement.lux
+++ b/stdlib/source/library/lux/type/refinement.lux
@@ -9,7 +9,7 @@
["[0]" macro
[syntax {"+" syntax:}]]
["[0]" type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(abstract: .public (Refined t %)
(Record
diff --git a/stdlib/source/library/lux/type/resource.lux b/stdlib/source/library/lux/type/resource.lux
index 95d88ab50..4d6526d22 100644
--- a/stdlib/source/library/lux/type/resource.lux
+++ b/stdlib/source/library/lux/type/resource.lux
@@ -23,7 +23,7 @@
[number
["n" nat]]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(type: .public (Procedure monad input output value)
(-> input (monad [output value])))
diff --git a/stdlib/source/library/lux/type/unit.lux b/stdlib/source/library/lux/type/unit.lux
index 99b3e934c..4ef2269e3 100644
--- a/stdlib/source/library/lux/type/unit.lux
+++ b/stdlib/source/library/lux/type/unit.lux
@@ -24,7 +24,7 @@
["i" int]
["[0]" ratio {"+" Ratio}]]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(abstract: .public (Qty unit)
Int
diff --git a/stdlib/source/library/lux/world/db/sql.lux b/stdlib/source/library/lux/world/db/sql.lux
index f43d12af6..4835e3f24 100644
--- a/stdlib/source/library/lux/world/db/sql.lux
+++ b/stdlib/source/library/lux/world/db/sql.lux
@@ -13,7 +13,7 @@
[macro
["[0]" template]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(def: parenthesize
(-> Text Text)
diff --git a/stdlib/source/library/lux/world/net/http/mime.lux b/stdlib/source/library/lux/world/net/http/mime.lux
index b9e9b8505..12cf28d79 100644
--- a/stdlib/source/library/lux/world/net/http/mime.lux
+++ b/stdlib/source/library/lux/world/net/http/mime.lux
@@ -6,7 +6,7 @@
["%" format {"+" format}]
["[0]" encoding {"+" Encoding}]]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(abstract: .public MIME
Text
diff --git a/stdlib/source/program/aedifex/artifact/time/date.lux b/stdlib/source/program/aedifex/artifact/time/date.lux
index 862eeec23..71f4dbe1c 100644
--- a/stdlib/source/program/aedifex/artifact/time/date.lux
+++ b/stdlib/source/program/aedifex/artifact/time/date.lux
@@ -21,7 +21,7 @@
["[0]" year]
["[0]" month]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
(def: .public (pad value)
(-> Nat Text)
diff --git a/stdlib/source/program/aedifex/hash.lux b/stdlib/source/program/aedifex/hash.lux
index a384c5368..db33a1e6a 100644
--- a/stdlib/source/program/aedifex/hash.lux
+++ b/stdlib/source/program/aedifex/hash.lux
@@ -21,7 +21,7 @@
["n" nat]
["[0]" i64]]]
[type
- [abstract {"-" pattern}]]]])
+ [abstract "*"]]]])
... TODO: Replace with pure-Lux implementations of these algorithms
... https://en.wikipedia.org/wiki/SHA-1#SHA-1_pseudocode
diff --git a/stdlib/source/test/aedifex/dependency/resolution.lux b/stdlib/source/test/aedifex/dependency/resolution.lux
index bb2411590..1233cd1cb 100644
--- a/stdlib/source/test/aedifex/dependency/resolution.lux
+++ b/stdlib/source/test/aedifex/dependency/resolution.lux
@@ -1,6 +1,6 @@
(.using
[library
- [lux "*"
+ [lux {"-" all}
["_" test {"+" Test}]
[abstract
[monad {"+" do}]
@@ -257,37 +257,37 @@
.let [good (..single expected_artifact expected_package)
bad_sha-1 (..bad_sha-1 expected_artifact expected_package dummy_package)
bad_md5 (..bad_md5 expected_artifact expected_package dummy_package)]]
- (`` (all _.and
- (in (do async.monad
- [actual_package (/.one (///repository.mock good [])
- [///dependency.#artifact expected_artifact
- ///dependency.#type ///artifact/type.lux_library])]
- (_.cover' [/.one]
- (case actual_package
- {try.#Success actual_package}
- (# ///package.equivalence =
- (has ///package.#origin {///repository/origin.#Remote ""} expected_package)
- actual_package)
-
- {try.#Failure _}
- false))))
- (~~ (template [<exception> <bad>]
- [(in (do async.monad
- [actual_package (/.one (///repository.mock <bad> [])
- [///dependency.#artifact expected_artifact
- ///dependency.#type ///artifact/type.lux_library])]
- (_.cover' [<exception>]
- (case actual_package
- {try.#Failure error}
- (exception.match? <exception> error)
-
- {try.#Success _}
- false))))]
-
- [/.sha-1_does_not_match bad_sha-1]
- [/.md5_does_not_match bad_md5]
- ))
- ))))
+ (`` (.all _.and
+ (in (do async.monad
+ [actual_package (/.one (///repository.mock good [])
+ [///dependency.#artifact expected_artifact
+ ///dependency.#type ///artifact/type.lux_library])]
+ (_.cover' [/.one]
+ (case actual_package
+ {try.#Success actual_package}
+ (# ///package.equivalence =
+ (has ///package.#origin {///repository/origin.#Remote ""} expected_package)
+ actual_package)
+
+ {try.#Failure _}
+ false))))
+ (~~ (template [<exception> <bad>]
+ [(in (do async.monad
+ [actual_package (/.one (///repository.mock <bad> [])
+ [///dependency.#artifact expected_artifact
+ ///dependency.#type ///artifact/type.lux_library])]
+ (_.cover' [<exception>]
+ (case actual_package
+ {try.#Failure error}
+ (exception.match? <exception> error)
+
+ {try.#Success _}
+ false))))]
+
+ [/.sha-1_does_not_match bad_sha-1]
+ [/.md5_does_not_match bad_md5]
+ ))
+ ))))
(def: any
Test
@@ -302,39 +302,39 @@
.let [good (..single expected_artifact expected_package)
bad_sha-1 (..bad_sha-1 expected_artifact expected_package dummy_package)
bad_md5 (..bad_md5 expected_artifact expected_package dummy_package)]]
- (all _.and
- (in (do async.monad
- [.let [console ($///version.echo "")]
- actual_package (/.any console
- (list (///repository.mock bad_sha-1 [])
- (///repository.mock bad_md5 [])
- (///repository.mock good []))
- [///dependency.#artifact expected_artifact
- ///dependency.#type ///artifact/type.lux_library])]
- (_.cover' [/.any]
- (case actual_package
- {try.#Success actual_package}
- (# ///package.equivalence =
- (has ///package.#origin {///repository/origin.#Remote ""} expected_package)
- actual_package)
-
- {try.#Failure _}
- false))))
- (in (do async.monad
- [.let [console ($///version.echo "")]
- actual_package (/.any console
- (list (///repository.mock bad_sha-1 [])
- (///repository.mock bad_md5 []))
- [///dependency.#artifact expected_artifact
- ///dependency.#type ///artifact/type.lux_library])]
- (_.cover' [/.cannot_resolve]
- (case actual_package
- {try.#Failure error}
- (exception.match? /.cannot_resolve error)
-
- {try.#Success _}
- false))))
- )))
+ (.all _.and
+ (in (do async.monad
+ [.let [console ($///version.echo "")]
+ actual_package (/.any console
+ (list (///repository.mock bad_sha-1 [])
+ (///repository.mock bad_md5 [])
+ (///repository.mock good []))
+ [///dependency.#artifact expected_artifact
+ ///dependency.#type ///artifact/type.lux_library])]
+ (_.cover' [/.any]
+ (case actual_package
+ {try.#Success actual_package}
+ (# ///package.equivalence =
+ (has ///package.#origin {///repository/origin.#Remote ""} expected_package)
+ actual_package)
+
+ {try.#Failure _}
+ false))))
+ (in (do async.monad
+ [.let [console ($///version.echo "")]
+ actual_package (/.any console
+ (list (///repository.mock bad_sha-1 [])
+ (///repository.mock bad_md5 []))
+ [///dependency.#artifact expected_artifact
+ ///dependency.#type ///artifact/type.lux_library])]
+ (_.cover' [/.cannot_resolve]
+ (case actual_package
+ {try.#Failure error}
+ (exception.match? /.cannot_resolve error)
+
+ {try.#Success _}
+ false))))
+ )))
(def: artifacts
(Random [Artifact Artifact Artifact])
@@ -405,40 +405,40 @@
[[dependee depender ignored]
[dependee_package depender_package ignored_package]]
(..packages [dependee_artifact depender_artifact ignored_artifact])]
- (all _.and
- (in (do async.monad
- [.let [console ($///version.echo "")]
- [successes failures resolution] (/.all console
- (list (///repository.mock (..single dependee_artifact dependee_package) [])
- (///repository.mock (..single depender_artifact depender_package) [])
- (///repository.mock (..single ignored_artifact ignored_package) []))
- (function (_ url)
- (///repository.mock ..nope []))
- (list depender)
- /.empty)]
- (_.cover' [/.all]
- (and (dictionary.key? resolution depender)
- (list.any? (///dependency#= depender) successes)
-
- (dictionary.key? resolution dependee)
- (list.any? (///dependency#= dependee) successes)
-
- (list.empty? failures)
- (not (dictionary.key? resolution ignored))))))
- )))
+ (.all _.and
+ (in (do async.monad
+ [.let [console ($///version.echo "")]
+ [successes failures resolution] (/.all console
+ (list (///repository.mock (..single dependee_artifact dependee_package) [])
+ (///repository.mock (..single depender_artifact depender_package) [])
+ (///repository.mock (..single ignored_artifact ignored_package) []))
+ (function (_ url)
+ (///repository.mock ..nope []))
+ (list depender)
+ /.empty)]
+ (_.cover' [/.all]
+ (and (dictionary.key? resolution depender)
+ (list.any? (///dependency#= depender) successes)
+
+ (dictionary.key? resolution dependee)
+ (list.any? (///dependency#= dependee) successes)
+
+ (list.empty? failures)
+ (not (dictionary.key? resolution ignored))))))
+ )))
(def: .public test
Test
(<| (_.covering /._)
(_.for [/.Resolution])
- (all _.and
- (_.for [/.equivalence]
- ($equivalence.spec /.equivalence ..random))
+ (.all _.and
+ (_.for [/.equivalence]
+ ($equivalence.spec /.equivalence ..random))
- (_.cover [/.empty]
- (dictionary.empty? /.empty))
+ (_.cover [/.empty]
+ (dictionary.empty? /.empty))
- ..one
- ..any
- ..all
- )))
+ ..one
+ ..any
+ ..all
+ )))
diff --git a/stdlib/source/test/lux/type/abstract.lux b/stdlib/source/test/lux/type/abstract.lux
index 8af42ce34..df08a62ae 100644
--- a/stdlib/source/test/lux/type/abstract.lux
+++ b/stdlib/source/test/lux/type/abstract.lux
@@ -89,15 +89,6 @@
/.transmutation
(is (g!Bar .Lux)))
true)))
- (_.cover [/.pattern]
- (and (let [(/.pattern g!Foo actual_foo)
- (is (g!Foo .Module)
- (/.abstraction g!Foo expected_foo))]
- (text#= expected_foo actual_foo))
- (let [(/.pattern actual_bar)
- (is (g!Bar .Module)
- (/.abstraction expected_bar))]
- (n.= expected_bar actual_bar))))
(_.for [/.Frame]
(all _.and
(_.cover [/.current]