aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEduardo Julian2022-06-30 22:53:23 -0400
committerEduardo Julian2022-06-30 22:53:23 -0400
commita8d76e48df01d0f5326faa8456797f91cb2cbeba (patch)
tree7a7a3d1e934a694e1cc4e3246dc21c2fe3093cf3
parent565fe5a2e60ff3c6b612031d1c3bb89f330751da (diff)
Alternative names for (un)quoting macros.
Diffstat (limited to '')
-rw-r--r--stdlib/source/format/lux/data/text.lux4
-rw-r--r--stdlib/source/library/lux.lux52
-rw-r--r--stdlib/source/library/lux/control/concatenative.lux6
-rw-r--r--stdlib/source/library/lux/control/concurrency/actor.lux5
-rw-r--r--stdlib/source/library/lux/control/concurrency/async.lux7
-rw-r--r--stdlib/source/library/lux/control/concurrency/atom.lux7
-rw-r--r--stdlib/source/library/lux/control/concurrency/frp.lux5
-rw-r--r--stdlib/source/library/lux/control/concurrency/semaphore.lux7
-rw-r--r--stdlib/source/library/lux/control/concurrency/stm.lux7
-rw-r--r--stdlib/source/library/lux/control/function/memo.lux5
-rw-r--r--stdlib/source/library/lux/control/io.lux7
-rw-r--r--stdlib/source/library/lux/control/lazy.lux5
-rw-r--r--stdlib/source/library/lux/control/security/capability.lux5
-rw-r--r--stdlib/source/library/lux/control/security/policy.lux5
-rw-r--r--stdlib/source/library/lux/control/thread.lux7
-rw-r--r--stdlib/source/library/lux/data/collection/array.lux5
-rw-r--r--stdlib/source/library/lux/data/collection/queue/priority.lux5
-rw-r--r--stdlib/source/library/lux/data/collection/set/multi.lux5
-rw-r--r--stdlib/source/library/lux/data/collection/set/ordered.lux5
-rw-r--r--stdlib/source/library/lux/data/collection/stack.lux5
-rw-r--r--stdlib/source/library/lux/data/collection/tree/finger.lux5
-rw-r--r--stdlib/source/library/lux/data/color.lux5
-rw-r--r--stdlib/source/library/lux/data/format/css.lux5
-rw-r--r--stdlib/source/library/lux/data/format/css/class.lux5
-rw-r--r--stdlib/source/library/lux/data/format/css/id.lux5
-rw-r--r--stdlib/source/library/lux/data/format/css/property.lux9
-rw-r--r--stdlib/source/library/lux/data/format/css/query.lux5
-rw-r--r--stdlib/source/library/lux/data/format/css/selector.lux7
-rw-r--r--stdlib/source/library/lux/data/format/css/style.lux5
-rw-r--r--stdlib/source/library/lux/data/format/css/value.lux5
-rw-r--r--stdlib/source/library/lux/data/format/html.lux5
-rw-r--r--stdlib/source/library/lux/data/format/markdown.lux7
-rw-r--r--stdlib/source/library/lux/data/format/tar.lux5
-rw-r--r--stdlib/source/library/lux/data/text/buffer.lux5
-rw-r--r--stdlib/source/library/lux/data/text/encoding.lux5
-rw-r--r--stdlib/source/library/lux/data/text/unicode/block.lux5
-rw-r--r--stdlib/source/library/lux/data/text/unicode/set.lux5
-rw-r--r--stdlib/source/library/lux/data/trace.lux3
-rw-r--r--stdlib/source/library/lux/debug.lux5
-rw-r--r--stdlib/source/library/lux/documentation.lux4
-rw-r--r--stdlib/source/library/lux/ffi.jvm.lux5
-rw-r--r--stdlib/source/library/lux/ffi.lux5
-rw-r--r--stdlib/source/library/lux/ffi.old.lux4
-rw-r--r--stdlib/source/library/lux/ffi.php.lux8
-rw-r--r--stdlib/source/library/lux/ffi.scm.lux8
-rw-r--r--stdlib/source/library/lux/locale.lux5
-rw-r--r--stdlib/source/library/lux/locale/language.lux7
-rw-r--r--stdlib/source/library/lux/locale/territory.lux7
-rw-r--r--stdlib/source/library/lux/math.lux5
-rw-r--r--stdlib/source/library/lux/math/modular.lux5
-rw-r--r--stdlib/source/library/lux/math/modulus.lux5
-rw-r--r--stdlib/source/library/lux/math/number/i16.lux3
-rw-r--r--stdlib/source/library/lux/math/number/i32.lux5
-rw-r--r--stdlib/source/library/lux/math/number/i8.lux5
-rw-r--r--stdlib/source/library/lux/math/random.lux5
-rw-r--r--stdlib/source/library/lux/meta/type.lux (renamed from stdlib/source/library/lux/type.lux)0
-rw-r--r--stdlib/source/library/lux/meta/type/check.lux (renamed from stdlib/source/library/lux/type/check.lux)0
-rw-r--r--stdlib/source/library/lux/meta/type/dynamic.lux (renamed from stdlib/source/library/lux/type/dynamic.lux)8
-rw-r--r--stdlib/source/library/lux/meta/type/implicit.lux (renamed from stdlib/source/library/lux/type/implicit.lux)160
-rw-r--r--stdlib/source/library/lux/meta/type/poly.lux (renamed from stdlib/source/library/lux/type/poly.lux)28
-rw-r--r--stdlib/source/library/lux/meta/type/primitive.lux (renamed from stdlib/source/library/lux/type/primitive.lux)0
-rw-r--r--stdlib/source/library/lux/meta/type/quotient.lux (renamed from stdlib/source/library/lux/type/quotient.lux)8
-rw-r--r--stdlib/source/library/lux/meta/type/refinement.lux (renamed from stdlib/source/library/lux/type/refinement.lux)8
-rw-r--r--stdlib/source/library/lux/meta/type/resource.lux (renamed from stdlib/source/library/lux/type/resource.lux)6
-rw-r--r--stdlib/source/library/lux/meta/type/unit.lux (renamed from stdlib/source/library/lux/type/unit.lux)0
-rw-r--r--stdlib/source/library/lux/meta/type/unit/scale.lux (renamed from stdlib/source/library/lux/type/unit/scale.lux)0
-rw-r--r--stdlib/source/library/lux/meta/type/variance.lux (renamed from stdlib/source/library/lux/type/variance.lux)0
-rw-r--r--stdlib/source/library/lux/target/common_lisp.lux5
-rw-r--r--stdlib/source/library/lux/target/js.lux5
-rw-r--r--stdlib/source/library/lux/target/jvm/bytecode/address.lux5
-rw-r--r--stdlib/source/library/lux/target/jvm/bytecode/environment/limit/registry.lux5
-rw-r--r--stdlib/source/library/lux/target/jvm/bytecode/environment/limit/stack.lux5
-rw-r--r--stdlib/source/library/lux/target/jvm/bytecode/instruction.lux5
-rw-r--r--stdlib/source/library/lux/target/jvm/constant.lux5
-rw-r--r--stdlib/source/library/lux/target/jvm/constant/tag.lux5
-rw-r--r--stdlib/source/library/lux/target/jvm/encoding/name.lux5
-rw-r--r--stdlib/source/library/lux/target/jvm/encoding/signed.lux5
-rw-r--r--stdlib/source/library/lux/target/jvm/encoding/unsigned.lux5
-rw-r--r--stdlib/source/library/lux/target/jvm/index.lux5
-rw-r--r--stdlib/source/library/lux/target/jvm/modifier.lux5
-rw-r--r--stdlib/source/library/lux/target/jvm/modifier/inner.lux5
-rw-r--r--stdlib/source/library/lux/target/jvm/type.lux5
-rw-r--r--stdlib/source/library/lux/target/jvm/type/category.lux5
-rw-r--r--stdlib/source/library/lux/target/jvm/type/descriptor.lux5
-rw-r--r--stdlib/source/library/lux/target/jvm/type/lux.lux7
-rw-r--r--stdlib/source/library/lux/target/jvm/type/reflection.lux5
-rw-r--r--stdlib/source/library/lux/target/jvm/type/signature.lux5
-rw-r--r--stdlib/source/library/lux/target/lua.lux5
-rw-r--r--stdlib/source/library/lux/target/php.lux5
-rw-r--r--stdlib/source/library/lux/target/python.lux5
-rw-r--r--stdlib/source/library/lux/target/r.lux5
-rw-r--r--stdlib/source/library/lux/target/ruby.lux5
-rw-r--r--stdlib/source/library/lux/target/scheme.lux5
-rw-r--r--stdlib/source/library/lux/time.lux5
-rw-r--r--stdlib/source/library/lux/time/date.lux5
-rw-r--r--stdlib/source/library/lux/time/duration.lux5
-rw-r--r--stdlib/source/library/lux/time/instant.lux5
-rw-r--r--stdlib/source/library/lux/time/year.lux5
-rw-r--r--stdlib/source/library/lux/tool/compiler/default/platform.lux6
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/analysis/evaluation.lux6
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/analysis/inference.lux5
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/analysis/type.lux5
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/case.lux6
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/complex.lux9
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/function.lux6
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/js.lux5
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux6
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lua.lux5
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux5
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/php.lux5
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/python.lux5
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/r.lux5
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/ruby.lux5
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/scheme.lux5
-rw-r--r--stdlib/source/library/lux/tool/compiler/meta/archive.lux5
-rw-r--r--stdlib/source/library/lux/tool/compiler/meta/archive/key.lux5
-rw-r--r--stdlib/source/library/lux/tool/compiler/meta/archive/module/document.lux5
-rw-r--r--stdlib/source/library/lux/tool/compiler/meta/archive/registry.lux5
-rw-r--r--stdlib/source/library/lux/world/file/watch.lux17
-rw-r--r--stdlib/source/parser/lux/data/binary.lux5
-rw-r--r--stdlib/source/parser/lux/meta/type.lux (renamed from stdlib/source/parser/lux/type.lux)25
-rw-r--r--stdlib/source/parser/lux/program.lux8
-rw-r--r--stdlib/source/polytypic/lux/abstract/equivalence.lux9
-rw-r--r--stdlib/source/polytypic/lux/abstract/functor.lux7
-rw-r--r--stdlib/source/polytypic/lux/data/format/json.lux9
-rw-r--r--stdlib/source/specification/lux/abstract/apply.lux5
-rw-r--r--stdlib/source/test/lux.lux2
-rw-r--r--stdlib/source/test/lux/control/concurrency/frp.lux5
-rw-r--r--stdlib/source/test/lux/control/concurrency/semaphore.lux5
-rw-r--r--stdlib/source/test/lux/control/region.lux5
-rw-r--r--stdlib/source/test/lux/data/binary.lux4
-rw-r--r--stdlib/source/test/lux/data/collection/tree/finger.lux3
-rw-r--r--stdlib/source/test/lux/data/format/json.lux6
-rw-r--r--stdlib/source/test/lux/data/format/xml.lux4
-rw-r--r--stdlib/source/test/lux/data/text.lux8
-rw-r--r--stdlib/source/test/lux/debug.lux4
-rw-r--r--stdlib/source/test/lux/ffi.jvm.lux4
-rw-r--r--stdlib/source/test/lux/math/modular.lux5
-rw-r--r--stdlib/source/test/lux/meta.lux8
-rw-r--r--stdlib/source/test/lux/meta/type.lux (renamed from stdlib/source/test/lux/type.lux)0
-rw-r--r--stdlib/source/test/lux/meta/type/check.lux (renamed from stdlib/source/test/lux/type/check.lux)16
-rw-r--r--stdlib/source/test/lux/meta/type/dynamic.lux (renamed from stdlib/source/test/lux/type/dynamic.lux)0
-rw-r--r--stdlib/source/test/lux/meta/type/implicit.lux (renamed from stdlib/source/test/lux/type/implicit.lux)0
-rw-r--r--stdlib/source/test/lux/meta/type/primitive.lux (renamed from stdlib/source/test/lux/type/primitive.lux)0
-rw-r--r--stdlib/source/test/lux/meta/type/quotient.lux (renamed from stdlib/source/test/lux/type/quotient.lux)0
-rw-r--r--stdlib/source/test/lux/meta/type/refinement.lux (renamed from stdlib/source/test/lux/type/refinement.lux)0
-rw-r--r--stdlib/source/test/lux/meta/type/resource.lux (renamed from stdlib/source/test/lux/type/resource.lux)0
-rw-r--r--stdlib/source/test/lux/meta/type/unit.lux (renamed from stdlib/source/test/lux/type/unit.lux)0
-rw-r--r--stdlib/source/test/lux/meta/type/unit/scale.lux (renamed from stdlib/source/test/lux/type/unit/scale.lux)0
-rw-r--r--stdlib/source/test/lux/meta/type/variance.lux (renamed from stdlib/source/test/lux/type/variance.lux)0
-rw-r--r--stdlib/source/test/lux/tool/compiler/language/lux/analysis/inference.lux6
-rw-r--r--stdlib/source/test/lux/tool/compiler/language/lux/analysis/scope.lux5
-rw-r--r--stdlib/source/test/lux/tool/compiler/language/lux/analysis/type.lux6
-rw-r--r--stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis.lux5
-rw-r--r--stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/case.lux5
-rw-r--r--stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/complex.lux6
-rw-r--r--stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/function.lux8
-rw-r--r--stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/reference.lux5
-rw-r--r--stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/simple.lux6
-rw-r--r--stdlib/source/test/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux4
-rw-r--r--stdlib/source/test/lux/world/file/watch.lux4
-rw-r--r--stdlib/source/unsafe/lux/data/collection/array.lux5
162 files changed, 590 insertions, 469 deletions
diff --git a/stdlib/source/format/lux/data/text.lux b/stdlib/source/format/lux/data/text.lux
index bae5e1263..af6e502b6 100644
--- a/stdlib/source/format/lux/data/text.lux
+++ b/stdlib/source/format/lux/data/text.lux
@@ -36,8 +36,8 @@
["<[1]>" \\parser (.only Parser)]]]
[meta
["[0]" location]
- ["[0]" symbol]]
- ["[0]" type]]])
+ ["[0]" symbol]
+ ["[0]" type]]]])
(.type .public (Format a)
(-> a Text))
diff --git a/stdlib/source/library/lux.lux b/stdlib/source/library/lux.lux
index 439fb69e3..d142387b3 100644
--- a/stdlib/source/library/lux.lux
+++ b/stdlib/source/library/lux.lux
@@ -1326,9 +1326,9 @@
(p x))}
xs))
-(def' .private (with_location location content)
- (-> Location Code Code)
- (let' [[module line column] location]
+(def' .private (with_location content)
+ (-> Code Code)
+ (let' [[module line column] ..dummy_location]
(tuple$ (list (tuple$ (list (text$ module) (nat$ line) (nat$ column)))
content))))
@@ -1587,9 +1587,9 @@
(symbol$ [..prelude "List"])))]
(form$ (list (text$ "lux type check") type expression))))
-(def' .private (untemplated_text location value)
- (-> Location Text Code)
- (with_location location (variant$ (list (symbol$ [..prelude "#Text"]) (text$ value)))))
+(def' .private (untemplated_text value)
+ (-> Text Code)
+ (with_location (variant$ (list (symbol$ [..prelude "#Text"]) (text$ value)))))
(def' .public UnQuote
Type
@@ -1902,7 +1902,7 @@
(do meta#monad
[=elements (monad#each meta#monad (untemplated replace? subst) elements)]
(in (untemplated_list =elements))))
- .let' [[_ output'] (with_location @composite (variant$ (list (symbol$ [..prelude tag]) output)))]]
+ .let' [[_ output'] (with_location (variant$ (list (symbol$ [..prelude tag]) output)))]]
(in [@composite output'])))
(def' .private untemplated_form
@@ -1923,22 +1923,22 @@
(def' .private (untemplated replace? subst token)
(-> Bit Text Code ($' Meta Code))
({[_ [@token {#Bit value}]]
- (meta#in (with_location @token (variant$ (list (symbol$ [..prelude "#Bit"]) (bit$ value)))))
+ (meta#in (with_location (variant$ (list (symbol$ [..prelude "#Bit"]) (bit$ value)))))
[_ [@token {#Nat value}]]
- (meta#in (with_location @token (variant$ (list (symbol$ [..prelude "#Nat"]) (nat$ value)))))
+ (meta#in (with_location (variant$ (list (symbol$ [..prelude "#Nat"]) (nat$ value)))))
[_ [@token {#Int value}]]
- (meta#in (with_location @token (variant$ (list (symbol$ [..prelude "#Int"]) (int$ value)))))
+ (meta#in (with_location (variant$ (list (symbol$ [..prelude "#Int"]) (int$ value)))))
[_ [@token {#Rev value}]]
- (meta#in (with_location @token (variant$ (list (symbol$ [..prelude "#Rev"]) (rev$ value)))))
+ (meta#in (with_location (variant$ (list (symbol$ [..prelude "#Rev"]) (rev$ value)))))
[_ [@token {#Frac value}]]
- (meta#in (with_location @token (variant$ (list (symbol$ [..prelude "#Frac"]) (frac$ value)))))
+ (meta#in (with_location (variant$ (list (symbol$ [..prelude "#Frac"]) (frac$ value)))))
[_ [@token {#Text value}]]
- (meta#in (untemplated_text @token value))
+ (meta#in (untemplated_text value))
[#1 [@token {#Symbol [module name]}]]
(do meta#monad
@@ -1951,10 +1951,10 @@
(in [module name])}
module)
.let' [[module name] real_name]]
- (meta#in (with_location @token (variant$ (list (symbol$ [..prelude "#Symbol"]) (tuple$ (list (text$ module) (text$ name))))))))
+ (meta#in (with_location (variant$ (list (symbol$ [..prelude "#Symbol"]) (tuple$ (list (text$ module) (text$ name))))))))
[#0 [@token {#Symbol [module name]}]]
- (meta#in (with_location @token (variant$ (list (symbol$ [..prelude "#Symbol"]) (tuple$ (list (text$ module) (text$ name)))))))
+ (meta#in (with_location (variant$ (list (symbol$ [..prelude "#Symbol"]) (tuple$ (list (text$ module) (text$ name)))))))
[#1 [@composite {#Form {#Item [@symbol {#Symbol global}] parameters}}]]
(do meta#monad
@@ -2011,6 +2011,8 @@
(failure (wrong_syntax_error [..prelude "`"]))}
tokens)))
+(def' .public syntax_quote Macro `)
+
(def' .public `'
Macro
(macro (_ tokens)
@@ -2023,6 +2025,8 @@
(failure (wrong_syntax_error [..prelude "`'"]))}
tokens)))
+(def' .public partial_quote Macro `')
+
(def' .public '
Macro
(macro (_ tokens)
@@ -2035,6 +2039,8 @@
(failure (wrong_syntax_error [..prelude "'"]))}
tokens)))
+(def' .public literal_quote Macro ')
+
(def' .public ~
UnQuote
(..unquote
@@ -2048,6 +2054,8 @@
(failure (wrong_syntax_error [..prelude "~"]))}
tokens))))
+(def' .public but UnQuote ~)
+
(def' .public ~!
UnQuote
(..unquote
@@ -2056,15 +2064,17 @@
(do meta#monad
[current_module ..current_module_name
independent (untemplated #1 current_module [@token dependent])]
- (in (list (with_location @token (variant$ (list (symbol$ [..prelude "#Form"])
- (untemplated_list (list (untemplated_text dummy_location "lux in-module")
- (untemplated_text dummy_location current_module)
- independent))))))))
+ (in (list (with_location (variant$ (list (symbol$ [..prelude "#Form"])
+ (untemplated_list (list (untemplated_text "lux in-module")
+ (untemplated_text current_module)
+ independent))))))))
_
(failure (wrong_syntax_error [..prelude "~!"]))}
tokens))))
+(def' .public specifically UnQuote ~!)
+
(def' .public ~'
UnQuote
(..unquote
@@ -2079,6 +2089,8 @@
(failure (wrong_syntax_error [..prelude "~'"]))}
tokens))))
+(def' .public literally UnQuote ~')
+
(def' .public ~+
Spliced_UnQuote
(let' [g!list#composite (form$ (list (text$ "lux in-module")
@@ -2093,6 +2105,8 @@
(failure (wrong_syntax_error [..prelude "~+"]))}
tokens)))))
+(def' .public also Spliced_UnQuote ~+)
+
(def' .public |>
Macro
(macro (_ tokens)
diff --git a/stdlib/source/library/lux/control/concatenative.lux b/stdlib/source/library/lux/control/concatenative.lux
index 4e900a860..3a24dedfc 100644
--- a/stdlib/source/library/lux/control/concatenative.lux
+++ b/stdlib/source/library/lux/control/concatenative.lux
@@ -1,8 +1,6 @@
(.require
[library
[lux (.except Alias if loop left right)
- ["[0]" meta]
- ["[0]" type]
[abstract
["[0]" monad]]
[control
@@ -23,7 +21,9 @@
["n" nat]
["i" int]
["r" rev]
- ["f" frac]]]]]
+ ["f" frac]]]
+ ["[0]" meta (.only)
+ ["[0]" type]]]]
[//
["<>" parser (.use "[1]#[0]" monad)]])
diff --git a/stdlib/source/library/lux/control/concurrency/actor.lux b/stdlib/source/library/lux/control/concurrency/actor.lux
index ce8daea6a..f6141f32d 100644
--- a/stdlib/source/library/lux/control/concurrency/actor.lux
+++ b/stdlib/source/library/lux/control/concurrency/actor.lux
@@ -13,8 +13,9 @@
["[0]" product]]
[macro
["[0]" local]]
- [type (.only sharing)
- [primitive (.only primitive representation abstraction)]]]]
+ [meta
+ [type (.only sharing)
+ [primitive (.only primitive representation abstraction)]]]]]
[//
["[0]" atom (.only Atom atom)]
["[0]" async (.only Async Resolver)]
diff --git a/stdlib/source/library/lux/control/concurrency/async.lux b/stdlib/source/library/lux/control/concurrency/async.lux
index 40b2760b0..0098f0f1b 100644
--- a/stdlib/source/library/lux/control/concurrency/async.lux
+++ b/stdlib/source/library/lux/control/concurrency/async.lux
@@ -14,9 +14,10 @@
["[0]" product]]
[macro
["^" pattern]]
- [type (.only sharing)
- [primitive (.except)]
- ["[0]" variance (.only Mutable)]]]]
+ [meta
+ [type (.only sharing)
+ [primitive (.except)]
+ ["[0]" variance (.only Mutable)]]]]]
[//
["[0]" thread]
["[0]" atom (.only Atom atom)]])
diff --git a/stdlib/source/library/lux/control/concurrency/atom.lux b/stdlib/source/library/lux/control/concurrency/atom.lux
index 65a981c44..3c81d2841 100644
--- a/stdlib/source/library/lux/control/concurrency/atom.lux
+++ b/stdlib/source/library/lux/control/concurrency/atom.lux
@@ -13,9 +13,10 @@
[collection
["[0]" array
["[1]" \\unsafe]]]]
- [type
- [primitive (.except)]
- ["[0]" variance (.only Mutable)]]]])
+ [meta
+ [type
+ [primitive (.except)]
+ ["[0]" variance (.only Mutable)]]]]])
(with_expansions [<jvm> (these (ffi.import (java/util/concurrent/atomic/AtomicReference a)
"[1]::[0]"
diff --git a/stdlib/source/library/lux/control/concurrency/frp.lux b/stdlib/source/library/lux/control/concurrency/frp.lux
index 3cf496cf1..1311d9b3d 100644
--- a/stdlib/source/library/lux/control/concurrency/frp.lux
+++ b/stdlib/source/library/lux/control/concurrency/frp.lux
@@ -11,8 +11,9 @@
["[0]" try (.only Try)]
["[0]" exception (.only exception)]
["[0]" io (.only IO io)]]
- [type (.only sharing)
- ["[0]" variance (.only Mutable)]]]]
+ [meta
+ [type (.only sharing)
+ ["[0]" variance (.only Mutable)]]]]]
[//
["[0]" atom (.only Atom)]
["[0]" async (.only Async Async') (.use "[1]#[0]" monad)]])
diff --git a/stdlib/source/library/lux/control/concurrency/semaphore.lux b/stdlib/source/library/lux/control/concurrency/semaphore.lux
index db74c0728..2b6b0692f 100644
--- a/stdlib/source/library/lux/control/concurrency/semaphore.lux
+++ b/stdlib/source/library/lux/control/concurrency/semaphore.lux
@@ -17,9 +17,10 @@
[number
["n" nat]
["i" int]]]
- [type
- ["[0]" primitive (.except)]
- ["[0]" refinement]]]]
+ [meta
+ [type
+ ["[0]" primitive (.except)]
+ ["[0]" refinement]]]]]
[//
["[0]" atom (.only Atom)]
["[0]" async (.only Async Resolver)]])
diff --git a/stdlib/source/library/lux/control/concurrency/stm.lux b/stdlib/source/library/lux/control/concurrency/stm.lux
index 3dfeeec5c..3beedf568 100644
--- a/stdlib/source/library/lux/control/concurrency/stm.lux
+++ b/stdlib/source/library/lux/control/concurrency/stm.lux
@@ -15,9 +15,10 @@
["[0]" list]]]
[macro
["^" pattern]]
- [type (.only sharing)
- [primitive (.except)]
- ["[0]" variance (.only Mutable)]]]]
+ [meta
+ [type (.only sharing)
+ [primitive (.except)]
+ ["[0]" variance (.only Mutable)]]]]]
[//
["[0]" atom (.only Atom atom)]
["[0]" async (.only Async Resolver)]
diff --git a/stdlib/source/library/lux/control/function/memo.lux b/stdlib/source/library/lux/control/function/memo.lux
index f39cb33e3..3328720e2 100644
--- a/stdlib/source/library/lux/control/function/memo.lux
+++ b/stdlib/source/library/lux/control/function/memo.lux
@@ -4,7 +4,6 @@
(.require
[library
[lux (.except open)
- ["[0]" type]
[abstract
[hash (.only Hash)]
[monad (.only do)]]
@@ -13,7 +12,9 @@
[data
["[0]" product]
[collection
- ["[0]" dictionary (.only Dictionary)]]]]]
+ ["[0]" dictionary (.only Dictionary)]]]
+ [meta
+ ["[0]" type]]]]
["[0]" //
["[1]" mixin (.only Mixin Recursive)]])
diff --git a/stdlib/source/library/lux/control/io.lux b/stdlib/source/library/lux/control/io.lux
index 609814844..13eda4b75 100644
--- a/stdlib/source/library/lux/control/io.lux
+++ b/stdlib/source/library/lux/control/io.lux
@@ -5,13 +5,14 @@
[functor (.only Functor)]
[apply (.only Apply)]
[monad (.only Monad do)]]
- [type
- [primitive (.except)]]
[macro (.only with_symbols)
[syntax (.only syntax)]
["[0]" template]
["[0]" code
- ["<[1]>" \\parser]]]]])
+ ["<[1]>" \\parser]]]
+ [meta
+ [type
+ [primitive (.except)]]]]])
(primitive .public (IO a)
(-> Any a)
diff --git a/stdlib/source/library/lux/control/lazy.lux b/stdlib/source/library/lux/control/lazy.lux
index b20711ba7..d2bf0531f 100644
--- a/stdlib/source/library/lux/control/lazy.lux
+++ b/stdlib/source/library/lux/control/lazy.lux
@@ -14,8 +14,9 @@
[syntax (.only syntax)]
["[0]" code
["<[1]>" \\parser]]]
- [type (.only sharing)
- [primitive (.except)]]]])
+ [meta
+ [type (.only sharing)
+ [primitive (.except)]]]]])
(primitive .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 96813f726..90a503c3a 100644
--- a/stdlib/source/library/lux/control/security/capability.lux
+++ b/stdlib/source/library/lux/control/security/capability.lux
@@ -13,8 +13,9 @@
["%" \\format (.only format)]]
[collection
["[0]" list (.use "[1]#[0]" functor)]]]
- [type
- [primitive (.except)]]
+ [meta
+ [type
+ [primitive (.except)]]]
["[0]" meta]
["[0]" macro (.only)
["[0]" code (.only)
diff --git a/stdlib/source/library/lux/control/security/policy.lux b/stdlib/source/library/lux/control/security/policy.lux
index 963f0377f..2aa55af59 100644
--- a/stdlib/source/library/lux/control/security/policy.lux
+++ b/stdlib/source/library/lux/control/security/policy.lux
@@ -5,8 +5,9 @@
[functor (.only Functor)]
[apply (.only Apply)]
[monad (.only Monad)]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
(primitive .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 69591de05..0b43c9344 100644
--- a/stdlib/source/library/lux/control/thread.lux
+++ b/stdlib/source/library/lux/control/thread.lux
@@ -12,9 +12,10 @@
[collection
["[0]" array
["[1]" \\unsafe (.only Array)]]]]
- [type
- [primitive (.except)]
- ["[0]" variance (.only Mutable)]]]])
+ [meta
+ [type
+ [primitive (.except)]
+ ["[0]" variance (.only Mutable)]]]]])
(type .public (Thread ! a)
(-> ! a))
diff --git a/stdlib/source/library/lux/data/collection/array.lux b/stdlib/source/library/lux/data/collection/array.lux
index 06704ae38..40e8c6599 100644
--- a/stdlib/source/library/lux/data/collection/array.lux
+++ b/stdlib/source/library/lux/data/collection/array.lux
@@ -12,8 +12,9 @@
[data
[collection
["[0]" list]]]
- [type
- [variance (.only)]]]]
+ [meta
+ [type
+ [variance (.only)]]]]]
["!" \\unsafe])
(def .public type_name
diff --git a/stdlib/source/library/lux/data/collection/queue/priority.lux b/stdlib/source/library/lux/data/collection/queue/priority.lux
index c860daae8..0d02d0a09 100644
--- a/stdlib/source/library/lux/data/collection/queue/priority.lux
+++ b/stdlib/source/library/lux/data/collection/queue/priority.lux
@@ -13,8 +13,9 @@
[math
[number
["n" nat (.use "[1]#[0]" interval)]]]
- [type (.only by_example)
- [primitive (.only primitive abstraction representation)]]]])
+ [meta
+ [type (.only by_example)
+ [primitive (.only primitive abstraction representation)]]]]])
(type .public Priority
Nat)
diff --git a/stdlib/source/library/lux/data/collection/set/multi.lux b/stdlib/source/library/lux/data/collection/set/multi.lux
index 82c89f817..0b0f1735e 100644
--- a/stdlib/source/library/lux/data/collection/set/multi.lux
+++ b/stdlib/source/library/lux/data/collection/set/multi.lux
@@ -13,8 +13,9 @@
[math
[number
["n" nat]]]
- [type
- ["[0]" primitive (.only primitive abstraction representation)]]]]
+ [meta
+ [type
+ ["[0]" primitive (.only primitive abstraction representation)]]]]]
["[0]" // (.only)
[//
["[0]" list (.use "[1]#[0]" mix monoid)]
diff --git a/stdlib/source/library/lux/data/collection/set/ordered.lux b/stdlib/source/library/lux/data/collection/set/ordered.lux
index f24c059bd..dc209c092 100644
--- a/stdlib/source/library/lux/data/collection/set/ordered.lux
+++ b/stdlib/source/library/lux/data/collection/set/ordered.lux
@@ -9,8 +9,9 @@
["[0]" list (.use "[1]#[0]" mix)]
[dictionary
["/" ordered]]]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
(primitive .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 726cdada0..c53ba235a 100644
--- a/stdlib/source/library/lux/data/collection/stack.lux
+++ b/stdlib/source/library/lux/data/collection/stack.lux
@@ -7,8 +7,9 @@
[data
[collection
["//" list]]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
(primitive .public (Stack a)
(List a)
diff --git a/stdlib/source/library/lux/data/collection/tree/finger.lux b/stdlib/source/library/lux/data/collection/tree/finger.lux
index 72ef03d8e..b8a654516 100644
--- a/stdlib/source/library/lux/data/collection/tree/finger.lux
+++ b/stdlib/source/library/lux/data/collection/tree/finger.lux
@@ -9,8 +9,9 @@
[data
[collection
["[0]" list (.use "[1]#[0]" monoid)]]]
- [type
- [primitive (.only primitive abstraction representation)]]]])
+ [meta
+ [type
+ [primitive (.only primitive abstraction representation)]]]]])
... https://en.wikipedia.org/wiki/Finger_tree
(primitive .public (Tree @ t v)
diff --git a/stdlib/source/library/lux/data/color.lux b/stdlib/source/library/lux/data/color.lux
index de3ee1d99..bbccf6b7b 100644
--- a/stdlib/source/library/lux/data/color.lux
+++ b/stdlib/source/library/lux/data/color.lux
@@ -15,8 +15,9 @@
["[0]" int]
["[0]" rev (.use "[1]#[0]" interval)]
["[0]" i64]]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
(def rgb_limit 256)
(def top (-- rgb_limit))
diff --git a/stdlib/source/library/lux/data/format/css.lux b/stdlib/source/library/lux/data/format/css.lux
index 30e9c4153..80b0623cd 100644
--- a/stdlib/source/library/lux/data/format/css.lux
+++ b/stdlib/source/library/lux/data/format/css.lux
@@ -12,8 +12,9 @@
[math
[number
["[0]" nat]]]
- [type
- [primitive (.except Frame pattern)]]
+ [meta
+ [type
+ [primitive (.except Frame pattern)]]]
[world
[net (.only URL)]]]]
["[0]" /
diff --git a/stdlib/source/library/lux/data/format/css/class.lux b/stdlib/source/library/lux/data/format/css/class.lux
index a2aa3d00d..95ecbb9dc 100644
--- a/stdlib/source/library/lux/data/format/css/class.lux
+++ b/stdlib/source/library/lux/data/format/css/class.lux
@@ -10,8 +10,9 @@
[macro
[syntax (.only syntax)]
["[0]" code]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
(primitive .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 7d833ca6c..d4ce16d6a 100644
--- a/stdlib/source/library/lux/data/format/css/id.lux
+++ b/stdlib/source/library/lux/data/format/css/id.lux
@@ -10,8 +10,9 @@
[macro
[syntax (.only syntax)]
["[0]" code]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
(primitive .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 6d4413240..089e117c2 100644
--- a/stdlib/source/library/lux/data/format/css/property.lux
+++ b/stdlib/source/library/lux/data/format/css/property.lux
@@ -6,12 +6,13 @@
["s" code]]]
[data
["[0]" text]]
- [type
- [primitive (.except)]]
[macro
+ [syntax (.only syntax)]
["[0]" template]
- ["[0]" code]
- [syntax (.only syntax)]]]]
+ ["[0]" code]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
[//
[value (.only All
Number
diff --git a/stdlib/source/library/lux/data/format/css/query.lux b/stdlib/source/library/lux/data/format/css/query.lux
index cce106c61..ec39e8425 100644
--- a/stdlib/source/library/lux/data/format/css/query.lux
+++ b/stdlib/source/library/lux/data/format/css/query.lux
@@ -11,8 +11,9 @@
["[0]" template]
["[0]" code]
[syntax (.only syntax)]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
["[0]" //
["[1][0]" value (.only 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 5993f5c89..1e8d3e0b9 100644
--- a/stdlib/source/library/lux/data/format/css/selector.lux
+++ b/stdlib/source/library/lux/data/format/css/selector.lux
@@ -8,10 +8,11 @@
[math
[number
["i" int]]]
- [type
- [primitive (.except)]]
[macro
- ["[0]" template]]]]
+ ["[0]" template]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
["[0]" //
["[1][0]" id (.only ID)]
["[1][0]" class (.only Class)]])
diff --git a/stdlib/source/library/lux/data/format/css/style.lux b/stdlib/source/library/lux/data/format/css/style.lux
index 1f055636f..4e459fd17 100644
--- a/stdlib/source/library/lux/data/format/css/style.lux
+++ b/stdlib/source/library/lux/data/format/css/style.lux
@@ -6,8 +6,9 @@
["%" \\format (.only format)]]
[collection
["[0]" list (.use "[1]#[0]" mix)]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
["[0]" //
["[1][0]" value (.only Value)]
["[1][0]" property (.only Property)]])
diff --git a/stdlib/source/library/lux/data/format/css/value.lux b/stdlib/source/library/lux/data/format/css/value.lux
index 6dab6619e..14d2a2cec 100644
--- a/stdlib/source/library/lux/data/format/css/value.lux
+++ b/stdlib/source/library/lux/data/format/css/value.lux
@@ -21,8 +21,9 @@
["i" int]
["r" rev]
["f" frac]]]
- [type
- [primitive (.except)]]
+ [meta
+ [type
+ [primitive (.except)]]]
[world
[net (.only URL)]]]]
[//
diff --git a/stdlib/source/library/lux/data/format/html.lux b/stdlib/source/library/lux/data/format/html.lux
index f27ec9173..d6560ccfe 100644
--- a/stdlib/source/library/lux/data/format/html.lux
+++ b/stdlib/source/library/lux/data/format/html.lux
@@ -12,10 +12,11 @@
["[0]" list (.use "[1]#[0]" functor mix)]]]
[macro
["[0]" template]]
+ [meta
+ [type
+ [primitive (.except)]]]
[target
["[0]" js]]
- [type
- [primitive (.except)]]
[world
[net (.only URL)]]]]
[//
diff --git a/stdlib/source/library/lux/data/format/markdown.lux b/stdlib/source/library/lux/data/format/markdown.lux
index 21843dd90..ad8a20186 100644
--- a/stdlib/source/library/lux/data/format/markdown.lux
+++ b/stdlib/source/library/lux/data/format/markdown.lux
@@ -6,10 +6,11 @@
["%" \\format (.only format)]]
[collection
["[0]" list (.use "[1]#[0]" functor)]]]
- [type
- [primitive (.except)]]
[world
- [net (.only URL)]]]])
+ [net (.only URL)]]
+ [meta
+ [type
+ [primitive (.except)]]]]])
... https://www.markdownguide.org/basic-syntax/
diff --git a/stdlib/source/library/lux/data/format/tar.lux b/stdlib/source/library/lux/data/format/tar.lux
index 07c493b97..e0ed3924f 100644
--- a/stdlib/source/library/lux/data/format/tar.lux
+++ b/stdlib/source/library/lux/data/format/tar.lux
@@ -35,8 +35,9 @@
["[0]" duration]]
[world
["[0]" file]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
(type Size
Nat)
diff --git a/stdlib/source/library/lux/data/text/buffer.lux b/stdlib/source/library/lux/data/text/buffer.lux
index fbb58c96f..e8b4e496f 100644
--- a/stdlib/source/library/lux/data/text/buffer.lux
+++ b/stdlib/source/library/lux/data/text/buffer.lux
@@ -15,8 +15,9 @@
[math
[number
["n" nat]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
["[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 836fc8a49..25b91cfc0 100644
--- a/stdlib/source/library/lux/data/text/encoding.lux
+++ b/stdlib/source/library/lux/data/text/encoding.lux
@@ -3,8 +3,9 @@
[lux (.except)
[macro
["[0]" template]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
... https://en.wikipedia.org/wiki/Character_encoding#Common_character_encodings
(primitive .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 c08d296e4..bb61c05be 100644
--- a/stdlib/source/library/lux/data/text/unicode/block.lux
+++ b/stdlib/source/library/lux/data/text/unicode/block.lux
@@ -10,8 +10,9 @@
[number (.only hex)
["n" nat (.use "[1]#[0]" interval)]
["[0]" i64]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
[/// (.only Char)])
(primitive .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 961b597ef..13c5d4f47 100644
--- a/stdlib/source/library/lux/data/text/unicode/set.lux
+++ b/stdlib/source/library/lux/data/text/unicode/set.lux
@@ -9,8 +9,9 @@
["[0]" set (.use "[1]#[0]" equivalence)]
["[0]" tree
["[1]" finger (.only Tree)]]]]
- [type (.only by_example)
- [primitive (.except)]]]]
+ [meta
+ [type (.only by_example)
+ [primitive (.except)]]]]]
["[0]" /
["/[1]" //
[// (.only Char)]
diff --git a/stdlib/source/library/lux/data/trace.lux b/stdlib/source/library/lux/data/trace.lux
index e7032aef1..af741e922 100644
--- a/stdlib/source/library/lux/data/trace.lux
+++ b/stdlib/source/library/lux/data/trace.lux
@@ -4,8 +4,7 @@
[abstract
["[0]" monoid (.only Monoid)]
[functor (.only Functor)]
- comonad]
- function]])
+ comonad]]])
(type .public (Trace t a)
(Record
diff --git a/stdlib/source/library/lux/debug.lux b/stdlib/source/library/lux/debug.lux
index fa9e36cff..78160f4cd 100644
--- a/stdlib/source/library/lux/debug.lux
+++ b/stdlib/source/library/lux/debug.lux
@@ -39,8 +39,9 @@
[date (.only Date)]
[month (.only Month)]
[day (.only Day)]]
- ["[0]" type (.only)
- ["<[1]>" \\parser (.only Parser)]]]])
+ [meta
+ ["[0]" type (.only)
+ ["<[1]>" \\parser (.only Parser)]]]]])
(with_expansions [<jvm> (these (import java/lang/String
"[1]::[0]")
diff --git a/stdlib/source/library/lux/documentation.lux b/stdlib/source/library/lux/documentation.lux
index 2fd1b2bdf..3f7df3b4e 100644
--- a/stdlib/source/library/lux/documentation.lux
+++ b/stdlib/source/library/lux/documentation.lux
@@ -1,8 +1,6 @@
(.require
[library
[lux (.except Definition Module type)
- ["[0]" meta]
- ["[0]" type (.use "[1]#[0]" equivalence)]
[abstract
[monad (.only do)]
["[0]" enum]]
@@ -29,6 +27,8 @@
[math
[number
["n" nat]]]
+ ["[0]" meta (.only)
+ ["[0]" type (.use "[1]#[0]" equivalence)]]
[tool
[compiler
[language
diff --git a/stdlib/source/library/lux/ffi.jvm.lux b/stdlib/source/library/lux/ffi.jvm.lux
index a31b1df99..69090b80f 100644
--- a/stdlib/source/library/lux/ffi.jvm.lux
+++ b/stdlib/source/library/lux/ffi.jvm.lux
@@ -40,8 +40,9 @@
["[0]" signature]
["[0]" reflection]
["[0]" parser]]]]
- ["[0]" type (.use "[1]#[0]" equivalence)
- ["[0]" check]]]])
+ [meta
+ ["[0]" type (.use "[1]#[0]" equivalence)
+ ["[0]" check]]]]])
(def internal
(-> External Text)
diff --git a/stdlib/source/library/lux/ffi.lux b/stdlib/source/library/lux/ffi.lux
index 103d2babd..44e4e685e 100644
--- a/stdlib/source/library/lux/ffi.lux
+++ b/stdlib/source/library/lux/ffi.lux
@@ -22,8 +22,9 @@
["<[1]>" \\parser (.only Parser)]]]
["@" target (.only)
["[0]" js]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
(with_expansions [<constant> (for @.js "js constant"
@.python "python constant"
diff --git a/stdlib/source/library/lux/ffi.old.lux b/stdlib/source/library/lux/ffi.old.lux
index a199b5012..f713ebf1c 100644
--- a/stdlib/source/library/lux/ffi.old.lux
+++ b/stdlib/source/library/lux/ffi.old.lux
@@ -1,7 +1,6 @@
(.require
[library
[lux (.except is as type)
- ["[0]" type (.use "[1]#[0]" equivalence)]
[abstract
["[0]" monad (.only Monad do)]
["[0]" enum]]
@@ -25,7 +24,8 @@
["[0]" template]
["[0]" code (.only)
["<[1]>" \\parser (.only Parser)]]]
- ["[0]" meta]]])
+ ["[0]" meta (.only)
+ ["[0]" type (.use "[1]#[0]" equivalence)]]]])
(with_template [<name> <op> <from> <to>]
[(def .public (<name> value)
diff --git a/stdlib/source/library/lux/ffi.php.lux b/stdlib/source/library/lux/ffi.php.lux
index f5f357021..a720cc6f1 100644
--- a/stdlib/source/library/lux/ffi.php.lux
+++ b/stdlib/source/library/lux/ffi.php.lux
@@ -2,7 +2,6 @@
[library
[lux (.except Alias)
["@" target]
- ["[0]" meta]
[abstract
[monad (.only do)]]
[control
@@ -15,13 +14,14 @@
["%" \\format]]
[collection
["[0]" list (.use "[1]#[0]" functor)]]]
- [type
- abstract]
[macro (.only with_symbols)
[syntax (.only syntax)]
["[0]" template]
["[0]" code (.only)
- ["<[1]>" \\parser (.only Parser)]]]]])
+ ["<[1]>" \\parser (.only Parser)]]]
+ ["[0]" meta (.only)
+ [type
+ abstract]]]])
(primitive .public (Object brand) Any)
diff --git a/stdlib/source/library/lux/ffi.scm.lux b/stdlib/source/library/lux/ffi.scm.lux
index 27f8c4f4f..679a9b58e 100644
--- a/stdlib/source/library/lux/ffi.scm.lux
+++ b/stdlib/source/library/lux/ffi.scm.lux
@@ -2,7 +2,6 @@
[library
[lux (.except Alias)
["@" target]
- ["[0]" meta]
[abstract
[monad (.only do)]]
[control
@@ -15,13 +14,14 @@
["%" \\format (.only format)]]
[collection
["[0]" list (.use "[1]#[0]" functor)]]]
- [type
- abstract]
[macro (.only with_symbols)
[syntax (.only syntax)]
["[0]" template]
["[0]" code (.only)
- ["<[1]>" \\parser (.only Parser)]]]]])
+ ["<[1]>" \\parser (.only Parser)]]]
+ ["[0]" meta (.only)
+ [type
+ abstract]]]])
(primitive .public (Object brand) Any)
diff --git a/stdlib/source/library/lux/locale.lux b/stdlib/source/library/lux/locale.lux
index d1c97493d..6cd384586 100644
--- a/stdlib/source/library/lux/locale.lux
+++ b/stdlib/source/library/lux/locale.lux
@@ -10,8 +10,9 @@
["[0]" text (.only)
["%" \\format (.only format)]
["[0]" encoding (.only Encoding)]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
[/
["[0]" language (.only Language)]
["[0]" territory (.only Territory)]])
diff --git a/stdlib/source/library/lux/locale/language.lux b/stdlib/source/library/lux/locale/language.lux
index bab86a699..f5d9b051f 100644
--- a/stdlib/source/library/lux/locale/language.lux
+++ b/stdlib/source/library/lux/locale/language.lux
@@ -6,10 +6,11 @@
[hash (.only Hash)]]
[data
["[0]" text]]
- [type
- [primitive (.except)]]
[macro
- ["[0]" template]]]])
+ ["[0]" template]]
+ [meta
+ [type
+ [primitive (.except)]]]]])
... https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes
(primitive .public Language
diff --git a/stdlib/source/library/lux/locale/territory.lux b/stdlib/source/library/lux/locale/territory.lux
index 9688d691d..f89f8a619 100644
--- a/stdlib/source/library/lux/locale/territory.lux
+++ b/stdlib/source/library/lux/locale/territory.lux
@@ -6,10 +6,11 @@
[hash (.only Hash)]]
[data
["[0]" text]]
- [type
- [primitive (.except)]]
[macro
- ["[0]" template]]]])
+ ["[0]" template]]
+ [meta
+ [type
+ [primitive (.except)]]]]])
... https://en.wikipedia.org/wiki/ISO_3166-1
(primitive .public Territory
diff --git a/stdlib/source/library/lux/math.lux b/stdlib/source/library/lux/math.lux
index 63f2e931c..d5b8f2629 100644
--- a/stdlib/source/library/lux/math.lux
+++ b/stdlib/source/library/lux/math.lux
@@ -29,8 +29,9 @@
["[0]" type]]]]
[meta
[archive (.only Archive)]]]]
- [type
- ["[0]" check]]]]
+ [meta
+ [type
+ ["[0]" check]]]]]
[/
["[0]" random]
[number
diff --git a/stdlib/source/library/lux/math/modular.lux b/stdlib/source/library/lux/math/modular.lux
index 489f798ab..b2ae0a5b3 100644
--- a/stdlib/source/library/lux/math/modular.lux
+++ b/stdlib/source/library/lux/math/modular.lux
@@ -21,8 +21,9 @@
[math
[number
["i" int (.use "[1]#[0]" decimal)]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
["[0]" //
["[1]" modulus (.only Modulus)]])
diff --git a/stdlib/source/library/lux/math/modulus.lux b/stdlib/source/library/lux/math/modulus.lux
index d440669ae..333946b3d 100644
--- a/stdlib/source/library/lux/math/modulus.lux
+++ b/stdlib/source/library/lux/math/modulus.lux
@@ -14,8 +14,9 @@
[math
[number
["i" int]]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
(exception .public zero_cannot_be_a_modulus)
diff --git a/stdlib/source/library/lux/math/number/i16.lux b/stdlib/source/library/lux/math/number/i16.lux
index 446e5f71b..b83bf1f72 100644
--- a/stdlib/source/library/lux/math/number/i16.lux
+++ b/stdlib/source/library/lux/math/number/i16.lux
@@ -5,7 +5,8 @@
[equivalence (.only Equivalence)]]
[control
["[0]" maybe]]
- [type (.only by_example)]]]
+ [meta
+ [type (.only by_example)]]]]
[//
["[0]" i64 (.only Sub)]])
diff --git a/stdlib/source/library/lux/math/number/i32.lux b/stdlib/source/library/lux/math/number/i32.lux
index 262dc3eb4..4423f3098 100644
--- a/stdlib/source/library/lux/math/number/i32.lux
+++ b/stdlib/source/library/lux/math/number/i32.lux
@@ -1,11 +1,12 @@
(.require
[library
[lux (.except i64)
- [type (.only by_example)]
[abstract
[equivalence (.only Equivalence)]]
[control
- ["[0]" maybe]]]]
+ ["[0]" maybe]]
+ [meta
+ [type (.only by_example)]]]]
[//
["[0]" i64 (.only Sub)]])
diff --git a/stdlib/source/library/lux/math/number/i8.lux b/stdlib/source/library/lux/math/number/i8.lux
index 0ea292821..49ccad042 100644
--- a/stdlib/source/library/lux/math/number/i8.lux
+++ b/stdlib/source/library/lux/math/number/i8.lux
@@ -1,11 +1,12 @@
(.require
[library
[lux (.except i64)
- [type (.only by_example)]
[abstract
[equivalence (.only Equivalence)]]
[control
- ["[0]" maybe]]]]
+ ["[0]" maybe]]
+ [meta
+ [type (.only by_example)]]]]
[//
["[0]" i64 (.only Sub)]])
diff --git a/stdlib/source/library/lux/math/random.lux b/stdlib/source/library/lux/math/random.lux
index 89ae2ef53..7ebf577d7 100644
--- a/stdlib/source/library/lux/math/random.lux
+++ b/stdlib/source/library/lux/math/random.lux
@@ -34,8 +34,9 @@
["[0]" duration (.only Duration)]
["[0]" month (.only Month)]
["[0]" day (.only Day)]]
- [type
- [refinement (.only Refiner Refined)]]]])
+ [meta
+ [type
+ [refinement (.only Refiner Refined)]]]]])
(type .public PRNG
(Rec PRNG
diff --git a/stdlib/source/library/lux/type.lux b/stdlib/source/library/lux/meta/type.lux
index 00afaddc0..00afaddc0 100644
--- a/stdlib/source/library/lux/type.lux
+++ b/stdlib/source/library/lux/meta/type.lux
diff --git a/stdlib/source/library/lux/type/check.lux b/stdlib/source/library/lux/meta/type/check.lux
index cb49cc6e4..cb49cc6e4 100644
--- a/stdlib/source/library/lux/type/check.lux
+++ b/stdlib/source/library/lux/meta/type/check.lux
diff --git a/stdlib/source/library/lux/type/dynamic.lux b/stdlib/source/library/lux/meta/type/dynamic.lux
index fd98afcdf..86ccf5753 100644
--- a/stdlib/source/library/lux/type/dynamic.lux
+++ b/stdlib/source/library/lux/meta/type/dynamic.lux
@@ -11,9 +11,9 @@
[macro (.only with_symbols)
["[0]" syntax (.only syntax)]
["[0]" code
- ["<[1]>" \\parser]]]
- ["[0]" type (.only)
- ["[0]" primitive (.only primitive)]]]])
+ ["<[1]>" \\parser]]]]]
+ ["[0]" // (.only)
+ ["[0]" primitive (.only primitive)]])
(exception .public (wrong_type [expected Type
actual Type])
@@ -44,7 +44,7 @@
(with_symbols [g!type g!value]
(in (list (` (.let [[(~ g!type) (~ g!value)] ((~! ..representation) (~ value))]
(.is ((~! try.Try) (~ type))
- (.if (.at (~! type.equivalence) (~' =)
+ (.if (.at (~! //.equivalence) (~' =)
(.type_literal (~ type)) (~ g!type))
{try.#Success (.as (~ type) (~ g!value))}
((~! exception.except) ..wrong_type [(.type_literal (~ type)) (~ g!type)]))))))))))
diff --git a/stdlib/source/library/lux/type/implicit.lux b/stdlib/source/library/lux/meta/type/implicit.lux
index f831c551b..977467202 100644
--- a/stdlib/source/library/lux/type/implicit.lux
+++ b/stdlib/source/library/lux/meta/type/implicit.lux
@@ -21,10 +21,10 @@
["<[1]>" \\parser (.only Parser)]]]
[math
["[0]" number (.only)
- ["n" nat]]]
- ["[0]" meta]
- ["[0]" type (.use "[1]#[0]" equivalence)
- ["[0]" check (.only Check)]]]])
+ ["n" nat]]]]]
+ ["[0]" // (.use "[1]#[0]" equivalence)
+ ["/[1]" //]
+ ["[0]" check (.only Check)]])
(def (type_var id env)
(-> Nat Type_Context (Meta Type))
@@ -36,20 +36,20 @@
(type_var id' env)
_
- (at meta.monad in type))
+ (at ///.monad in type))
{.#Some [_ {.#None}]}
- (meta.failure (format "Unbound type-var " (%.nat id)))
+ (///.failure (format "Unbound type-var " (%.nat id)))
{.#None}
- (meta.failure (format "Unknown type-var " (%.nat id)))
+ (///.failure (format "Unknown type-var " (%.nat id)))
))
(def (implicit_type var_name)
(-> Symbol (Meta Type))
- (do meta.monad
- [raw_type (meta.type var_name)
- compiler meta.compiler_state]
+ (do ///.monad
+ [raw_type (///.type var_name)
+ compiler ///.compiler_state]
(case raw_type
{.#Var id}
(type_var id (the .#type_context compiler))
@@ -64,7 +64,7 @@
(member_type idx sig_type')
{.#Apply arg func}
- (case (type.applied (list arg) func)
+ (case (//.applied (list arg) func)
{.#None}
(check.failure (format "Cannot apply type " (%.type func) " to type " (%.type arg)))
@@ -85,52 +85,52 @@
(-> Symbol (Meta Symbol))
(case member
["" simple_name]
- (meta.either (do meta.monad
- [member (meta.normal member)
- _ (meta.slot member)]
- (in member))
- (do [! meta.monad]
- [this_module_name meta.current_module_name
- imp_mods (meta.imported_modules this_module_name)
- tag_lists (monad.each ! meta.tag_lists imp_mods)
- .let [tag_lists (|> tag_lists list#conjoint (list#each product.left) list#conjoint)
- candidates (list.only (|>> product.right (text#= simple_name))
- tag_lists)]]
- (case candidates
- {.#End}
- (meta.failure (format "Unknown tag: " (%.symbol member)))
-
- {.#Item winner {.#End}}
- (in winner)
-
- _
- (meta.failure (format "Too many candidate tags: " (%.list %.symbol candidates))))))
+ (///.either (do ///.monad
+ [member (///.normal member)
+ _ (///.slot member)]
+ (in member))
+ (do [! ///.monad]
+ [this_module_name ///.current_module_name
+ imp_mods (///.imported_modules this_module_name)
+ tag_lists (monad.each ! ///.tag_lists imp_mods)
+ .let [tag_lists (|> tag_lists list#conjoint (list#each product.left) list#conjoint)
+ candidates (list.only (|>> product.right (text#= simple_name))
+ tag_lists)]]
+ (case candidates
+ {.#End}
+ (///.failure (format "Unknown tag: " (%.symbol member)))
+
+ {.#Item winner {.#End}}
+ (in winner)
+
+ _
+ (///.failure (format "Too many candidate tags: " (%.list %.symbol candidates))))))
_
- (at meta.monad in member)))
+ (at ///.monad in member)))
(def (implicit_member member)
(-> Symbol (Meta [Nat Type]))
- (do meta.monad
+ (do ///.monad
[member (member_name member)
- [idx tag_list sig_type] (meta.slot member)]
+ [idx tag_list sig_type] (///.slot member)]
(in [idx sig_type])))
(def (compatible_type? interface candidate)
(-> Type Type Bit)
- (with_expansions [<found?> (type#= interface candidate)]
+ (with_expansions [<found?> (//#= interface candidate)]
(<| (or <found?>)
- (let [[parameters candidate] (type.flat_univ_q candidate)])
+ (let [[parameters candidate] (//.flat_univ_q candidate)])
(or <found?>)
- (let [[inputs candidate] (type.flat_function candidate)])
+ (let [[inputs candidate] (//.flat_function candidate)])
(or <found?>)
- (let [[candidate parameters] (type.flat_application candidate)])
+ (let [[candidate parameters] (//.flat_application candidate)])
(or <found?>)
- (let [candidate (type.de_aliased candidate)])
+ (let [candidate (//.de_aliased candidate)])
<found?>)))
(def (available_definitions sig_type source_module target_module constants aggregate)
@@ -146,8 +146,8 @@
(def (local_env sig_type)
(-> Type (Meta (List [Symbol Type])))
- (do meta.monad
- [local_batches meta.locals
+ (do ///.monad
+ [local_batches ///.locals
.let [total_locals (list#mix (function (_ [name type] table)
(try.else table (dictionary.has' name type table)))
(is (Dictionary Text Type)
@@ -162,17 +162,17 @@
(def (local_structs sig_type)
(-> Type (Meta (List [Symbol Type])))
- (do [! meta.monad]
- [this_module_name meta.current_module_name
- definitions (meta.definitions this_module_name)]
+ (do [! ///.monad]
+ [this_module_name ///.current_module_name
+ definitions (///.definitions this_module_name)]
(in (available_definitions sig_type this_module_name this_module_name definitions {.#End}))))
(def (imported_structs sig_type)
(-> Type (Meta (List [Symbol Type])))
- (do [! meta.monad]
- [this_module_name meta.current_module_name
- imported_modules (meta.imported_modules this_module_name)
- accessible_definitions (monad.each ! meta.definitions imported_modules)]
+ (do [! ///.monad]
+ [this_module_name ///.current_module_name
+ imported_modules (///.imported_modules this_module_name)
+ accessible_definitions (monad.each ! ///.definitions imported_modules)]
(in (list#mix (function (_ [imported_module definitions] tail)
(available_definitions sig_type imported_module this_module_name definitions tail))
{.#End}
@@ -188,7 +188,7 @@
(do check.monad
[[id var] check.var]
(|> func
- (type.applied (list var))
+ (//.applied (list var))
maybe.trusted
(on_argument arg)))
@@ -206,7 +206,7 @@
{.#UnivQ _}
(do check.monad
[[id var] check.var
- [ids final_output] (concrete_type (maybe.trusted (type.applied (list var) type)))]
+ [ids final_output] (concrete_type (maybe.trusted (//.applied (list var) type)))]
(in [{.#Item id ids}
final_output]))
@@ -229,14 +229,14 @@
(-> (-> Lux Type_Context Type (Check Instance))
Type_Context Type (List [Symbol Type])
(Meta (List Instance)))
- (do meta.monad
- [compiler meta.compiler_state]
+ (do ///.monad
+ [compiler ///.compiler_state]
(case (|> alts
(list#each (function (_ [alt_name alt_type])
(case (check.result context
(do [! check.monad]
[[tvars alt_type] (concrete_type alt_type)
- .let [[deps alt_type] (type.flat_function alt_type)]
+ .let [[deps alt_type] (//.flat_function alt_type)]
_ (check.check dep alt_type)
context' check.context
=deps (monad.each ! (provision compiler context') deps)]
@@ -248,18 +248,18 @@
(list [alt_name =deps]))))
list#conjoint)
{.#End}
- (meta.failure (format "No candidates for provisioning: " (%.type dep)))
+ (///.failure (format "No candidates for provisioning: " (%.type dep)))
found
(in found))))
(def (provision sig_type compiler context dep)
(-> Type Lux Type_Context Type (Check Instance))
- (case (meta.result compiler
- (all meta.either
- (do meta.monad [alts (..local_env sig_type)] (..candidate_provision (provision sig_type) context dep alts))
- (do meta.monad [alts (..local_structs sig_type)] (..candidate_provision (provision sig_type) context dep alts))
- (do meta.monad [alts (..imported_structs sig_type)] (..candidate_provision (provision sig_type) context dep alts))))
+ (case (///.result compiler
+ (all ///.either
+ (do ///.monad [alts (..local_env sig_type)] (..candidate_provision (provision sig_type) context dep alts))
+ (do ///.monad [alts (..local_structs sig_type)] (..candidate_provision (provision sig_type) context dep alts))
+ (do ///.monad [alts (..imported_structs sig_type)] (..candidate_provision (provision sig_type) context dep alts))))
{.#Left error}
(check.failure error)
@@ -277,15 +277,15 @@
(def (candidate_alternatives sig_type member_idx input_types output_type alts)
(-> Type Nat (List Type) Type (List [Symbol Type]) (Meta (List Instance)))
- (do meta.monad
- [compiler meta.compiler_state
- context meta.type_context]
+ (do ///.monad
+ [compiler ///.compiler_state
+ context ///.type_context]
(case (|> alts
(list#each (function (_ [alt_name alt_type])
(case (<| (check.result context)
(do [! check.monad]
[[tvars alt_type] (concrete_type alt_type)
- .let [[deps alt_type] (type.flat_function alt_type)]
+ .let [[deps alt_type] (//.flat_function alt_type)]
_ (check.check alt_type sig_type)
member_type (member_type member_idx alt_type)
_ (ensure_function_application! member_type input_types output_type)
@@ -299,7 +299,7 @@
(list [alt_name =deps]))))
list#conjoint)
{.#End}
- (meta.failure (format "No alternatives for " (%.type (type.function input_types output_type))))
+ (///.failure (format "No alternatives for " (%.type (//.function input_types output_type))))
found
(in found))))
@@ -307,10 +307,10 @@
(def (alternatives sig_type member_idx input_types output_type)
(-> Type Nat (List Type) Type (Meta (List Instance)))
(let [test (candidate_alternatives sig_type member_idx input_types output_type)]
- (all meta.either
- (do meta.monad [alts (..local_env sig_type)] (test alts))
- (do meta.monad [alts (..local_structs sig_type)] (test alts))
- (do meta.monad [alts (..imported_structs sig_type)] (test alts)))))
+ (all ///.either
+ (do ///.monad [alts (..local_env sig_type)] (test alts))
+ (do ///.monad [alts (..local_structs sig_type)] (test alts))
+ (do ///.monad [alts (..imported_structs sig_type)] (test alts)))))
(def (var? input)
(-> Code Bit)
@@ -340,14 +340,14 @@
(<>.and (<>.some <code>.any) <code>.end))])
(case args
{.#Left [args _]}
- (do [! meta.monad]
+ (do [! ///.monad]
[[member_idx sig_type] (..implicit_member member)
input_types (monad.each ! ..implicit_type args)
- output_type meta.expected_type
+ output_type ///.expected_type
chosen_ones (alternatives sig_type member_idx input_types output_type)]
(case chosen_ones
{.#End}
- (meta.failure (format "No implementation could be found for member: " (%.symbol member)))
+ (///.failure (format "No implementation could be found for member: " (%.symbol member)))
{.#Item chosen {.#End}}
(in (list (` (.at (~ (instance$ chosen))
@@ -355,14 +355,14 @@
(~+ (list#each code.symbol args))))))
_
- (meta.failure (format "Too many implementations available: "
- (|> chosen_ones
- (list#each (|>> product.left %.symbol))
- (text.interposed ", "))
- " --- for type: " (%.type sig_type)))))
+ (///.failure (format "Too many implementations available: "
+ (|> chosen_ones
+ (list#each (|>> product.left %.symbol))
+ (text.interposed ", "))
+ " --- for type: " (%.type sig_type)))))
{.#Right [args _]}
- (do [! meta.monad]
+ (do [! ///.monad]
[labels (|> (macro.symbol "g!parameter")
(list.repeated (list.size args))
(monad.all !))]
@@ -377,12 +377,12 @@
(-> Nat (Meta (List Code)))
(|> (macro.symbol "g!implicit")
(list.repeated amount)
- (monad.all meta.monad)))
+ (monad.all ///.monad)))
(def .public with
(syntax (_ [implementations (<code>.tuple (<>.many <code>.any))
body <code>.any])
- (do meta.monad
+ (do ///.monad
[g!implicit+ (implicit_bindings (list.size implementations))]
(in (list (` (let [(~+ (|> (list.zipped_2 g!implicit+ implementations)
(list#each (function (_ [g!implicit implementation])
@@ -392,7 +392,7 @@
(def .public implicitly
(syntax (_ [implementations (<>.many <code>.any)])
- (do meta.monad
+ (do ///.monad
[g!implicit+ (implicit_bindings (list.size implementations))]
(in (|> (list.zipped_2 g!implicit+ implementations)
(list#each (function (_ [g!implicit implementation])
diff --git a/stdlib/source/library/lux/type/poly.lux b/stdlib/source/library/lux/meta/type/poly.lux
index 4f70bb937..95d9f8ea7 100644
--- a/stdlib/source/library/lux/type/poly.lux
+++ b/stdlib/source/library/lux/meta/type/poly.lux
@@ -1,7 +1,6 @@
(.require
[library
[lux (.except)
- ["[0]" meta]
[abstract
["[0]" monad (.only do)]]
[control
@@ -20,9 +19,10 @@
["<[1]>" \\parser (.only Parser)]]]
[math
[number
- ["n" nat]]]
- ["[0]" type (.only)
- ["<[1]>" \\parser (.only Env)]]]])
+ ["n" nat]]]]]
+ ["[0]" // (.only)
+ ["<[1]>" \\parser (.only Env)]
+ ["/[1]" //]])
(def .public polytypic
(syntax (_ [name <code>.local
@@ -30,18 +30,18 @@
(with_symbols [g!_ g!type g!output]
(let [g!name (code.symbol ["" name])]
(in (.list (` ((~! syntax) ((~ g!_) [(~ g!type) (~! <code>.any)])
- ((~! do) (~! meta.monad)
- [(~ g!type) ((~! meta.eval) .Type (~ g!type))]
+ ((~! do) (~! ///.monad)
+ [(~ g!type) ((~! ///.eval) .Type (~ g!type))]
(case (is (.Either .Text .Code)
- ((~! <type>.result) ((~! <>.rec)
- (function ((~ g!_) (~ g!name))
- (~ body)))
+ ((~! <//>.result) ((~! <>.rec)
+ (function ((~ g!_) (~ g!name))
+ (~ body)))
(.as .Type (~ g!type))))
{.#Right (~ g!output)}
((~' in) (.list (~ g!output)))
{.#Left (~ g!output)}
- ((~! meta.failure) (~ g!output))))))))))))
+ ((~! ///.failure) (~ g!output))))))))))))
(def .public (code env type)
(-> Env Type Code)
@@ -56,14 +56,14 @@
([.#Var] [.#Ex])
{.#Parameter idx}
- (let [idx (<type>.argument env idx)]
+ (let [idx (<//>.argument env idx)]
(if (n.= 0 idx)
(|> (dictionary.value idx env) maybe.trusted product.left (code env))
(` (.$ (~ (code.nat (-- idx)))))))
{.#Apply {.#Primitive "" {.#End}}
{.#Parameter idx}}
- (case (<type>.argument env idx)
+ (case (<//>.argument env idx)
0 (|> env (dictionary.value 0) maybe.trusted product.left (code env))
idx (undefined))
@@ -76,8 +76,8 @@
(^.with_template [<macro> <tag> <flattener>]
[{<tag> left right}
(` (<macro> (~+ (list#each (code env) (<flattener> type)))))])
- ([.Union .#Sum type.flat_variant]
- [.Tuple .#Product type.flat_tuple])
+ ([.Union .#Sum //.flat_variant]
+ [.Tuple .#Product //.flat_tuple])
{.#Named name sub_type}
(code.symbol name)
diff --git a/stdlib/source/library/lux/type/primitive.lux b/stdlib/source/library/lux/meta/type/primitive.lux
index 50c288e1c..50c288e1c 100644
--- a/stdlib/source/library/lux/type/primitive.lux
+++ b/stdlib/source/library/lux/meta/type/primitive.lux
diff --git a/stdlib/source/library/lux/type/quotient.lux b/stdlib/source/library/lux/meta/type/quotient.lux
index 98292553c..72088cd46 100644
--- a/stdlib/source/library/lux/type/quotient.lux
+++ b/stdlib/source/library/lux/meta/type/quotient.lux
@@ -6,9 +6,9 @@
[macro (.only with_symbols)
[syntax (.only syntax)]
["[0]" code
- ["<[1]>" \\parser]]]
- ["[0]" type
- [primitive (.except)]]]])
+ ["<[1]>" \\parser]]]]]
+ ["[0]" // (.only)
+ [primitive (.except)]])
(primitive .public (Class t c %)
(-> t c)
@@ -56,7 +56,7 @@
(~ g!_)
(.undefined))))
- ... (` ((~! type.by_example) [(~ g!t) (~ g!c) (~ g!%)]
+ ... (` ((~! //.by_example) [(~ g!t) (~ g!c) (~ g!%)]
... (is (..Class (~ g!t) (~ g!c) (~ g!%))
... (~ class))
... (..Quotient (~ g!t) (~ g!c) (~ g!%))))
diff --git a/stdlib/source/library/lux/type/refinement.lux b/stdlib/source/library/lux/meta/type/refinement.lux
index 225edc957..24e0aa2e2 100644
--- a/stdlib/source/library/lux/type/refinement.lux
+++ b/stdlib/source/library/lux/meta/type/refinement.lux
@@ -7,9 +7,9 @@
["[0]" macro (.only)
[syntax (.only syntax)]
["[0]" code
- ["<[1]>" \\parser]]]
- ["[0]" type (.only)
- [primitive (.except)]]]])
+ ["<[1]>" \\parser]]]]]
+ ["[0]" // (.only)
+ [primitive (.except)]])
(primitive .public (Refined t %)
(Record
@@ -98,7 +98,7 @@
(~ g!_)
(.undefined))))
- ... (` ((~! type.by_example) [(~ g!t) (~ g!%)]
+ ... (` ((~! //.by_example) [(~ g!t) (~ g!%)]
... (is (..Refiner (~ g!t) (~ g!%))
... (~ refiner))
... (..Refined (~ g!t) (~ g!%))))
diff --git a/stdlib/source/library/lux/type/resource.lux b/stdlib/source/library/lux/meta/type/resource.lux
index 760f07dc2..bd9e71c08 100644
--- a/stdlib/source/library/lux/type/resource.lux
+++ b/stdlib/source/library/lux/meta/type/resource.lux
@@ -22,9 +22,9 @@
["<[1]>" \\parser (.only Parser)]]]
[math
[number
- ["n" nat]]]
- [type
- [primitive (.except)]]]])
+ ["n" nat]]]]]
+ [//
+ [primitive (.except)]])
(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/meta/type/unit.lux
index 994e7ad11..994e7ad11 100644
--- a/stdlib/source/library/lux/type/unit.lux
+++ b/stdlib/source/library/lux/meta/type/unit.lux
diff --git a/stdlib/source/library/lux/type/unit/scale.lux b/stdlib/source/library/lux/meta/type/unit/scale.lux
index b7f598d13..b7f598d13 100644
--- a/stdlib/source/library/lux/type/unit/scale.lux
+++ b/stdlib/source/library/lux/meta/type/unit/scale.lux
diff --git a/stdlib/source/library/lux/type/variance.lux b/stdlib/source/library/lux/meta/type/variance.lux
index ac7e120d4..ac7e120d4 100644
--- a/stdlib/source/library/lux/type/variance.lux
+++ b/stdlib/source/library/lux/meta/type/variance.lux
diff --git a/stdlib/source/library/lux/target/common_lisp.lux b/stdlib/source/library/lux/target/common_lisp.lux
index 7f93025a2..06fca5f8c 100644
--- a/stdlib/source/library/lux/target/common_lisp.lux
+++ b/stdlib/source/library/lux/target/common_lisp.lux
@@ -13,8 +13,9 @@
[math
[number
["f" frac]]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
(def as_form
(-> Text Text)
diff --git a/stdlib/source/library/lux/target/js.lux b/stdlib/source/library/lux/target/js.lux
index 8665f2ce4..0c275562d 100644
--- a/stdlib/source/library/lux/target/js.lux
+++ b/stdlib/source/library/lux/target/js.lux
@@ -14,8 +14,9 @@
[number
["i" int]
["f" frac]]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
(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 f1b07aa77..66b50f65a 100644
--- a/stdlib/source/library/lux/target/jvm/bytecode/address.lux
+++ b/stdlib/source/library/lux/target/jvm/bytecode/address.lux
@@ -14,8 +14,9 @@
[math
[number
["n" nat]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
["[0]" //
[jump (.only 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 f1cc6058d..3f16fa4a2 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
@@ -13,8 +13,9 @@
[math
[number
["n" nat]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
["[0]" /////
[encoding
["[1][0]" unsigned (.only 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 daf9da304..7c7e0472e 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
@@ -11,8 +11,9 @@
["%" \\format]]
[binary
[\\format (.only Format)]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
["[0]" /////
[encoding
["[1][0]" unsigned (.only U2)]]])
diff --git a/stdlib/source/library/lux/target/jvm/bytecode/instruction.lux b/stdlib/source/library/lux/target/jvm/bytecode/instruction.lux
index 1c654dae9..3b613b206 100644
--- a/stdlib/source/library/lux/target/jvm/bytecode/instruction.lux
+++ b/stdlib/source/library/lux/target/jvm/bytecode/instruction.lux
@@ -21,8 +21,9 @@
[math
[number (.only hex)
["n" nat]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
["[0]" //
["[1][0]" address (.only Address)]
["[1][0]" jump (.only Jump Big_Jump)]
diff --git a/stdlib/source/library/lux/target/jvm/constant.lux b/stdlib/source/library/lux/target/jvm/constant.lux
index 516930b9d..ae57d805f 100644
--- a/stdlib/source/library/lux/target/jvm/constant.lux
+++ b/stdlib/source/library/lux/target/jvm/constant.lux
@@ -21,8 +21,9 @@
["[0]" i64]
["[0]" int]
["[0]" frac]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
["[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 2b12af966..bcd1d4209 100644
--- a/stdlib/source/library/lux/target/jvm/constant/tag.lux
+++ b/stdlib/source/library/lux/target/jvm/constant/tag.lux
@@ -8,8 +8,9 @@
[data
[binary
[\\format (.only Format)]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
["[0]" ///
[encoding
["[1][0]" unsigned (.only U1) (.use "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 246bb0575..7516cdc46 100644
--- a/stdlib/source/library/lux/target/jvm/encoding/name.lux
+++ b/stdlib/source/library/lux/target/jvm/encoding/name.lux
@@ -4,8 +4,9 @@
[data
["[0]" text (.only)
["%" \\format (.only format)]]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
(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 30ec9a567..ba6304a39 100644
--- a/stdlib/source/library/lux/target/jvm/encoding/signed.lux
+++ b/stdlib/source/library/lux/target/jvm/encoding/signed.lux
@@ -19,8 +19,9 @@
["[0]" i64]
["n" nat]
["i" int]]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
(primitive .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 eee130b27..bbc331384 100644
--- a/stdlib/source/library/lux/target/jvm/encoding/unsigned.lux
+++ b/stdlib/source/library/lux/target/jvm/encoding/unsigned.lux
@@ -18,8 +18,9 @@
[number
["n" nat]
["[0]" i64]]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
(primitive .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 1bae3b814..05489792b 100644
--- a/stdlib/source/library/lux/target/jvm/index.lux
+++ b/stdlib/source/library/lux/target/jvm/index.lux
@@ -6,8 +6,9 @@
[data
[binary
[\\format (.only Format)]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
["[0]" //
[encoding
["[1][0]" unsigned (.only U2)]]])
diff --git a/stdlib/source/library/lux/target/jvm/modifier.lux b/stdlib/source/library/lux/target/jvm/modifier.lux
index 05df8f292..9d135aa55 100644
--- a/stdlib/source/library/lux/target/jvm/modifier.lux
+++ b/stdlib/source/library/lux/target/jvm/modifier.lux
@@ -17,8 +17,9 @@
[math
["[0]" number (.only hex)
["[0]" i64]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
["[0]" //
[encoding
["[1][0]" unsigned]]])
diff --git a/stdlib/source/library/lux/target/jvm/modifier/inner.lux b/stdlib/source/library/lux/target/jvm/modifier/inner.lux
index 1537dbe10..c61569575 100644
--- a/stdlib/source/library/lux/target/jvm/modifier/inner.lux
+++ b/stdlib/source/library/lux/target/jvm/modifier/inner.lux
@@ -1,8 +1,9 @@
(.require
[library
[lux (.except static)
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
[// (.only modifiers)])
(primitive .public Inner Any)
diff --git a/stdlib/source/library/lux/target/jvm/type.lux b/stdlib/source/library/lux/target/jvm/type.lux
index 3bb1f6411..9b90e6c28 100644
--- a/stdlib/source/library/lux/target/jvm/type.lux
+++ b/stdlib/source/library/lux/target/jvm/type.lux
@@ -14,8 +14,9 @@
[math
[number
["n" nat]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
["[0]" //
[encoding
["[1][0]" name (.only External)]]]
diff --git a/stdlib/source/library/lux/target/jvm/type/category.lux b/stdlib/source/library/lux/target/jvm/type/category.lux
index 62a0a3a45..bbef2f241 100644
--- a/stdlib/source/library/lux/target/jvm/type/category.lux
+++ b/stdlib/source/library/lux/target/jvm/type/category.lux
@@ -3,8 +3,9 @@
[lux (.except Primitive)
[macro
["[0]" template]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
(primitive Void' Any)
(primitive .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 332a1c128..a3635d767 100644
--- a/stdlib/source/library/lux/target/jvm/type/descriptor.lux
+++ b/stdlib/source/library/lux/target/jvm/type/descriptor.lux
@@ -13,8 +13,9 @@
[math
[number
["n" nat]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
["[0]" //
[category (.only 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 6f2ab6b47..724092721 100644
--- a/stdlib/source/library/lux/target/jvm/type/lux.lux
+++ b/stdlib/source/library/lux/target/jvm/type/lux.lux
@@ -15,9 +15,10 @@
[collection
["[0]" array]
["[0]" dictionary (.only Dictionary)]]]
- [type
- [":" primitive]
- ["[0]" check (.only Check) (.use "[1]#[0]" monad)]]]]
+ [meta
+ [type
+ [":" primitive]
+ ["[0]" check (.only Check) (.use "[1]#[0]" monad)]]]]]
["[0]" // (.only)
[category (.only Void Value Return Method Primitive Object Class Array Var Parameter)]
["[1][0]" descriptor]
diff --git a/stdlib/source/library/lux/target/jvm/type/reflection.lux b/stdlib/source/library/lux/target/jvm/type/reflection.lux
index cac395b22..de151b35d 100644
--- a/stdlib/source/library/lux/target/jvm/type/reflection.lux
+++ b/stdlib/source/library/lux/target/jvm/type/reflection.lux
@@ -6,8 +6,9 @@
[data
["[0]" text (.use "[1]#[0]" equivalence)
["%" \\format (.only format)]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
["[0]" //
[category (.only 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 cbde0203a..6afc33607 100644
--- a/stdlib/source/library/lux/target/jvm/type/signature.lux
+++ b/stdlib/source/library/lux/target/jvm/type/signature.lux
@@ -11,8 +11,9 @@
["%" \\format (.only format)]]
[collection
["[0]" list (.use "[1]#[0]" functor)]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
["[0]" //
[category (.only 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 f12cfbac6..8f8a3ed42 100644
--- a/stdlib/source/library/lux/target/lua.lux
+++ b/stdlib/source/library/lux/target/lua.lux
@@ -23,8 +23,9 @@
["n" nat]
["i" int]
["f" frac]]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
... 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 2ad1863b6..2e11466f9 100644
--- a/stdlib/source/library/lux/target/php.lux
+++ b/stdlib/source/library/lux/target/php.lux
@@ -22,8 +22,9 @@
[number
["n" nat]
["f" frac]]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
(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 ddc601161..3237a638c 100644
--- a/stdlib/source/library/lux/target/python.lux
+++ b/stdlib/source/library/lux/target/python.lux
@@ -23,8 +23,9 @@
[number
["n" nat]
["f" frac]]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
(.def input_separator
", ")
diff --git a/stdlib/source/library/lux/target/r.lux b/stdlib/source/library/lux/target/r.lux
index 6d56eea58..4c6d87403 100644
--- a/stdlib/source/library/lux/target/r.lux
+++ b/stdlib/source/library/lux/target/r.lux
@@ -18,8 +18,9 @@
[math
[number
["f" frac]]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
(primitive .public (Code kind)
Text
diff --git a/stdlib/source/library/lux/target/ruby.lux b/stdlib/source/library/lux/target/ruby.lux
index 5a5f5af9d..b2dee4ea6 100644
--- a/stdlib/source/library/lux/target/ruby.lux
+++ b/stdlib/source/library/lux/target/ruby.lux
@@ -22,8 +22,9 @@
[number
["n" nat]
["f" frac]]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
(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 0a2d66b7d..4173b4241 100644
--- a/stdlib/source/library/lux/target/scheme.lux
+++ b/stdlib/source/library/lux/target/scheme.lux
@@ -18,8 +18,9 @@
[number
["n" nat]
["f" frac]]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
... 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 3f57e5889..e020c4069 100644
--- a/stdlib/source/library/lux/time.lux
+++ b/stdlib/source/library/lux/time.lux
@@ -18,8 +18,9 @@
[math
[number
["n" nat (.use "[1]#[0]" decimal)]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
[/
["[0]" duration (.only Duration)]])
diff --git a/stdlib/source/library/lux/time/date.lux b/stdlib/source/library/lux/time/date.lux
index 78bd79237..8140b076b 100644
--- a/stdlib/source/library/lux/time/date.lux
+++ b/stdlib/source/library/lux/time/date.lux
@@ -22,8 +22,9 @@
[number
["n" nat (.use "[1]#[0]" decimal)]
["i" int]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
["[0]" //
["[1][0]" year (.only Year)]
["[1][0]" month (.only Month)]])
diff --git a/stdlib/source/library/lux/time/duration.lux b/stdlib/source/library/lux/time/duration.lux
index b8ed4f776..00a7c1d1e 100644
--- a/stdlib/source/library/lux/time/duration.lux
+++ b/stdlib/source/library/lux/time/duration.lux
@@ -18,8 +18,9 @@
[number
["i" int]
["[0]" nat (.use "[1]#[0]" decimal)]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
["[0]" //
["[1][0]" year]])
diff --git a/stdlib/source/library/lux/time/instant.lux b/stdlib/source/library/lux/time/instant.lux
index a453d5f58..2b58b5bf2 100644
--- a/stdlib/source/library/lux/time/instant.lux
+++ b/stdlib/source/library/lux/time/instant.lux
@@ -20,8 +20,9 @@
[number
["i" int]
["f" frac]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
["[0]" // (.only Time)
["[0]" duration (.only Duration)]
["[0]" year (.only Year)]
diff --git a/stdlib/source/library/lux/time/year.lux b/stdlib/source/library/lux/time/year.lux
index 494f3355b..02062e6aa 100644
--- a/stdlib/source/library/lux/time/year.lux
+++ b/stdlib/source/library/lux/time/year.lux
@@ -17,8 +17,9 @@
[number
["n" nat (.use "[1]#[0]" decimal)]
["i" int (.use "[1]#[0]" decimal)]]]
- [type
- [primitive (.except)]]]])
+ [meta
+ [type
+ [primitive (.except)]]]]])
(def (internal year)
(-> Int Int)
diff --git a/stdlib/source/library/lux/tool/compiler/default/platform.lux b/stdlib/source/library/lux/tool/compiler/default/platform.lux
index 492644edc..af29859b7 100644
--- a/stdlib/source/library/lux/tool/compiler/default/platform.lux
+++ b/stdlib/source/library/lux/tool/compiler/default/platform.lux
@@ -27,9 +27,9 @@
["[0]" set (.only Set)]
["[0]" list (.use "[1]#[0]" monoid functor mix)]]]
["[0]" meta (.only)
- ["[0]" configuration (.only Configuration)]]
- [type (.only sharing)
- ["[0]" check]]
+ ["[0]" configuration (.only Configuration)]
+ [type (.only sharing)
+ ["[0]" check]]]
[world
["[0]" file (.only Path)]
["[0]" console]]]]
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/analysis/evaluation.lux b/stdlib/source/library/lux/tool/compiler/language/lux/analysis/evaluation.lux
index d25341b39..402cf563a 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/analysis/evaluation.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/analysis/evaluation.lux
@@ -1,8 +1,6 @@
(.require
[library
[lux (.except)
- [type (.only sharing)]
- ["[0]" meta]
[abstract
[monad (.only do)]]
[control
@@ -16,7 +14,9 @@
["[0]" dictionary (.only Dictionary)]]]
[math
[number
- ["n" nat]]]]]
+ ["n" nat]]]
+ ["[0]" meta (.only)
+ [type (.only sharing)]]]]
["[0]" // (.only Operation)
[macro (.only Expander)]
["[1][0]" type]
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/analysis/inference.lux b/stdlib/source/library/lux/tool/compiler/language/lux/analysis/inference.lux
index da4761411..e13058163 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/analysis/inference.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/analysis/inference.lux
@@ -20,8 +20,9 @@
[math
[number
["n" nat]]]
- ["[0]" type (.only)
- ["[0]" check]]]]
+ [meta
+ ["[0]" type (.only)
+ ["[0]" check]]]]]
["/" // (.only Analysis Operation Phase)
["[1][0]" type]
[//
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/analysis/type.lux b/stdlib/source/library/lux/tool/compiler/language/lux/analysis/type.lux
index 182199934..6cfad0d9f 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/analysis/type.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/analysis/type.lux
@@ -17,8 +17,9 @@
[math
[number
["n" nat]]]
- [type
- ["[0]" check (.only Check)]]]]
+ [meta
+ [type
+ ["[0]" check (.only Check)]]]]]
["/" // (.only Operation)
[//
[phase
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/case.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/case.lux
index ba5d13ca3..6f3c13d65 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/case.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/case.lux
@@ -1,7 +1,6 @@
(.require
[library
[lux (.except case)
- ["[0]" meta]
[abstract
["[0]" monad (.only do)]]
[control
@@ -20,8 +19,9 @@
[macro
["^" pattern]
["[0]" code]]
- ["[0]" type (.only)
- ["[0]" check (.only Check)]]]]
+ ["[0]" meta (.only)
+ ["[0]" type (.only)
+ ["[0]" check (.only Check)]]]]]
["[0]" /
["/[1]" //
["[1][0]" complex]
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/complex.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/complex.lux
index 3293fb170..c355ad0d1 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/complex.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/complex.lux
@@ -1,7 +1,6 @@
(.require
[library
[lux (.except)
- ["[0]" meta]
[abstract
["[0]" monad (.only do)]]
[control
@@ -21,10 +20,10 @@
[math
[number
["n" nat]]]
- [meta
- ["[0]" symbol]]
- ["[0]" type (.only)
- ["[0]" check]]]]
+ ["[0]" meta (.only)
+ ["[0]" symbol]
+ ["[0]" type (.only)
+ ["[0]" check]]]]]
["[0]" //
["[1][0]" simple]
["/[1]" //
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/function.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/function.lux
index 4354f10a1..68d8ed9e4 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/function.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/function.lux
@@ -1,7 +1,6 @@
(.require
[library
[lux (.except function)
- ["[0]" meta]
[abstract
[monad (.only do)]]
[control
@@ -17,8 +16,9 @@
[math
[number
["n" nat]]]
- ["[0]" type (.only)
- ["[0]" check]]]]
+ ["[0]" meta (.only)
+ ["[0]" type (.only)
+ ["[0]" check]]]]]
["[0]" ///
["[1][0]" extension]
[//
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/js.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/js.lux
index 102e5adcf..580faf086 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/js.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/js.lux
@@ -14,8 +14,9 @@
[macro
["[0]" code
["<[1]>" \\parser (.only Parser)]]]
- ["[0]" type (.only)
- ["[0]" check]]
+ [meta
+ ["[0]" type (.only)
+ ["[0]" check]]]
["@" target (.only)
["_" js]]]]
[//
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux
index d22d74aaf..cad6fe27b 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux
@@ -2,7 +2,6 @@
[library
[lux (.except Type Module Primitive char int type)
["[0]" ffi (.only import)]
- ["[0]" meta]
[abstract
["[0]" monad (.only do)]]
[control
@@ -57,8 +56,9 @@
["[0]" parser]
["[0]" alias (.only Aliasing)]
["[0]T" lux (.only Mapping)]]]]
- ["[0]" type (.only)
- ["[0]" check (.only Check) (.use "[1]#[0]" monad)]]]]
+ ["[0]" meta (.only)
+ ["[0]" type (.only)
+ ["[0]" check (.only Check) (.use "[1]#[0]" monad)]]]]]
["[0]" //
["[1][0]" lux (.only custom)]
["/[1]" // (.only)
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lua.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lua.lux
index 3c0e4cc86..d62efd51f 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lua.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lua.lux
@@ -14,8 +14,9 @@
[macro
["[0]" code
["<[1]>" \\parser (.only Parser)]]]
- ["[0]" type (.only)
- ["[0]" check]]
+ [meta
+ ["[0]" type (.only)
+ ["[0]" check]]]
["@" target (.only)
["_" lua]]]]
[//
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux
index 75e4e8516..37ba8abe9 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux
@@ -21,8 +21,9 @@
[math
[number
["n" nat]]]
- [type
- ["[0]" check]]
+ [meta
+ [type
+ ["[0]" check]]]
["[0]" meta]]]
["[0]" /// (.only)
["[1][0]" bundle]
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/php.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/php.lux
index 3852d2b24..3417bf78a 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/php.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/php.lux
@@ -14,8 +14,9 @@
[macro
["[0]" code
["<[1]>" \\parser (.only Parser)]]]
- ["[0]" type (.only)
- ["[0]" check]]
+ [meta
+ ["[0]" type (.only)
+ ["[0]" check]]]
["@" target (.only)
["_" php]]]]
[//
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/python.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/python.lux
index 3c6e4b452..0712fe644 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/python.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/python.lux
@@ -14,8 +14,9 @@
[macro
["[0]" code
["<[1]>" \\parser (.only Parser)]]]
- ["[0]" type (.only)
- ["[0]" check]]
+ [meta
+ ["[0]" type (.only)
+ ["[0]" check]]]
["@" target (.only)
["_" python]]]]
[//
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/r.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/r.lux
index a53133555..67f44e35a 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/r.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/r.lux
@@ -14,8 +14,9 @@
[macro
["[0]" code
["<[1]>" \\parser (.only Parser)]]]
- ["[0]" type (.only)
- ["[0]" check]]
+ [meta
+ ["[0]" type (.only)
+ ["[0]" check]]]
["@" target
["_" r]]]]
[//
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/ruby.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/ruby.lux
index 3029aec9d..965f580b1 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/ruby.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/ruby.lux
@@ -14,8 +14,9 @@
[macro
["[0]" code
["<[1]>" \\parser (.only Parser)]]]
- ["[0]" type (.only)
- ["[0]" check]]
+ [meta
+ ["[0]" type (.only)
+ ["[0]" check]]]
["@" target (.only)
["_" ruby]]]]
[//
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/scheme.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/scheme.lux
index bf1493940..5768379ce 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/scheme.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/scheme.lux
@@ -14,8 +14,9 @@
[macro
["[0]" code
["<[1]>" \\parser (.only Parser)]]]
- ["[0]" type (.only)
- ["[0]" check]]
+ [meta
+ ["[0]" type (.only)
+ ["[0]" check]]]
["@" target (.only)
["_" scheme]]]]
[//
diff --git a/stdlib/source/library/lux/tool/compiler/meta/archive.lux b/stdlib/source/library/lux/tool/compiler/meta/archive.lux
index fd8a0c817..75612d11a 100644
--- a/stdlib/source/library/lux/tool/compiler/meta/archive.lux
+++ b/stdlib/source/library/lux/tool/compiler/meta/archive.lux
@@ -25,8 +25,9 @@
[math
[number
["n" nat (.use "[1]#[0]" equivalence)]]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
[/
["[0]" artifact]
["[0]" registry (.only 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 0e26e7718..24db1094f 100644
--- a/stdlib/source/library/lux/tool/compiler/meta/archive/key.lux
+++ b/stdlib/source/library/lux/tool/compiler/meta/archive/key.lux
@@ -1,8 +1,9 @@
(.require
[library
[lux (.except)
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
[//
[signature (.only 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 64fae1ab4..46f7e2d5e 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
@@ -13,8 +13,9 @@
["[0]" binary
[\\parser (.only Parser)]
["[1]" \\format (.only Format)]]]
- [type (.only sharing)
- [primitive (.except)]]]]
+ [meta
+ [type (.only sharing)
+ [primitive (.except)]]]]]
[///
["[0]" signature (.only Signature) (.use "[1]#[0]" equivalence)]
["[0]" key (.only 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 ec61e4b79..b7c1e2e35 100644
--- a/stdlib/source/library/lux/tool/compiler/meta/archive/registry.lux
+++ b/stdlib/source/library/lux/tool/compiler/meta/archive/registry.lux
@@ -22,8 +22,9 @@
["[0]" dictionary (.only Dictionary)]]]
[macro
["^" pattern]]
- [type
- [primitive (.except)]]]]
+ [meta
+ [type
+ [primitive (.except)]]]]]
["[0]" //
["[0]" unit]
["[1]" artifact (.only Artifact ID)
diff --git a/stdlib/source/library/lux/world/file/watch.lux b/stdlib/source/library/lux/world/file/watch.lux
index d21036caa..aee589f28 100644
--- a/stdlib/source/library/lux/world/file/watch.lux
+++ b/stdlib/source/library/lux/world/file/watch.lux
@@ -1,6 +1,6 @@
(.require
[library
- [lux (.except all)
+ [lux (.except all and)
["@" target]
["[0]" ffi (.only import)]
[abstract
@@ -29,8 +29,9 @@
["n" nat]]]
[time
["[0]" instant (.only Instant) (.use "[1]#[0]" equivalence)]]
- [type
- [primitive (.only primitive representation abstraction)]]]]
+ [meta
+ [type
+ [primitive (.only primitive representation abstraction)]]]]]
["[0]" //])
(primitive .public Concern
@@ -66,7 +67,7 @@
false false true]
)
- (def .public (also left right)
+ (def .public (and left right)
(-> Concern Concern Concern)
(abstraction
[#creation (or (..creation? left) (..creation? right))
@@ -75,7 +76,7 @@
(def .public all
Concern
- (.all ..also
+ (.all ..and
..creation
..modification
..deletion
@@ -339,7 +340,7 @@
(|>> java/nio/file/WatchKey::pollEvents
(at io.monad each (|>> ..default_list
(list#each default_event_concern)
- (list#mix ..also ..none)))))
+ (list#mix ..and ..none)))))
(import java/nio/file/WatchService
"[1]::[0]"
@@ -441,8 +442,8 @@
(do async.monad
[?concern (stop path)]
(do (try.with async.monad)
- [key (..default_start (..watch_events (..also (try.else ..none ?concern)
- the_concern))
+ [key (..default_start (..watch_events (..and (try.else ..none ?concern)
+ the_concern))
watcher
path)]
(do async.monad
diff --git a/stdlib/source/parser/lux/data/binary.lux b/stdlib/source/parser/lux/data/binary.lux
index 1e1ac7704..00c3d3656 100644
--- a/stdlib/source/parser/lux/data/binary.lux
+++ b/stdlib/source/parser/lux/data/binary.lux
@@ -2,7 +2,6 @@
[library
[lux (.except and or nat int rev list symbol type)
[ffi (.only)]
- [type (.only sharing)]
[abstract
[hash (.only Hash)]
[monad (.only do)]]
@@ -29,7 +28,9 @@
[math
[number
["n" nat]
- ["[0]" frac]]]]])
+ ["[0]" frac]]]
+ [meta
+ [type (.only sharing)]]]])
(.type .public Offset
Nat)
diff --git a/stdlib/source/parser/lux/type.lux b/stdlib/source/parser/lux/meta/type.lux
index a107a1778..7c7090474 100644
--- a/stdlib/source/parser/lux/type.lux
+++ b/stdlib/source/parser/lux/meta/type.lux
@@ -19,9 +19,10 @@
["[0]" code]]
[math
[number
- ["n" nat (.use "[1]#[0]" decimal)]]]
- ["[0]" type (.use "[1]#[0]" equivalence)
- ["[0]" check]]]])
+ ["n" nat (.use "[1]#[0]" decimal)]]]]]
+ [\\library
+ ["[0]" / (.use "[1]#[0]" equivalence)
+ ["[0]" check]]])
(def |recursion_dummy|
(template (|recursion_dummy|)
@@ -159,20 +160,20 @@
(All (_ a) (-> (Parser a) (Parser a)))
(do //.monad
[headT ..any]
- (let [members (<flattener> (type.anonymous headT))]
+ (let [members (<flattener> (/.anonymous headT))]
(if (n.> 1 (list.size members))
(local members poly)
(//.failure (exception.error <exception> headT)))))))]
- [variant type.flat_variant ..not_variant]
- [tuple type.flat_tuple ..not_tuple]
+ [variant /.flat_variant ..not_variant]
+ [tuple /.flat_tuple ..not_tuple]
)
(def polymorphic'
(Parser [Nat Type])
(do //.monad
[headT any
- .let [[num_arg bodyT] (type.flat_univ_q (type.anonymous headT))]]
+ .let [[num_arg bodyT] (/.flat_univ_q (/.anonymous headT))]]
(if (n.= 0 num_arg)
(//.failure (exception.error ..not_polymorphic headT))
(in [num_arg bodyT]))))
@@ -218,7 +219,7 @@
(All (_ i o) (-> (Parser i) (Parser o) (Parser [i o])))
(do //.monad
[headT any
- .let [[inputsT outputT] (type.flat_function (type.anonymous headT))]]
+ .let [[inputsT outputT] (/.flat_function (/.anonymous headT))]]
(if (n.> 0 (list.size inputsT))
(//.and (local inputsT in_poly)
(local (list outputT) out_poly))
@@ -228,7 +229,7 @@
(All (_ a) (-> (Parser a) (Parser a)))
(do //.monad
[headT any
- .let [[funcT paramsT] (type.flat_application (type.anonymous headT))]]
+ .let [[funcT paramsT] (/.flat_application (/.anonymous headT))]]
(if (n.= 0 (list.size paramsT))
(//.failure (exception.error ..not_application headT))
(..local {.#Item funcT paramsT} poly))))
@@ -242,7 +243,7 @@
(in [])
(//.failure (exception.error ..types_do_not_match [expected actual])))))]
- [exactly type#=]
+ [exactly /#=]
[sub check.subsumes?]
[super (function.flipped check.subsumes?)]
)
@@ -311,7 +312,7 @@
(All (_ a) (-> (Parser a) (Parser [Code a])))
(do [! //.monad]
[headT any]
- (case (type.anonymous headT)
+ (case (/.anonymous headT)
(pattern {.#Apply (|recursion_dummy|) {.#UnivQ _ headT'}})
(do !
[[recT _ output] (|> poly
@@ -328,7 +329,7 @@
(do //.monad
[env ..env
headT any]
- (case (type.anonymous headT)
+ (case (/.anonymous headT)
(^.multi (pattern {.#Apply (|recursion_dummy|) {.#Parameter funcT_idx}})
(n.= 0 (..argument env funcT_idx))
[(dictionary.value 0 env) {.#Some [self_type self_call]}])
diff --git a/stdlib/source/parser/lux/program.lux b/stdlib/source/parser/lux/program.lux
index e834136d8..eff42b3ad 100644
--- a/stdlib/source/parser/lux/program.lux
+++ b/stdlib/source/parser/lux/program.lux
@@ -59,9 +59,6 @@
(function (_ inputs)
(loop (again [immediate inputs])
(case (//.result cli immediate)
- {try.#Success [remaining output]}
- {try.#Success [remaining output]}
-
{try.#Failure try}
(case immediate
{.#End}
@@ -71,7 +68,10 @@
(do try.monad
[[remaining output] (again immediate')]
(in [{.#Item to_omit remaining}
- output])))))))
+ output])))
+
+ success
+ success))))
(def .public end
(Parser Any)
diff --git a/stdlib/source/polytypic/lux/abstract/equivalence.lux b/stdlib/source/polytypic/lux/abstract/equivalence.lux
index 4b50b9e2b..983beea4d 100644
--- a/stdlib/source/polytypic/lux/abstract/equivalence.lux
+++ b/stdlib/source/polytypic/lux/abstract/equivalence.lux
@@ -33,10 +33,11 @@
["[0]" instant]
["[0]" day]
["[0]" month]]
- ["[0]" type (.only)
- ["<[1]>" \\parser]
- ["[0]" poly (.only polytypic)]
- ["[0]" unit]]]]
+ [meta
+ ["[0]" type (.only)
+ ["<[1]>" \\parser]
+ ["[0]" poly (.only polytypic)]
+ ["[0]" unit]]]]]
[\\library
["[0]" /]])
diff --git a/stdlib/source/polytypic/lux/abstract/functor.lux b/stdlib/source/polytypic/lux/abstract/functor.lux
index 3cc3074b0..e10853519 100644
--- a/stdlib/source/polytypic/lux/abstract/functor.lux
+++ b/stdlib/source/polytypic/lux/abstract/functor.lux
@@ -16,9 +16,10 @@
[math
[number
["n" nat]]]
- ["[0]" type (.only)
- ["<[1]>" \\parser]
- ["[0]" poly (.only polytypic)]]]]
+ [meta
+ ["[0]" type (.only)
+ ["<[1]>" \\parser]
+ ["[0]" poly (.only polytypic)]]]]]
[\\library
["[0]" /]])
diff --git a/stdlib/source/polytypic/lux/data/format/json.lux b/stdlib/source/polytypic/lux/data/format/json.lux
index a177d5712..229abb9c9 100644
--- a/stdlib/source/polytypic/lux/data/format/json.lux
+++ b/stdlib/source/polytypic/lux/data/format/json.lux
@@ -33,10 +33,11 @@
["[0]" date]
["[0]" day]
["[0]" month]]
- ["[0]" type (.only)
- ["<[1]>" \\parser]
- ["[0]" unit]
- ["[0]" poly (.only polytypic)]]]]
+ [meta
+ ["[0]" type (.only)
+ ["<[1]>" \\parser]
+ ["[0]" unit]
+ ["[0]" poly (.only polytypic)]]]]]
[\\library
["[0]" / (.only JSON)]])
diff --git a/stdlib/source/specification/lux/abstract/apply.lux b/stdlib/source/specification/lux/abstract/apply.lux
index fd4025b0b..9c29ed974 100644
--- a/stdlib/source/specification/lux/abstract/apply.lux
+++ b/stdlib/source/specification/lux/abstract/apply.lux
@@ -2,7 +2,6 @@
[library
[lux (.except)
["_" test (.only Test)]
- ["[0]" type]
[abstract
[monad (.only do)]]
[control
@@ -10,7 +9,9 @@
[math
["[0]" random (.only Random)]
[number
- ["n" nat]]]]]
+ ["n" nat]]]
+ [meta
+ ["[0]" type]]]]
[\\library
["[0]" / (.only Apply)]]
[//
diff --git a/stdlib/source/test/lux.lux b/stdlib/source/test/lux.lux
index af6864ce3..04f893c8f 100644
--- a/stdlib/source/test/lux.lux
+++ b/stdlib/source/test/lux.lux
@@ -58,7 +58,6 @@
["[1][0]" time]
["[1][0]" tool]
- ["[1][0]" type]
["[1][0]" world]
["[1][0]" ffi]
@@ -1224,7 +1223,6 @@
/time.test
/tool.test
- /type.test
/world.test
/ffi.test
diff --git a/stdlib/source/test/lux/control/concurrency/frp.lux b/stdlib/source/test/lux/control/concurrency/frp.lux
index 232e483d7..8a279bac2 100644
--- a/stdlib/source/test/lux/control/concurrency/frp.lux
+++ b/stdlib/source/test/lux/control/concurrency/frp.lux
@@ -20,8 +20,9 @@
["[0]" random]
[number
["n" nat]]]
- [type
- ["[0]" variance]]]]
+ [meta
+ [type
+ ["[0]" variance]]]]]
[\\library
["[0]" / (.only)
[//
diff --git a/stdlib/source/test/lux/control/concurrency/semaphore.lux b/stdlib/source/test/lux/control/concurrency/semaphore.lux
index eeaac1f53..4bae6dd3f 100644
--- a/stdlib/source/test/lux/control/concurrency/semaphore.lux
+++ b/stdlib/source/test/lux/control/concurrency/semaphore.lux
@@ -24,8 +24,9 @@
[number
["n" nat]
["[0]" i64]]]
- [type
- ["[0]" refinement]]]]
+ [meta
+ [type
+ ["[0]" refinement]]]]]
[\\library
["[0]" /]])
diff --git a/stdlib/source/test/lux/control/region.lux b/stdlib/source/test/lux/control/region.lux
index 54dde9289..e0ef106a2 100644
--- a/stdlib/source/test/lux/control/region.lux
+++ b/stdlib/source/test/lux/control/region.lux
@@ -1,7 +1,6 @@
(.require
[library
[lux (.except)
- [type (.only sharing)]
["_" test (.only Test)]
[abstract
[equivalence (.only Equivalence)]
@@ -21,7 +20,9 @@
[math
["[0]" random]
[number
- ["n" nat]]]]]
+ ["n" nat]]]
+ [meta
+ [type (.only sharing)]]]]
[\\library
["[0]" / (.only Region)
[//
diff --git a/stdlib/source/test/lux/data/binary.lux b/stdlib/source/test/lux/data/binary.lux
index 52fa6519a..5bd685351 100644
--- a/stdlib/source/test/lux/data/binary.lux
+++ b/stdlib/source/test/lux/data/binary.lux
@@ -3,7 +3,6 @@
[lux (.except)
[ffi (.only)]
["_" test (.only Test)]
- ["[0]" type]
[abstract
[equivalence (.only Equivalence)]
["[0]" monad (.only do)]
@@ -44,7 +43,8 @@
["[0]" rev]
["[0]" frac]]]
[meta
- ["[0]" symbol]]]]
+ ["[0]" symbol]
+ ["[0]" type]]]]
[\\library
["[0]" / (.only) (.use "[1]#[0]" equivalence)
["!" \\unsafe]
diff --git a/stdlib/source/test/lux/data/collection/tree/finger.lux b/stdlib/source/test/lux/data/collection/tree/finger.lux
index 2f9e4c374..7d9faf595 100644
--- a/stdlib/source/test/lux/data/collection/tree/finger.lux
+++ b/stdlib/source/test/lux/data/collection/tree/finger.lux
@@ -14,7 +14,8 @@
["[0]" random]
[number
["n" nat]]]
- [type (.only by_example)]]]
+ [meta
+ [type (.only by_example)]]]]
[\\library
["[0]" /]])
diff --git a/stdlib/source/test/lux/data/format/json.lux b/stdlib/source/test/lux/data/format/json.lux
index 7be586b4f..75d616037 100644
--- a/stdlib/source/test/lux/data/format/json.lux
+++ b/stdlib/source/test/lux/data/format/json.lux
@@ -3,7 +3,6 @@
[lux (.except Variant Record)
["_" test (.only Test)]
["@" target]
- ["[0]" meta]
[abstract
[codec (.except)]
[monad (.only do)]
@@ -43,8 +42,9 @@
["[0]/[1]" \\test]]
["[0]" duration
["[0]/[1]" \\test]]]
- [type
- ["[0]" unit]]]]
+ ["[0]" meta (.only)
+ [type
+ ["[0]" unit]]]]]
["[0]" \\polytypic]
["[0]" \\parser]
[\\library
diff --git a/stdlib/source/test/lux/data/format/xml.lux b/stdlib/source/test/lux/data/format/xml.lux
index 53f9346c0..a01fab3e8 100644
--- a/stdlib/source/test/lux/data/format/xml.lux
+++ b/stdlib/source/test/lux/data/format/xml.lux
@@ -2,7 +2,6 @@
[library
[lux (.except char symbol)
["_" test (.only Test)]
- ["[0]" type (.use "[1]#[0]" equivalence)]
[abstract
[monad (.only do)]
[\\specification
@@ -27,7 +26,8 @@
[number
["n" nat]]]
[meta
- ["[0]" symbol (.use "[1]#[0]" equivalence)]]]]
+ ["[0]" symbol (.use "[1]#[0]" equivalence)]
+ ["[0]" type (.use "[1]#[0]" equivalence)]]]]
["[0]" \\parser]
[\\library
["[0]" / (.use "[1]#[0]" equivalence)]])
diff --git a/stdlib/source/test/lux/data/text.lux b/stdlib/source/test/lux/data/text.lux
index 0f7e49f03..ca4866bc4 100644
--- a/stdlib/source/test/lux/data/text.lux
+++ b/stdlib/source/test/lux/data/text.lux
@@ -2,7 +2,6 @@
[library
[lux (.except char)
["_" test (.only Test)]
- ["[0]" type]
[abstract
[monad (.only do)]
[equivalence (.only Equivalence)]
@@ -50,7 +49,8 @@
["[0]" ratio]]]
[meta
["[0]" location]
- ["[0]" symbol]]
+ ["[0]" symbol]
+ ["[0]" type]]
["[0]" time (.only)
["[0]" day]
["[0]" month]
@@ -62,11 +62,11 @@
["[1][0]" xml]
["[1][0]" json]]
[//
- ["[1][0]" type]
[macro
["[1][0]" code]]
[meta
- ["[1][0]" symbol]]]]
+ ["[1][0]" symbol]
+ ["[1][0]" type]]]]
["[0]" /
["[1][0]" buffer]
["[1][0]" encoding]
diff --git a/stdlib/source/test/lux/debug.lux b/stdlib/source/test/lux/debug.lux
index 978f42916..d85343bc9 100644
--- a/stdlib/source/test/lux/debug.lux
+++ b/stdlib/source/test/lux/debug.lux
@@ -33,7 +33,6 @@
[\\library
["[0]" /]]
["$[0]" //
- ["[1][0]" type]
[data
[format
["[1][0]" json]
@@ -45,7 +44,8 @@
["[1][0]" ratio]]]
[meta
["[1][0]" location]
- ["[1][0]" symbol]]])
+ ["[1][0]" symbol]
+ ["[1][0]" type]]])
(def can_represent_simple_types
(Random Bit)
diff --git a/stdlib/source/test/lux/ffi.jvm.lux b/stdlib/source/test/lux/ffi.jvm.lux
index 581d89f2d..13c9f2fcd 100644
--- a/stdlib/source/test/lux/ffi.jvm.lux
+++ b/stdlib/source/test/lux/ffi.jvm.lux
@@ -2,8 +2,6 @@
[library
[lux (.except)
["_" test (.only Test)]
- ["[0]" type (.use "[1]#[0]" equivalence)]
- ["[0]" meta]
["[0]" debug]
["[0]" static]
[abstract
@@ -31,6 +29,8 @@
["n" nat]
["i" int (.use "[1]#[0]" equivalence)]
["f" frac (.use "[1]#[0]" equivalence)]]]
+ ["[0]" meta (.only)
+ ["[0]" type (.use "[1]#[0]" equivalence)]]
[target
["[0]" jvm
["[1]" type (.use "[1]#[0]" equivalence)]]]]]
diff --git a/stdlib/source/test/lux/math/modular.lux b/stdlib/source/test/lux/math/modular.lux
index c3a1b8f53..60734f83d 100644
--- a/stdlib/source/test/lux/math/modular.lux
+++ b/stdlib/source/test/lux/math/modular.lux
@@ -2,7 +2,6 @@
[library
[lux (.except)
["_" test (.only Test)]
- ["[0]" type (.use "[1]#[0]" equivalence)]
[abstract
[monad (.only do)]
[\\specification
@@ -21,7 +20,9 @@
[math
["[0]" random (.only Random)]
[number
- ["i" int]]]]]
+ ["i" int]]]
+ [meta
+ ["[0]" type (.use "[1]#[0]" equivalence)]]]]
["$[0]" //
["[1]" modulus]]
[\\library
diff --git a/stdlib/source/test/lux/meta.lux b/stdlib/source/test/lux/meta.lux
index 51b89ebfc..e5166d7ee 100644
--- a/stdlib/source/test/lux/meta.lux
+++ b/stdlib/source/test/lux/meta.lux
@@ -2,7 +2,6 @@
[library
[lux (.except)
["_" test (.only Test)]
- ["[0]" type (.use "[1]#[0]" equivalence)]
[abstract
[equivalence (.only Equivalence)]
[monad (.only do)]
@@ -31,12 +30,14 @@
["[0]" location]
["[0]" symbol (.use "[1]#[0]" equivalence)]]]]
[\\library
- ["[0]" /]]
+ ["[0]" / (.only)
+ ["[0]" type (.use "[1]#[0]" equivalence)]]]
["[0]" /
["[1][0]" location]
["[1][0]" symbol]
["[1][0]" configuration]
- ["[1][0]" version]])
+ ["[1][0]" version]
+ ["[1][0]" type]])
(def !expect
(template (_ <pattern> <value>)
@@ -1020,4 +1021,5 @@
/symbol.test
/configuration.test
/version.test
+ /type.test
)))
diff --git a/stdlib/source/test/lux/type.lux b/stdlib/source/test/lux/meta/type.lux
index 9f753b1d0..9f753b1d0 100644
--- a/stdlib/source/test/lux/type.lux
+++ b/stdlib/source/test/lux/meta/type.lux
diff --git a/stdlib/source/test/lux/type/check.lux b/stdlib/source/test/lux/meta/type/check.lux
index 89aa98285..b630d37a1 100644
--- a/stdlib/source/test/lux/type/check.lux
+++ b/stdlib/source/test/lux/meta/type/check.lux
@@ -2,7 +2,6 @@
[library
[lux (.except symbol type)
["_" test (.only Test)]
- ["[0]" type (.use "[1]#[0]" equivalence)]
[abstract
["[0]" monad (.only do)]
[\\specification
@@ -29,7 +28,8 @@
[number
["n" nat]]]]]
[\\library
- ["[0]" /]])
+ ["[0]" / (.only)
+ ["/[1]" // (.use "[1]#[0]" equivalence)]]])
... TODO: Remove the following 3 definitions ASAP. //.type already exists...
(def short
@@ -203,7 +203,7 @@
(case (/.result /.fresh_context
(do /.monad
[[var_id var_type] /.var]
- (in (type#= var_type {.#Var var_id}))))
+ (in (//#= var_type {.#Var var_id}))))
{try.#Success verdict} verdict
{try.#Failure error} false))
(do random.monad
@@ -663,7 +663,7 @@
(do [! random.monad]
[nominal ..nominal
[name/0 name/1] (..non_twins text#= (random.upper_case 10))
- [parameter/0 parameter/1] (..non_twins type#= ..nominal)
+ [parameter/0 parameter/1] (..non_twins //#= ..nominal)
left_name ..symbol
right_name ..symbol
ring_tail_size (at ! each (n.% 10) random.nat)]
@@ -734,8 +734,8 @@
(and (|> (do /.monad
[[var_id varT] /.var
cleanedT (/.clean (list) (type_shape varT))]
- (in (type#= (type_shape varT)
- cleanedT)))
+ (in (//#= (type_shape varT)
+ cleanedT)))
(/.result /.fresh_context)
(try.else false))
(|> (do /.monad
@@ -743,8 +743,8 @@
[_ replacementT] /.existential
_ (/.check varT replacementT)
cleanedT (/.clean (list) (type_shape varT))]
- (in (type#= (type_shape replacementT)
- cleanedT)))
+ (in (//#= (type_shape replacementT)
+ cleanedT)))
(/.result /.fresh_context)
(try.else false))
))))
diff --git a/stdlib/source/test/lux/type/dynamic.lux b/stdlib/source/test/lux/meta/type/dynamic.lux
index 595a1da05..595a1da05 100644
--- a/stdlib/source/test/lux/type/dynamic.lux
+++ b/stdlib/source/test/lux/meta/type/dynamic.lux
diff --git a/stdlib/source/test/lux/type/implicit.lux b/stdlib/source/test/lux/meta/type/implicit.lux
index 299ae7464..299ae7464 100644
--- a/stdlib/source/test/lux/type/implicit.lux
+++ b/stdlib/source/test/lux/meta/type/implicit.lux
diff --git a/stdlib/source/test/lux/type/primitive.lux b/stdlib/source/test/lux/meta/type/primitive.lux
index 7b4500c00..7b4500c00 100644
--- a/stdlib/source/test/lux/type/primitive.lux
+++ b/stdlib/source/test/lux/meta/type/primitive.lux
diff --git a/stdlib/source/test/lux/type/quotient.lux b/stdlib/source/test/lux/meta/type/quotient.lux
index 72d39b19d..72d39b19d 100644
--- a/stdlib/source/test/lux/type/quotient.lux
+++ b/stdlib/source/test/lux/meta/type/quotient.lux
diff --git a/stdlib/source/test/lux/type/refinement.lux b/stdlib/source/test/lux/meta/type/refinement.lux
index 711d0401f..711d0401f 100644
--- a/stdlib/source/test/lux/type/refinement.lux
+++ b/stdlib/source/test/lux/meta/type/refinement.lux
diff --git a/stdlib/source/test/lux/type/resource.lux b/stdlib/source/test/lux/meta/type/resource.lux
index a23f1cacf..a23f1cacf 100644
--- a/stdlib/source/test/lux/type/resource.lux
+++ b/stdlib/source/test/lux/meta/type/resource.lux
diff --git a/stdlib/source/test/lux/type/unit.lux b/stdlib/source/test/lux/meta/type/unit.lux
index b52ddd921..b52ddd921 100644
--- a/stdlib/source/test/lux/type/unit.lux
+++ b/stdlib/source/test/lux/meta/type/unit.lux
diff --git a/stdlib/source/test/lux/type/unit/scale.lux b/stdlib/source/test/lux/meta/type/unit/scale.lux
index adc3523b5..adc3523b5 100644
--- a/stdlib/source/test/lux/type/unit/scale.lux
+++ b/stdlib/source/test/lux/meta/type/unit/scale.lux
diff --git a/stdlib/source/test/lux/type/variance.lux b/stdlib/source/test/lux/meta/type/variance.lux
index 911c68067..911c68067 100644
--- a/stdlib/source/test/lux/type/variance.lux
+++ b/stdlib/source/test/lux/meta/type/variance.lux
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/analysis/inference.lux b/stdlib/source/test/lux/tool/compiler/language/lux/analysis/inference.lux
index d862aaf5e..987a00507 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/analysis/inference.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/analysis/inference.lux
@@ -24,9 +24,9 @@
["[0]" symbol
["$[1]" \\test]]
["[0]" configuration
- ["$[1]" \\test]]]
- ["[0]" type (.use "[1]#[0]" equivalence)
- ["[0]" check (.only Check)]]]]
+ ["$[1]" \\test]]
+ ["[0]" type (.use "[1]#[0]" equivalence)
+ ["[0]" check (.only Check)]]]]]
[\\library
["[0]" / (.only)
["/[1]" // (.only)
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/analysis/scope.lux b/stdlib/source/test/lux/tool/compiler/language/lux/analysis/scope.lux
index 8959c72c9..5fb2ad044 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/analysis/scope.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/analysis/scope.lux
@@ -17,8 +17,9 @@
["[0]" random (.only Random)]
[number
["n" nat]]]
- ["[0]" type
- ["$[1]" \\test]]]]
+ [meta
+ ["[0]" type
+ ["$[1]" \\test]]]]]
[\\library
["[0]" / (.only)
["/[1]" // (.only)
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/analysis/type.lux b/stdlib/source/test/lux/tool/compiler/language/lux/analysis/type.lux
index b67b6bd4a..805939c68 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/analysis/type.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/analysis/type.lux
@@ -13,9 +13,9 @@
["[0]" random (.only Random)]]
[meta
["[0]" configuration
- ["$[1]" \\test]]]
- ["[0]" type (.use "[1]#[0]" equivalence)
- ["[0]" check]]]]
+ ["$[1]" \\test]]
+ ["[0]" type (.use "[1]#[0]" equivalence)
+ ["[0]" check]]]]]
[\\library
["[0]" / (.only)
["/[1]" // (.only)
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis.lux
index 8e4113010..3c0823345 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis.lux
@@ -18,8 +18,9 @@
["[0]" random]
[number
["n" nat]]]
- ["[0]" type (.use "[1]#[0]" equivalence)
- ["[0]" check]]]]
+ [meta
+ ["[0]" type (.use "[1]#[0]" equivalence)
+ ["[0]" check]]]]]
[\\library
["[0]" / (.only)
[//
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/case.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/case.lux
index 8f58207b2..e5254f4b4 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/case.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/case.lux
@@ -15,8 +15,9 @@
["[0]" code]]
[math
["[0]" random]]
- ["[0]" type (.use "[1]#[0]" equivalence)
- ["[0]" check]]]]
+ [meta
+ ["[0]" type (.use "[1]#[0]" equivalence)
+ ["[0]" check]]]]]
[\\library
["[0]" / (.only)
["/[1]" // (.only)
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/complex.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/complex.lux
index 0454ecfb0..31e3355f2 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/complex.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/complex.lux
@@ -29,9 +29,9 @@
["[0]" symbol (.only)
["$[1]" \\test]]
["[0]" configuration
- ["$[1]" \\test]]]
- ["[0]" type (.use "[1]#[0]" equivalence)
- ["[0]" check]]]]
+ ["$[1]" \\test]]
+ ["[0]" type (.use "[1]#[0]" equivalence)
+ ["[0]" check]]]]]
[\\library
["[0]" / (.only)
["/[1]" // (.only)
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/function.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/function.lux
index 16b3e1b60..1a865d0d6 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/function.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/function.lux
@@ -22,10 +22,10 @@
["n" nat]]]
[meta
["[0]" symbol
- ["$[1]" \\test]]]
- ["[0]" type (.use "[1]#[0]" equivalence)
- ["$[1]" \\test]
- ["[0]" check]]]]
+ ["$[1]" \\test]]
+ ["[0]" type (.use "[1]#[0]" equivalence)
+ ["$[1]" \\test]
+ ["[0]" check]]]]]
[\\library
["[0]" / (.only)
["/[1]" // (.only)
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/reference.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/reference.lux
index fd64eff38..d55bc1c2b 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/reference.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/reference.lux
@@ -13,8 +13,9 @@
["[0]" text]]
[math
["[0]" random]]
- ["[0]" type (.use "[1]#[0]" equivalence)
- ["$[1]" \\test]]]]
+ [meta
+ ["[0]" type (.use "[1]#[0]" equivalence)
+ ["$[1]" \\test]]]]]
[\\library
["[0]" / (.only)
["/[1]" //
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/simple.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/simple.lux
index ebc162c9e..5f7769239 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/simple.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/analysis/simple.lux
@@ -2,7 +2,6 @@
[library
[lux (.except)
["_" test (.only Test)]
- ["[0]" type (.use "[1]#[0]" equivalence)]
[abstract
[monad (.only do)]]
[control
@@ -13,6 +12,7 @@
[math
["[0]" random]]
[meta
+ ["[0]" type (.use "[1]#[0]" equivalence)]
["[0]" configuration
["$[1]" \\test]]]]]
[\\library
@@ -88,13 +88,13 @@
(`` (all _.and
(_.coverage [/.unit]
(..analysis state module .Any /.unit
- (|>> (pipe.case (pattern (/analysis.unit)) true _ false))))
+ (|>> (pipe.case (pattern (/analysis.unit)) true _ false))))
(~~ (with_template [<analysis> <type> <random> <tag>]
[(do !
[sample <random>]
(_.coverage [<analysis>]
(..analysis state module <type> (<analysis> sample)
- ((..analysis? <type> <tag>) sample))))]
+ ((..analysis? <type> <tag>) sample))))]
[/.bit .Bit random.bit /analysis.bit]
[/.nat .Nat random.nat /analysis.nat]
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux
index 19d27a9b6..7507a6da6 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux
@@ -14,11 +14,11 @@
["[0]" atom]]]
[data
["[0]" product]]
- ["[0]" type (.use "[1]#[0]" equivalence)]
[macro
["[0]" code]]
[meta
- ["[0]" symbol]]]
+ ["[0]" symbol]
+ ["[0]" type (.use "[1]#[0]" equivalence)]]]
[////
[analysis
["_[0]" primitive]]]
diff --git a/stdlib/source/test/lux/world/file/watch.lux b/stdlib/source/test/lux/world/file/watch.lux
index 36f1f444b..6179b2164 100644
--- a/stdlib/source/test/lux/world/file/watch.lux
+++ b/stdlib/source/test/lux/world/file/watch.lux
@@ -55,8 +55,8 @@
..concern)
.let [[left left?] left
[right right?] right]]
- (_.coverage [/.also]
- (let [composition (/.also left right)]
+ (_.coverage [/.and]
+ (let [composition (/.and left right)]
(and (left? composition)
(right? composition)))))
(_.coverage [/.all]
diff --git a/stdlib/source/unsafe/lux/data/collection/array.lux b/stdlib/source/unsafe/lux/data/collection/array.lux
index f7d7aebfb..a4c3bf01e 100644
--- a/stdlib/source/unsafe/lux/data/collection/array.lux
+++ b/stdlib/source/unsafe/lux/data/collection/array.lux
@@ -7,8 +7,9 @@
[data
[collection
["[0]" list]]]
- [type
- ["[0]" variance]]]])
+ [meta
+ [type
+ ["[0]" variance]]]]])
(def .public type
"#Array")