aboutsummaryrefslogtreecommitdiff
path: root/stdlib
diff options
context:
space:
mode:
authorEduardo Julian2022-08-12 17:49:40 -0400
committerEduardo Julian2022-08-12 17:49:40 -0400
commit29922d1411a75f9fb4259d66e427070aae72b3d3 (patch)
tree337c727b0000ff1a53e1fb31b4b337ad8c22f724 /stdlib
parente5625dd840a8b8adc76987f649da254335d3d93a (diff)
Fixed test suite.
Diffstat (limited to 'stdlib')
-rw-r--r--stdlib/source/documentation/lux.lux32
-rw-r--r--stdlib/source/documentation/lux/data/binary.lux340
-rw-r--r--stdlib/source/documentation/lux/data/collection.lux2
-rw-r--r--stdlib/source/documentation/lux/data/collection/list.lux319
-rw-r--r--stdlib/source/documentation/lux/data/color.lux183
-rw-r--r--stdlib/source/documentation/lux/data/color/named.lux375
-rw-r--r--stdlib/source/documentation/lux/data/format.lux2
-rw-r--r--stdlib/source/documentation/lux/data/format/tar.lux139
-rw-r--r--stdlib/source/documentation/lux/data/text.lux684
-rw-r--r--stdlib/source/documentation/lux/math.lux3
-rw-r--r--stdlib/source/documentation/lux/math/random.lux223
-rw-r--r--stdlib/source/documentation/lux/meta.lux302
-rw-r--r--stdlib/source/documentation/lux/meta/static.lux78
-rw-r--r--stdlib/source/documentation/lux/meta/target.lux15
-rw-r--r--stdlib/source/documentation/lux/meta/target/js.lux174
-rw-r--r--stdlib/source/documentation/lux/meta/target/lua.lux166
-rw-r--r--stdlib/source/documentation/lux/world/locale.lux9
-rw-r--r--stdlib/source/documentation/lux/world/locale/language.lux1214
-rw-r--r--stdlib/source/documentation/lux/world/locale/territory.lux597
-rw-r--r--stdlib/source/library/lux.lux62
-rw-r--r--stdlib/source/library/lux/meta/macro/expansion.lux8
-rw-r--r--stdlib/source/library/lux/test/unit.lux37
-rw-r--r--stdlib/source/test/lux/data/collection/array.lux8
-rw-r--r--stdlib/source/test/lux/documentation.lux85
-rw-r--r--stdlib/source/test/lux/meta/compiler/language/lux/analysis/coverage.lux8
-rw-r--r--stdlib/source/test/lux/meta/compiler/language/lux/phase/analysis/complex.lux46
-rw-r--r--stdlib/source/test/lux/meta/compiler/language/lux/phase/analysis/function.lux222
-rw-r--r--stdlib/source/test/lux/meta/compiler/meta/cache.lux6
-rw-r--r--stdlib/source/test/lux/meta/compiler/meta/cache/archive.lux4
-rw-r--r--stdlib/source/test/lux/meta/compiler/meta/cache/artifact.lux4
-rw-r--r--stdlib/source/test/lux/meta/macro.lux38
-rw-r--r--stdlib/source/test/lux/meta/macro/context.lux13
-rw-r--r--stdlib/source/test/lux/meta/type/unit/scale.lux13
-rw-r--r--stdlib/source/test/lux/test/property.lux12
34 files changed, 2672 insertions, 2751 deletions
diff --git a/stdlib/source/documentation/lux.lux b/stdlib/source/documentation/lux.lux
index 1cf289c4b..c9225a539 100644
--- a/stdlib/source/documentation/lux.lux
+++ b/stdlib/source/documentation/lux.lux
@@ -27,26 +27,10 @@
["[1][0]" test]
["[1][0]" world]])
-(def sub_modules
- (List $.Documentation)
- (all list#composite
- /abstract.documentation
- /control.documentation
- /data.documentation
- /debug.documentation
- /documentation.documentation
- /ffi.documentation
- /math.documentation
- /meta.documentation
- /program.documentation
- /test.documentation
- /world.documentation
- ))
-
(def all_1/4
(List $.Documentation)
(list ($.definition /.prelude
- (format "The name of the prelude module"
+ (format "The name of the prelude module."
\n "Value: " (%.text /.prelude)))
($.definition /.Any
@@ -909,12 +893,24 @@
(def .public documentation
(List $.Documentation)
(all list#composite
+ (list ($.module /._
+ "The prelude for Lux's standard library."))
all_1/4
all_2/4
all_3/4
all_4/4
- ..sub_modules
+ /abstract.documentation
+ /control.documentation
+ /data.documentation
+ /debug.documentation
+ /documentation.documentation
+ /ffi.documentation
+ /math.documentation
+ /meta.documentation
+ /program.documentation
+ /test.documentation
+ /world.documentation
))
(def _
diff --git a/stdlib/source/documentation/lux/data/binary.lux b/stdlib/source/documentation/lux/data/binary.lux
index 34b12a2b6..b5bb6660a 100644
--- a/stdlib/source/documentation/lux/data/binary.lux
+++ b/stdlib/source/documentation/lux/data/binary.lux
@@ -14,177 +14,181 @@
(`` (def \\parser
(List $.Documentation)
- (list ($.module \\parser._
- "")
-
- ($.definition \\parser.binary_was_not_fully_read)
- ($.definition \\parser.size_8)
- ($.definition \\parser.size_16)
- ($.definition \\parser.size_32)
- ($.definition \\parser.size_64)
- ($.definition \\parser.bits_8)
- ($.definition \\parser.bits_16)
- ($.definition \\parser.bits_32)
- ($.definition \\parser.bits_64)
- ($.definition \\parser.nat)
- ($.definition \\parser.int)
- ($.definition \\parser.rev)
- ($.definition \\parser.frac)
- ($.definition \\parser.invalid_tag)
- ($.definition \\parser.or)
- ($.definition \\parser.not_a_bit)
- ($.definition \\parser.bit)
- ($.definition \\parser.text)
- ($.definition \\parser.maybe)
- ($.definition \\parser.set_elements_are_not_unique)
- ($.definition \\parser.symbol)
- ($.definition \\parser.type)
- ($.definition \\parser.location)
- ($.definition \\parser.code)
-
- ($.definition \\parser.Offset
- "An offset for reading within binary data.")
-
- ($.definition (\\parser.Parser it)
- "A parser for raw binary data.")
-
- ($.definition \\parser.result
- "Runs a parser and checks that all the binary data was read by it."
- [(result parser input)])
-
- ($.definition \\parser.end?
- "Checks whether there is no more data to read.")
-
- ($.definition \\parser.offset
- "The current offset (i.e. how much data has been read).")
-
- ($.definition \\parser.remaining
- "How much of the data remains to be read.")
-
- ($.definition \\parser.Size
- "The size of a chunk of data within a binary array.")
-
- ($.definition \\parser.rec
- "Tie the knot for a recursive parser.")
-
- ($.definition \\parser.any
- "Does no parsing, and just returns a dummy value.")
-
- ($.definition \\parser.segment
- "Parses a chunk of data of a given size."
- [(segment size)])
-
- (,, (with_template [<size> <name>]
- [($.definition <name>
- (format "Parses a block of data prefixed with a size that is " (%.nat <size>) " bytes long."))]
-
- [08 \\parser.binary_8]
- [16 \\parser.binary_16]
- [32 \\parser.binary_32]
- [64 \\parser.binary_64]
- ))
-
- (,, (with_template [<size> <name>]
- [($.definition <name>
- (format "Parses a block of (UTF-8 encoded) text prefixed with a size that is " (%.nat <size>) " bytes long."))]
-
- [08 \\parser.utf8_8]
- [16 \\parser.utf8_16]
- [32 \\parser.utf8_32]
- [64 \\parser.utf8_64]
- ))
-
- (,, (with_template [<size> <name>]
- [($.definition <name>
- (format "Parses a sequence of values prefixed with a size that is " (%.nat <size>) " bytes long."))]
-
- [08 \\parser.sequence_8]
- [16 \\parser.sequence_16]
- [32 \\parser.sequence_32]
- [64 \\parser.sequence_64]
- ))
-
- ($.definition \\parser.list
- "Parses an arbitrarily long list of values."
- [(list value)])
-
- ($.definition \\parser.set
- ""
- [(set hash value)])
- )))
+ (let [specific (list ($.definition \\parser.size_8)
+ ($.definition \\parser.size_16)
+ ($.definition \\parser.size_32)
+ ($.definition \\parser.size_64)
+ ($.definition \\parser.bits_8)
+ ($.definition \\parser.bits_16)
+ ($.definition \\parser.bits_32)
+ ($.definition \\parser.bits_64)
+ ($.definition \\parser.nat)
+ ($.definition \\parser.int)
+ ($.definition \\parser.rev)
+ ($.definition \\parser.frac)
+ ($.definition \\parser.invalid_tag)
+ ($.definition \\parser.or)
+ ($.definition \\parser.not_a_bit)
+ ($.definition \\parser.bit)
+ ($.definition \\parser.text)
+ ($.definition \\parser.maybe)
+ ($.definition \\parser.set_elements_are_not_unique)
+ ($.definition \\parser.symbol)
+ ($.definition \\parser.type)
+ ($.definition \\parser.location)
+ ($.definition \\parser.code)
+
+ ($.definition \\parser.segment
+ "Parses a chunk of data of a given size."
+ [(segment size)])
+
+ (,, (with_template [<size> <name>]
+ [($.definition <name>
+ (format "Parses a block of data prefixed with a size that is " (%.nat <size>) " bytes long."))]
+
+ [08 \\parser.binary_8]
+ [16 \\parser.binary_16]
+ [32 \\parser.binary_32]
+ [64 \\parser.binary_64]
+ ))
+
+ (,, (with_template [<size> <name>]
+ [($.definition <name>
+ (format "Parses a block of (UTF-8 encoded) text prefixed with a size that is " (%.nat <size>) " bytes long."))]
+
+ [08 \\parser.utf8_8]
+ [16 \\parser.utf8_16]
+ [32 \\parser.utf8_32]
+ [64 \\parser.utf8_64]
+ ))
+
+ (,, (with_template [<size> <name>]
+ [($.definition <name>
+ (format "Parses a sequence of values prefixed with a size that is " (%.nat <size>) " bytes long."))]
+
+ [08 \\parser.sequence_8]
+ [16 \\parser.sequence_16]
+ [32 \\parser.sequence_32]
+ [64 \\parser.sequence_64]
+ ))
+
+ ($.definition \\parser.list
+ "Parses an arbitrarily long list of values."
+ [(list value)])
+
+ ($.definition \\parser.set
+ ""
+ [(set hash value)]))]
+ (list.partial ($.module \\parser._
+ "")
+
+ ($.definition \\parser.binary_was_not_fully_read)
+
+ ($.definition \\parser.Offset
+ "An offset for reading within binary data.")
+
+ ($.definition (\\parser.Parser it)
+ "A parser for raw binary data.")
+
+ ($.definition \\parser.result
+ "Runs a parser and checks that all the binary data was read by it."
+ [(result parser input)])
+
+ ($.definition \\parser.end?
+ "Checks whether there is no more data to read.")
+
+ ($.definition \\parser.offset
+ "The current offset (i.e. how much data has been read).")
+
+ ($.definition \\parser.remaining
+ "How much of the data remains to be read.")
+
+ ($.definition \\parser.Size
+ "The size of a chunk of data within a binary array.")
+
+ ($.definition \\parser.rec
+ "Tie the knot for a recursive parser.")
+
+ ($.definition \\parser.any
+ "Does no parsing, and just returns a dummy value.")
+
+ specific
+ ))))
(def \\format
(List $.Documentation)
- (list ($.module \\format._
- "")
-
- ($.definition \\format.monoid)
- ($.definition \\format.bits_8)
- ($.definition \\format.bits_16)
- ($.definition \\format.bits_32)
- ($.definition \\format.bits_64)
- ($.definition \\format.any)
- ($.definition \\format.bit)
- ($.definition \\format.nat)
- ($.definition \\format.int)
- ($.definition \\format.rev)
- ($.definition \\format.frac)
- ($.definition \\format.binary_8)
- ($.definition \\format.binary_16)
- ($.definition \\format.binary_32)
- ($.definition \\format.binary_64)
- ($.definition \\format.utf8_8)
- ($.definition \\format.utf8_16)
- ($.definition \\format.utf8_32)
- ($.definition \\format.utf8_64)
- ($.definition \\format.text)
- ($.definition \\format.sequence_8)
- ($.definition \\format.sequence_16)
- ($.definition \\format.sequence_32)
- ($.definition \\format.sequence_64)
- ($.definition \\format.maybe)
- ($.definition \\format.list)
- ($.definition \\format.set)
- ($.definition \\format.symbol)
- ($.definition \\format.type)
- ($.definition \\format.location)
- ($.definition \\format.code)
-
- ($.definition \\format.Mutation
- "A mutation of binary data, tracking where in the data to transform.")
-
- ($.definition \\format.Specification
- "A description of how to transform binary data.")
-
- ($.definition \\format.no_op
- "A specification for empty binary data.")
-
- ($.definition \\format.instance
- "Given a specification of how to construct binary data, yields a binary blob that matches it.")
-
- ($.definition (\\format.Format it)
- "An operation that knows how to write information into a binary blob.")
-
- ($.definition \\format.result
- "Yields a binary blob with all the information written to it."
- [(result format value)])
-
- ($.definition \\format.or
- ""
- [(or left right)])
-
- ($.definition \\format.and
- ""
- [(and pre post)])
-
- ($.definition \\format.rec
- "A combinator for recursive formats."
- [(rec body)])
-
- ($.definition \\format.segment
- "Writes at most 'size' bytes of an input binary blob."
- [(segment size)])
- ))
+ (let [specific (list ($.definition \\format.bits_8)
+ ($.definition \\format.bits_16)
+ ($.definition \\format.bits_32)
+ ($.definition \\format.bits_64)
+ ($.definition \\format.any)
+ ($.definition \\format.bit)
+ ($.definition \\format.nat)
+ ($.definition \\format.int)
+ ($.definition \\format.rev)
+ ($.definition \\format.frac)
+ ($.definition \\format.binary_8)
+ ($.definition \\format.binary_16)
+ ($.definition \\format.binary_32)
+ ($.definition \\format.binary_64)
+ ($.definition \\format.utf8_8)
+ ($.definition \\format.utf8_16)
+ ($.definition \\format.utf8_32)
+ ($.definition \\format.utf8_64)
+ ($.definition \\format.text)
+ ($.definition \\format.sequence_8)
+ ($.definition \\format.sequence_16)
+ ($.definition \\format.sequence_32)
+ ($.definition \\format.sequence_64)
+ ($.definition \\format.maybe)
+ ($.definition \\format.list)
+ ($.definition \\format.set)
+ ($.definition \\format.symbol)
+ ($.definition \\format.type)
+ ($.definition \\format.location)
+ ($.definition \\format.code)
+
+ ($.definition \\format.segment
+ "Writes at most 'size' bytes of an input binary blob."
+ [(segment size)]))]
+ (list.partial ($.module \\format._
+ "")
+
+ ($.definition \\format.monoid)
+
+ ($.definition \\format.Mutation
+ "A mutation of binary data, tracking where in the data to transform.")
+
+ ($.definition \\format.Specification
+ "A description of how to transform binary data.")
+
+ ($.definition \\format.no_op
+ "A specification for empty binary data.")
+
+ ($.definition \\format.instance
+ "Given a specification of how to construct binary data, yields a binary blob that matches it.")
+
+ ($.definition (\\format.Format it)
+ "An operation that knows how to write information into a binary blob.")
+
+ ($.definition \\format.result
+ "Yields a binary blob with all the information written to it."
+ [(result format value)])
+
+ ($.definition \\format.or
+ ""
+ [(or left right)])
+
+ ($.definition \\format.and
+ ""
+ [(and pre post)])
+
+ ($.definition \\format.rec
+ "A combinator for recursive formats."
+ [(rec body)])
+
+ specific
+ )))
(def .public documentation
(List $.Documentation)
diff --git a/stdlib/source/documentation/lux/data/collection.lux b/stdlib/source/documentation/lux/data/collection.lux
index 8920b36e7..c735cde33 100644
--- a/stdlib/source/documentation/lux/data/collection.lux
+++ b/stdlib/source/documentation/lux/data/collection.lux
@@ -3,8 +3,6 @@
[lux (.except)
["$" documentation]
[data
- [text (.only \n)
- ["%" \\format (.only format)]]
[collection
["[0]" list]]]]]
["[0]" /
diff --git a/stdlib/source/documentation/lux/data/collection/list.lux b/stdlib/source/documentation/lux/data/collection/list.lux
index cf08192c2..9726f5d39 100644
--- a/stdlib/source/documentation/lux/data/collection/list.lux
+++ b/stdlib/source/documentation/lux/data/collection/list.lux
@@ -6,165 +6,170 @@
[text (.only \n)
["%" \\format (.only format)]]]]]
[\\library
- ["[0]" /]]
+ ["[0]" / (.use "[1]#[0]" monoid)]]
["[0]" /
["[1][0]" property]])
(`` (def .public documentation
(List $.Documentation)
- (/.partial ($.module /._
- "")
-
- ($.definition /.mix)
- ($.definition /.equivalence)
- ($.definition /.hash)
- ($.definition /.monoid)
- ($.definition /.functor)
- ($.definition /.apply)
- ($.definition /.monad)
- ($.definition /.zipped_2)
- ($.definition /.zipped_3)
- ($.definition /.zipped_with_2)
- ($.definition /.zipped_with_3)
- ($.definition /.first)
- ($.definition /.after)
- ($.definition /.while)
- ($.definition /.until)
- ($.definition /.every?)
- ($.definition /.any?)
-
- ($.definition /.mixes
- ""
- [(mixes f init inputs)])
-
- ($.definition /.reversed
- ""
- [(reversed xs)])
-
- ($.definition /.only
- "A list with only values that satisfy the predicate."
- [(only keep? xs)])
-
- ($.definition /.partition
- "Divide the list into all elements that satisfy a predicate, and all elements that do not."
- [(partition satisfies? list)])
-
- ($.definition /.pairs
- "Cut the list into pairs of 2."
- [(pairs list)])
-
- ($.definition /.split_at
- ""
- [(split_at n xs)])
-
- ($.definition /.split_when
- "Segment the list by using a predicate to tell when to cut."
- [(split_when predicate xs)])
-
- ($.definition /.sub
- "Segment the list into sub-lists of (at most) the given size."
- [(sub size list)])
-
- ($.definition /.repeated
- "A list of the value x, repeated n times."
- [(repeated n x)])
-
- ($.definition /.iterations
- "Generates a list element by element until the function returns .#None."
- [(iterations f x)])
-
- ($.definition /.one
- ""
- [(one check xs)])
-
- ($.definition /.all
- ""
- [(all check xs)])
-
- ($.definition /.example
- "Yields the first value in the list that satisfies the predicate."
- [(example predicate xs)])
-
- ($.definition /.interposed
- "Puts a value between every two elements in the list."
- [(interposed sep xs)])
-
- ($.definition /.size
- ""
- [(size list)])
-
- ($.definition /.item
- "Fetches the element at the specified index."
- [(item i xs)])
-
- ($.definition /.sorted
- "A list ordered by a comparison function."
- [(sorted < xs)])
-
- ($.definition /.empty?
- ""
- [(empty? xs)])
-
- ($.definition /.member?
- ""
- [(member? eq xs x)])
-
- (,, (with_template [<name> <doc>]
- [($.definition <name>
- <doc>)]
-
- [/.head "Yields the first element of a list."]
- [/.tail "For a list of size N, yields the N-1 elements after the first one."]
- ))
-
- ($.definition /.indices
- "Produces all the valid indices for a given size."
- [(indices size)])
-
- ($.definition /.zipped
- "Create list zippers with the specified number of input lists."
- [(def zipped_2 (zipped 2))
- (def zipped_3 (zipped 3))
- (zipped_3 xs ys zs)
- ((zipped 3) xs ys zs)])
-
- ($.definition /.zipped_with
- "Create list zippers with the specified number of input lists."
- [(def zipped_with_2 (zipped_with 2))
- (def zipped_with_3 (zipped_with 3))
- (zipped_with_2 + xs ys)
- ((zipped_with 2) + xs ys)])
-
- ($.definition /.last
- ""
- [(last xs)])
-
- ($.definition /.inits
- (format "For a list of size N, yields the first N-1 elements."
- \n "Will yield a .#None for empty lists.")
- [(inits xs)])
-
- ($.definition /.together
- "The sequential combination of all the lists.")
-
- ($.definition /.with
- "Enhances a monad with List functionality."
- [(with monad)])
-
- ($.definition /.lifted
- "Wraps a monadic value with List machinery."
- [(lifted monad)])
-
- ($.definition /.enumeration
- "Pairs every element in the list with its index, starting at 0."
- [(enumeration xs)])
-
- ($.definition /.when
- "Can be used as a guard in (co)monadic be/do expressions."
- [(do monad
- [value (do_something 1 2 3)
- .when (passes_test? value)]
- (do_something_else 4 5 6))])
-
- /property.documentation
- )))
+ (let [zipped (list ($.definition /.zipped
+ "Create list zippers with the specified number of input lists."
+ [(def zipped_2 (zipped 2))
+ (def zipped_3 (zipped 3))
+ (zipped_3 xs ys zs)
+ ((zipped 3) xs ys zs)])
+
+ ($.definition /.zipped_with
+ "Create list zippers with the specified number of input lists."
+ [(def zipped_with_2 (zipped_with 2))
+ (def zipped_with_3 (zipped_with 3))
+ (zipped_with_2 + xs ys)
+ ((zipped_with 2) + xs ys)])
+
+ ($.definition /.zipped_2)
+ ($.definition /.zipped_3)
+ ($.definition /.zipped_with_2)
+ ($.definition /.zipped_with_3))]
+ (/.partial ($.module /._
+ "")
+
+ ($.definition /.mix)
+ ($.definition /.equivalence)
+ ($.definition /.hash)
+ ($.definition /.monoid)
+ ($.definition /.functor)
+ ($.definition /.apply)
+ ($.definition /.monad)
+
+ ($.definition /.first)
+ ($.definition /.after)
+ ($.definition /.while)
+ ($.definition /.until)
+ ($.definition /.every?)
+ ($.definition /.any?)
+
+ ($.definition /.mixes
+ ""
+ [(mixes f init inputs)])
+
+ ($.definition /.reversed
+ ""
+ [(reversed xs)])
+
+ ($.definition /.only
+ "A list with only values that satisfy the predicate."
+ [(only keep? xs)])
+
+ ($.definition /.partition
+ "Divide the list into all elements that satisfy a predicate, and all elements that do not."
+ [(partition satisfies? list)])
+
+ ($.definition /.pairs
+ "Cut the list into pairs of 2."
+ [(pairs list)])
+
+ ($.definition /.split_at
+ ""
+ [(split_at n xs)])
+
+ ($.definition /.split_when
+ "Segment the list by using a predicate to tell when to cut."
+ [(split_when predicate xs)])
+
+ ($.definition /.sub
+ "Segment the list into sub-lists of (at most) the given size."
+ [(sub size list)])
+
+ ($.definition /.repeated
+ "A list of the value x, repeated n times."
+ [(repeated n x)])
+
+ ($.definition /.iterations
+ "Generates a list element by element until the function returns .#None."
+ [(iterations f x)])
+
+ ($.definition /.one
+ ""
+ [(one check xs)])
+
+ ($.definition /.all
+ ""
+ [(all check xs)])
+
+ ($.definition /.example
+ "Yields the first value in the list that satisfies the predicate."
+ [(example predicate xs)])
+
+ ($.definition /.interposed
+ "Puts a value between every two elements in the list."
+ [(interposed sep xs)])
+
+ ($.definition /.size
+ ""
+ [(size list)])
+
+ ($.definition /.item
+ "Fetches the element at the specified index."
+ [(item i xs)])
+
+ ($.definition /.sorted
+ "A list ordered by a comparison function."
+ [(sorted < xs)])
+
+ ($.definition /.empty?
+ ""
+ [(empty? xs)])
+
+ ($.definition /.member?
+ ""
+ [(member? eq xs x)])
+
+ (,, (with_template [<name> <doc>]
+ [($.definition <name>
+ <doc>)]
+
+ [/.head "Yields the first element of a list."]
+ [/.tail "For a list of size N, yields the N-1 elements after the first one."]
+ ))
+
+ ($.definition /.indices
+ "Produces all the valid indices for a given size."
+ [(indices size)])
+
+ ($.definition /.last
+ ""
+ [(last xs)])
+
+ ($.definition /.inits
+ (format "For a list of size N, yields the first N-1 elements."
+ \n "Will yield a .#None for empty lists.")
+ [(inits xs)])
+
+ ($.definition /.together
+ "The sequential combination of all the lists.")
+
+ ($.definition /.with
+ "Enhances a monad with List functionality."
+ [(with monad)])
+
+ ($.definition /.lifted
+ "Wraps a monadic value with List machinery."
+ [(lifted monad)])
+
+ ($.definition /.enumeration
+ "Pairs every element in the list with its index, starting at 0."
+ [(enumeration xs)])
+
+ ($.definition /.when
+ "Can be used as a guard in (co)monadic be/do expressions."
+ [(do monad
+ [value (do_something 1 2 3)
+ .when (passes_test? value)]
+ (do_something_else 4 5 6))])
+
+ (all /#composite
+ zipped
+
+ /property.documentation
+ )
+ ))))
diff --git a/stdlib/source/documentation/lux/data/color.lux b/stdlib/source/documentation/lux/data/color.lux
index b6ed59dab..a1ffc67fb 100644
--- a/stdlib/source/documentation/lux/data/color.lux
+++ b/stdlib/source/documentation/lux/data/color.lux
@@ -6,7 +6,7 @@
["[0]" text (.only \n)
["%" \\format (.only format)]]
[collection
- ["[0]" list]]]
+ ["[0]" list (.use "[1]#[0]" monoid)]]]
[meta
["[0]" code (.only)
["<[1]>" \\parser]]
@@ -24,89 +24,98 @@
(`` (def .public documentation
(List $.Documentation)
- (list.partial ($.module /._
- "")
-
- ($.definition /.of_rgb)
- ($.definition /.rgb)
- ($.definition /.equivalence)
- ($.definition /.hash)
- ($.definition /.black)
- ($.definition /.white)
- ($.definition /.addition)
- ($.definition /.subtraction)
- ($.definition /.hsl)
- ($.definition /.of_hsl)
- ($.definition /.hsb)
- ($.definition /.of_hsb)
- ($.definition /.cmyk)
- ($.definition /.of_cmyk)
- ($.definition /.gray_scale)
- ($.definition /.Spread)
- ($.definition /.Palette)
- ($.definition /.darker)
- ($.definition /.brighter)
- ($.definition /.saturated)
- ($.definition /.un_saturated)
-
- ($.definition /.RGB
- "Red-Green-Blue color format.")
-
- ($.definition /.HSL
- "Hue-Saturation-Lightness color format.")
-
- ($.definition /.CMYK
- "Cyan-Magenta-Yellow-Key color format.")
-
- ($.definition /.HSB
- "Hue-Saturation-Brightness color format.")
-
- ($.definition /.Color
- "A color value, independent of color format.")
-
- ($.definition /.complement
- "The opposite color."
- [(complement color)])
-
- ($.definition /.interpolated
- ""
- [(interpolated ratio end start)])
-
- ($.definition /.analogous
- (palette_documentation /.analogous)
- [(analogous spread variations color)])
-
- ($.definition /.monochromatic
- (palette_documentation /.monochromatic)
- [(monochromatic spread variations color)])
-
- ($.definition /.Alpha
- "The degree of transparency of a pigment.")
-
- ($.definition /.transparent
- "The maximum degree of transparency.")
-
- ($.definition /.translucent
- "The average degree of transparency.")
-
- ($.definition /.opaque
- "The minimum degree of transparency.")
-
- ($.definition /.Pigment
- "A color with some degree of transparency.")
-
- (,, (with_template [<name>]
- [(`` ($.definition <name>
- (format "A "
- (text.replaced "_" "-" (,, (template.text [<name>])))
- " color scheme.")))]
-
- [/.triad]
- [/.clash]
- [/.split_complement]
- [/.square]
- [/.tetradic]
- ))
-
- /named.documentation
- )))
+ (let [encoding (list ($.definition /.RGB
+ "Red-Green-Blue color format.")
+
+ ($.definition /.of_rgb)
+ ($.definition /.rgb)
+
+ ($.definition /.HSL
+ "Hue-Saturation-Lightness color format.")
+
+ ($.definition /.hsl)
+ ($.definition /.of_hsl)
+
+ ($.definition /.CMYK
+ "Cyan-Magenta-Yellow-Key color format.")
+
+ ($.definition /.hsb)
+ ($.definition /.of_hsb)
+
+ ($.definition /.HSB
+ "Hue-Saturation-Brightness color format.")
+
+ ($.definition /.cmyk)
+ ($.definition /.of_cmyk))
+ transformation (list ($.definition /.gray_scale)
+ ($.definition /.darker)
+ ($.definition /.brighter)
+ ($.definition /.saturated)
+ ($.definition /.un_saturated)
+
+ ($.definition /.complement
+ "The opposite color."
+ [(complement color)])
+
+ ($.definition /.interpolated
+ ""
+ [(interpolated ratio end start)]))
+ alpha (list ($.definition /.Alpha
+ "The degree of transparency of a pigment.")
+
+ ($.definition /.transparent
+ "The maximum degree of transparency.")
+
+ ($.definition /.translucent
+ "The medium degree of transparency.")
+
+ ($.definition /.opaque
+ "The minimum degree of transparency."))
+ scheme (list ($.definition /.Spread)
+ ($.definition /.Palette)
+
+ ($.definition /.analogous
+ (palette_documentation /.analogous)
+ [(analogous spread variations color)])
+
+ ($.definition /.monochromatic
+ (palette_documentation /.monochromatic)
+ [(monochromatic spread variations color)])
+
+ (,, (with_template [<name>]
+ [(`` ($.definition <name>
+ (format "A "
+ (text.replaced "_" "-" (,, (template.text [<name>])))
+ " color scheme.")))]
+
+ [/.triad]
+ [/.clash]
+ [/.split_complement]
+ [/.square]
+ [/.tetradic]
+ )))]
+ (list.partial ($.module /._
+ "")
+
+ ($.definition /.Color
+ "A color value, independent of color format.")
+
+ ($.definition /.equivalence)
+ ($.definition /.hash)
+ ($.definition /.black)
+ ($.definition /.white)
+ ($.definition /.addition)
+ ($.definition /.subtraction)
+
+ ($.definition /.Pigment
+ "A color with some degree of transparency.")
+
+ (all list#composite
+ encoding
+ transformation
+ alpha
+ scheme
+
+ /named.documentation
+ )
+ ))))
diff --git a/stdlib/source/documentation/lux/data/color/named.lux b/stdlib/source/documentation/lux/data/color/named.lux
index 5e884b82c..cd4e683e0 100644
--- a/stdlib/source/documentation/lux/data/color/named.lux
+++ b/stdlib/source/documentation/lux/data/color/named.lux
@@ -24,222 +24,171 @@
" B:" (hex#encoded blue)
" | " (text.replaced "_" " " name))))]))
-(`` (def colors/d-k
- (List $.Documentation)
- (list (,, (with_template [<name>]
- [(description <name>)]
-
- [/.dark_blue]
- [/.dark_cyan]
- [/.dark_goldenrod]
- [/.dark_gray]
- [/.dark_green]
- [/.dark_khaki]
- [/.dark_magenta]
- [/.dark_olive_green]
- [/.dark_orange]
- [/.dark_orchid]
- [/.dark_red]
- [/.dark_salmon]
- [/.dark_sea_green]
- [/.dark_slate_blue]
- [/.dark_slate_gray]
- [/.dark_turquoise]
- [/.dark_violet]
- [/.deep_pink]
- [/.deep_sky_blue]
- [/.dim_gray]
- [/.dodger_blue]
- [/.fire_brick]
- [/.floral_white]
- [/.forest_green]
- [/.fuchsia]
- [/.gainsboro]
- [/.ghost_white]
- [/.gold]
- [/.goldenrod]
- [/.gray]
- [/.green]
- [/.green_yellow]
- [/.honey_dew]
- [/.hot_pink]
- [/.indian_red]
- [/.indigo]
- [/.ivory]
- [/.khaki]
- ))
- )))
-
-(`` (def colors/l-o
- (List $.Documentation)
- (list (,, (with_template [<name>]
- [(description <name>)]
-
- [/.lavender]
- [/.lavender_blush]
- [/.lawn_green]
- [/.lemon_chiffon]
- [/.light_blue]
- [/.light_coral]
- [/.light_cyan]
- [/.light_goldenrod_yellow]
- [/.light_gray]
- [/.light_green]
- [/.light_pink]
- [/.light_salmon]
- [/.light_sea_green]
- [/.light_sky_blue]
- [/.light_slate_gray]
- [/.light_steel_blue]
- [/.light_yellow]
- [/.lime]
- [/.lime_green]
- [/.linen]
- [/.magenta]
- [/.maroon]
- [/.medium_aquamarine]
- [/.medium_blue]
- [/.medium_orchid]
- [/.medium_purple]
- [/.medium_sea_green]
- [/.medium_slate_blue]
- [/.medium_spring_green]
- [/.medium_turquoise]
- [/.medium_violet_red]
- [/.midnight_blue]
- [/.mint_cream]
- [/.misty_rose]
- [/.moccasin]
- [/.navajo_white]
- [/.navy]
- [/.old_lace]
- [/.olive]
- [/.olive_drab]
- [/.orange]
- [/.orange_red]
- [/.orchid]
- ))
- )))
-
-(`` (def colors/p-y
+(`` (def .public documentation
(List $.Documentation)
- (list (,, (with_template [<name>]
- [(description <name>)]
+ (let [a-c (list (,, (with_template [<name>]
+ [(description <name>)]
- [/.pale_goldenrod]
- [/.pale_green]
- [/.pale_turquoise]
- [/.pale_violet_red]
- [/.papaya_whip]
- [/.peach_puff]
- [/.peru]
- [/.pink]
- [/.plum]
- [/.powder_blue]
- [/.purple]
- [/.rebecca_purple]
- [/.red]
- [/.rosy_brown]
- [/.royal_blue]
- [/.saddle_brown]
- [/.salmon]
- [/.sandy_brown]
- [/.sea_green]
- [/.sea_shell]
- [/.sienna]
- [/.silver]
- [/.sky_blue]
- [/.slate_blue]
- [/.slate_gray]
- [/.snow]
- [/.spring_green]
- [/.steel_blue]
- [/.tan]
- [/.teal]
- [/.thistle]
- [/.tomato]
- [/.turquoise]
- [/.violet]
- [/.wheat]
- [/.white]
- [/.white_smoke]
- [/.yellow]
- [/.yellow_green]
- ))
- )))
+ [/.alice_blue]
+ [/.antique_white]
+ [/.aqua]
+ [/.aquamarine]
+ [/.azure]
+ [/.beige]
+ [/.bisque]
+ [/.black]
+ [/.blanched_almond]
+ [/.blue]
+ [/.blue_violet]
+ [/.brown]
+ [/.burly_wood]
+ [/.cadet_blue]
+ [/.chartreuse]
+ [/.chocolate]
+ [/.coral]
+ [/.cornflower_blue]
+ [/.cornsilk]
+ [/.crimson]
+ [/.cyan]
+ )))
+ d-k (list (,, (with_template [<name>]
+ [(description <name>)]
-(`` (def .public documentation
- (List $.Documentation)
- (list.partial ($.module /._
- "")
+ [/.dark_blue]
+ [/.dark_cyan]
+ [/.dark_goldenrod]
+ [/.dark_gray]
+ [/.dark_green]
+ [/.dark_khaki]
+ [/.dark_magenta]
+ [/.dark_olive_green]
+ [/.dark_orange]
+ [/.dark_orchid]
+ [/.dark_red]
+ [/.dark_salmon]
+ [/.dark_sea_green]
+ [/.dark_slate_blue]
+ [/.dark_slate_gray]
+ [/.dark_turquoise]
+ [/.dark_violet]
+ [/.deep_pink]
+ [/.deep_sky_blue]
+ [/.dim_gray]
+ [/.dodger_blue]
+ [/.fire_brick]
+ [/.floral_white]
+ [/.forest_green]
+ [/.fuchsia]
+ [/.gainsboro]
+ [/.ghost_white]
+ [/.gold]
+ [/.goldenrod]
+ [/.gray]
+ [/.green]
+ [/.green_yellow]
+ [/.honey_dew]
+ [/.hot_pink]
+ [/.indian_red]
+ [/.indigo]
+ [/.ivory]
+ [/.khaki]
+ )))
+ l-o (list (,, (with_template [<name>]
+ [(description <name>)]
- (,, (with_template [<name>]
- [(description <name>)]
+ [/.lavender]
+ [/.lavender_blush]
+ [/.lawn_green]
+ [/.lemon_chiffon]
+ [/.light_blue]
+ [/.light_coral]
+ [/.light_cyan]
+ [/.light_goldenrod_yellow]
+ [/.light_gray]
+ [/.light_green]
+ [/.light_pink]
+ [/.light_salmon]
+ [/.light_sea_green]
+ [/.light_sky_blue]
+ [/.light_slate_gray]
+ [/.light_steel_blue]
+ [/.light_yellow]
+ [/.lime]
+ [/.lime_green]
+ [/.linen]
+ [/.magenta]
+ [/.maroon]
+ [/.medium_aquamarine]
+ [/.medium_blue]
+ [/.medium_orchid]
+ [/.medium_purple]
+ [/.medium_sea_green]
+ [/.medium_slate_blue]
+ [/.medium_spring_green]
+ [/.medium_turquoise]
+ [/.medium_violet_red]
+ [/.midnight_blue]
+ [/.mint_cream]
+ [/.misty_rose]
+ [/.moccasin]
+ [/.navajo_white]
+ [/.navy]
+ [/.old_lace]
+ [/.olive]
+ [/.olive_drab]
+ [/.orange]
+ [/.orange_red]
+ [/.orchid]
+ )))
+ p-y (list (,, (with_template [<name>]
+ [(description <name>)]
- [/.alice_blue]
- [/.antique_white]
- [/.aqua]
- [/.aquamarine]
- [/.azure]
- [/.beige]
- [/.bisque]
- [/.black]
- [/.blanched_almond]
- [/.blue]
- [/.blue_violet]
- [/.brown]
- [/.burly_wood]
- [/.cadet_blue]
- [/.chartreuse]
- [/.chocolate]
- [/.coral]
- [/.cornflower_blue]
- [/.cornsilk]
- [/.crimson]
- [/.cyan]
- [/.dark_blue]
- [/.dark_cyan]
- [/.dark_goldenrod]
- [/.dark_gray]
- [/.dark_green]
- [/.dark_khaki]
- [/.dark_magenta]
- [/.dark_olive_green]
- [/.dark_orange]
- [/.dark_orchid]
- [/.dark_red]
- [/.dark_salmon]
- [/.dark_sea_green]
- [/.dark_slate_blue]
- [/.dark_slate_gray]
- [/.dark_turquoise]
- [/.dark_violet]
- [/.deep_pink]
- [/.deep_sky_blue]
- [/.dim_gray]
- [/.dodger_blue]
- [/.fire_brick]
- [/.floral_white]
- [/.forest_green]
- [/.fuchsia]
- [/.gainsboro]
- [/.ghost_white]
- [/.gold]
- [/.goldenrod]
- [/.gray]
- [/.green]
- [/.green_yellow]
- [/.honey_dew]
- [/.hot_pink]
- [/.indian_red]
- [/.indigo]
- [/.ivory]
- [/.khaki]
- ))
+ [/.pale_goldenrod]
+ [/.pale_green]
+ [/.pale_turquoise]
+ [/.pale_violet_red]
+ [/.papaya_whip]
+ [/.peach_puff]
+ [/.peru]
+ [/.pink]
+ [/.plum]
+ [/.powder_blue]
+ [/.purple]
+ [/.rebecca_purple]
+ [/.red]
+ [/.rosy_brown]
+ [/.royal_blue]
+ [/.saddle_brown]
+ [/.salmon]
+ [/.sandy_brown]
+ [/.sea_green]
+ [/.sea_shell]
+ [/.sienna]
+ [/.silver]
+ [/.sky_blue]
+ [/.slate_blue]
+ [/.slate_gray]
+ [/.snow]
+ [/.spring_green]
+ [/.steel_blue]
+ [/.tan]
+ [/.teal]
+ [/.thistle]
+ [/.tomato]
+ [/.turquoise]
+ [/.violet]
+ [/.wheat]
+ [/.white]
+ [/.white_smoke]
+ [/.yellow]
+ [/.yellow_green]
+ )))]
+ (list.partial ($.module /._
+ "")
- (all list#composite
- colors/d-k
- colors/l-o
- colors/p-y
- )
- )))
+ (all list#composite
+ a-c
+ d-k
+ l-o
+ p-y
+ )))))
diff --git a/stdlib/source/documentation/lux/data/format.lux b/stdlib/source/documentation/lux/data/format.lux
index b1aaea3b6..f1bd40fbc 100644
--- a/stdlib/source/documentation/lux/data/format.lux
+++ b/stdlib/source/documentation/lux/data/format.lux
@@ -3,8 +3,6 @@
[lux (.except)
["$" documentation]
[data
- [text (.only \n)
- ["%" \\format (.only format)]]
[collection
["[0]" list]]]]]
["[0]" /
diff --git a/stdlib/source/documentation/lux/data/format/tar.lux b/stdlib/source/documentation/lux/data/format/tar.lux
index ec8c7f373..8c6711eb9 100644
--- a/stdlib/source/documentation/lux/data/format/tar.lux
+++ b/stdlib/source/documentation/lux/data/format/tar.lux
@@ -3,85 +3,88 @@
[lux (.except)
["$" documentation]
[data
- [text (.only \n)
- ["%" \\format (.only format)]]]]]
+ [collection
+ ["[0]" list (.use "[1]#[0]" monoid)]]]]]
[\\library
["[0]" /]])
(def .public documentation
(List $.Documentation)
- (list ($.module /._
- "")
+ (let [number (list ($.definition /.not_a_small_number)
+ ($.definition /.small_limit)
+ ($.definition /.Small)
+ ($.definition /.small)
+ ($.definition /.from_small)
- ($.definition /.not_a_small_number)
- ($.definition /.small_limit)
- ($.definition /.Small)
- ($.definition /.small)
- ($.definition /.from_small)
+ ($.definition /.not_a_big_number)
+ ($.definition /.big_limit)
+ ($.definition /.Big)
+ ($.definition /.big)
+ ($.definition /.from_big))
+ mode (list ($.definition /.invalid_link_flag)
+ ($.definition /.Mode)
+ ($.definition /.mode)
+ ($.definition /.and)
+ ($.definition /.invalid_mode)
- ($.definition /.not_a_big_number)
- ($.definition /.big_limit)
- ($.definition /.Big)
- ($.definition /.big)
- ($.definition /.from_big)
+ ($.definition /.none)
+
+ ($.definition /.execute_by_other)
+ ($.definition /.write_by_other)
+ ($.definition /.read_by_other)
- ($.definition /.wrong_character)
- ($.definition /.not_ascii)
- ($.definition /.name_size)
- ($.definition /.path_size)
+ ($.definition /.execute_by_group)
+ ($.definition /.write_by_group)
+ ($.definition /.read_by_group)
- ($.definition /.Name)
- ($.definition /.name_is_too_long)
- ($.definition /.name)
- ($.definition /.from_name)
- ($.definition /.anonymous)
+ ($.definition /.execute_by_owner)
+ ($.definition /.write_by_owner)
+ ($.definition /.read_by_owner)
- ($.definition /.Path)
- ($.definition /.path_is_too_long)
- ($.definition /.path)
- ($.definition /.from_path)
- ($.definition /.no_path)
+ ($.definition /.save_text)
+ ($.definition /.set_group_id_on_execution)
+ ($.definition /.set_user_id_on_execution))
+ label (list ($.definition /.wrong_character)
+ ($.definition /.not_ascii)
+ ($.definition /.name_size)
+ ($.definition /.path_size)
- ($.definition /.invalid_link_flag)
- ($.definition /.Mode)
- ($.definition /.mode)
- ($.definition /.and)
- ($.definition /.invalid_mode)
+ ($.definition /.Name)
+ ($.definition /.name_is_too_long)
+ ($.definition /.name)
+ ($.definition /.from_name)
+ ($.definition /.anonymous)
- ($.definition /.none)
-
- ($.definition /.execute_by_other)
- ($.definition /.write_by_other)
- ($.definition /.read_by_other)
+ ($.definition /.Path)
+ ($.definition /.path_is_too_long)
+ ($.definition /.path)
+ ($.definition /.from_path)
+ ($.definition /.no_path))]
+ (list.partial ($.module /._
+ "")
- ($.definition /.execute_by_group)
- ($.definition /.write_by_group)
- ($.definition /.read_by_group)
+ ($.definition /.Content)
+ ($.definition /.content)
+ ($.definition /.data)
+ ($.definition /.ID)
+ ($.definition /.no_id)
+ ($.definition /.Owner)
+ ($.definition /.Ownership)
+ ($.definition /.File)
+ ($.definition /.Normal)
+ ($.definition /.Symbolic_Link)
+ ($.definition /.Directory)
+ ($.definition /.Contiguous)
+ ($.definition /.Entry)
+ ($.definition /.Tar)
+ ($.definition /.format)
+ ($.definition /.wrong_checksum)
+ ($.definition /.invalid_end_of_archive)
+ ($.definition /.parser)
- ($.definition /.execute_by_owner)
- ($.definition /.write_by_owner)
- ($.definition /.read_by_owner)
-
- ($.definition /.save_text)
- ($.definition /.set_group_id_on_execution)
- ($.definition /.set_user_id_on_execution)
-
- ($.definition /.Content)
- ($.definition /.content)
- ($.definition /.data)
- ($.definition /.ID)
- ($.definition /.no_id)
- ($.definition /.Owner)
- ($.definition /.Ownership)
- ($.definition /.File)
- ($.definition /.Normal)
- ($.definition /.Symbolic_Link)
- ($.definition /.Directory)
- ($.definition /.Contiguous)
- ($.definition /.Entry)
- ($.definition /.Tar)
- ($.definition /.format)
- ($.definition /.wrong_checksum)
- ($.definition /.invalid_end_of_archive)
- ($.definition /.parser)
- ))
+ (all list#composite
+ number
+ mode
+ label
+ )
+ )))
diff --git a/stdlib/source/documentation/lux/data/text.lux b/stdlib/source/documentation/lux/data/text.lux
index 10b2616a7..c544cc551 100644
--- a/stdlib/source/documentation/lux/data/text.lux
+++ b/stdlib/source/documentation/lux/data/text.lux
@@ -21,357 +21,367 @@
(def \\format
(List $.Documentation)
- (list ($.module \\format._
- "")
-
- ($.definition \\format.functor)
-
- ($.definition \\format.bit)
- ($.definition \\format.nat)
- ($.definition \\format.int)
- ($.definition \\format.rev)
- ($.definition \\format.frac)
- ($.definition \\format.text)
-
- ($.definition \\format.ratio)
- ($.definition \\format.symbol)
- ($.definition \\format.location)
- ($.definition \\format.code)
- ($.definition \\format.type)
-
- ($.definition \\format.instant)
- ($.definition \\format.duration)
- ($.definition \\format.date)
- ($.definition \\format.time)
- ($.definition \\format.day)
- ($.definition \\format.month)
-
- ($.definition \\format.xml)
- ($.definition \\format.json)
-
- ($.definition \\format.nat_2)
- ($.definition \\format.nat_8)
- ($.definition \\format.nat_10)
- ($.definition \\format.nat_16)
- ($.definition \\format.int_2)
- ($.definition \\format.int_8)
- ($.definition \\format.int_10)
- ($.definition \\format.int_16)
- ($.definition \\format.rev_2)
- ($.definition \\format.rev_8)
- ($.definition \\format.rev_10)
- ($.definition \\format.rev_16)
- ($.definition \\format.frac_2)
- ($.definition \\format.frac_8)
- ($.definition \\format.frac_10)
- ($.definition \\format.frac_16)
-
- ($.definition \\format.mod)
- ($.definition \\format.list)
- ($.definition \\format.maybe)
-
- ($.definition (\\format.Format it)
- "A way to produce readable text from values.")
-
- ($.definition \\format.format
- "Text interpolation."
- [(format "Static part " (text static) " does not match URI: " uri)])
- ))
+ (let [specific (list ($.definition \\format.bit)
+ ($.definition \\format.nat)
+ ($.definition \\format.int)
+ ($.definition \\format.rev)
+ ($.definition \\format.frac)
+ ($.definition \\format.text)
+
+ ($.definition \\format.ratio)
+ ($.definition \\format.symbol)
+ ($.definition \\format.location)
+ ($.definition \\format.code)
+ ($.definition \\format.type)
+
+ ($.definition \\format.instant)
+ ($.definition \\format.duration)
+ ($.definition \\format.date)
+ ($.definition \\format.time)
+ ($.definition \\format.day)
+ ($.definition \\format.month)
+
+ ($.definition \\format.xml)
+ ($.definition \\format.json))
+ number (list ($.definition \\format.nat_2)
+ ($.definition \\format.nat_8)
+ ($.definition \\format.nat_10)
+ ($.definition \\format.nat_16)
+ ($.definition \\format.int_2)
+ ($.definition \\format.int_8)
+ ($.definition \\format.int_10)
+ ($.definition \\format.int_16)
+ ($.definition \\format.rev_2)
+ ($.definition \\format.rev_8)
+ ($.definition \\format.rev_10)
+ ($.definition \\format.rev_16)
+ ($.definition \\format.frac_2)
+ ($.definition \\format.frac_8)
+ ($.definition \\format.frac_10)
+ ($.definition \\format.frac_16))]
+ (list.partial ($.module \\format._
+ "")
+
+ ($.definition \\format.functor)
+
+ ($.definition \\format.mod)
+ ($.definition \\format.list)
+ ($.definition \\format.maybe)
+
+ ($.definition (\\format.Format it)
+ "A way to produce readable text from values.")
+
+ ($.definition \\format.format
+ "Text interpolation."
+ [(format "Static part " (text static) " does not match URI: " uri)])
+
+ (all list#composite
+ specific
+ number
+ )
+ )))
(`` (def \\parser
(List $.Documentation)
- (list ($.module \\parser._
- "")
+ (let [exception (list ($.definition \\parser.unconsumed_input)
+ ($.definition \\parser.expected_to_fail)
+ ($.definition \\parser.cannot_parse)
+ ($.definition \\parser.cannot_slice)
+ ($.definition \\parser.cannot_match)
+ ($.definition \\parser.character_should_be)
+ ($.definition \\parser.character_should_not_be)
+ ($.definition \\parser.character_does_not_satisfy_predicate))
+ specific (list ($.definition \\parser.range
+ "Only yields characters within a range."
+ [(range bottom top)])
+
+ (,, (with_template [<name> <desc>]
+ [($.definition <name>
+ (format "Only yields " <desc> " characters."))]
+
+ [\\parser.upper "uppercase"]
+ [\\parser.lower "lowercase"]
+ [\\parser.decimal "decimal"]
+ [\\parser.octal "octal"]
+ ))
+
+ ($.definition \\parser.alpha
+ "Yields alphabetic characters.")
+
+ ($.definition \\parser.alpha_num
+ "Yields alphanumeric characters.")
+
+ ($.definition \\parser.hexadecimal
+ "Yields hexadecimal digits.")
+
+ ($.definition \\parser.space
+ "Yields white-space."))]
+ (list.partial ($.module \\parser._
+ "")
+
+ ($.definition \\parser.Offset
+ "An offset into a block of text.")
+
+ ($.definition (\\parser.Parser it)
+ "A parser for text.")
+
+ ($.definition \\parser.Slice
+ "A slice of a block of text.")
+
+ ($.definition \\parser.result
+ (format "Executes a parser against a block of text."
+ \n "Verifies that the entire input has been processed.")
+ [(result parser input)])
+
+ ($.definition \\parser.offset
+ "Yields the current offset into the input.")
+
+ ($.definition \\parser.any
+ "Yields the next character without applying any logic.")
+
+ ($.definition \\parser.any!
+ "Yields the next character (as a slice) without applying any logic.")
+
+ (,, (with_template [<name> <caveat>]
+ [(`` ($.definition <name>
+ (format "Produce a character" (,, (template.text [<caveat>])) " if the parser fails.")))]
+
+ [\\parser.not ""]
+ [\\parser.not! " (as a slice)"]
+ ))
+
+ ($.definition \\parser.this
+ "Checks that a specific text shows up in the input."
+ [(this reference)])
+
+ ($.definition \\parser.end
+ "Ensure the parser's input is empty.")
+
+ ($.definition \\parser.next
+ "Yields the next character (without consuming it from the input).")
+
+ ($.definition \\parser.remaining
+ "Get all of the remaining input (without consuming it).")
+
+ (,, (with_template [<name> <description_modifier>]
+ [($.definition <name>
+ (format "Yields characters that are" <description_modifier> " part of a piece of text."))]
+
+ [\\parser.one_of ""]
+ [\\parser.none_of " not"]
+ ))
+
+ (,, (with_template [<name> <description_modifier>]
+ [($.definition <name>
+ (format "Yields characters (as a slice) that are" <description_modifier> " part of a piece of text."))]
+
+ [\\parser.one_of! ""]
+ [\\parser.none_of! " not"]
+ ))
+
+ ($.definition \\parser.satisfies
+ "Yields characters that satisfy a predicate."
+ [(satisfies parser)])
+
+ ($.definition \\parser.and
+ "Yields the outputs of both parsers composed together."
+ [(and left right)])
+
+ ($.definition \\parser.and!
+ "Yields the outputs of both parsers composed together (as a slice)."
+ [(and! left right)])
- ($.definition \\parser.unconsumed_input)
- ($.definition \\parser.expected_to_fail)
- ($.definition \\parser.cannot_parse)
- ($.definition \\parser.cannot_slice)
- ($.definition \\parser.cannot_match)
- ($.definition \\parser.character_should_be)
- ($.definition \\parser.character_should_not_be)
- ($.definition \\parser.character_does_not_satisfy_predicate)
+ (,, (with_template [<text> <slice>]
+ [(`` ($.definition <text>
+ (format "Yields " (,, (template.text [<name>])) " characters as a single continuous text.")))
+ (`` ($.definition <slice>
+ (format "Yields " (,, (template.text [<name>])) " characters as a single continuous text (as a slice).")))]
- ($.definition \\parser.Offset
- "An offset into a block of text.")
+ [\\parser.some \\parser.some!]
+ [\\parser.many \\parser.many!]
+ ))
- ($.definition (\\parser.Parser it)
- "A parser for text.")
+ (,, (with_template [<text> <slice> <doc_modifier>]
+ [(`` ($.definition <text>
+ (format "Yields " <doc_modifier> " N characters.")))
+ (`` ($.definition <slice>
+ (format "Yields " <doc_modifier> " N characters (as a slice).")))]
- ($.definition \\parser.Slice
- "A slice of a block of text.")
+ [\\parser.exactly \\parser.exactly! "exactly"]
+ [\\parser.at_most \\parser.at_most! "at most"]
+ [\\parser.at_least \\parser.at_least! "at least"]
+ ))
- ($.definition \\parser.result
- (format "Executes a parser against a block of text."
- \n "Verifies that the entire input has been processed.")
- [(result parser input)])
+ ($.definition \\parser.between
+ ""
+ [(between minimum additional parser)])
- ($.definition \\parser.offset
- "Yields the current offset into the input.")
+ ($.definition \\parser.between!
+ ""
+ [(between! minimum additional parser)])
- ($.definition \\parser.any
- "Yields the next character without applying any logic.")
+ ($.definition \\parser.enclosed
+ ""
+ [(enclosed [start end] parser)])
- ($.definition \\parser.any!
- "Yields the next character (as a slice) without applying any logic.")
+ ($.definition \\parser.local
+ "Applies a parser against the given input."
+ [(local local_input parser)])
- (,, (with_template [<name> <caveat>]
- [(`` ($.definition <name>
- (format "Produce a character" (,, (template.text [<caveat>])) " if the parser fails.")))]
+ ($.definition \\parser.slice
+ "Converts a slice to a block of text."
+ [(slice parser)])
- [\\parser.not ""]
- [\\parser.not! " (as a slice)"]
- ))
+ ($.definition \\parser.then
+ "Embeds a text parser into an arbitrary parser that yields text."
+ [(then structured text)])
- ($.definition \\parser.this
- "Checks that a specific text shows up in the input."
- [(this reference)])
-
- ($.definition \\parser.end
- "Ensure the parser's input is empty.")
-
- ($.definition \\parser.next
- "Yields the next character (without consuming it from the input).")
-
- ($.definition \\parser.remaining
- "Get all of the remaining input (without consuming it).")
-
- ($.definition \\parser.range
- "Only yields characters within a range."
- [(range bottom top)])
-
- (,, (with_template [<name> <desc>]
- [($.definition <name>
- (format "Only yields " <desc> " characters."))]
-
- [\\parser.upper "uppercase"]
- [\\parser.lower "lowercase"]
- [\\parser.decimal "decimal"]
- [\\parser.octal "octal"]
- ))
-
- ($.definition \\parser.alpha
- "Yields alphabetic characters.")
-
- ($.definition \\parser.alpha_num
- "Yields alphanumeric characters.")
-
- ($.definition \\parser.hexadecimal
- "Yields hexadecimal digits.")
-
- (,, (with_template [<name> <description_modifier>]
- [($.definition <name>
- (format "Yields characters that are" <description_modifier> " part of a piece of text."))]
-
- [\\parser.one_of ""]
- [\\parser.none_of " not"]
- ))
-
- (,, (with_template [<name> <description_modifier>]
- [($.definition <name>
- (format "Yields characters (as a slice) that are" <description_modifier> " part of a piece of text."))]
-
- [\\parser.one_of! ""]
- [\\parser.none_of! " not"]
- ))
-
- ($.definition \\parser.satisfies
- "Yields characters that satisfy a predicate."
- [(satisfies parser)])
-
- ($.definition \\parser.space
- "Yields white-space.")
-
- ($.definition \\parser.and
- "Yields the outputs of both parsers composed together."
- [(and left right)])
-
- ($.definition \\parser.and!
- "Yields the outputs of both parsers composed together (as a slice)."
- [(and! left right)])
-
- (,, (with_template [<text> <slice>]
- [(`` ($.definition <text>
- (format "Yields " (,, (template.text [<name>])) " characters as a single continuous text.")))
- (`` ($.definition <slice>
- (format "Yields " (,, (template.text [<name>])) " characters as a single continuous text (as a slice).")))]
-
- [\\parser.some \\parser.some!]
- [\\parser.many \\parser.many!]
- ))
-
- (,, (with_template [<text> <slice> <doc_modifier>]
- [(`` ($.definition <text>
- (format "Yields " <doc_modifier> " N characters.")))
- (`` ($.definition <slice>
- (format "Yields " <doc_modifier> " N characters (as a slice).")))]
-
- [\\parser.exactly \\parser.exactly! "exactly"]
- [\\parser.at_most \\parser.at_most! "at most"]
- [\\parser.at_least \\parser.at_least! "at least"]
- ))
-
- ($.definition \\parser.between
- ""
- [(between minimum additional parser)])
-
- ($.definition \\parser.between!
- ""
- [(between! minimum additional parser)])
-
- ($.definition \\parser.enclosed
- ""
- [(enclosed [start end] parser)])
-
- ($.definition \\parser.local
- "Applies a parser against the given input."
- [(local local_input parser)])
-
- ($.definition \\parser.slice
- "Converts a slice to a block of text."
- [(slice parser)])
-
- ($.definition \\parser.then
- "Embeds a text parser into an arbitrary parser that yields text."
- [(then structured text)])
- )))
+ (all list#composite
+ exception
+ specific
+ )
+ ))))
(def .public documentation
(List $.Documentation)
- (list.partial ($.module /._
- "")
-
- ($.definition /.of_char)
-
- ($.definition /.\0)
- ($.definition /.null)
- ($.definition /.\a)
- ($.definition /.alarm)
- ($.definition /.\b)
- ($.definition /.back_space)
- ($.definition /.\t)
- ($.definition /.tab)
- ($.definition /.\n)
- ($.definition /.new_line)
- ($.definition /.\v)
- ($.definition /.vertical_tab)
- ($.definition /.\f)
- ($.definition /.form_feed)
- ($.definition /.\r)
- ($.definition /.carriage_return)
- ($.definition /.\'')
- ($.definition /.double_quote)
-
- ($.definition /.size)
- ($.definition /.format)
- ($.definition /.equivalence)
- ($.definition /.order)
- ($.definition /.monoid)
- ($.definition /.hash)
- ($.definition /.together)
- ($.definition /.empty?)
- ($.definition /.space)
- ($.definition /.lower_cased)
- ($.definition /.upper_cased)
-
- ($.definition /.Char
- "A character code number.")
-
- ($.definition /.line_feed
- "Same as 'new_line'.")
-
- ($.definition /.char
- "Yields the character at the specified index."
- [(char index input)])
-
- ($.definition /.index_since
- ""
- [(index_since from pattern input)])
-
- ($.definition /.index
- ""
- [(index pattern input)])
-
- ($.definition /.last_index
- ""
- [(last_index part text)])
-
- ($.definition /.starts_with?
- ""
- [(starts_with? prefix x)])
-
- ($.definition /.ends_with?
- ""
- [(ends_with? postfix x)])
-
- ($.definition /.enclosed_by?
- ""
- [(enclosed_by? boundary value)])
-
- ($.definition /.contains?
- ""
- [(contains? sub text)])
-
- ($.definition /.prefix
- ""
- [(prefix param subject)])
-
- ($.definition /.suffix
- ""
- [(suffix param subject)])
-
- ($.definition /.enclosed
- "Surrounds the given content text with left and right side additions."
- [(enclosed [left right] content)])
-
- ($.definition /.enclosed'
- "Surrounds the given content text with the same boundary text."
- [(enclosed' boundary content)])
-
- ($.definition /.clip
- "Clips a chunk of text from the input at the specified offset and of the specified size."
- [(clip offset size input)])
-
- ($.definition /.clip_since
- "Clips the remaining text from the input at the specified offset."
- [(clip_since offset input)])
-
- ($.definition /.split_at
- ""
- [(split_at at x)])
-
- ($.definition /.split_by
- ""
- [(split_by token sample)])
-
- ($.definition /.all_split_by
- ""
- [(all_split_by token sample)])
-
- ($.definition /.replaced_once
- ""
- [(replaced_once pattern replacement template)])
-
- ($.definition /.replaced
- ""
- [(replaced pattern replacement template)])
-
- ($.definition /.interposed
- ""
- [(interposed separator texts)])
-
- ($.definition /.space?
- "Checks whether the character is white-space."
- [(space? char)])
-
- (all list#composite
- ..\\format
- ..\\parser
-
- /buffer.documentation
- /encoding.documentation
- /escape.documentation
- /regex.documentation
- /unicode.documentation
- )
- ))
+ (let [character (list ($.definition /.Char
+ "A character code number.")
+
+ ($.definition /.char
+ "Yields the character at the specified index."
+ [(char index input)])
+
+ ($.definition /.of_char)
+
+ ($.definition /.\0)
+ ($.definition /.null)
+ ($.definition /.\a)
+ ($.definition /.alarm)
+ ($.definition /.\b)
+ ($.definition /.back_space)
+ ($.definition /.\t)
+ ($.definition /.tab)
+ ($.definition /.\n)
+ ($.definition /.new_line)
+ ($.definition /.\v)
+ ($.definition /.vertical_tab)
+ ($.definition /.\f)
+ ($.definition /.form_feed)
+ ($.definition /.\r)
+ ($.definition /.carriage_return)
+ ($.definition /.\'')
+ ($.definition /.double_quote)
+
+ ($.definition /.space)
+
+ ($.definition /.line_feed
+ "Same as 'new_line'."))
+ query (list ($.definition /.empty?)
+
+ ($.definition /.starts_with?
+ ""
+ [(starts_with? prefix x)])
+
+ ($.definition /.ends_with?
+ ""
+ [(ends_with? postfix x)])
+
+ ($.definition /.enclosed_by?
+ ""
+ [(enclosed_by? boundary value)])
+
+ ($.definition /.contains?
+ ""
+ [(contains? sub text)])
+
+ ($.definition /.space?
+ "Checks whether the character is white-space."
+ [(space? char)]))]
+ (list.partial ($.module /._
+ "")
+
+ ($.definition /.size)
+ ($.definition /.format)
+ ($.definition /.equivalence)
+ ($.definition /.order)
+ ($.definition /.monoid)
+ ($.definition /.hash)
+ ($.definition /.together)
+
+ ($.definition /.lower_cased)
+ ($.definition /.upper_cased)
+
+ ($.definition /.index_since
+ ""
+ [(index_since from pattern input)])
+
+ ($.definition /.index
+ ""
+ [(index pattern input)])
+
+ ($.definition /.last_index
+ ""
+ [(last_index part text)])
+
+ ($.definition /.prefix
+ ""
+ [(prefix param subject)])
+
+ ($.definition /.suffix
+ ""
+ [(suffix param subject)])
+
+ ($.definition /.enclosed
+ "Surrounds the given content text with left and right side additions."
+ [(enclosed [left right] content)])
+
+ ($.definition /.enclosed'
+ "Surrounds the given content text with the same boundary text."
+ [(enclosed' boundary content)])
+
+ ($.definition /.clip
+ "Clips a chunk of text from the input at the specified offset and of the specified size."
+ [(clip offset size input)])
+
+ ($.definition /.clip_since
+ "Clips the remaining text from the input at the specified offset."
+ [(clip_since offset input)])
+
+ ($.definition /.split_at
+ ""
+ [(split_at at x)])
+
+ ($.definition /.split_by
+ ""
+ [(split_by token sample)])
+
+ ($.definition /.all_split_by
+ ""
+ [(all_split_by token sample)])
+
+ ($.definition /.replaced_once
+ ""
+ [(replaced_once pattern replacement template)])
+
+ ($.definition /.replaced
+ ""
+ [(replaced pattern replacement template)])
+
+ ($.definition /.interposed
+ ""
+ [(interposed separator texts)])
+
+ (all list#composite
+ character
+ query
+
+ ..\\format
+ ..\\parser
+
+ /buffer.documentation
+ /encoding.documentation
+ /escape.documentation
+ /regex.documentation
+ /unicode.documentation
+ )
+ )))
diff --git a/stdlib/source/documentation/lux/math.lux b/stdlib/source/documentation/lux/math.lux
index 7819d6779..afc959c96 100644
--- a/stdlib/source/documentation/lux/math.lux
+++ b/stdlib/source/documentation/lux/math.lux
@@ -29,5 +29,4 @@
/number.documentation
/logic.documentation
/random.documentation
- )
- ))
+ )))
diff --git a/stdlib/source/documentation/lux/math/random.lux b/stdlib/source/documentation/lux/math/random.lux
index d9c6ef729..dd2b077cd 100644
--- a/stdlib/source/documentation/lux/math/random.lux
+++ b/stdlib/source/documentation/lux/math/random.lux
@@ -4,117 +4,122 @@
["$" documentation]
[data
["[0]" text (.only \n)
- ["%" \\format (.only format)]]]]]
+ ["%" \\format (.only format)]]
+ [collection
+ ["[0]" list (.use "[1]#[0]" monoid)]]]]]
[\\library
["[0]" /]])
(def .public documentation
(List $.Documentation)
- (list ($.module /._
- "Pseudo-random number generation (PRNG) algorithms.")
-
- ($.definition /.functor)
- ($.definition /.apply)
- ($.definition /.monad)
-
- ($.definition /.bit)
- ($.definition /.i64)
- ($.definition /.nat)
- ($.definition /.int)
- ($.definition /.rev)
- ($.definition /.frac)
- ($.definition /.char)
-
- ($.definition /.unicode)
- ($.definition /.ascii)
- ($.definition /.alphabetic)
- ($.definition /.alpha_numeric)
- ($.definition /.numeric)
- ($.definition /.upper_case)
- ($.definition /.lower_case)
-
- ($.definition /.ratio)
- ($.definition /.complex)
-
- ($.definition /.maybe)
- ($.definition /.list)
- ($.definition /.sequence)
- ($.definition /.array)
- ($.definition /.queue)
- ($.definition /.stack)
-
- ($.definition /.instant)
- ($.definition /.date)
- ($.definition /.time)
- ($.definition /.duration)
- ($.definition /.month)
- ($.definition /.day)
-
- ($.definition /.PRNG
- "An abstract way to represent any PRNG.")
-
- ($.definition (/.Random it)
- "A producer of random values based on a PRNG.")
-
- ($.definition /.only
- "Retries the generator until the output satisfies a predicate."
- [(only pred gen)])
-
- ($.definition /.one
- ""
- [(one check random)])
-
- ($.definition /.refined
- "Retries the generator until the output can be refined."
- [(refined refiner gen)])
-
- ($.definition /.safe_frac
- "A number in the interval [0.0,1.0].")
-
- ($.definition /.text
- ""
- [(text char_gen size)])
-
- ($.definition /.and
- "Sequencing combinator."
- [(and left right)])
-
- ($.definition /.or
- "Heterogeneous alternative combinator."
- [(or left right)])
-
- ($.definition /.either
- "Homogeneous alternative combinator."
- [(either left right)])
-
- ($.definition /.rec
- "A combinator for producing recursive random generators."
- [(rec gen)])
-
- ($.definition /.set
- ""
- [(set hash size value_gen)])
-
- ($.definition /.dictionary
- ""
- [(dictionary hash size key_gen value_gen)])
-
- ($.definition /.result
- ""
- [(result prng calc)])
-
- ($.definition /.prng
- ""
- [(prng update return)])
-
- ($.definition /.pcg_32
- (format "An implementation of the PCG32 algorithm."
- \n "For more information, please see: http://www.pcg-random.org/"))
-
- ($.definition /.xoroshiro_128+
- (format "An implementation of the Xoroshiro128+ algorithm."
- \n "For more information, please see: http://xoroshiro.di.unimi.it/"))
-
- ($.definition /.split_mix_64
- "An implementation of the SplitMix64 algorithm.")
- ))
+ (let [simple (list ($.definition /.bit)
+ ($.definition /.i64)
+ ($.definition /.nat)
+ ($.definition /.int)
+ ($.definition /.rev)
+ ($.definition /.frac)
+ ($.definition /.char)
+
+ ($.definition /.safe_frac
+ "A number in the interval [0.0,1.0]."))
+ text (list ($.definition /.unicode)
+ ($.definition /.ascii)
+ ($.definition /.alphabetic)
+ ($.definition /.alpha_numeric)
+ ($.definition /.numeric)
+ ($.definition /.upper_case)
+ ($.definition /.lower_case)
+
+ ($.definition /.text
+ ""
+ [(text char_gen size)]))]
+ (list.partial ($.module /._
+ "Pseudo-random number generation (PRNG) algorithms.")
+
+ ($.definition /.functor)
+ ($.definition /.apply)
+ ($.definition /.monad)
+
+ ($.definition /.ratio)
+ ($.definition /.complex)
+
+ ($.definition /.maybe)
+ ($.definition /.list)
+ ($.definition /.sequence)
+ ($.definition /.array)
+ ($.definition /.queue)
+ ($.definition /.stack)
+
+ ($.definition /.instant)
+ ($.definition /.date)
+ ($.definition /.time)
+ ($.definition /.duration)
+ ($.definition /.month)
+ ($.definition /.day)
+
+ ($.definition /.PRNG
+ "An abstract way to represent any PRNG.")
+
+ ($.definition (/.Random it)
+ "A producer of random values based on a PRNG.")
+
+ ($.definition /.only
+ "Retries the generator until the output satisfies a predicate."
+ [(only pred gen)])
+
+ ($.definition /.one
+ ""
+ [(one check random)])
+
+ ($.definition /.refined
+ "Retries the generator until the output can be refined."
+ [(refined refiner gen)])
+
+ ($.definition /.and
+ "Sequencing combinator."
+ [(and left right)])
+
+ ($.definition /.or
+ "Heterogeneous alternative combinator."
+ [(or left right)])
+
+ ($.definition /.either
+ "Homogeneous alternative combinator."
+ [(either left right)])
+
+ ($.definition /.rec
+ "A combinator for producing recursive random generators."
+ [(rec gen)])
+
+ ($.definition /.set
+ ""
+ [(set hash size value_gen)])
+
+ ($.definition /.dictionary
+ ""
+ [(dictionary hash size key_gen value_gen)])
+
+ ($.definition /.result
+ ""
+ [(result prng calc)])
+
+ ($.definition /.prng
+ ""
+ [(prng update return)])
+
+ ($.definition /.pcg_32
+ (format "An implementation of the PCG32 algorithm."
+ \n "For more information, please see: http://www.pcg-random.org/"))
+
+ ($.definition /.xoroshiro_128+
+ (format "An implementation of the Xoroshiro128+ algorithm."
+ \n "For more information, please see: http://xoroshiro.di.unimi.it/"))
+
+ ($.definition /.split_mix_64
+ "An implementation of the SplitMix64 algorithm.")
+
+ (all list#composite
+ simple
+ text
+ )
+ )))
diff --git a/stdlib/source/documentation/lux/meta.lux b/stdlib/source/documentation/lux/meta.lux
index df0c93de6..cc37ca4bf 100644
--- a/stdlib/source/documentation/lux/meta.lux
+++ b/stdlib/source/documentation/lux/meta.lux
@@ -6,7 +6,7 @@
["[0]" text (.only \n)
["%" \\format (.only format)]]
[collection
- ["[0]" list (.use "[1]#[0]" monoid)]]]]]
+ ["[0]" list]]]]]
[\\library
["[0]" /]]
["[0]" /
@@ -39,164 +39,166 @@
(def .public documentation
(List $.Documentation)
- (list.partial ($.module /._
- "Functions for extracting information from the state of the compiler.")
+ (let [query (list ($.definition /.module
+ "Looks-up a module with the given name."
+ [(module name)])
- ($.definition /.functor)
- ($.definition /.apply)
- ($.definition /.monad)
- ($.definition /.lifted)
- ($.definition /.try)
+ ($.definition /.current_module_name
+ "The name of the module currently being compiled, if any.")
- ($.definition /.result'
- (format "Evaluates a computation that depends on Lux's compiler state."
- \n "Also returns a (potentially modified) compiler state.")
- [(result' lux action)])
+ ($.definition /.current_module
+ "The module currently being compiled, if any.")
- ($.definition /.result
- "Evaluates a computation that depends on Lux's compiler state."
- [(result lux action)])
+ ($.definition /.macro
+ "Looks-up a macro known by the given name."
+ [(macro full_name)])
- ($.definition /.either
- "Pick whichever computation succeeds."
- [(either left right)])
+ ($.definition /.seed
+ (format "The current value of a number tracked by the compiler."
+ \n "Also increases the value, so it's different next time it is seen."
+ \n "This number can be used for generating data 'randomly' during compilation."))
- ($.definition /.assertion
- "Fails with the given message if the test is #0."
- [(assertion message test)])
+ ($.definition /.module_exists?
+ ""
+ [(module_exists? module)])
- ($.definition /.failure
- "Fails with the given error message."
- [(failure error)])
+ ($.definition /.var_type
+ "Looks-up the type of a local variable somewhere in the environment."
+ [(var_type name)])
- ($.definition /.module
- "Looks-up a module with the given name."
- [(module name)])
+ ($.definition /.definition
+ "Looks-up a definition's whole data in the available modules (including the current one)."
+ [(definition name)])
- ($.definition /.current_module_name
- "The name of the module currently being compiled, if any.")
+ ($.definition /.export
+ (format "Looks-up a definition in the available modules (including the current one)."
+ \n "The look-up only succeeds if the definition has been exported.")
+ [(export name)])
- ($.definition /.current_module
- "The module currently being compiled, if any.")
+ ($.definition /.definition_type
+ "Looks-up a definition's type in the available modules (including the current one)."
+ [(definition_type name)])
- ($.definition /.normal
- (format "If given a name without a module prefix, gives it the current module's name as prefix."
- \n "Otherwise, returns the name as-is.")
- [(normal name)])
+ ($.definition /.type
+ "Looks-up the type of either a local variable or a definition."
+ [(type name)])
- ($.definition /.macro
- "Looks-up a macro known by the given name."
- [(macro full_name)])
+ ($.definition /.type_definition
+ "Finds the value of a type definition (such as Int, Any or Lux)."
+ [(type_definition name)])
- ($.definition /.seed
- (format "The current value of a number tracked by the compiler."
- \n "Also increases the value, so it's different next time it is seen."
- \n "This number can be used for generating data 'randomly' during compilation."))
-
- ($.definition /.module_exists?
- ""
- [(module_exists? module)])
-
- ($.definition /.var_type
- "Looks-up the type of a local variable somewhere in the environment."
- [(var_type name)])
-
- ($.definition /.definition
- "Looks-up a definition's whole data in the available modules (including the current one)."
- [(definition name)])
-
- ($.definition /.export
- (format "Looks-up a definition in the available modules (including the current one)."
- \n "The look-up only succeeds if the definition has been exported.")
- [(export name)])
-
- ($.definition /.definition_type
- "Looks-up a definition's type in the available modules (including the current one)."
- [(definition_type name)])
-
- ($.definition /.type
- "Looks-up the type of either a local variable or a definition."
- [(type name)])
-
- ($.definition /.type_definition
- "Finds the value of a type definition (such as Int, Any or Lux)."
- [(type_definition name)])
-
- ($.definition /.globals
- "The entire list of globals in a module (including the non-exported/private ones)."
- [(globals module)])
-
- ($.definition /.definitions
- "The entire list of definitions in a module (including the non-exported/private ones)."
- [(definitions module)])
-
- ($.definition /.exports
- "All the exported definitions in a module."
- [(exports module_name)])
-
- ($.definition /.modules
- "All the available modules (including the current one).")
-
- ($.definition /.tags_of
- "All the tags associated with a type definition."
- [(tags_of type_name)])
-
- ($.definition /.location
- "The location of the current expression being analyzed.")
-
- ($.definition /.expected_type
- "The expected type of the current expression being analyzed.")
-
- ($.definition /.imported_modules
- "All the modules imported by a specified module."
- [(imported_modules module_name)])
-
- ($.definition /.imported_by?
- ""
- [(imported_by? import module)])
-
- ($.definition /.imported?
- "Checks if the given module has been imported by the current module."
- [(imported? import)])
-
- ($.definition /.tag
- "Given a tag, finds out what is its index, its related tag-list and its associated type."
- [(tag tag_name)])
-
- ($.definition /.slot
- "Given a slot, finds out what is its index, its related slot-list and its associated type."
- [(slot slot_name)])
-
- ($.definition /.tag_lists
- "All the tag-lists defined in a module, with their associated types."
- [(tag_lists module)])
-
- ($.definition /.locals
- "All the local variables currently in scope, separated in different scopes.")
-
- ($.definition /.de_aliased
- "Given an aliased definition's name, returns the original definition being referenced."
- [(de_aliased def_name)])
-
- ($.definition /.compiler_state
- "Obtains the current state of the compiler.")
-
- ($.definition /.type_context
- "The current type-checking context.")
-
- ($.definition /.eval
- ""
- [(eval type code)])
-
- (all list#composite
- /code.documentation
- /location.documentation
- /symbol.documentation
- /type.documentation
- /macro.documentation
- /static.documentation
- /extension.documentation
- /target.documentation
- ../compiler
- )
- ))
+ ($.definition /.globals
+ "The entire list of globals in a module (including the non-exported/private ones)."
+ [(globals module)])
+
+ ($.definition /.definitions
+ "The entire list of definitions in a module (including the non-exported/private ones)."
+ [(definitions module)])
+
+ ($.definition /.exports
+ "All the exported definitions in a module."
+ [(exports module_name)])
+
+ ($.definition /.modules
+ "All the available modules (including the current one).")
+
+ ($.definition /.tags_of
+ "All the tags associated with a type definition."
+ [(tags_of type_name)])
+
+ ($.definition /.location
+ "The location of the current expression being analyzed.")
+
+ ($.definition /.expected_type
+ "The expected type of the current expression being analyzed.")
+
+ ($.definition /.imported_modules
+ "All the modules imported by a specified module."
+ [(imported_modules module_name)])
+
+ ($.definition /.imported_by?
+ ""
+ [(imported_by? import module)])
+
+ ($.definition /.imported?
+ "Checks if the given module has been imported by the current module."
+ [(imported? import)])
+
+ ($.definition /.tag
+ "Given a tag, finds out what is its index, its related tag-list and its associated type."
+ [(tag tag_name)])
+
+ ($.definition /.slot
+ "Given a slot, finds out what is its index, its related slot-list and its associated type."
+ [(slot slot_name)])
+
+ ($.definition /.tag_lists
+ "All the tag-lists defined in a module, with their associated types."
+ [(tag_lists module)])
+
+ ($.definition /.locals
+ "All the local variables currently in scope, separated in different scopes.")
+
+ ($.definition /.compiler_state
+ "Obtains the current state of the compiler.")
+
+ ($.definition /.type_context
+ "The current type-checking context."))
+ computation (list ($.definition /.lifted)
+ ($.definition /.try)
+
+ ($.definition /.result'
+ (format "Evaluates a computation that depends on Lux's compiler state."
+ \n "Also returns a (potentially modified) compiler state.")
+ [(result' lux action)])
+
+ ($.definition /.result
+ "Evaluates a computation that depends on Lux's compiler state."
+ [(result lux action)])
+
+ ($.definition /.either
+ "Pick whichever computation succeeds."
+ [(either left right)])
+
+ ($.definition /.assertion
+ "Fails with the given message if the test is #0."
+ [(assertion message test)])
+
+ ($.definition /.failure
+ "Fails with the given error message."
+ [(failure error)]))]
+ (list.partial ($.module /._
+ "Functions for extracting information from the state of the compiler.")
+
+ ($.definition /.functor)
+ ($.definition /.apply)
+ ($.definition /.monad)
+
+ ($.definition /.normal
+ (format "If given a name without a module prefix, gives it the current module's name as prefix."
+ \n "Otherwise, returns the name as-is.")
+ [(normal name)])
+
+ ($.definition /.de_aliased
+ "Given an aliased definition's name, returns the original definition being referenced."
+ [(de_aliased def_name)])
+
+ ($.definition /.eval
+ ""
+ [(eval type code)])
+
+ (list.together
+ (list query
+ computation
+ ../compiler
+
+ /code.documentation
+ /location.documentation
+ /symbol.documentation
+ /type.documentation
+ /macro.documentation
+ /static.documentation
+ /extension.documentation
+ /target.documentation
+ ))
+ )))
diff --git a/stdlib/source/documentation/lux/meta/static.lux b/stdlib/source/documentation/lux/meta/static.lux
index 51853785a..cd5168c83 100644
--- a/stdlib/source/documentation/lux/meta/static.lux
+++ b/stdlib/source/documentation/lux/meta/static.lux
@@ -12,46 +12,48 @@
(`` (def .public documentation
(List $.Documentation)
- (list ($.module /._
- "")
+ (let [literal (list (,, (with_template [<name> <type>]
+ [($.definition <name>
+ (%.code (' (<name>
+ (is <type>
+ (value generating expression))))))]
- (,, (with_template [<name> <type>]
- [($.definition <name>
- (%.code (' (<name>
- (is <type>
- (value generating expression))))))]
+ [/.nat .Nat]
+ [/.int .Int]
+ [/.rev .Rev]
+ [/.frac .Frac]
+ [/.text .Text]
+ ))
- [/.nat .Nat]
- [/.int .Int]
- [/.rev .Rev]
- [/.frac .Frac]
- [/.text .Text]
- ))
+ ($.definition /.literal
+ ""
+ [(/.literal
+ (is (-> ??? Code)
+ format)
+ (is ???
+ (value generating expression)))]))
+ random (list (,, (with_template [<name> <type>]
+ [($.definition <name>
+ (%.code (' (is <type>
+ (<name>)))))]
- ($.definition /.literal
- ""
- [(/.literal
- (is (-> ??? Code)
- format)
- (is ???
- (value generating expression)))])
+ [/.random_nat .Nat]
+ [/.random_int .Int]
+ [/.random_rev .Rev]
+ [/.random_frac .Frac]
+ ))
- (,, (with_template [<name> <type>]
- [($.definition <name>
- (%.code (' (is <type>
- (<name>)))))]
+ ($.definition /.random
+ ""
+ [(/.random
+ (is (-> ??? Code)
+ format)
+ (is (Random ???)
+ (random data generator)))]))]
+ (list.partial ($.module /._
+ "")
- [/.random_nat .Nat]
- [/.random_int .Int]
- [/.random_rev .Rev]
- [/.random_frac .Frac]
- ))
-
- ($.definition /.random
- ""
- [(/.random
- (is (-> ??? Code)
- format)
- (is (Random ???)
- (random data generator)))])
- )))
+ (list.together
+ (list literal
+ random))
+ ))))
diff --git a/stdlib/source/documentation/lux/meta/target.lux b/stdlib/source/documentation/lux/meta/target.lux
index 4c027dabe..478615140 100644
--- a/stdlib/source/documentation/lux/meta/target.lux
+++ b/stdlib/source/documentation/lux/meta/target.lux
@@ -6,7 +6,7 @@
[text (.only \n)
["%" \\format (.only format)]]
[collection
- ["[0]" list (.use "[1]#[0]" monoid)]]]]]
+ ["[0]" list]]]]]
[\\library
["[0]" /]]
["[0]" /
@@ -36,11 +36,10 @@
(format "The name/ID of a platform targetted by a Lux compiler."
\n "This information can be used to generate code targetting specific platforms, and to make programs cross-platform."))
- (all list#composite
- /js.documentation
- /jvm/type.documentation
- /lua.documentation
- /python.documentation
- /ruby.documentation
- )
+ (list.together
+ (list /js.documentation
+ /jvm/type.documentation
+ /lua.documentation
+ /python.documentation
+ /ruby.documentation))
))
diff --git a/stdlib/source/documentation/lux/meta/target/js.lux b/stdlib/source/documentation/lux/meta/target/js.lux
index 0ac24da98..818429626 100644
--- a/stdlib/source/documentation/lux/meta/target/js.lux
+++ b/stdlib/source/documentation/lux/meta/target/js.lux
@@ -10,95 +10,93 @@
[\\library
["[0]" /]])
-(def all_statement
- (List $.Documentation)
- (list ($.definition /.Statement)
- ($.definition /.Loop)
- ($.definition /.Label)
- ($.definition /.then)
- ($.definition /.function_definition)
- ($.definition /.statement)
- ($.definition /.use_strict)
- ($.definition /.declare)
- ($.definition /.define)
- ($.definition /.set)
- ($.definition /.throw)
- ($.definition /.return)
- ($.definition /.delete)
- ($.definition /.if)
- ($.definition /.when)
- ($.definition /.while)
- ($.definition /.do_while)
- ($.definition /.try)
- ($.definition /.for)
- ($.definition /.label)
- ($.definition /.with_label)
- ($.definition /.break)
- ($.definition /.break_at)
- ($.definition /.continue)
- ($.definition /.continue_at)
- ($.definition /.comment)
- ($.definition /.switch)
- ))
-
(def .public documentation
(List $.Documentation)
- (list.partial ($.module /._
- "")
+ (let [statement (list ($.definition /.Statement)
+ ($.definition /.Loop)
+ ($.definition /.Label)
+ ($.definition /.then)
+ ($.definition /.function_definition)
+ ($.definition /.statement)
+ ($.definition /.use_strict)
+ ($.definition /.declare)
+ ($.definition /.define)
+ ($.definition /.set)
+ ($.definition /.throw)
+ ($.definition /.return)
+ ($.definition /.delete)
+ ($.definition /.if)
+ ($.definition /.when)
+ ($.definition /.while)
+ ($.definition /.do_while)
+ ($.definition /.try)
+ ($.definition /.for)
+ ($.definition /.label)
+ ($.definition /.with_label)
+ ($.definition /.break)
+ ($.definition /.break_at)
+ ($.definition /.continue)
+ ($.definition /.continue_at)
+ ($.definition /.comment)
+ ($.definition /.switch))
+ arithmetic (list ($.definition /.=)
+ ($.definition /.<)
+ ($.definition /.<=)
+ ($.definition /.>)
+ ($.definition /.>=)
+ ($.definition /.+)
+ ($.definition /.-)
+ ($.definition /.*)
+ ($.definition /./)
+ ($.definition /.%)
+ ($.definition /.left_shift)
+ ($.definition /.arithmetic_right_shift)
+ ($.definition /.logic_right_shift)
+ ($.definition /.or)
+ ($.definition /.and)
+ ($.definition /.bit_xor)
+ ($.definition /.bit_or)
+ ($.definition /.bit_and)
+ ($.definition /.not)
+ ($.definition /.bit_not)
+ ($.definition /.opposite))]
+ (list.partial ($.module /._
+ "")
- ($.definition /.Code)
- ($.definition /.code)
- ($.definition /.Expression)
- ($.definition /.Computation)
- ($.definition /.Location)
- ($.definition /.Var)
- ($.definition /.Access)
- ($.definition /.Literal)
- ($.definition /.null)
- ($.definition /.undefined)
- ($.definition /.boolean)
- ($.definition /.number)
- ($.definition /.string)
- ($.definition /.array)
- ($.definition /.var)
- ($.definition /.at)
- ($.definition /.the)
- ($.definition /.apply)
- ($.definition /.do)
- ($.definition /.object)
- ($.definition /.,)
- ($.definition /.function)
- ($.definition /.closure)
- ($.definition /.=)
- ($.definition /.<)
- ($.definition /.<=)
- ($.definition /.>)
- ($.definition /.>=)
- ($.definition /.+)
- ($.definition /.-)
- ($.definition /.*)
- ($.definition /./)
- ($.definition /.%)
- ($.definition /.left_shift)
- ($.definition /.arithmetic_right_shift)
- ($.definition /.logic_right_shift)
- ($.definition /.or)
- ($.definition /.and)
- ($.definition /.bit_xor)
- ($.definition /.bit_or)
- ($.definition /.bit_and)
- ($.definition /.not)
- ($.definition /.bit_not)
- ($.definition /.opposite)
- ($.definition /.to_i32)
- ($.definition /.i32)
- ($.definition /.int)
- ($.definition /.?)
- ($.definition /.type_of)
- ($.definition /.new)
- ($.definition /.++)
- ($.definition /.--)
- ($.definition /.not_a_number?)
+ ($.definition /.Code)
+ ($.definition /.code)
+ ($.definition /.Expression)
+ ($.definition /.Computation)
+ ($.definition /.Location)
+ ($.definition /.Var)
+ ($.definition /.Access)
+ ($.definition /.Literal)
+ ($.definition /.null)
+ ($.definition /.undefined)
+ ($.definition /.boolean)
+ ($.definition /.number)
+ ($.definition /.string)
+ ($.definition /.array)
+ ($.definition /.var)
+ ($.definition /.at)
+ ($.definition /.the)
+ ($.definition /.apply)
+ ($.definition /.do)
+ ($.definition /.object)
+ ($.definition /.,)
+ ($.definition /.function)
+ ($.definition /.closure)
+ ($.definition /.to_i32)
+ ($.definition /.i32)
+ ($.definition /.int)
+ ($.definition /.?)
+ ($.definition /.type_of)
+ ($.definition /.new)
+ ($.definition /.++)
+ ($.definition /.--)
+ ($.definition /.not_a_number?)
- ..all_statement
- ))
+ (list.together
+ (list statement
+ arithmetic))
+ )))
diff --git a/stdlib/source/documentation/lux/meta/target/lua.lux b/stdlib/source/documentation/lux/meta/target/lua.lux
index 231242a26..733db048a 100644
--- a/stdlib/source/documentation/lux/meta/target/lua.lux
+++ b/stdlib/source/documentation/lux/meta/target/lua.lux
@@ -10,90 +10,90 @@
[\\library
["[0]" /]])
-(def all_statement
- (List $.Documentation)
- (list ($.definition /.Statement)
- ($.definition /.Label)
- ($.definition /.label)
- ($.definition /.statement)
- ($.definition /.then)
- ($.definition /.local)
- ($.definition /.set)
- ($.definition /.let)
- ($.definition /.local/1)
- ($.definition /.if)
- ($.definition /.when)
- ($.definition /.while)
- ($.definition /.repeat)
- ($.definition /.for_in)
- ($.definition /.for_step)
- ($.definition /.return)
- ($.definition /.closure)
- ($.definition /.function)
- ($.definition /.local_function)
- ($.definition /.break)
- ($.definition /.set_label)
- ($.definition /.go_to)
- ))
-
(def .public documentation
(List $.Documentation)
- (list.partial ($.module /._
- "")
+ (let [statement (list ($.definition /.Statement)
+ ($.definition /.Label)
+ ($.definition /.label)
+ ($.definition /.statement)
+ ($.definition /.then)
+ ($.definition /.local)
+ ($.definition /.set)
+ ($.definition /.let)
+ ($.definition /.local/1)
+ ($.definition /.if)
+ ($.definition /.when)
+ ($.definition /.while)
+ ($.definition /.repeat)
+ ($.definition /.for_in)
+ ($.definition /.for_step)
+ ($.definition /.return)
+ ($.definition /.closure)
+ ($.definition /.function)
+ ($.definition /.local_function)
+ ($.definition /.break)
+ ($.definition /.set_label)
+ ($.definition /.go_to)
+ )
+ arithmetic (list ($.definition /.=)
+ ($.definition /.<)
+ ($.definition /.<=)
+ ($.definition /.>)
+ ($.definition /.>=)
+ ($.definition /.+)
+ ($.definition /.-)
+ ($.definition /.*)
+ ($.definition /.^)
+ ($.definition /./)
+ ($.definition /.//)
+ ($.definition /.%))
+ bitwise (list ($.definition /.bit_or)
+ ($.definition /.bit_and)
+ ($.definition /.bit_xor)
+ ($.definition /.bit_shl)
+ ($.definition /.bit_shr))]
+ (list.partial ($.module /._
+ "")
- ($.definition /.Code)
- ($.definition /.equivalence)
- ($.definition /.hash)
- ($.definition /.manual)
- ($.definition /.code)
- ($.definition /.Expression)
- ($.definition /.Computation)
- ($.definition /.Location)
- ($.definition /.Literal)
- ($.definition /.Var)
- ($.definition /.Access)
- ($.definition /.nil)
- ($.definition /.boolean)
- ($.definition /.int)
- ($.definition /.float)
- ($.definition /.string)
- ($.definition /.multi)
- ($.definition /.array)
- ($.definition /.table)
- ($.definition /.item)
- ($.definition /.the)
- ($.definition /.length)
- ($.definition /.apply)
- ($.definition /.do)
- ($.definition /.=)
- ($.definition /.<)
- ($.definition /.<=)
- ($.definition /.>)
- ($.definition /.>=)
- ($.definition /.+)
- ($.definition /.-)
- ($.definition /.*)
- ($.definition /.^)
- ($.definition /./)
- ($.definition /.//)
- ($.definition /.%)
- ($.definition /.concat)
- ($.definition /.or)
- ($.definition /.and)
- ($.definition /.bit_or)
- ($.definition /.bit_and)
- ($.definition /.bit_xor)
- ($.definition /.bit_shl)
- ($.definition /.bit_shr)
- ($.definition /.not)
- ($.definition /.opposite)
- ($.definition /.var)
- ($.definition /.error/1)
- ($.definition /.print/1)
- ($.definition /.require/1)
- ($.definition /.type/1)
- ($.definition /.ipairs/1)
- ($.definition /.error/2)
+ ($.definition /.Code)
+ ($.definition /.equivalence)
+ ($.definition /.hash)
+ ($.definition /.manual)
+ ($.definition /.code)
+ ($.definition /.Expression)
+ ($.definition /.Computation)
+ ($.definition /.Location)
+ ($.definition /.Literal)
+ ($.definition /.Var)
+ ($.definition /.Access)
+ ($.definition /.nil)
+ ($.definition /.boolean)
+ ($.definition /.int)
+ ($.definition /.float)
+ ($.definition /.string)
+ ($.definition /.multi)
+ ($.definition /.array)
+ ($.definition /.table)
+ ($.definition /.item)
+ ($.definition /.the)
+ ($.definition /.length)
+ ($.definition /.apply)
+ ($.definition /.do)
+ ($.definition /.concat)
+ ($.definition /.or)
+ ($.definition /.and)
+ ($.definition /.not)
+ ($.definition /.opposite)
+ ($.definition /.var)
+ ($.definition /.error/1)
+ ($.definition /.print/1)
+ ($.definition /.require/1)
+ ($.definition /.type/1)
+ ($.definition /.ipairs/1)
+ ($.definition /.error/2)
- ..all_statement
- ))
+ (list.together
+ (list statement
+ arithmetic
+ bitwise))
+ )))
diff --git a/stdlib/source/documentation/lux/world/locale.lux b/stdlib/source/documentation/lux/world/locale.lux
index 6dc04bd77..00d97af75 100644
--- a/stdlib/source/documentation/lux/world/locale.lux
+++ b/stdlib/source/documentation/lux/world/locale.lux
@@ -6,7 +6,7 @@
[text
["%" \\format (.only format)]]
[collection
- ["[0]" list (.use "[1]#[0]" monoid)]]]]]
+ ["[0]" list]]]]]
["[0]" /
["[1][0]" language]
["[1][0]" territory]]
@@ -29,8 +29,7 @@
""
[(locale language territory encoding)])
- (all list#composite
- /language.documentation
- /territory.documentation
- )
+ (list.together
+ (list /language.documentation
+ /territory.documentation))
))
diff --git a/stdlib/source/documentation/lux/world/locale/language.lux b/stdlib/source/documentation/lux/world/locale/language.lux
index 615e56ae7..82d251abb 100644
--- a/stdlib/source/documentation/lux/world/locale/language.lux
+++ b/stdlib/source/documentation/lux/world/locale/language.lux
@@ -10,654 +10,574 @@
[\\library
["[0]" /]])
-(def items/~
- (List $.Documentation)
- (list ($.definition /.uncoded)
- ($.definition /.multiple)
- ($.definition /.undetermined)
- ($.definition /.not_applicable)))
-
-(def items/a
- (List $.Documentation)
- (list ($.definition /.afar)
- ($.definition /.abkhazian)
- ($.definition /.achinese)
- ($.definition /.acoli)
- ($.definition /.adangme)
- ($.definition /.adyghe)
- ($.definition /.afro_asiatic)
- ($.definition /.afrihili)
- ($.definition /.afrikaans)
- ($.definition /.ainu)
- ($.definition /.akan)
- ($.definition /.akkadian)
- ($.definition /.aleut)
- ($.definition /.algonquian)
- ($.definition /.southern_altai)
- ($.definition /.amharic)
- ($.definition /.old_english)
- ($.definition /.angika)
- ($.definition /.apache)
- ($.definition /.arabic)
- ($.definition /.official_aramaic)
- ($.definition /.imperial_aramaic)
- ($.definition /.aragonese)
- ($.definition /.mapudungun)
- ($.definition /.arapaho)
- ($.definition /.artificial)
- ($.definition /.arawak)
- ($.definition /.assamese)
- ($.definition /.asturian)
- ($.definition /.bable)
- ($.definition /.leonese)
- ($.definition /.asturleonese)
- ($.definition /.athapascan)
- ($.definition /.australian)
- ($.definition /.avaric)
- ($.definition /.avestan)
- ($.definition /.awadhi)
- ($.definition /.aymara)
- ($.definition /.azerbaijani)))
-
-(def items/b
- (List $.Documentation)
- (list ($.definition /.banda)
- ($.definition /.bamileke)
- ($.definition /.bashkir)
- ($.definition /.baluchi)
- ($.definition /.bambara)
- ($.definition /.balinese)
- ($.definition /.basa)
- ($.definition /.baltic)
- ($.definition /.beja)
- ($.definition /.belarusian)
- ($.definition /.bemba)
- ($.definition /.bengali)
- ($.definition /.berber)
- ($.definition /.bhojpuri)
- ($.definition /.bihari)
- ($.definition /.bikol)
- ($.definition /.bini)
- ($.definition /.edo)
- ($.definition /.bislama)
- ($.definition /.siksika)
- ($.definition /.bantu)
- ($.definition /.tibetan)
- ($.definition /.bosnian)
- ($.definition /.braj)
- ($.definition /.breton)
- ($.definition /.batak)
- ($.definition /.buriat)
- ($.definition /.buginese)
- ($.definition /.bulgarian)
- ($.definition /.blin)
- ($.definition /.bilin)))
-
-(def items/c
- (List $.Documentation)
- (list ($.definition /.caddo)
- ($.definition /.central_american_indian)
- ($.definition /.galibi_carib)
- ($.definition /.catalan)
- ($.definition /.valencian)
- ($.definition /.caucasian)
- ($.definition /.cebuano)
- ($.definition /.celtic)
- ($.definition /.czech)
- ($.definition /.chamorro)
- ($.definition /.chibcha)
- ($.definition /.chechen)
- ($.definition /.chagatai)
- ($.definition /.chuukese)
- ($.definition /.mari)
- ($.definition /.chinook)
- ($.definition /.choctaw)
- ($.definition /.chipewyan)
- ($.definition /.cherokee)
- ($.definition /.church_slavic)
- ($.definition /.old_slavonic)
- ($.definition /.church_slavonic)
- ($.definition /.old_bulgarian)
- ($.definition /.old_church_slavonic)
- ($.definition /.chuvash)
- ($.definition /.cheyenne)
- ($.definition /.chamic)
- ($.definition /.montenegrin)
- ($.definition /.coptic)
- ($.definition /.cornish)
- ($.definition /.corsican)
- ($.definition /.creoles_and_pidgins/english)
- ($.definition /.creoles_and_pidgins/french)
- ($.definition /.creoles_and_pidgins/portuguese)
- ($.definition /.cree)
- ($.definition /.crimean)
- ($.definition /.creoles_and_pidgins)
- ($.definition /.kashubian)
- ($.definition /.cushitic)
- ($.definition /.welsh)))
-
-(def items/d
- (List $.Documentation)
- (list ($.definition /.dakota)
- ($.definition /.danish)
- ($.definition /.dargwa)
- ($.definition /.land_dayak)
- ($.definition /.delaware)
- ($.definition /.slavey)
- ($.definition /.german)
- ($.definition /.dogrib)
- ($.definition /.dinka)
- ($.definition /.dhivehi)
- ($.definition /.maldivian)
- ($.definition /.dogri)
- ($.definition /.dravidian)
- ($.definition /.lower_sorbian)
- ($.definition /.duala)
- ($.definition /.middle_dutch)
- ($.definition /.dyula)
- ($.definition /.dzongkha)))
-
-(def items/e
- (List $.Documentation)
- (list ($.definition /.efik)
- ($.definition /.egyptian)
- ($.definition /.ekajuk)
- ($.definition /.greek)
- ($.definition /.elamite)
- ($.definition /.english)
- ($.definition /.middle_english)
- ($.definition /.esperanto)
- ($.definition /.estonian)
- ($.definition /.basque)
- ($.definition /.ewe)
- ($.definition /.ewondo)))
-
-(def items/f
- (List $.Documentation)
- (list ($.definition /.fang)
- ($.definition /.faroese)
- ($.definition /.persian)
- ($.definition /.fanti)
- ($.definition /.fijian)
- ($.definition /.filipino)
- ($.definition /.finnish)
- ($.definition /.finno_ugrian)
- ($.definition /.fon)
- ($.definition /.french)
- ($.definition /.middle_french)
- ($.definition /.old_french)
- ($.definition /.northern_frisian)
- ($.definition /.eastern_frisian)
- ($.definition /.western_frisian)
- ($.definition /.fulah)
- ($.definition /.friulian)))
-
-(def items/g
- (List $.Documentation)
- (list ($.definition /.ga)
- ($.definition /.gayo)
- ($.definition /.gbaya)
- ($.definition /.germanic)
- ($.definition /.geez)
- ($.definition /.gilbertese)
- ($.definition /.gaelic)
- ($.definition /.irish)
- ($.definition /.galician)
- ($.definition /.manx)
- ($.definition /.middle_high_german)
- ($.definition /.old_high_german)
- ($.definition /.gondi)
- ($.definition /.gorontalo)
- ($.definition /.gothic)
- ($.definition /.grebo)
- ($.definition /.ancient_greek)
- ($.definition /.guarani)
- ($.definition /.swiss_german)
- ($.definition /.alemannic)
- ($.definition /.alsatian)
- ($.definition /.gujarati)
- ($.definition /.gwich'in)))
-
-(def items/h
- (List $.Documentation)
- (list ($.definition /.haida)
- ($.definition /.haitian)
- ($.definition /.hausa)
- ($.definition /.hawaiian)
- ($.definition /.hebrew)
- ($.definition /.herero)
- ($.definition /.hiligaynon)
- ($.definition /.himachali)
- ($.definition /.hindi)
- ($.definition /.hittite)
- ($.definition /.hmong)
- ($.definition /.hiri_motu)
- ($.definition /.croatian)
- ($.definition /.upper_sorbian)
- ($.definition /.hungarian)
- ($.definition /.hupa)
- ($.definition /.armenian)))
-
-(def items/i
- (List $.Documentation)
- (list ($.definition /.iban)
- ($.definition /.igbo)
- ($.definition /.ido)
- ($.definition /.sichuan_yi)
- ($.definition /.nuosu)
- ($.definition /.ijo)
- ($.definition /.inuktitut)
- ($.definition /.interlingue)
- ($.definition /.iloko)
- ($.definition /.interlingua)
- ($.definition /.indic)
- ($.definition /.indonesian)
- ($.definition /.indo_european)
- ($.definition /.ingush)
- ($.definition /.inupiaq)
- ($.definition /.iranian)
- ($.definition /.iroquoian)
- ($.definition /.icelandic)
- ($.definition /.italian)))
-
-(def items/j
- (List $.Documentation)
- (list ($.definition /.javanese)
- ($.definition /.lojban)
- ($.definition /.japanese)
- ($.definition /.judeo_persian)
- ($.definition /.judeo_arabic)))
-
-(def items/k
- (List $.Documentation)
- (list ($.definition /.kara_kalpak)
- ($.definition /.kabyle)
- ($.definition /.kachin)
- ($.definition /.jingpho)
- ($.definition /.kalaallisut)
- ($.definition /.greenlandic)
- ($.definition /.kamba)
- ($.definition /.kannada)
- ($.definition /.karen)
- ($.definition /.kashmiri)
- ($.definition /.georgian)
- ($.definition /.kanuri)
- ($.definition /.kawi)
- ($.definition /.kazakh)
- ($.definition /.kabardian)
- ($.definition /.khasi)
- ($.definition /.khoisan)
- ($.definition /.central_khmer)
- ($.definition /.khotanese)
- ($.definition /.sakan)
- ($.definition /.gikuyu)
- ($.definition /.kinyarwanda)
- ($.definition /.kyrgyz)
- ($.definition /.kimbundu)
- ($.definition /.konkani)
- ($.definition /.komi)
- ($.definition /.kongo)
- ($.definition /.korean)
- ($.definition /.kosraean)
- ($.definition /.kpelle)
- ($.definition /.karachay_balkar)
- ($.definition /.karelian)
- ($.definition /.kru)
- ($.definition /.kurukh)
- ($.definition /.kwanyama)
- ($.definition /.kumyk)
- ($.definition /.kurdish)
- ($.definition /.kutenai)))
-
-(def items/l
- (List $.Documentation)
- (list ($.definition /.ladino)
- ($.definition /.lahnda)
- ($.definition /.lamba)
- ($.definition /.lao)
- ($.definition /.latin)
- ($.definition /.latvian)
- ($.definition /.lezghian)
- ($.definition /.limburgan)
- ($.definition /.lingala)
- ($.definition /.lithuanian)
- ($.definition /.mongo)
- ($.definition /.lozi)
- ($.definition /.luxembourgish)
- ($.definition /.luba_lulua)
- ($.definition /.luba_katanga)
- ($.definition /.ganda)
- ($.definition /.luiseno)
- ($.definition /.lunda)
- ($.definition /.luo)
- ($.definition /.lushai)))
-
-(def items/m
- (List $.Documentation)
- (list ($.definition /.madurese)
- ($.definition /.magahi)
- ($.definition /.marshallese)
- ($.definition /.maithili)
- ($.definition /.makasar)
- ($.definition /.malayalam)
- ($.definition /.mandingo)
- ($.definition /.austronesian)
- ($.definition /.marathi)
- ($.definition /.masai)
- ($.definition /.moksha)
- ($.definition /.mandar)
- ($.definition /.mende)
- ($.definition /.middle_irish)
- ($.definition /.mi'kmaq)
- ($.definition /.micmac)
- ($.definition /.minangkabau)
- ($.definition /.macedonian)
- ($.definition /.mon_khmer)
- ($.definition /.malagasy)
- ($.definition /.maltese)
- ($.definition /.manchu)
- ($.definition /.manipuri)
- ($.definition /.manobo)
- ($.definition /.mohawk)
- ($.definition /.mongolian)
- ($.definition /.mossi)
- ($.definition /.maori)
- ($.definition /.malay)
- ($.definition /.munda)
- ($.definition /.creek)
- ($.definition /.mirandese)
- ($.definition /.marwari)
- ($.definition /.burmese)
- ($.definition /.mayan)
- ($.definition /.erzya)))
-
-(def items/n
- (List $.Documentation)
- (list ($.definition /.nahuatl)
- ($.definition /.north_american_indian)
- ($.definition /.neapolitan)
- ($.definition /.nauru)
- ($.definition /.navajo)
- ($.definition /.south_ndebele)
- ($.definition /.north_ndebele)
- ($.definition /.ndonga)
- ($.definition /.low_german)
- ($.definition /.nepali)
- ($.definition /.newari)
- ($.definition /.nepal_bhasa)
- ($.definition /.nias)
- ($.definition /.niger_kordofanian)
- ($.definition /.niuean)
- ($.definition /.dutch)
- ($.definition /.flemish)
- ($.definition /.nynorsk)
- ($.definition /.bokmal)
- ($.definition /.nogai)
- ($.definition /.old_norse)
- ($.definition /.norwegian)
- ($.definition /.n'ko)
- ($.definition /.northern_sotho)
- ($.definition /.pedi)
- ($.definition /.sepedi)
- ($.definition /.nubian)
- ($.definition /.old_newari)
- ($.definition /.classical_newari)
- ($.definition /.classical_nepal_bhasa)
- ($.definition /.nyanja)
- ($.definition /.chichewa)
- ($.definition /.chewa)
- ($.definition /.nyamwezi)
- ($.definition /.nyankole)
- ($.definition /.nyoro)
- ($.definition /.nzima)))
-
-(def items/o
- (List $.Documentation)
- (list ($.definition /.occitan)
- ($.definition /.provencal)
- ($.definition /.ojibwa)
- ($.definition /.oriya)
- ($.definition /.oromo)
- ($.definition /.osage)
- ($.definition /.ossetic)
- ($.definition /.ottoman_turkish)
- ($.definition /.otomian)))
-
-(def items/p
- (List $.Documentation)
- (list ($.definition /.papuan)
- ($.definition /.pangasinan)
- ($.definition /.pahlavi)
- ($.definition /.pampanga)
- ($.definition /.kapampangan)
- ($.definition /.punjabi)
- ($.definition /.papiamento)
- ($.definition /.palauan)
- ($.definition /.old_persian)
- ($.definition /.philippine)
- ($.definition /.phoenician)
- ($.definition /.pali)
- ($.definition /.polish)
- ($.definition /.pohnpeian)
- ($.definition /.portuguese)
- ($.definition /.prakrit)
- ($.definition /.old_provencal)
- ($.definition /.pashto)))
-
-(def items/q
- (List $.Documentation)
- (list ($.definition /.quechua)))
-
-(def items/r
- (List $.Documentation)
- (list ($.definition /.rajasthani)
- ($.definition /.rapanui)
- ($.definition /.rarotongan)
- ($.definition /.cook_islands_maori)
- ($.definition /.romance)
- ($.definition /.romansh)
- ($.definition /.romany)
- ($.definition /.romanian)
- ($.definition /.moldavian)
- ($.definition /.moldovan)
- ($.definition /.rundi)
- ($.definition /.aromanian)
- ($.definition /.arumanian)
- ($.definition /.macedo_romanian)
- ($.definition /.russian)))
-
-(def items/s
- (List $.Documentation)
- (list ($.definition /.sandawe)
- ($.definition /.sango)
- ($.definition /.yakut)
- ($.definition /.south_american_indian)
- ($.definition /.salishan)
- ($.definition /.samaritan_aramaic)
- ($.definition /.sanskrit)
- ($.definition /.sasak)
- ($.definition /.santali)
- ($.definition /.sicilian)
- ($.definition /.scots)
- ($.definition /.selkup)
- ($.definition /.semitic)
- ($.definition /.old_irish)
- ($.definition /.sign)
- ($.definition /.shan)
- ($.definition /.sidamo)
- ($.definition /.sinhalese)
- ($.definition /.siouan)
- ($.definition /.sino_tibetan)
- ($.definition /.slavic)
- ($.definition /.slovak)
- ($.definition /.slovenian)
- ($.definition /.southern_sami)
- ($.definition /.northern_sami)
- ($.definition /.sami)
- ($.definition /.lule)
- ($.definition /.inari)
- ($.definition /.samoan)
- ($.definition /.skolt_sami)
- ($.definition /.shona)
- ($.definition /.sindhi)
- ($.definition /.soninke)
- ($.definition /.sogdian)
- ($.definition /.somali)
- ($.definition /.songhai)
- ($.definition /.southern_sotho)
- ($.definition /.spanish)
- ($.definition /.castilian)
- ($.definition /.albanian)
- ($.definition /.sardinian)
- ($.definition /.sranan_tongo)
- ($.definition /.serbian)
- ($.definition /.serer)
- ($.definition /.nilo_saharan)
- ($.definition /.swati)
- ($.definition /.sukuma)
- ($.definition /.sundanese)
- ($.definition /.susu)
- ($.definition /.sumerian)
- ($.definition /.swahili)
- ($.definition /.swedish)
- ($.definition /.classical_syriac)
- ($.definition /.syriac)))
-
-(def items/t
- (List $.Documentation)
- (list ($.definition /.tahitian)
- ($.definition /.tai)
- ($.definition /.tamil)
- ($.definition /.tatar)
- ($.definition /.telugu)
- ($.definition /.timne)
- ($.definition /.tereno)
- ($.definition /.tetum)
- ($.definition /.tajik)
- ($.definition /.tagalog)
- ($.definition /.thai)
- ($.definition /.tigre)
- ($.definition /.tigrinya)
- ($.definition /.tiv)
- ($.definition /.tokelau)
- ($.definition /.klingon)
- ($.definition /.tlingit)
- ($.definition /.tamashek)
- ($.definition /.tonga)
- ($.definition /.tongan)
- ($.definition /.tok_pisin)
- ($.definition /.tsimshian)
- ($.definition /.tswana)
- ($.definition /.tsonga)
- ($.definition /.turkmen)
- ($.definition /.tumbuka)
- ($.definition /.tupi)
- ($.definition /.turkish)
- ($.definition /.altaic)
- ($.definition /.tuvalu)
- ($.definition /.twi)
- ($.definition /.tuvinian)))
-
-(def items/u
- (List $.Documentation)
- (list ($.definition /.udmurt)
- ($.definition /.ugaritic)
- ($.definition /.uyghur)
- ($.definition /.ukrainian)
- ($.definition /.umbundu)
- ($.definition /.urdu)
- ($.definition /.uzbek)))
-
-(def items/v
- (List $.Documentation)
- (list ($.definition /.vai)
- ($.definition /.venda)
- ($.definition /.vietnamese)
- ($.definition /.volapük)
- ($.definition /.votic)))
-
-(def items/w
- (List $.Documentation)
- (list ($.definition /.wakashan)
- ($.definition /.walamo)
- ($.definition /.waray)
- ($.definition /.washo)
- ($.definition /.sorbian)
- ($.definition /.walloon)
- ($.definition /.wolof)))
-
-(def items/x
- (List $.Documentation)
- (list ($.definition /.kalmyk)
- ($.definition /.oirat)
- ($.definition /.xhosa)))
-
-(def items/y
- (List $.Documentation)
- (list ($.definition /.yao)
- ($.definition /.yapese)
- ($.definition /.yiddish)
- ($.definition /.yoruba)
- ($.definition /.yupik)))
-
-(def items/z
- (List $.Documentation)
- (list ($.definition /.zapotec)
- ($.definition /.blissymbols)
- ($.definition /.zenaga)
- ($.definition /.standard_moroccan_tamazight)
- ($.definition /.zhuang)
- ($.definition /.chinese)
- ($.definition /.zande)
- ($.definition /.zulu)
- ($.definition /.zuni)
- ($.definition /.zaza)
- ($.definition /.dimili)
- ($.definition /.dimli)
- ($.definition /.kirdki)
- ($.definition /.kirmanjki)
- ($.definition /.zazaki)))
-
(def .public documentation
(List $.Documentation)
- (`` (list.partial ($.module /._
- "")
+ (let [items/~ (list ($.definition /.uncoded)
+ ($.definition /.multiple)
+ ($.definition /.undetermined)
+ ($.definition /.not_applicable))
+ items/a (list ($.definition /.afar)
+ ($.definition /.abkhazian)
+ ($.definition /.achinese)
+ ($.definition /.acoli)
+ ($.definition /.adangme)
+ ($.definition /.adyghe)
+ ($.definition /.afro_asiatic)
+ ($.definition /.afrihili)
+ ($.definition /.afrikaans)
+ ($.definition /.ainu)
+ ($.definition /.akan)
+ ($.definition /.akkadian)
+ ($.definition /.aleut)
+ ($.definition /.algonquian)
+ ($.definition /.southern_altai)
+ ($.definition /.amharic)
+ ($.definition /.old_english)
+ ($.definition /.angika)
+ ($.definition /.apache)
+ ($.definition /.arabic)
+ ($.definition /.official_aramaic)
+ ($.definition /.imperial_aramaic)
+ ($.definition /.aragonese)
+ ($.definition /.mapudungun)
+ ($.definition /.arapaho)
+ ($.definition /.artificial)
+ ($.definition /.arawak)
+ ($.definition /.assamese)
+ ($.definition /.asturian)
+ ($.definition /.bable)
+ ($.definition /.leonese)
+ ($.definition /.asturleonese)
+ ($.definition /.athapascan)
+ ($.definition /.australian)
+ ($.definition /.avaric)
+ ($.definition /.avestan)
+ ($.definition /.awadhi)
+ ($.definition /.aymara)
+ ($.definition /.azerbaijani))
+ items/b (list ($.definition /.banda)
+ ($.definition /.bamileke)
+ ($.definition /.bashkir)
+ ($.definition /.baluchi)
+ ($.definition /.bambara)
+ ($.definition /.balinese)
+ ($.definition /.basa)
+ ($.definition /.baltic)
+ ($.definition /.beja)
+ ($.definition /.belarusian)
+ ($.definition /.bemba)
+ ($.definition /.bengali)
+ ($.definition /.berber)
+ ($.definition /.bhojpuri)
+ ($.definition /.bihari)
+ ($.definition /.bikol)
+ ($.definition /.bini)
+ ($.definition /.edo)
+ ($.definition /.bislama)
+ ($.definition /.siksika)
+ ($.definition /.bantu)
+ ($.definition /.tibetan)
+ ($.definition /.bosnian)
+ ($.definition /.braj)
+ ($.definition /.breton)
+ ($.definition /.batak)
+ ($.definition /.buriat)
+ ($.definition /.buginese)
+ ($.definition /.bulgarian)
+ ($.definition /.blin)
+ ($.definition /.bilin))
+ items/c (list ($.definition /.caddo)
+ ($.definition /.central_american_indian)
+ ($.definition /.galibi_carib)
+ ($.definition /.catalan)
+ ($.definition /.valencian)
+ ($.definition /.caucasian)
+ ($.definition /.cebuano)
+ ($.definition /.celtic)
+ ($.definition /.czech)
+ ($.definition /.chamorro)
+ ($.definition /.chibcha)
+ ($.definition /.chechen)
+ ($.definition /.chagatai)
+ ($.definition /.chuukese)
+ ($.definition /.mari)
+ ($.definition /.chinook)
+ ($.definition /.choctaw)
+ ($.definition /.chipewyan)
+ ($.definition /.cherokee)
+ ($.definition /.church_slavic)
+ ($.definition /.old_slavonic)
+ ($.definition /.church_slavonic)
+ ($.definition /.old_bulgarian)
+ ($.definition /.old_church_slavonic)
+ ($.definition /.chuvash)
+ ($.definition /.cheyenne)
+ ($.definition /.chamic)
+ ($.definition /.montenegrin)
+ ($.definition /.coptic)
+ ($.definition /.cornish)
+ ($.definition /.corsican)
+ ($.definition /.creoles_and_pidgins/english)
+ ($.definition /.creoles_and_pidgins/french)
+ ($.definition /.creoles_and_pidgins/portuguese)
+ ($.definition /.cree)
+ ($.definition /.crimean)
+ ($.definition /.creoles_and_pidgins)
+ ($.definition /.kashubian)
+ ($.definition /.cushitic)
+ ($.definition /.welsh))
+ items/d (list ($.definition /.dakota)
+ ($.definition /.danish)
+ ($.definition /.dargwa)
+ ($.definition /.land_dayak)
+ ($.definition /.delaware)
+ ($.definition /.slavey)
+ ($.definition /.german)
+ ($.definition /.dogrib)
+ ($.definition /.dinka)
+ ($.definition /.dhivehi)
+ ($.definition /.maldivian)
+ ($.definition /.dogri)
+ ($.definition /.dravidian)
+ ($.definition /.lower_sorbian)
+ ($.definition /.duala)
+ ($.definition /.middle_dutch)
+ ($.definition /.dyula)
+ ($.definition /.dzongkha))
+ items/e (list ($.definition /.efik)
+ ($.definition /.egyptian)
+ ($.definition /.ekajuk)
+ ($.definition /.greek)
+ ($.definition /.elamite)
+ ($.definition /.english)
+ ($.definition /.middle_english)
+ ($.definition /.esperanto)
+ ($.definition /.estonian)
+ ($.definition /.basque)
+ ($.definition /.ewe)
+ ($.definition /.ewondo))
+ items/f (list ($.definition /.fang)
+ ($.definition /.faroese)
+ ($.definition /.persian)
+ ($.definition /.fanti)
+ ($.definition /.fijian)
+ ($.definition /.filipino)
+ ($.definition /.finnish)
+ ($.definition /.finno_ugrian)
+ ($.definition /.fon)
+ ($.definition /.french)
+ ($.definition /.middle_french)
+ ($.definition /.old_french)
+ ($.definition /.northern_frisian)
+ ($.definition /.eastern_frisian)
+ ($.definition /.western_frisian)
+ ($.definition /.fulah)
+ ($.definition /.friulian))
+ items/g (list ($.definition /.ga)
+ ($.definition /.gayo)
+ ($.definition /.gbaya)
+ ($.definition /.germanic)
+ ($.definition /.geez)
+ ($.definition /.gilbertese)
+ ($.definition /.gaelic)
+ ($.definition /.irish)
+ ($.definition /.galician)
+ ($.definition /.manx)
+ ($.definition /.middle_high_german)
+ ($.definition /.old_high_german)
+ ($.definition /.gondi)
+ ($.definition /.gorontalo)
+ ($.definition /.gothic)
+ ($.definition /.grebo)
+ ($.definition /.ancient_greek)
+ ($.definition /.guarani)
+ ($.definition /.swiss_german)
+ ($.definition /.alemannic)
+ ($.definition /.alsatian)
+ ($.definition /.gujarati)
+ ($.definition /.gwich'in))
+ items/h (list ($.definition /.haida)
+ ($.definition /.haitian)
+ ($.definition /.hausa)
+ ($.definition /.hawaiian)
+ ($.definition /.hebrew)
+ ($.definition /.herero)
+ ($.definition /.hiligaynon)
+ ($.definition /.himachali)
+ ($.definition /.hindi)
+ ($.definition /.hittite)
+ ($.definition /.hmong)
+ ($.definition /.hiri_motu)
+ ($.definition /.croatian)
+ ($.definition /.upper_sorbian)
+ ($.definition /.hungarian)
+ ($.definition /.hupa)
+ ($.definition /.armenian))
+ items/i (list ($.definition /.iban)
+ ($.definition /.igbo)
+ ($.definition /.ido)
+ ($.definition /.sichuan_yi)
+ ($.definition /.nuosu)
+ ($.definition /.ijo)
+ ($.definition /.inuktitut)
+ ($.definition /.interlingue)
+ ($.definition /.iloko)
+ ($.definition /.interlingua)
+ ($.definition /.indic)
+ ($.definition /.indonesian)
+ ($.definition /.indo_european)
+ ($.definition /.ingush)
+ ($.definition /.inupiaq)
+ ($.definition /.iranian)
+ ($.definition /.iroquoian)
+ ($.definition /.icelandic)
+ ($.definition /.italian))
+ items/j (list ($.definition /.javanese)
+ ($.definition /.lojban)
+ ($.definition /.japanese)
+ ($.definition /.judeo_persian)
+ ($.definition /.judeo_arabic))
+ items/k (list ($.definition /.kara_kalpak)
+ ($.definition /.kabyle)
+ ($.definition /.kachin)
+ ($.definition /.jingpho)
+ ($.definition /.kalaallisut)
+ ($.definition /.greenlandic)
+ ($.definition /.kamba)
+ ($.definition /.kannada)
+ ($.definition /.karen)
+ ($.definition /.kashmiri)
+ ($.definition /.georgian)
+ ($.definition /.kanuri)
+ ($.definition /.kawi)
+ ($.definition /.kazakh)
+ ($.definition /.kabardian)
+ ($.definition /.khasi)
+ ($.definition /.khoisan)
+ ($.definition /.central_khmer)
+ ($.definition /.khotanese)
+ ($.definition /.sakan)
+ ($.definition /.gikuyu)
+ ($.definition /.kinyarwanda)
+ ($.definition /.kyrgyz)
+ ($.definition /.kimbundu)
+ ($.definition /.konkani)
+ ($.definition /.komi)
+ ($.definition /.kongo)
+ ($.definition /.korean)
+ ($.definition /.kosraean)
+ ($.definition /.kpelle)
+ ($.definition /.karachay_balkar)
+ ($.definition /.karelian)
+ ($.definition /.kru)
+ ($.definition /.kurukh)
+ ($.definition /.kwanyama)
+ ($.definition /.kumyk)
+ ($.definition /.kurdish)
+ ($.definition /.kutenai))
+ items/l (list ($.definition /.ladino)
+ ($.definition /.lahnda)
+ ($.definition /.lamba)
+ ($.definition /.lao)
+ ($.definition /.latin)
+ ($.definition /.latvian)
+ ($.definition /.lezghian)
+ ($.definition /.limburgan)
+ ($.definition /.lingala)
+ ($.definition /.lithuanian)
+ ($.definition /.mongo)
+ ($.definition /.lozi)
+ ($.definition /.luxembourgish)
+ ($.definition /.luba_lulua)
+ ($.definition /.luba_katanga)
+ ($.definition /.ganda)
+ ($.definition /.luiseno)
+ ($.definition /.lunda)
+ ($.definition /.luo)
+ ($.definition /.lushai))
+ items/m (list ($.definition /.madurese)
+ ($.definition /.magahi)
+ ($.definition /.marshallese)
+ ($.definition /.maithili)
+ ($.definition /.makasar)
+ ($.definition /.malayalam)
+ ($.definition /.mandingo)
+ ($.definition /.austronesian)
+ ($.definition /.marathi)
+ ($.definition /.masai)
+ ($.definition /.moksha)
+ ($.definition /.mandar)
+ ($.definition /.mende)
+ ($.definition /.middle_irish)
+ ($.definition /.mi'kmaq)
+ ($.definition /.micmac)
+ ($.definition /.minangkabau)
+ ($.definition /.macedonian)
+ ($.definition /.mon_khmer)
+ ($.definition /.malagasy)
+ ($.definition /.maltese)
+ ($.definition /.manchu)
+ ($.definition /.manipuri)
+ ($.definition /.manobo)
+ ($.definition /.mohawk)
+ ($.definition /.mongolian)
+ ($.definition /.mossi)
+ ($.definition /.maori)
+ ($.definition /.malay)
+ ($.definition /.munda)
+ ($.definition /.creek)
+ ($.definition /.mirandese)
+ ($.definition /.marwari)
+ ($.definition /.burmese)
+ ($.definition /.mayan)
+ ($.definition /.erzya))
+ items/n (list ($.definition /.nahuatl)
+ ($.definition /.north_american_indian)
+ ($.definition /.neapolitan)
+ ($.definition /.nauru)
+ ($.definition /.navajo)
+ ($.definition /.south_ndebele)
+ ($.definition /.north_ndebele)
+ ($.definition /.ndonga)
+ ($.definition /.low_german)
+ ($.definition /.nepali)
+ ($.definition /.newari)
+ ($.definition /.nepal_bhasa)
+ ($.definition /.nias)
+ ($.definition /.niger_kordofanian)
+ ($.definition /.niuean)
+ ($.definition /.dutch)
+ ($.definition /.flemish)
+ ($.definition /.nynorsk)
+ ($.definition /.bokmal)
+ ($.definition /.nogai)
+ ($.definition /.old_norse)
+ ($.definition /.norwegian)
+ ($.definition /.n'ko)
+ ($.definition /.northern_sotho)
+ ($.definition /.pedi)
+ ($.definition /.sepedi)
+ ($.definition /.nubian)
+ ($.definition /.old_newari)
+ ($.definition /.classical_newari)
+ ($.definition /.classical_nepal_bhasa)
+ ($.definition /.nyanja)
+ ($.definition /.chichewa)
+ ($.definition /.chewa)
+ ($.definition /.nyamwezi)
+ ($.definition /.nyankole)
+ ($.definition /.nyoro)
+ ($.definition /.nzima))
+ items/o (list ($.definition /.occitan)
+ ($.definition /.provencal)
+ ($.definition /.ojibwa)
+ ($.definition /.oriya)
+ ($.definition /.oromo)
+ ($.definition /.osage)
+ ($.definition /.ossetic)
+ ($.definition /.ottoman_turkish)
+ ($.definition /.otomian))
+ items/p (list ($.definition /.papuan)
+ ($.definition /.pangasinan)
+ ($.definition /.pahlavi)
+ ($.definition /.pampanga)
+ ($.definition /.kapampangan)
+ ($.definition /.punjabi)
+ ($.definition /.papiamento)
+ ($.definition /.palauan)
+ ($.definition /.old_persian)
+ ($.definition /.philippine)
+ ($.definition /.phoenician)
+ ($.definition /.pali)
+ ($.definition /.polish)
+ ($.definition /.pohnpeian)
+ ($.definition /.portuguese)
+ ($.definition /.prakrit)
+ ($.definition /.old_provencal)
+ ($.definition /.pashto))
+ items/q (list ($.definition /.quechua))
+ items/r (list ($.definition /.rajasthani)
+ ($.definition /.rapanui)
+ ($.definition /.rarotongan)
+ ($.definition /.cook_islands_maori)
+ ($.definition /.romance)
+ ($.definition /.romansh)
+ ($.definition /.romany)
+ ($.definition /.romanian)
+ ($.definition /.moldavian)
+ ($.definition /.moldovan)
+ ($.definition /.rundi)
+ ($.definition /.aromanian)
+ ($.definition /.arumanian)
+ ($.definition /.macedo_romanian)
+ ($.definition /.russian))
+ items/s (let [items/sa (list ($.definition /.sandawe)
+ ($.definition /.sango)
+ ($.definition /.yakut)
+ ($.definition /.south_american_indian)
+ ($.definition /.salishan)
+ ($.definition /.samaritan_aramaic)
+ ($.definition /.sanskrit)
+ ($.definition /.sasak)
+ ($.definition /.santali)
+ ($.definition /.sicilian)
+ ($.definition /.scots)
+ ($.definition /.selkup)
+ ($.definition /.semitic)
+ ($.definition /.old_irish)
+ ($.definition /.sign)
+ ($.definition /.shan)
+ ($.definition /.sidamo)
+ ($.definition /.sinhalese)
+ ($.definition /.siouan)
+ ($.definition /.sino_tibetan)
+ ($.definition /.slavic)
+ ($.definition /.slovak)
+ ($.definition /.slovenian)
+ ($.definition /.southern_sami)
+ ($.definition /.northern_sami)
+ ($.definition /.sami)
+ ($.definition /.lule)
+ ($.definition /.inari)
+ ($.definition /.samoan)
+ ($.definition /.skolt_sami))
+ items/s* (list ($.definition /.shona)
+ ($.definition /.sindhi)
+ ($.definition /.soninke)
+ ($.definition /.sogdian)
+ ($.definition /.somali)
+ ($.definition /.songhai)
+ ($.definition /.southern_sotho)
+ ($.definition /.spanish)
+ ($.definition /.castilian)
+ ($.definition /.albanian)
+ ($.definition /.sardinian)
+ ($.definition /.sranan_tongo)
+ ($.definition /.serbian)
+ ($.definition /.serer)
+ ($.definition /.nilo_saharan)
+ ($.definition /.swati)
+ ($.definition /.sukuma)
+ ($.definition /.sundanese)
+ ($.definition /.susu)
+ ($.definition /.sumerian)
+ ($.definition /.swahili)
+ ($.definition /.swedish)
+ ($.definition /.classical_syriac)
+ ($.definition /.syriac))]
+ (list.together (list items/sa items/s*)))
+ items/t (list ($.definition /.tahitian)
+ ($.definition /.tai)
+ ($.definition /.tamil)
+ ($.definition /.tatar)
+ ($.definition /.telugu)
+ ($.definition /.timne)
+ ($.definition /.tereno)
+ ($.definition /.tetum)
+ ($.definition /.tajik)
+ ($.definition /.tagalog)
+ ($.definition /.thai)
+ ($.definition /.tigre)
+ ($.definition /.tigrinya)
+ ($.definition /.tiv)
+ ($.definition /.tokelau)
+ ($.definition /.klingon)
+ ($.definition /.tlingit)
+ ($.definition /.tamashek)
+ ($.definition /.tonga)
+ ($.definition /.tongan)
+ ($.definition /.tok_pisin)
+ ($.definition /.tsimshian)
+ ($.definition /.tswana)
+ ($.definition /.tsonga)
+ ($.definition /.turkmen)
+ ($.definition /.tumbuka)
+ ($.definition /.tupi)
+ ($.definition /.turkish)
+ ($.definition /.altaic)
+ ($.definition /.tuvalu)
+ ($.definition /.twi)
+ ($.definition /.tuvinian))
+ items/u (list ($.definition /.udmurt)
+ ($.definition /.ugaritic)
+ ($.definition /.uyghur)
+ ($.definition /.ukrainian)
+ ($.definition /.umbundu)
+ ($.definition /.urdu)
+ ($.definition /.uzbek))
+ items/v (list ($.definition /.vai)
+ ($.definition /.venda)
+ ($.definition /.vietnamese)
+ ($.definition /.volapük)
+ ($.definition /.votic))
+ items/w (list ($.definition /.wakashan)
+ ($.definition /.walamo)
+ ($.definition /.waray)
+ ($.definition /.washo)
+ ($.definition /.sorbian)
+ ($.definition /.walloon)
+ ($.definition /.wolof))
+ items/x (list ($.definition /.kalmyk)
+ ($.definition /.oirat)
+ ($.definition /.xhosa))
+ items/y (list ($.definition /.yao)
+ ($.definition /.yapese)
+ ($.definition /.yiddish)
+ ($.definition /.yoruba)
+ ($.definition /.yupik))
+ items/z (list ($.definition /.zapotec)
+ ($.definition /.blissymbols)
+ ($.definition /.zenaga)
+ ($.definition /.standard_moroccan_tamazight)
+ ($.definition /.zhuang)
+ ($.definition /.chinese)
+ ($.definition /.zande)
+ ($.definition /.zulu)
+ ($.definition /.zuni)
+ ($.definition /.zaza)
+ ($.definition /.dimili)
+ ($.definition /.dimli)
+ ($.definition /.kirdki)
+ ($.definition /.kirmanjki)
+ ($.definition /.zazaki))]
+ (list.partial ($.module /._
+ "")
- ($.definition /.name)
- ($.definition /.code)
- ($.definition /.equivalence)
- ($.definition /.hash)
-
- ($.definition /.Language
- "An ISO 639 language.")
+ ($.definition /.name)
+ ($.definition /.code)
+ ($.definition /.equivalence)
+ ($.definition /.hash)
+
+ ($.definition /.Language
+ "An ISO 639 language.")
- (all list#composite
- ..items/~
- ..items/a
- ..items/b
- ..items/c
- ..items/d
- ..items/e
- ..items/f
- ..items/g
- ..items/h
- ..items/i
- ..items/j
- ..items/k
- ..items/l
- ..items/m
- ..items/n
- ..items/o
- ..items/p
- ..items/q
- ..items/r
- ..items/s
- ..items/t
- ..items/u
- ..items/v
- ..items/w
- ..items/x
- ..items/y
- ..items/z
- )
- )))
+ (list.together
+ (list items/~
+ items/a
+ items/b
+ items/c
+ items/d
+ items/e
+ items/f
+ items/g
+ items/h
+ items/i
+ items/j
+ items/k
+ items/l
+ items/m
+ items/n
+ items/o
+ items/p
+ items/q
+ items/r
+ items/s
+ items/t
+ items/u
+ items/v
+ items/w
+ items/x
+ items/y
+ items/z
+ ))
+ )))
diff --git a/stdlib/source/documentation/lux/world/locale/territory.lux b/stdlib/source/documentation/lux/world/locale/territory.lux
index 7fff4eb60..e6e801bf5 100644
--- a/stdlib/source/documentation/lux/world/locale/territory.lux
+++ b/stdlib/source/documentation/lux/world/locale/territory.lux
@@ -6,318 +6,299 @@
[text
["%" \\format (.only format)]]
[collection
- ["[0]" list (.use "[1]#[0]" monoid)]]]]]
+ ["[0]" list]]]]]
[\\library
["[0]" /]])
-(def items/ab
- (List $.Documentation)
- (list ($.definition /.afghanistan)
- ($.definition /.aland_islands)
- ($.definition /.albania)
- ($.definition /.algeria)
- ($.definition /.american_samoa)
- ($.definition /.andorra)
- ($.definition /.angola)
- ($.definition /.anguilla)
- ($.definition /.antarctica)
- ($.definition /.antigua)
- ($.definition /.barbuda)
- ($.definition /.argentina)
- ($.definition /.armenia)
- ($.definition /.aruba)
- ($.definition /.australia)
- ($.definition /.austria)
- ($.definition /.azerbaijan)
- ($.definition /.the_bahamas)
- ($.definition /.bahrain)
- ($.definition /.bangladesh)
- ($.definition /.barbados)
- ($.definition /.belarus)
- ($.definition /.belgium)
- ($.definition /.belize)
- ($.definition /.benin)
- ($.definition /.bermuda)
- ($.definition /.bhutan)
- ($.definition /.bolivia)
- ($.definition /.bonaire)
- ($.definition /.sint_eustatius)
- ($.definition /.saba)
- ($.definition /.bosnia)
- ($.definition /.herzegovina)
- ($.definition /.botswana)
- ($.definition /.bouvet_island)
- ($.definition /.brazil)
- ($.definition /.british_indian_ocean_territory)
- ($.definition /.brunei_darussalam)
- ($.definition /.bulgaria)
- ($.definition /.burkina_faso)
- ($.definition /.burundi)))
-
-(def items/cd
- (List $.Documentation)
- (list ($.definition /.cape_verde)
- ($.definition /.cambodia)
- ($.definition /.cameroon)
- ($.definition /.canada)
- ($.definition /.cayman_islands)
- ($.definition /.central_african_republic)
- ($.definition /.chad)
- ($.definition /.chile)
- ($.definition /.china)
- ($.definition /.christmas_island)
- ($.definition /.cocos_islands)
- ($.definition /.colombia)
- ($.definition /.comoros)
- ($.definition /.congo)
- ($.definition /.democratic_republic_of_the_congo)
- ($.definition /.cook_islands)
- ($.definition /.costa_rica)
- ($.definition /.ivory_coast)
- ($.definition /.croatia)
- ($.definition /.cuba)
- ($.definition /.curacao)
- ($.definition /.cyprus)
- ($.definition /.czech_republic)
- ($.definition /.denmark)
- ($.definition /.djibouti)
- ($.definition /.dominica)
- ($.definition /.dominican_republic)))
-
-(def items/efg
- (List $.Documentation)
- (list ($.definition /.ecuador)
- ($.definition /.egypt)
- ($.definition /.el_salvador)
- ($.definition /.equatorial_guinea)
- ($.definition /.eritrea)
- ($.definition /.estonia)
- ($.definition /.eswatini)
- ($.definition /.ethiopia)
- ($.definition /.falkland_islands)
- ($.definition /.faroe_islands)
- ($.definition /.fiji)
- ($.definition /.finland)
- ($.definition /.france)
- ($.definition /.french_guiana)
- ($.definition /.french_polynesia)
- ($.definition /.french_southern_territories)
- ($.definition /.gabon)
- ($.definition /.the_gambia)
- ($.definition /.georgia)
- ($.definition /.germany)
- ($.definition /.ghana)
- ($.definition /.gibraltar)
- ($.definition /.greece)
- ($.definition /.greenland)
- ($.definition /.grenada)
- ($.definition /.guadeloupe)
- ($.definition /.guam)
- ($.definition /.guatemala)
- ($.definition /.guernsey)
- ($.definition /.guinea)
- ($.definition /.guinea_bissau)
- ($.definition /.guyana)))
-
-(def items/hijkl
- (List $.Documentation)
- (list ($.definition /.haiti)
- ($.definition /.heard_island)
- ($.definition /.mcdonald_islands)
- ($.definition /.vatican_city)
- ($.definition /.honduras)
- ($.definition /.hong_kong)
- ($.definition /.hungary)
- ($.definition /.iceland)
- ($.definition /.india)
- ($.definition /.indonesia)
- ($.definition /.iran)
- ($.definition /.iraq)
- ($.definition /.ireland)
- ($.definition /.isle_of_man)
- ($.definition /.israel)
- ($.definition /.italy)
- ($.definition /.jamaica)
- ($.definition /.japan)
- ($.definition /.jersey)
- ($.definition /.jordan)
- ($.definition /.kazakhstan)
- ($.definition /.kenya)
- ($.definition /.kiribati)
- ($.definition /.north_korea)
- ($.definition /.south_korea)
- ($.definition /.kuwait)
- ($.definition /.kyrgyzstan)
- ($.definition /.laos)
- ($.definition /.latvia)
- ($.definition /.lebanon)
- ($.definition /.lesotho)
- ($.definition /.liberia)
- ($.definition /.libya)
- ($.definition /.liechtenstein)
- ($.definition /.lithuania)
- ($.definition /.luxembourg)))
-
-(def items/mno
- (List $.Documentation)
- (list ($.definition /.macau)
- ($.definition /.macedonia)
- ($.definition /.madagascar)
- ($.definition /.malawi)
- ($.definition /.malaysia)
- ($.definition /.maldives)
- ($.definition /.mali)
- ($.definition /.malta)
- ($.definition /.marshall_islands)
- ($.definition /.martinique)
- ($.definition /.mauritania)
- ($.definition /.mauritius)
- ($.definition /.mayotte)
- ($.definition /.mexico)
- ($.definition /.micronesia)
- ($.definition /.moldova)
- ($.definition /.monaco)
- ($.definition /.mongolia)
- ($.definition /.montenegro)
- ($.definition /.montserrat)
- ($.definition /.morocco)
- ($.definition /.mozambique)
- ($.definition /.myanmar)
- ($.definition /.namibia)
- ($.definition /.nauru)
- ($.definition /.nepal)
- ($.definition /.netherlands)
- ($.definition /.new_caledonia)
- ($.definition /.new_zealand)
- ($.definition /.nicaragua)
- ($.definition /.niger)
- ($.definition /.nigeria)
- ($.definition /.niue)
- ($.definition /.norfolk_island)
- ($.definition /.northern_mariana_islands)
- ($.definition /.norway)
- ($.definition /.oman)))
-
-(def items/pqrs
- (List $.Documentation)
- (list ($.definition /.pakistan)
- ($.definition /.palau)
- ($.definition /.palestine)
- ($.definition /.panama)
- ($.definition /.papua_new_guinea)
- ($.definition /.paraguay)
- ($.definition /.peru)
- ($.definition /.philippines)
- ($.definition /.pitcairn_islands)
- ($.definition /.poland)
- ($.definition /.portugal)
- ($.definition /.puerto_rico)
- ($.definition /.qatar)
- ($.definition /.reunion)
- ($.definition /.romania)
- ($.definition /.russia)
- ($.definition /.rwanda)
- ($.definition /.saint_barthelemy)
- ($.definition /.saint_helena)
- ($.definition /.ascension)
- ($.definition /.tristan_da_cunha)
- ($.definition /.saint_kitts)
- ($.definition /.nevis)
- ($.definition /.saint_lucia)
- ($.definition /.saint_martin)
- ($.definition /.saint_pierre)
- ($.definition /.miquelon)
- ($.definition /.saint_vincent)
- ($.definition /.the_grenadines)
- ($.definition /.samoa)
- ($.definition /.san_marino)
- ($.definition /.sao_tome)
- ($.definition /.principe)
- ($.definition /.saudi_arabia)
- ($.definition /.senegal)
- ($.definition /.serbia)
- ($.definition /.seychelles)
- ($.definition /.sierra_leone)
- ($.definition /.singapore)
- ($.definition /.sint_maarten)
- ($.definition /.slovakia)
- ($.definition /.slovenia)
- ($.definition /.solomon_islands)
- ($.definition /.somalia)
- ($.definition /.south_africa)
- ($.definition /.south_georgia)
- ($.definition /.south_sandwich_islands)
- ($.definition /.south_sudan)
- ($.definition /.spain)
- ($.definition /.sri_lanka)
- ($.definition /.sudan)
- ($.definition /.suriname)
- ($.definition /.svalbard)
- ($.definition /.jan_mayen)
- ($.definition /.sweden)
- ($.definition /.switzerland)
- ($.definition /.syria)))
-
-(def items/tuvwxyz
- (List $.Documentation)
- (list ($.definition /.taiwan)
- ($.definition /.tajikistan)
- ($.definition /.tanzania)
- ($.definition /.thailand)
- ($.definition /.east_timor)
- ($.definition /.togo)
- ($.definition /.tokelau)
- ($.definition /.tonga)
- ($.definition /.trinidad)
- ($.definition /.tobago)
- ($.definition /.tunisia)
- ($.definition /.turkey)
- ($.definition /.turkmenistan)
- ($.definition /.turks)
- ($.definition /.caicos_islands)
- ($.definition /.tuvalu)
- ($.definition /.uganda)
- ($.definition /.ukraine)
- ($.definition /.united_arab_emirates)
- ($.definition /.united_kingdom)
- ($.definition /.northern_ireland)
- ($.definition /.united_states_of_america)
- ($.definition /.united_states_minor_outlying_islands)
- ($.definition /.uruguay)
- ($.definition /.uzbekistan)
- ($.definition /.vanuatu)
- ($.definition /.venezuela)
- ($.definition /.vietnam)
- ($.definition /.british_virgin_islands)
- ($.definition /.united_states_virgin_islands)
- ($.definition /.wallis)
- ($.definition /.futuna)
- ($.definition /.western_sahara)
- ($.definition /.yemen)
- ($.definition /.zambia)
- ($.definition /.zimbabwe)))
-
(def .public documentation
(List $.Documentation)
- (`` (list.partial ($.module /._
- "")
+ (let [items/ab (list ($.definition /.afghanistan)
+ ($.definition /.aland_islands)
+ ($.definition /.albania)
+ ($.definition /.algeria)
+ ($.definition /.american_samoa)
+ ($.definition /.andorra)
+ ($.definition /.angola)
+ ($.definition /.anguilla)
+ ($.definition /.antarctica)
+ ($.definition /.antigua)
+ ($.definition /.barbuda)
+ ($.definition /.argentina)
+ ($.definition /.armenia)
+ ($.definition /.aruba)
+ ($.definition /.australia)
+ ($.definition /.austria)
+ ($.definition /.azerbaijan)
+ ($.definition /.the_bahamas)
+ ($.definition /.bahrain)
+ ($.definition /.bangladesh)
+ ($.definition /.barbados)
+ ($.definition /.belarus)
+ ($.definition /.belgium)
+ ($.definition /.belize)
+ ($.definition /.benin)
+ ($.definition /.bermuda)
+ ($.definition /.bhutan)
+ ($.definition /.bolivia)
+ ($.definition /.bonaire)
+ ($.definition /.sint_eustatius)
+ ($.definition /.saba)
+ ($.definition /.bosnia)
+ ($.definition /.herzegovina)
+ ($.definition /.botswana)
+ ($.definition /.bouvet_island)
+ ($.definition /.brazil)
+ ($.definition /.british_indian_ocean_territory)
+ ($.definition /.brunei_darussalam)
+ ($.definition /.bulgaria)
+ ($.definition /.burkina_faso)
+ ($.definition /.burundi))
+ items/cd (list ($.definition /.cape_verde)
+ ($.definition /.cambodia)
+ ($.definition /.cameroon)
+ ($.definition /.canada)
+ ($.definition /.cayman_islands)
+ ($.definition /.central_african_republic)
+ ($.definition /.chad)
+ ($.definition /.chile)
+ ($.definition /.china)
+ ($.definition /.christmas_island)
+ ($.definition /.cocos_islands)
+ ($.definition /.colombia)
+ ($.definition /.comoros)
+ ($.definition /.congo)
+ ($.definition /.democratic_republic_of_the_congo)
+ ($.definition /.cook_islands)
+ ($.definition /.costa_rica)
+ ($.definition /.ivory_coast)
+ ($.definition /.croatia)
+ ($.definition /.cuba)
+ ($.definition /.curacao)
+ ($.definition /.cyprus)
+ ($.definition /.czech_republic)
+ ($.definition /.denmark)
+ ($.definition /.djibouti)
+ ($.definition /.dominica)
+ ($.definition /.dominican_republic))
+ items/efg (list ($.definition /.ecuador)
+ ($.definition /.egypt)
+ ($.definition /.el_salvador)
+ ($.definition /.equatorial_guinea)
+ ($.definition /.eritrea)
+ ($.definition /.estonia)
+ ($.definition /.eswatini)
+ ($.definition /.ethiopia)
+ ($.definition /.falkland_islands)
+ ($.definition /.faroe_islands)
+ ($.definition /.fiji)
+ ($.definition /.finland)
+ ($.definition /.france)
+ ($.definition /.french_guiana)
+ ($.definition /.french_polynesia)
+ ($.definition /.french_southern_territories)
+ ($.definition /.gabon)
+ ($.definition /.the_gambia)
+ ($.definition /.georgia)
+ ($.definition /.germany)
+ ($.definition /.ghana)
+ ($.definition /.gibraltar)
+ ($.definition /.greece)
+ ($.definition /.greenland)
+ ($.definition /.grenada)
+ ($.definition /.guadeloupe)
+ ($.definition /.guam)
+ ($.definition /.guatemala)
+ ($.definition /.guernsey)
+ ($.definition /.guinea)
+ ($.definition /.guinea_bissau)
+ ($.definition /.guyana))
+ items/hijkl (list ($.definition /.haiti)
+ ($.definition /.heard_island)
+ ($.definition /.mcdonald_islands)
+ ($.definition /.vatican_city)
+ ($.definition /.honduras)
+ ($.definition /.hong_kong)
+ ($.definition /.hungary)
+ ($.definition /.iceland)
+ ($.definition /.india)
+ ($.definition /.indonesia)
+ ($.definition /.iran)
+ ($.definition /.iraq)
+ ($.definition /.ireland)
+ ($.definition /.isle_of_man)
+ ($.definition /.israel)
+ ($.definition /.italy)
+ ($.definition /.jamaica)
+ ($.definition /.japan)
+ ($.definition /.jersey)
+ ($.definition /.jordan)
+ ($.definition /.kazakhstan)
+ ($.definition /.kenya)
+ ($.definition /.kiribati)
+ ($.definition /.north_korea)
+ ($.definition /.south_korea)
+ ($.definition /.kuwait)
+ ($.definition /.kyrgyzstan)
+ ($.definition /.laos)
+ ($.definition /.latvia)
+ ($.definition /.lebanon)
+ ($.definition /.lesotho)
+ ($.definition /.liberia)
+ ($.definition /.libya)
+ ($.definition /.liechtenstein)
+ ($.definition /.lithuania)
+ ($.definition /.luxembourg))
+ items/mno (list ($.definition /.macau)
+ ($.definition /.macedonia)
+ ($.definition /.madagascar)
+ ($.definition /.malawi)
+ ($.definition /.malaysia)
+ ($.definition /.maldives)
+ ($.definition /.mali)
+ ($.definition /.malta)
+ ($.definition /.marshall_islands)
+ ($.definition /.martinique)
+ ($.definition /.mauritania)
+ ($.definition /.mauritius)
+ ($.definition /.mayotte)
+ ($.definition /.mexico)
+ ($.definition /.micronesia)
+ ($.definition /.moldova)
+ ($.definition /.monaco)
+ ($.definition /.mongolia)
+ ($.definition /.montenegro)
+ ($.definition /.montserrat)
+ ($.definition /.morocco)
+ ($.definition /.mozambique)
+ ($.definition /.myanmar)
+ ($.definition /.namibia)
+ ($.definition /.nauru)
+ ($.definition /.nepal)
+ ($.definition /.netherlands)
+ ($.definition /.new_caledonia)
+ ($.definition /.new_zealand)
+ ($.definition /.nicaragua)
+ ($.definition /.niger)
+ ($.definition /.nigeria)
+ ($.definition /.niue)
+ ($.definition /.norfolk_island)
+ ($.definition /.northern_mariana_islands)
+ ($.definition /.norway)
+ ($.definition /.oman))
+ items/pq (list ($.definition /.pakistan)
+ ($.definition /.palau)
+ ($.definition /.palestine)
+ ($.definition /.panama)
+ ($.definition /.papua_new_guinea)
+ ($.definition /.paraguay)
+ ($.definition /.peru)
+ ($.definition /.philippines)
+ ($.definition /.pitcairn_islands)
+ ($.definition /.poland)
+ ($.definition /.portugal)
+ ($.definition /.puerto_rico)
+ ($.definition /.qatar))
+ items/rs (list ($.definition /.reunion)
+ ($.definition /.romania)
+ ($.definition /.russia)
+ ($.definition /.rwanda)
+ ($.definition /.saint_barthelemy)
+ ($.definition /.saint_helena)
+ ($.definition /.ascension)
+ ($.definition /.tristan_da_cunha)
+ ($.definition /.saint_kitts)
+ ($.definition /.nevis)
+ ($.definition /.saint_lucia)
+ ($.definition /.saint_martin)
+ ($.definition /.saint_pierre)
+ ($.definition /.miquelon)
+ ($.definition /.saint_vincent)
+ ($.definition /.the_grenadines)
+ ($.definition /.samoa)
+ ($.definition /.san_marino)
+ ($.definition /.sao_tome)
+ ($.definition /.principe)
+ ($.definition /.saudi_arabia)
+ ($.definition /.senegal)
+ ($.definition /.serbia)
+ ($.definition /.seychelles)
+ ($.definition /.sierra_leone)
+ ($.definition /.singapore)
+ ($.definition /.sint_maarten)
+ ($.definition /.slovakia)
+ ($.definition /.slovenia)
+ ($.definition /.solomon_islands)
+ ($.definition /.somalia)
+ ($.definition /.south_africa)
+ ($.definition /.south_georgia)
+ ($.definition /.south_sandwich_islands)
+ ($.definition /.south_sudan)
+ ($.definition /.spain)
+ ($.definition /.sri_lanka)
+ ($.definition /.sudan)
+ ($.definition /.suriname)
+ ($.definition /.svalbard)
+ ($.definition /.jan_mayen)
+ ($.definition /.sweden)
+ ($.definition /.switzerland)
+ ($.definition /.syria))
+ items/tuvwxyz (list ($.definition /.taiwan)
+ ($.definition /.tajikistan)
+ ($.definition /.tanzania)
+ ($.definition /.thailand)
+ ($.definition /.east_timor)
+ ($.definition /.togo)
+ ($.definition /.tokelau)
+ ($.definition /.tonga)
+ ($.definition /.trinidad)
+ ($.definition /.tobago)
+ ($.definition /.tunisia)
+ ($.definition /.turkey)
+ ($.definition /.turkmenistan)
+ ($.definition /.turks)
+ ($.definition /.caicos_islands)
+ ($.definition /.tuvalu)
+ ($.definition /.uganda)
+ ($.definition /.ukraine)
+ ($.definition /.united_arab_emirates)
+ ($.definition /.united_kingdom)
+ ($.definition /.northern_ireland)
+ ($.definition /.united_states_of_america)
+ ($.definition /.united_states_minor_outlying_islands)
+ ($.definition /.uruguay)
+ ($.definition /.uzbekistan)
+ ($.definition /.vanuatu)
+ ($.definition /.venezuela)
+ ($.definition /.vietnam)
+ ($.definition /.british_virgin_islands)
+ ($.definition /.united_states_virgin_islands)
+ ($.definition /.wallis)
+ ($.definition /.futuna)
+ ($.definition /.western_sahara)
+ ($.definition /.yemen)
+ ($.definition /.zambia)
+ ($.definition /.zimbabwe))]
+ (list.partial ($.module /._
+ "")
- ($.definition /.name)
- ($.definition /.short_code)
- ($.definition /.long_code)
- ($.definition /.numeric_code)
- ($.definition /.equivalence)
- ($.definition /.hash)
+ ($.definition /.name)
+ ($.definition /.short_code)
+ ($.definition /.long_code)
+ ($.definition /.numeric_code)
+ ($.definition /.equivalence)
+ ($.definition /.hash)
- ($.definition /.Territory
- "An ISO 3166 territory.")
-
- (all list#composite
- ..items/ab
- ..items/cd
- ..items/efg
- ..items/hijkl
- ..items/mno
- ..items/pqrs
- ..items/tuvwxyz)
- )))
+ ($.definition /.Territory
+ "An ISO 3166 territory.")
+
+ (list.together
+ (list items/ab
+ items/cd
+ items/efg
+ items/hijkl
+ items/mno
+ items/pq
+ items/rs
+ items/tuvwxyz
+ ))
+ )))
diff --git a/stdlib/source/library/lux.lux b/stdlib/source/library/lux.lux
index 84f0ddf14..df7b4ef66 100644
--- a/stdlib/source/library/lux.lux
+++ b/stdlib/source/library/lux.lux
@@ -4298,6 +4298,56 @@
bound
(type_variable idx bindings'))))
+(def (clean_type variables it)
+ (-> (List [Nat (Maybe Type)]) Type Type)
+ (when it
+ {#Primitive name parameters}
+ {#Primitive name (list#each (clean_type variables) parameters)}
+
+ {#Sum left right}
+ {#Sum (clean_type variables left)
+ (clean_type variables right)}
+
+ {#Product left right}
+ {#Product (clean_type variables left)
+ (clean_type variables right)}
+
+ {#Function left right}
+ {#Function (clean_type variables left)
+ (clean_type variables right)}
+
+ {#Apply left right}
+ {#Apply (clean_type variables left)
+ (clean_type variables right)}
+
+ {#UnivQ environment unquantified}
+ {#UnivQ (list#each (clean_type variables) environment)
+ (clean_type variables unquantified)}
+
+ {#ExQ environment unquantified}
+ {#ExQ (list#each (clean_type variables) environment)
+ (clean_type variables unquantified)}
+
+ {#Named name anonymous}
+ it
+
+ {#Parameter _}
+ it
+
+ {#Ex _}
+ it
+
+ {#Var id}
+ (when (type_variable id variables)
+ {#None}
+ it
+
+ {#Some {#Var _}}
+ it
+
+ {#Some it}
+ (clean_type variables it))))
+
(def (type_definition full_name)
(-> Symbol (Meta Type))
(do meta#monad
@@ -4324,22 +4374,16 @@
_
{#Left (all text#composite "Unknown var: " (symbol#encoded full_name))})))]
(when temp
- {#Right [compiler {#Var type_id}]}
+ {#Right [compiler temp]}
(let [[..#info _ ..#source _ ..#current_module _ ..#modules _
..#scopes _ ..#type_context type_context ..#host _
..#seed _ ..#expected _ ..#location _ ..#extensions extensions
..#scope_type_vars _ ..#eval _eval] compiler
[..#ex_counter _ ..#var_counter _ ..#var_bindings var_bindings] type_context]
- (when (type_variable type_id var_bindings)
- {#None}
- temp
-
- {#Some actualT}
- {#Right [compiler actualT]}))
+ {#Right [compiler (clean_type var_bindings temp)]})
_
- temp))
- )))
+ temp)))))
(def (list#all choice items)
(All (_ a b) (-> (-> a (Maybe b)) (List a) (List b)))
diff --git a/stdlib/source/library/lux/meta/macro/expansion.lux b/stdlib/source/library/lux/meta/macro/expansion.lux
index 9364ecc77..62c4e6905 100644
--- a/stdlib/source/library/lux/meta/macro/expansion.lux
+++ b/stdlib/source/library/lux/meta/macro/expansion.lux
@@ -104,10 +104,10 @@
(with_template [<macro> <func>]
[(def .public <macro>
- (.macro (_ tokens)
- (let [[module _] (.symbol .._)
- [_ short] (.symbol <macro>)
- macro_name [module short]]
+ (let [[module _] (.symbol .._)
+ [_ short] (.symbol <macro>)
+ macro_name [module short]]
+ (.macro (_ tokens)
(when (is (Maybe [Bit Code])
(when tokens
(list [_ {.#Text "omit"}]
diff --git a/stdlib/source/library/lux/test/unit.lux b/stdlib/source/library/lux/test/unit.lux
index 02e063447..62e075537 100644
--- a/stdlib/source/library/lux/test/unit.lux
+++ b/stdlib/source/library/lux/test/unit.lux
@@ -59,23 +59,30 @@
(-> Text Test Test)
(|>> %.text context'))
-(def .public failure
- (-> Text Test)
- (|>> (format "[Failure] ")
- [tally.failure]
- async#in))
-
-(def .public success
- (-> Text Test)
- (|>> (format "[Success] ")
- [tally.success]
- async#in))
+(with_template [<prefix> <tally> <raw> <quoted>]
+ [(def <raw>
+ (-> Text Test)
+ (|>> (format <prefix>)
+ [<tally>]
+ async#in))
+
+ (def .public <quoted>
+ (-> Text Test)
+ (|>> %.text <raw>))]
+
+ ["[Failure] " tally.failure failure' failure]
+ ["[Success] " tally.success success' success]
+ )
+
+(def (test' message condition)
+ (-> Text Bit Test)
+ (if condition
+ (success' message)
+ (failure' message)))
(def .public (test message condition)
(-> Text Bit Test)
- (if condition
- (success message)
- (failure message)))
+ (test' (%.text message) condition))
(def definition_separator " & ")
@@ -91,7 +98,7 @@
(list#each ..coverage_format)
(text.interposed ..definition_separator))
coverage (set.of_list symbol.hash coverage)]
- (|> (..test message condition)
+ (|> (..test' message condition)
(async#each (function (_ [tally documentation])
[(revised tally.#actual (set.union coverage) tally)
documentation])))))
diff --git a/stdlib/source/test/lux/data/collection/array.lux b/stdlib/source/test/lux/data/collection/array.lux
index b13c77f6b..bbffbd0a3 100644
--- a/stdlib/source/test/lux/data/collection/array.lux
+++ b/stdlib/source/test/lux/data/collection/array.lux
@@ -159,8 +159,8 @@
(when !.Array
(<| {.#Named (symbol !.Array)}
{.#UnivQ (list)}
- {.#Primitive nominal_type (list {.#Parameter 1})})
- (same? !.primitive nominal_type)
+ {.#Primitive !.primitive (list _)})
+ true
_
false))
@@ -328,8 +328,8 @@
(<| {.#Named (symbol /.Array)}
{.#Named (symbol !.Array)}
{.#UnivQ (list)}
- {.#Primitive nominal_type (list {.#Parameter 1})})
- (same? /.primitive nominal_type)
+ {.#Primitive /.primitive (list _)})
+ true
_
false))
diff --git a/stdlib/source/test/lux/documentation.lux b/stdlib/source/test/lux/documentation.lux
index f691453e1..6308232c7 100644
--- a/stdlib/source/test/lux/documentation.lux
+++ b/stdlib/source/test/lux/documentation.lux
@@ -38,46 +38,47 @@
(|>> %.nat code.text list)
meta.seed)))
-(template.with_locals [g!default]
- (with_expansions ['definition_description' (..description)
- 'module_description' (..description)]
- (these (def .public g!default
- Nat
- 123)
+(with_expansions ['definition_description' (..description)
+ 'module_description' (..description)
+ g!default (..description)
+ g!default (template.symbol [g!default])
+ g!default+ (template.symbol [.._] [g!default])]
+ (these (def .public g!default
+ Nat
+ 123)
- (def .public test
- Test
- (<| (_.covering /._)
- (let [module (`` (/.module .._
- (,, (template.text ['module_description']))))
- definition (`` (/.definition (,, (template.symbol [.._] [g!default]))
- 'definition_description'))])
- (all _.and
- (_.for [/.markdown]
- (all _.and
- (_.for [/.Module]
- (_.coverage [/.module]
- (and (let [[expected _] (symbol .._)]
- (text.contains? expected
- (/.markdown (list module))))
- (text.contains? (template.text ['module_description'])
- (/.markdown (list module))))))
- (_.for [/.Definition]
- (_.coverage [/.definition]
- (and (text.contains? (template.text ['definition_description'])
- (/.markdown (list module
- definition)))
- (text.contains? (template.text [g!default])
- (/.markdown (list module
- definition))))))
- ))
- (_.coverage [/.unqualified_symbol]
- (`` (and (,, (with_template [<example>]
- [(macro_error <example>)]
-
- [(/.definition g!default)]
- [(/.definition g!default
- (,, (template.text ['definition_description'])))]
- )))))
- )))))
- )
+ (def .public test
+ Test
+ (<| (_.covering /._)
+ (let [module (`` (/.module .._
+ (,, (template.text ['module_description']))))
+ definition (`` (/.definition g!default+
+ 'definition_description'))])
+ (all _.and
+ (_.for [/.markdown]
+ (all _.and
+ (_.for [/.Module]
+ (_.coverage [/.module]
+ (and (let [[expected _] (symbol .._)]
+ (text.contains? expected
+ (/.markdown (list module))))
+ (text.contains? (template.text ['module_description'])
+ (/.markdown (list module))))))
+ (_.for [/.Definition]
+ (_.coverage [/.definition]
+ (and (text.contains? (template.text ['definition_description'])
+ (/.markdown (list module
+ definition)))
+ (text.contains? (template.text [g!default+])
+ (/.markdown (list module
+ definition))))))
+ ))
+ (_.coverage [/.unqualified_symbol]
+ (`` (and (,, (with_template [<example>]
+ [(macro_error <example>)]
+
+ [(/.definition g!default)]
+ [(/.definition g!default
+ (,, (template.text ['definition_description'])))]
+ )))))
+ )))))
diff --git a/stdlib/source/test/lux/meta/compiler/language/lux/analysis/coverage.lux b/stdlib/source/test/lux/meta/compiler/language/lux/analysis/coverage.lux
index 0268893df..cf2d5edac 100644
--- a/stdlib/source/test/lux/meta/compiler/language/lux/analysis/coverage.lux
+++ b/stdlib/source/test/lux/meta/compiler/language/lux/analysis/coverage.lux
@@ -252,7 +252,7 @@
nat random.nat
int random.int
rev random.rev
- frac random.frac
+ frac random.safe_frac
text (random.unicode 1)
arity (at ! each (n.+ 2) ..random_tag)
@@ -265,15 +265,18 @@
(`` (and (|> (/.composite {/.#Bit bit} {/.#Bit (not bit)})
(try#each (/#= {/.#Exhaustive}))
(try.else false))
+
(|> {/.#Bit bit}
(/.composite {/.#Exhaustive})
(try#each (/#= {/.#Exhaustive}))
(try.else false))
+
(,, (with_template [<tag> <hash> <value> <next>]
[(|> (/.composite {<tag> (set.of_list <hash> (list <value>))}
{<tag> (set.of_list <hash> (list (|> <value> <next>)))})
(try#each (/#= {<tag> (set.of_list <hash> (list <value> (|> <value> <next>)))}))
(try.else false))
+
(|> {<tag> (set.of_list <hash> (list <value>))}
(/.composite {/.#Exhaustive})
(try#each (/#= {/.#Exhaustive}))
@@ -284,7 +287,8 @@
[/.#Rev r.hash rev ++]
[/.#Frac f.hash frac (f.+ frac)]
[/.#Text text.hash text (%.format text)]
- ))))
+ ))
+ ))
composes_variants!
(let [composes_different_variants!
diff --git a/stdlib/source/test/lux/meta/compiler/language/lux/phase/analysis/complex.lux b/stdlib/source/test/lux/meta/compiler/language/lux/phase/analysis/complex.lux
index 6586ac1db..6a3dbe760 100644
--- a/stdlib/source/test/lux/meta/compiler/language/lux/phase/analysis/complex.lux
+++ b/stdlib/source/test/lux/meta/compiler/language/lux/phase/analysis/complex.lux
@@ -187,29 +187,29 @@
(not (sum? (type_literal (All (_ a) (Maybe a))) 0 true tagC)))
(and (sum? (type_literal (Ex (_ a) (Maybe a))) 0 false (` []))
(sum? (type_literal (Ex (_ a) (Maybe a))) 0 true tagC)))))
- (_.for [/.cannot_analyse_variant]
- (let [failure? (is (All (_ a) (-> (Exception a) (//analysis.Operation Any) Bit))
- (function (_ exception analysis)
- (let [it (//phase.result state analysis)]
- (and (..failure? /.cannot_analyse_variant it)
- (..failure? exception it)))))]
- (all _.and
- (_.coverage [/.invalid_variant_type]
- (and (|> (/.sum ..analysis lefts right? archive.empty tagC)
- (//type.expecting tagT)
- (failure? /.invalid_variant_type))
- (|> (do //phase.monad
- [[@var varT] (//type.check check.var)]
- (|> (/.sum ..analysis lefts right? archive.empty tagC)
- (//type.expecting (type_literal (varT tagT)))))
- (failure? /.invalid_variant_type))))
- (_.coverage [/.cannot_infer_sum]
- (|> (do //phase.monad
- [[@var varT] (//type.check check.var)]
- (|> (/.sum ..analysis lefts right? archive.empty tagC)
- (//type.expecting varT)))
- (failure? /.cannot_infer_sum)))
- )))
+ ... (_.for [/.cannot_analyse_variant]
+ ... (let [failure? (is (All (_ a) (-> (Exception a) (//analysis.Operation Any) Bit))
+ ... (function (_ exception analysis)
+ ... (let [it (//phase.result state analysis)]
+ ... (and (..failure? /.cannot_analyse_variant it)
+ ... (..failure? exception it)))))]
+ ... (all _.and
+ ... (_.coverage [/.invalid_variant_type]
+ ... (and (|> (/.sum ..analysis lefts right? archive.empty tagC)
+ ... (//type.expecting tagT)
+ ... (failure? /.invalid_variant_type))
+ ... (|> (do //phase.monad
+ ... [[@var varT] (//type.check check.var)]
+ ... (|> (/.sum ..analysis lefts right? archive.empty tagC)
+ ... (//type.expecting (type_literal (varT tagT)))))
+ ... (failure? /.invalid_variant_type))))
+ ... (_.coverage [/.cannot_infer_sum]
+ ... (|> (do //phase.monad
+ ... [[@var varT] (//type.check check.var)]
+ ... (|> (/.sum ..analysis lefts right? archive.empty tagC)
+ ... (//type.expecting varT)))
+ ... (failure? /.cannot_infer_sum)))
+ ... )))
)))
(def test|variant
diff --git a/stdlib/source/test/lux/meta/compiler/language/lux/phase/analysis/function.lux b/stdlib/source/test/lux/meta/compiler/language/lux/phase/analysis/function.lux
index ad9af9331..48a85af95 100644
--- a/stdlib/source/test/lux/meta/compiler/language/lux/phase/analysis/function.lux
+++ b/stdlib/source/test/lux/meta/compiler/language/lux/phase/analysis/function.lux
@@ -82,101 +82,101 @@
$argument/0 (code.local argument/0)
$argument/1 (code.local argument/1)]]
(all _.and
- (_.coverage [/.function]
- (let [function?' (is (-> Type Code (-> [(List Analysis) Analysis] Bit) Bit)
- (function (_ function_type output_term ?)
- (|> (do //phase.monad
- [analysis (|> (/.function ..analysis function/0 argument/0 archive.empty
- output_term)
- (//type.expecting function_type))]
- (in (when analysis
- {//analysis.#Function it}
- (? it)
+ ... (_.coverage [/.function]
+ ... (let [function?' (is (-> Type Code (-> [(List Analysis) Analysis] Bit) Bit)
+ ... (function (_ function_type output_term ?)
+ ... (|> (do //phase.monad
+ ... [analysis (|> (/.function ..analysis function/0 argument/0 archive.empty
+ ... output_term)
+ ... (//type.expecting function_type))]
+ ... (in (when analysis
+ ... {//analysis.#Function it}
+ ... (? it)
- _
- false)))
- (//module.with 0 module/0)
- (//phase#each product.right)
- (//phase.result state)
- (try.else false))))
- function? (is (-> Type Code Bit)
- (function (_ function_type output_term)
- (function?' function_type output_term (function.constant true))))
- inferring? (is (-> Type Code Bit)
- (function (_ :expected: term)
- (|> (do //phase.monad
- [[:actual: analysis] (|> (/.function ..analysis function/0 argument/0 archive.empty
- term)
- //type.inferring)]
- (in (when analysis
- {//analysis.#Function [actual_env actual_body]}
- (type#= :expected: :actual:)
+ ... _
+ ... false)))
+ ... (//module.with 0 module/0)
+ ... (//phase#each product.right)
+ ... (//phase.result state)
+ ... (try.else false))))
+ ... function? (is (-> Type Code Bit)
+ ... (function (_ function_type output_term)
+ ... (function?' function_type output_term (function.constant true))))
+ ... inferring? (is (-> Type Code Bit)
+ ... (function (_ :expected: term)
+ ... (|> (do //phase.monad
+ ... [[:actual: analysis] (|> (/.function ..analysis function/0 argument/0 archive.empty
+ ... term)
+ ... //type.inferring)]
+ ... (in (when analysis
+ ... {//analysis.#Function [actual_env actual_body]}
+ ... (type#= :expected: :actual:)
- _
- false)))
- (//module.with 0 module/0)
- (//phase#each product.right)
- (//phase.result state)
- (try.else false))))]
- (and (function? (-> input/0 output/0) term/0)
- (function? (-> input/0 input/0) $argument/0)
+ ... _
+ ... false)))
+ ... (//module.with 0 module/0)
+ ... (//phase#each product.right)
+ ... (//phase.result state)
+ ... (try.else false))))]
+ ... (and (function? (-> input/0 output/0) term/0)
+ ... (function? (-> input/0 input/0) $argument/0)
- (function? {.#Named name/0 (-> input/0 output/0)} term/0)
+ ... (function? {.#Named name/0 (-> input/0 output/0)} term/0)
- (function? (All (_ a) (-> a a)) $argument/0)
- (function? (Ex (_ a) (-> a a)) $argument/0)
- (function? (Ex (_ a) (-> input/0 a)) term/0)
- (function? (Ex (_ a) (-> a a)) term/0)
- (function? (Rec self (-> input/0 self)) $function/0)
+ ... (function? (All (_ a) (-> a a)) $argument/0)
+ ... (function? (Ex (_ a) (-> a a)) $argument/0)
+ ... (function? (Ex (_ a) (-> input/0 a)) term/0)
+ ... (function? (Ex (_ a) (-> a a)) term/0)
+ ... (function? (Rec self (-> input/0 self)) $function/0)
- (function? (type_literal ((All (_ a) (-> a a)) output/0)) term/0)
- (not (function? (type_literal ((All (_ a) (-> a a)) output/1)) term/0))
+ ... (function? (type_literal ((All (_ a) (-> a a)) output/0)) term/0)
+ ... (not (function? (type_literal ((All (_ a) (-> a a)) output/1)) term/0))
- (function? (type_literal ((Ex (_ a) (-> a a)) output/0)) term/0)
- (not (function? (type_literal ((Ex (_ a) (-> a a)) output/1)) term/0))
+ ... (function? (type_literal ((Ex (_ a) (-> a a)) output/0)) term/0)
+ ... (not (function? (type_literal ((Ex (_ a) (-> a a)) output/1)) term/0))
- (function?' (-> input/0 input/1 input/0) (` ([(, $function/1) (, $argument/1)] (, $argument/0)))
- (function (_ [outer body])
- (and (list.empty? outer)
- (when body
- {//analysis.#Function [inner body]}
- (n.= 1 (list.size inner))
+ ... (function?' (-> input/0 input/1 input/0) (` ([(, $function/1) (, $argument/1)] (, $argument/0)))
+ ... (function (_ [outer body])
+ ... (and (list.empty? outer)
+ ... (when body
+ ... {//analysis.#Function [inner body]}
+ ... (n.= 1 (list.size inner))
- _
- false))))
- (function?' (-> input/0 input/1 input/1) (` ([(, $function/1) (, $argument/1)] (, $argument/1)))
- (function (_ [outer body])
- (and (list.empty? outer)
- (when body
- {//analysis.#Function [inner body]}
- (n.= 0 (list.size inner))
+ ... _
+ ... false))))
+ ... (function?' (-> input/0 input/1 input/1) (` ([(, $function/1) (, $argument/1)] (, $argument/1)))
+ ... (function (_ [outer body])
+ ... (and (list.empty? outer)
+ ... (when body
+ ... {//analysis.#Function [inner body]}
+ ... (n.= 0 (list.size inner))
- _
- false))))
+ ... _
+ ... false))))
- (|> (do //phase.monad
- [[@var :var:] (//type.check check.var)
- _ (//type.check (check.check :var: (-> input/0 output/0)))
- analysis (|> (/.function ..analysis function/0 argument/0 archive.empty
- term/0)
- (//type.expecting :var:))]
- (in (when analysis
- {//analysis.#Function [actual_env actual_body]}
- true
+ ... (|> (do //phase.monad
+ ... [[@var :var:] (//type.check check.var)
+ ... _ (//type.check (check.check :var: (-> input/0 output/0)))
+ ... analysis (|> (/.function ..analysis function/0 argument/0 archive.empty
+ ... term/0)
+ ... (//type.expecting :var:))]
+ ... (in (when analysis
+ ... {//analysis.#Function [actual_env actual_body]}
+ ... true
- _
- false)))
- (//module.with 0 module/0)
- (//phase#each product.right)
- (//phase.result state)
- (try.else false))
+ ... _
+ ... false)))
+ ... (//module.with 0 module/0)
+ ... (//phase#each product.right)
+ ... (//phase.result state)
+ ... (try.else false))
- (inferring? (All (_ a) (-> a output/0)) term/0)
- (inferring? (All (_ a) (-> a a)) $argument/0)
- (inferring? (All (_ @0) (-> @0 @0 (And .Bit @0)))
- (` ([(, $function/1) (, $argument/1)]
- [("lux is" (, $argument/0) (, $argument/1))
- (, $argument/1)]))))))
+ ... (inferring? (All (_ a) (-> a output/0)) term/0)
+ ... (inferring? (All (_ a) (-> a a)) $argument/0)
+ ... (inferring? (All (_ @0) (-> @0 @0 (And .Bit @0)))
+ ... (` ([(, $function/1) (, $argument/1)]
+ ... [("lux is" (, $argument/0) (, $argument/1))
+ ... (, $argument/1)]))))))
(_.coverage [/.cannot_analyse]
(|> (do //phase.monad
[analysis (|> (/.function ..analysis function/0 argument/0 archive.empty
@@ -206,35 +206,35 @@
output/0 ($type.random 0)
module/0 (random.lower_case 1)]
(all _.and
- (_.coverage [/.apply]
- (let [reification? (is (-> Type (List Code) Type Bit)
- (function (_ :abstraction: terms :expected:)
- (|> (do //phase.monad
- [[:actual: analysis] (|> (/.apply ..analysis terms
- :abstraction:
- (//analysis.unit)
- archive.empty
- (' []))
- //type.inferring)]
- (in (and (check.subsumes? :expected: :actual:)
- (when analysis
- {//analysis.#Apply _}
- true
+ ... (_.coverage [/.apply]
+ ... (let [reification? (is (-> Type (List Code) Type Bit)
+ ... (function (_ :abstraction: terms :expected:)
+ ... (|> (do //phase.monad
+ ... [[:actual: analysis] (|> (/.apply ..analysis terms
+ ... :abstraction:
+ ... (//analysis.unit)
+ ... archive.empty
+ ... (' []))
+ ... //type.inferring)]
+ ... (in (and (check.subsumes? :expected: :actual:)
+ ... (when analysis
+ ... {//analysis.#Apply _}
+ ... true
- _
- false))))
- (//module.with 0 module/0)
- (//phase#each product.right)
- (//phase.result state)
- (try.else false))))]
- (and (reification? (-> input/0 input/1 output/0) (list term/0 term/1) output/0)
- (reification? (-> input/0 input/1 output/0) (list term/0) (-> input/1 output/0))
- (reification? (All (_ a) (-> a a)) (list term/0) input/0)
- (reification? (All (_ a) (-> a a a)) (list term/0) (-> input/0 input/0))
- (reification? (All (_ a) (-> input/0 a)) (list term/0) .Nothing)
- (reification? (All (_ a b) (-> a b a)) (list term/0) (All (_ b) (-> b input/0)))
- (reification? (Ex (_ a) (-> a input/0)) (list (` ("lux io error" ""))) input/0)
- (reification? (Ex (_ a) (-> input/0 a)) (list term/0) .Any))))
+ ... _
+ ... false))))
+ ... (//module.with 0 module/0)
+ ... (//phase#each product.right)
+ ... (//phase.result state)
+ ... (try.else false))))]
+ ... (and (reification? (-> input/0 input/1 output/0) (list term/0 term/1) output/0)
+ ... (reification? (-> input/0 input/1 output/0) (list term/0) (-> input/1 output/0))
+ ... (reification? (All (_ a) (-> a a)) (list term/0) input/0)
+ ... (reification? (All (_ a) (-> a a a)) (list term/0) (-> input/0 input/0))
+ ... (reification? (All (_ a) (-> input/0 a)) (list term/0) .Nothing)
+ ... (reification? (All (_ a b) (-> a b a)) (list term/0) (All (_ b) (-> b input/0)))
+ ... (reification? (Ex (_ a) (-> a input/0)) (list (` ("lux io error" ""))) input/0)
+ ... (reification? (Ex (_ a) (-> input/0 a)) (list term/0) .Any))))
(_.coverage [/.cannot_apply]
(|> (do //phase.monad
[_ (|> (/.apply ..analysis (list term/1 term/0)
diff --git a/stdlib/source/test/lux/meta/compiler/meta/cache.lux b/stdlib/source/test/lux/meta/compiler/meta/cache.lux
index 53e8cd328..06d6e20ff 100644
--- a/stdlib/source/test/lux/meta/compiler/meta/cache.lux
+++ b/stdlib/source/test/lux/meta/compiler/meta/cache.lux
@@ -28,9 +28,9 @@
Test
(<| (_.covering /._)
(do [! random.monad]
- [.let [/ "/"
- fs (file.mock /)]
- context $//context.random]
+ [context $//context.random
+ .let [/ "/"
+ fs (file.mock /)]]
(all _.and
(in (do [! async.monad]
[pre/0 (at fs directory? (/.path fs context))
diff --git a/stdlib/source/test/lux/meta/compiler/meta/cache/archive.lux b/stdlib/source/test/lux/meta/compiler/meta/cache/archive.lux
index 8779a86f0..2ba4c9af8 100644
--- a/stdlib/source/test/lux/meta/compiler/meta/cache/archive.lux
+++ b/stdlib/source/test/lux/meta/compiler/meta/cache/archive.lux
@@ -40,9 +40,9 @@
Test
(<| (_.covering /._)
(do [! random.monad]
- [.let [/ "/"
+ [context $context.random
+ .let [/ "/"
fs (file.mock /)]
- context $context.random
module/0 (random.lower_case 1)
module/1 (random.lower_case 2)
content/0 random.nat
diff --git a/stdlib/source/test/lux/meta/compiler/meta/cache/artifact.lux b/stdlib/source/test/lux/meta/compiler/meta/cache/artifact.lux
index bf0faa128..67d6eceb6 100644
--- a/stdlib/source/test/lux/meta/compiler/meta/cache/artifact.lux
+++ b/stdlib/source/test/lux/meta/compiler/meta/cache/artifact.lux
@@ -30,9 +30,9 @@
Test
(<| (_.covering /._)
(do [! random.monad]
- [.let [/ "/"
+ [context $///context.random
+ .let [/ "/"
fs (file.mock /)]
- context $///context.random
@module random.nat
@artifact random.nat
expected ($binary.random 1)]
diff --git a/stdlib/source/test/lux/meta/macro.lux b/stdlib/source/test/lux/meta/macro.lux
index 29f993f3a..2de0e2ec8 100644
--- a/stdlib/source/test/lux/meta/macro.lux
+++ b/stdlib/source/test/lux/meta/macro.lux
@@ -33,8 +33,7 @@
["[1][0]" local]
["[1][0]" syntax]
["[1][0]" template]
- ["[1][0]" pattern]
- ["[1][0]" context]])
+ ["[1][0]" pattern]])
(def !expect
(template (_ <pattern> <value>)
@@ -71,7 +70,7 @@
(do [! random.monad]
[seed random.nat
symbol_prefix (random.upper_case 1)
- .let [macro_module (symbol.module (symbol /._))
+ .let [macro_module (symbol.module (symbol expansion._))
current_module (symbol.module (symbol .._))]]
(in [seed
symbol_prefix
@@ -83,23 +82,23 @@
.#location location.dummy
.#current_module {.#Some current_module}
.#modules (list [macro_module
- [.#module_hash 0
- .#module_aliases (list)
- .#definitions (is (List [Text .Global])
- (list (!global expansion.log_single!)
- (!global expansion.log_complete!)
- (!global expansion.log_total!)))
- .#imports (list)
- .#module_state {.#Active}]]
+ [.#module_hash 0
+ .#module_aliases (list)
+ .#definitions (is (List [Text .Global])
+ (list (!global expansion.log_single!)
+ (!global expansion.log_complete!)
+ (!global expansion.log_total!)))
+ .#imports (list)
+ .#module_state {.#Active}]]
[current_module
- [.#module_hash 0
- .#module_aliases (list)
- .#definitions (is (List [Text .Global])
- (list (!global ..pow/2)
- (!global ..pow/4)
- (!global ..repeated)))
- .#imports (list)
- .#module_state {.#Active}]])
+ [.#module_hash 0
+ .#module_aliases (list)
+ .#definitions (is (List [Text .Global])
+ (list (!global ..pow/2)
+ (!global ..pow/4)
+ (!global ..repeated)))
+ .#imports (list)
+ .#module_state {.#Active}]])
.#scopes (list)
.#type_context [.#ex_counter 0
.#var_counter 0
@@ -247,5 +246,4 @@
/syntax.test
/template.test
/pattern.test
- /context.test
)))
diff --git a/stdlib/source/test/lux/meta/macro/context.lux b/stdlib/source/test/lux/meta/macro/context.lux
deleted file mode 100644
index 18fdd1d9e..000000000
--- a/stdlib/source/test/lux/meta/macro/context.lux
+++ /dev/null
@@ -1,13 +0,0 @@
-(.require
- [library
- [lux (.except)
- [test
- ["_" property (.only Test)]]]]
- [\\library
- ["[0]" /]])
-
-(def .public test
- Test
- (<| (_.covering /._)
- (_.test "TBD" false)
- ))
diff --git a/stdlib/source/test/lux/meta/type/unit/scale.lux b/stdlib/source/test/lux/meta/type/unit/scale.lux
index 82ac4fb05..64e6cd1ef 100644
--- a/stdlib/source/test/lux/meta/type/unit/scale.lux
+++ b/stdlib/source/test/lux/meta/type/unit/scale.lux
@@ -7,6 +7,7 @@
[math
["[0]" random (.only Random)]
[number
+ ["n" nat]
["i" int]
["[0]" ratio (.use "[1]#[0]" equivalence)]]]
["[0]" meta (.only)
@@ -26,8 +27,10 @@
meta.seed)))
(with_expansions [<from> (..natural)
- <to> (..natural)]
- (def how (/.scale [ratio.#denominator <from> ratio.#numerator <to>]))
+ <factor> (..natural)
+ <to> (n.* <factor> <from>)]
+ (def how (/.scale [ratio.#denominator <from>
+ ratio.#numerator <to>]))
(def How (/.type how))
(def how::from <from>)
@@ -49,9 +52,9 @@
.let [(open "meter#[0]") (is (Equivalence (//.Measure Any //.Meter))
//.equivalence)]
unscaled (|> random.int
- (at ! each (i.% +1,000))
- (at ! each (i.* (.int how::to)))
- (at ! each (at //.meter in)))]
+ (at ! each (|>> (i.% +1,000)
+ (i.* (.int how::to))
+ (at //.meter in))))]
(`` (all _.and
(,, (with_template [<type> <scale>]
[(_.coverage [<type> <scale>]
diff --git a/stdlib/source/test/lux/test/property.lux b/stdlib/source/test/lux/test/property.lux
index 87b5aee56..67dd9c7e1 100644
--- a/stdlib/source/test/lux/test/property.lux
+++ b/stdlib/source/test/lux/test/property.lux
@@ -43,11 +43,11 @@
[[success_tally success_message] (unit.test expected_message/0 true)
[failure_tally failure_message] (unit.test expected_message/0 false)]
(unit.coverage [unit.test tally.Tally]
- (and (text.ends_with? expected_message/0 success_message)
- (text.ends_with? expected_message/0 failure_message)
+ (and (text.ends_with? (%.text expected_message/0) success_message)
+ (text.ends_with? (%.text expected_message/0) failure_message)
(and (n.= 1 (the tally.#successes success_tally))
- (n.= 0 (the tally.#failures success_tally)))
- (and (n.= 0 (the tally.#successes failure_tally))
+ (n.= 0 (the tally.#successes failure_tally)))
+ (and (n.= 0 (the tally.#failures success_tally))
(n.= 1 (the tally.#failures failure_tally)))))))
(in (do async.monad
[tt (unit.and (unit.test expected_message/0 true)
@@ -244,8 +244,8 @@
(and (text.ends_with? (%.text expected_message/0) success_message)
(text.ends_with? (%.text expected_message/0) failure_message)
(and (n.= 1 (the tally.#successes success_tally))
- (n.= 0 (the tally.#failures success_tally)))
- (and (n.= 0 (the tally.#successes failure_tally))
+ (n.= 0 (the tally.#successes failure_tally)))
+ (and (n.= 0 (the tally.#failures success_tally))
(n.= 1 (the tally.#failures failure_tally))))))))
(do !
[tt (/.and (/.test expected_message/0 true)