diff options
50 files changed, 2764 insertions, 2764 deletions
diff --git a/documentation/bookmark/agriculture.md b/documentation/bookmark/agriculture.md index f0c601722..14ccda9ff 100644 --- a/documentation/bookmark/agriculture.md +++ b/documentation/bookmark/agriculture.md @@ -1,4 +1,6 @@ # Reference +0. []() +0. [Soil.Spectroscopy](https://soilspectroscopy.org/) 0. [Agrivoltaics: Opportunities for Agriculture and Energy Transition](https://agri-pv.org/en/) diff --git a/documentation/bookmark/business/management.md b/documentation/bookmark/business/management.md index fe1b947d6..b8672f815 100644 --- a/documentation/bookmark/business/management.md +++ b/documentation/bookmark/business/management.md @@ -1,6 +1,7 @@ # Reference 0. []() +0. [Team organisation by capabilities](https://blog.georgovassilis.com/2021/09/25/team-organisation-by-capabilities/) 0. [Scrum Teams are often Coached to Death, while the Problems are With Management](https://medium.com/serious-scrum/scrum-teams-are-often-coached-to-death-while-the-problems-are-with-management-60ac93bb0c1c) 0. [Monitoring Employees Makes Them More Likely to Break Rules](https://hbr.org/2022/06/monitoring-employees-makes-them-more-likely-to-break-rules) 0. [Why criticism lasts longer than praise](https://www.bbc.com/future/article/20220624-why-criticism-lasts-longer-than-praise) diff --git a/documentation/bookmark/compilation/target/c.md b/documentation/bookmark/compilation/target/c.md index 81fc2960d..2b53ffd44 100644 --- a/documentation/bookmark/compilation/target/c.md +++ b/documentation/bookmark/compilation/target/c.md @@ -1,6 +1,7 @@ # Reference 0. []() +0. [Cosmopolitan: build-once run-anywhere c library](https://github.com/jart/cosmopolitan) 0. [](https://github.com/MichaelMiR01/tcc4tcl) 0. [](https://github.com/tcllab/tcc4tcl) 0. [](https://github.com/cyanogilvie/tcc4tcl) diff --git a/documentation/bookmark/compilation/target/rust.md b/documentation/bookmark/compilation/target/rust.md index f38b36966..2d5373a66 100644 --- a/documentation/bookmark/compilation/target/rust.md +++ b/documentation/bookmark/compilation/target/rust.md @@ -1,5 +1,7 @@ # Reference +0. []() +0. [Actually Portable Executables with Rust and Cosmopolitan Libc](https://ahgamut.github.io/2022/07/27/ape-rust-example/) 0. [Rust's Rules Are Made to Be Broken](https://blog.warp.dev/rules-are-made-to-be-broken/) 0. [CXX — safe interop between Rust and C++](https://cxx.rs/) diff --git a/documentation/bookmark/compilation/target/smalltalk.md b/documentation/bookmark/compilation/target/smalltalk.md new file mode 100644 index 000000000..e2d33e3e3 --- /dev/null +++ b/documentation/bookmark/compilation/target/smalltalk.md @@ -0,0 +1,5 @@ +# Reference + +0. []() +0. [24-Martin McClure-Objects In The Mist: The Design Of A Non Traditional Smalltalk](https://www.youtube.com/watch?v=iw4FPqe8KdY) + diff --git a/documentation/bookmark/database.md b/documentation/bookmark/database.md index 56bd1fdc6..83dfd0387 100644 --- a/documentation/bookmark/database.md +++ b/documentation/bookmark/database.md @@ -1,14 +1,17 @@ # Multiversion Concurrency Control -0. [Multiversion Concurrency Control: Theory and Algorithms](http://sungsoo.github.io/papers/bernstein-1983.pdf) 0. []() +0. [Multiversion Concurrency Control: Theory and Algorithms](http://sungsoo.github.io/papers/bernstein-1983.pdf) # Pagination +0. []() 0. [Pagination with Relative Cursors](https://shopify.engineering/pagination-relative-cursors) # Reference +0. []() +0. [The Slotted Counter Pattern](https://planetscale.com/blog/the-slotted-counter-pattern) 0. ["Temporal Databases for Streaming Architectures" by Jeremy Taylor and Jon Pither](https://www.youtube.com/watch?v=ykbYNBE-V3k) 0. ["Makings of a Modern ACID Compliant Distributed Database" by Attila Szegedi](https://www.youtube.com/watch?v=pn8mCeX3LDE) 0. https://edgedb.com/blog/a-path-to-a-10x-database/ @@ -20,10 +23,12 @@ # Data structure +0. []() 0. [The Concurrent 2-Trie](https://medium.com/@chrisvest/the-concurrent-2-trie-67deb2b57ba1) # Query +0. []() 0. ["Morel, a functional query language" by Julian Hyde](https://www.youtube.com/watch?v=smUm3C5q2IM) 0. [Comprehending Ringads](http://lambda-the-ultimate.org/node/5525) 0. [Reasons why SELECT * is bad for SQL performance](https://tanelpoder.com/posts/reasons-why-select-star-is-bad-for-sql-performance/) @@ -57,6 +62,7 @@ # Optimization +0. []() 0. [Hera - High Efficiency Reliable Access to data stores](https://github.com/paypal/hera) 0. [Relaxed Operator Fusion for In-Memory Databases: Making Compilation, Vectorization, and Prefetching Work Together At Last](https://db.cs.cmu.edu/papers/2017/p1-menon.pdf) 0. https://medium.com/connect-the-dots/optimizing-queries-in-rethinkdb-584d7f660cb @@ -66,6 +72,7 @@ # Index +0. []() 0. https://www.pilosa.com/ 0. https://en.wikipedia.org/wiki/Fractal_tree_index 0. [Beating hash tables with trees? The ART-ful radix trie](https://www.the-paper-trail.org/post/art-paper-notes/) @@ -76,21 +83,28 @@ # Relational Algebra +0. []() 0. https://slamdata.com/what-is-multidimensional-relational-algebra/ 0. https://github.com/slamdata/purescript-mra # Time traveling +0. []() 0. https://www.arangodb.com/2018/07/time-traveling-with-graph-databases/ # Data processing + +0. []() 0. https://medium.com/@gauthierleonard/apache-beam-a-unified-programming-model-for-data-processing-pipelines-4de9fb6ede6d # Philosophy + +0. []() 0. http://dhickey.ie/2016/01/03/commercial-suicide-integration-at-the-database-level/ # Storage +0. []() 0. [Database Internals: A deep-dive into how distributed data systems work](https://www.oreilly.com/library/view/database-internals/9781492040330/) 0. [B-Trees: More Than I Thought I'd Want to Know](https://benjamincongdon.me/blog/2021/08/17/B-Trees-More-Than-I-Thought-Id-Want-to-Know/) 0. [Understanding LSM Trees: What Powers Write-Heavy Databases](https://yetanotherdevblog.com/lsm/) @@ -126,6 +140,7 @@ # Exemplar +0. []() 0. [Debunking “Purpose-Built Data Systems”: Enter the Universal Database](https://tiledb.com/blog/debunking-purpose-built-data-systems-enter-the-universal-database-2021-08-04) 0. [Irmin](https://irmin.org/) 0. [Database of Databases](https://dbdb.io/) @@ -190,23 +205,28 @@ ## Relational +0. []() 0. [dqlite: Embeddable, replicated and fault tolerant SQL engine.](https://github.com/canonical/dqlite) ## Immutable +0. []() 0. [immudb: OPEN SOURCE IMMUTABLE DATABASE](https://codenotary.com/technologies/immudb/) 0. http://www.datomic.com/ ## Data-flow +0. []() 0. [Noria: data-flow for high-performance web applications](https://github.com/mit-pdos/noria) ## Vector Database +0. []() 0. [What is a Vector Database?](https://www.pinecone.io/learn/vector-database/) ## Graph +0. []() 0. ["Asami: Turn your JSON into a Graph in 2 Lines" by Paula Gearon](https://www.youtube.com/watch?v=-XegX_K6w-o) 0. https://github.com/hugegraph/hugegraph 0. https://github.com/Microsoft/GraphEngine @@ -220,45 +240,56 @@ ## Column +0. []() 0. https://blog.acolyer.org/2018/09/26/the-design-and-implementation-of-modern-column-oriented-database-systems/ ## Datalog +0. []() 0. [Open Source Clojure-Datalog Databases](https://clojurelog.github.io/) ## Log +0. []() 0. https://code.fb.com/core-data/logdevice-a-distributed-data-store-for-logs/ ## Key-Value +0. []() 0. https://github.com/yahoo/HaloDB 0. https://chronicle.software/products/map/ ## Array + +0. []() 0. [Array Databases: Concepts, Standards, Implementations](https://rd-alliance.org/system/files/Array-Databases_final-report.pdf) ## Blockchain +0. []() 0. https://flur.ee/ ## Time-series +0. []() 0. https://github.com/alpacahq/marketstore 0. https://www.outlyer.com/blog/why-not-to-build-a-time-series-database/ ## GPU +0. []() 0. https://blazingdb.com/#/ ## Tree +0. []() 0. A Novel Method for Representing Hierarchies in a Relational Database Using Bignums and SQLite https://s3.amazonaws.com/pub.xhuntley.net/Huntley_Tcl2011.pdf # CQRS | Event-Sourcing +0. []() 0. [Introducing Derivative Event Sourcing](https://www.confluent.io/blog/event-sourcing-vs-derivative-event-sourcing-explained) 0. https://blog.wallaroolabs.com/2018/06/implementing-time-windowing-in-an-evented-streaming-system/ 0. https://data-artisans.com/blog/a-practical-guide-to-broadcast-state-in-apache-flink @@ -269,14 +300,17 @@ # Architecture +0. []() 0. https://www.sqlite.org/arch.html # Criticism +0. []() 0. https://codeburst.io/doing-without-databases-in-the-21st-century-6e25cf495373 # Geo-spatial +0. []() 0. H3: Uber’s Hexagonal Hierarchical Spatial Index https://eng.uber.com/h3/ @@ -284,6 +318,8 @@ 0. https://github.com/mourner/flatbush # Transaction + +0. []() 0. MixT: An embedded, domain-specific language for Mixed-Consistency Transactions https://mpmilano.github.io/MixT/ @@ -293,30 +329,36 @@ # Consistency +0. []() 0. https://jepsen.io/consistency 0. http://muratbuffalo.blogspot.com/2018/08/the-many-faces-of-consistency.html 0. https://fauna.com/blog/consistency-without-clocks-faunadb-transaction-protocol # P2P Networking +0. []() 0. https://medium.com/perlin-network/noise-an-opinionated-p2p-networking-stack-for-decentralized-protocols-in-go-bfc6fecf157d 0. https://xorro-p2p.github.io/ # Data Visualization +0. []() 0. https://www.tadviewer.com/ # Privacy +0. []() 0. https://blog.acolyer.org/2019/06/17/towards-multiverse-databases/ 0. [Towards Multiverse Databases](https://people.csail.mit.edu/malte/pub/papers/2019-hotos-multiversedb.pdf) # Security +0. []() 0. [The ZombieLoad Pragmatist: Tips for Surviving in a Post-Meltdown World](https://www.scylladb.com/2019/05/17/the-zombieload-pragmatist/) # _Temporary cache_ +0. []() 0. https://github.com/pubkey/rxdb 0. https://hackernoon.com/execute-millions-of-sql-statements-in-milliseconds-in-the-browser-with-webassembly-and-web-workers-3e0b25c3f1a6#.w8w8qi8b3 0. https://github.com/kripken/sql.js diff --git a/documentation/bookmark/hashing.md b/documentation/bookmark/hashing.md index eda334300..98891b1fa 100644 --- a/documentation/bookmark/hashing.md +++ b/documentation/bookmark/hashing.md @@ -1,4 +1,6 @@ # Reference -1. [The construct of a bit mixer](http://jonkagstrom.com/bit-mixer-construction/) +0. []() +0. [The many flavors of hashing](https://notes.volution.ro/v1/2022/07/notes/1290a79c/) +0. [The construct of a bit mixer](http://jonkagstrom.com/bit-mixer-construction/) diff --git a/documentation/bookmark/memory_management.md b/documentation/bookmark/memory_management.md index 2fc8b3606..84acecd98 100644 --- a/documentation/bookmark/memory_management.md +++ b/documentation/bookmark/memory_management.md @@ -1,28 +1,34 @@ # Static +0. []() 0. [ASAP: As Static As Possible memory management](https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-908.pdf) # Allocation +0. []() 0. [How to allocate memory](https://geocar.sdf1.org/alloc.html) 0. [Always Bump Downwards](https://fitzgeraldnick.com/2019/11/01/always-bump-downwards.html) # Compaction +0. []() 0. ["Compacting the Uncompactable" by Bobby Powers](https://www.youtube.com/watch?v=c1UBJbfR-H0) # Reference counting +0. []() 0. [Perceus: Garbage Free Reference Counting with Reuse (Extended version)](https://www.microsoft.com/en-us/research/publication/perceus-garbage-free-reference-counting-with-reuse/) 0. [Introducing --gc:arc](https://forum.nim-lang.org/t/5734) 0. [Counting Immutable Beans: Reference Counting Optimized for Purely Functional Programming](https://arxiv.org/abs/1908.05647) # Layout +0. []() 0. [Floorplan: Spatial Layout in Memory Management Systems](https://conf.researchr.org/details/gpce-2019/gpce-2019-papers/6/Floorplan-Spatial-Layout-in-Memory-Management-Systems) # Garbage collection +0. []() 0. [Destroy All Values: Designing Deinitialization in Programming Languages](https://gankra.github.io/blah/deinitialize-me-maybe/) 0. [Deconstructing the Garbage-First Collector](https://users.cecs.anu.edu.au/~steveb/pubs/papers/g1-vee-2020.pdf) 0. [The Garbage Collection Handbook](http://gchandbook.org/) @@ -30,10 +36,13 @@ # Smart references +0. []() 0. [Smart References: There and Back Again - Erik Valkering [ CppCon 2018 ]](https://www.youtube.com/watch?v=bfm9m3xJQRY) # Reference +0. []() +0. [Move Operation + "Use After Move" Diagnostic](https://github.com/apple/swift-evolution/blob/main/proposals/0366-move-function.md) 0. [Relative Pointers](https://www.gingerbill.org/article/2020/05/17/relative-pointers/) 0. [Scopes Describe Frames: A Uniform Model for Memory Layout in Dynamic Semantics](http://drops.dagstuhl.de/opus/volltexte/2016/6114/) 0. https://uridiumauthor.blogspot.com/2018/06/memory-management.html diff --git a/documentation/bookmark/music.md b/documentation/bookmark/music.md index d6b712fc1..5a3489baf 100644 --- a/documentation/bookmark/music.md +++ b/documentation/bookmark/music.md @@ -2,10 +2,6 @@ 0. [Three Types of Music Analysis](https://flujoo.github.io/en/three-types-of-music-analysis/) -# Language - -0. [alda: Alda is a text-based programming language for music composition. It allows you to write and play back music using only a text editor and the command line.](https://alda.io/) - # Async music 0. [async music](https://async.art/music) diff --git a/documentation/bookmark/music/language.md b/documentation/bookmark/music/language.md index f7fb95dd6..5b855ad9a 100644 --- a/documentation/bookmark/music/language.md +++ b/documentation/bookmark/music/language.md @@ -1,4 +1,6 @@ # Reference +0. []() 0. [glicol](https://glicol.org/) +0. [alda: Alda is a text-based programming language for music composition. It allows you to write and play back music using only a text editor and the command line.](https://alda.io/) diff --git a/documentation/bookmark/music/rhythm.md b/documentation/bookmark/music/rhythm.md new file mode 100644 index 000000000..01c786c62 --- /dev/null +++ b/documentation/bookmark/music/rhythm.md @@ -0,0 +1,7 @@ +# Reference + +0. []() +0. [More Polyrhythms - Music Theory Crash Course](https://www.youtube.com/watch?v=ItiWM9leO58) +0. [Looking at More Complex Polyrhythms - Music Theory Crash Course](https://www.youtube.com/watch?v=Op9ESW2pmvE) +0. [What Is Polyrhythm?](https://www.youtube.com/watch?v=a0RNSM-I-kw) + diff --git a/documentation/bookmark/parsing.md b/documentation/bookmark/parsing.md index 1d5bac732..9a181c1a2 100644 --- a/documentation/bookmark/parsing.md +++ b/documentation/bookmark/parsing.md @@ -1,5 +1,7 @@ # Reference -1. [Base64 encoding and decoding at almost the speed of a memory copy](https://arxiv.org/abs/1910.05109) -1. [Parsing XML at the Speed of Light](https://aosabook.org/en/posa/parsing-xml-at-the-speed-of-light.html) +0. []() +0. [Introducing Rust Sitter: Write fast and robust parsers with ease](https://www.shadaj.me/writing/introducing-rust-sitter/) +0. [Base64 encoding and decoding at almost the speed of a memory copy](https://arxiv.org/abs/1910.05109) +0. [Parsing XML at the Speed of Light](https://aosabook.org/en/posa/parsing-xml-at-the-speed-of-light.html) diff --git a/documentation/bookmark/security/capability.md b/documentation/bookmark/security/capability.md new file mode 100644 index 000000000..0d55f3bc9 --- /dev/null +++ b/documentation/bookmark/security/capability.md @@ -0,0 +1,7 @@ +# Reference + +0. []() +0. [Capability-Based Computer Systems](https://homes.cs.washington.edu/~levy/capabook/) +0. [Introducing cap-std, a capability-based version of the Rust standard library](https://blog.sunfishcode.online/introducing-cap-std/) +0. [Introduction To Capability Based Security](http://www.skyhunter.com/marcs/capabilityIntro/index.html) + diff --git a/documentation/bookmark/security/capability_based.md b/documentation/bookmark/security/capability_based.md deleted file mode 100644 index 26f24c0e0..000000000 --- a/documentation/bookmark/security/capability_based.md +++ /dev/null @@ -1,5 +0,0 @@ -# Reference - -1. [Introducing cap-std, a capability-based version of the Rust standard library](https://blog.sunfishcode.online/introducing-cap-std/) -1. [Introduction To Capability Based Security](http://www.skyhunter.com/marcs/capabilityIntro/index.html) - diff --git a/documentation/bookmark/type_theory/uniqueness.md b/documentation/bookmark/type_theory/uniqueness.md new file mode 100644 index 000000000..2e61a37e9 --- /dev/null +++ b/documentation/bookmark/type_theory/uniqueness.md @@ -0,0 +1,5 @@ +# Reference + +0. []() +0. [Uniqueness Typing Simplified](https://www.researchgate.net/publication/221600600_Uniqueness_Typing_Simplified) + diff --git a/documentation/bookmark/web_framework.md b/documentation/bookmark/web_framework.md index 1163c8ee0..9c6ab4865 100644 --- a/documentation/bookmark/web_framework.md +++ b/documentation/bookmark/web_framework.md @@ -18,6 +18,7 @@ # Reference 0. []() +0. [JavaScript Hydration Is a Workaround, Not a Solution](https://thenewstack.io/javascript-hydration-is-a-workaround-not-a-solution/) 0. [Functional UI](https://take.surf/2022/07/04/functional-ui) 0. [UIs Are Not Pure Functions of the Model - React.js and Cocoa Side by Side](https://blog.metaobject.com/2018/12/uis-are-not-pure-functions-of-model.html) 0. [UIs are streaming DAGs](https://hyperfiddle.notion.site/UIs-are-streaming-DAGs-e181461681a8452bb9c7a9f10f507991) 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) |