aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--documentation/bookmark/advice.md4
-rw-r--r--documentation/bookmark/floating_point.md3
-rw-r--r--documentation/bookmark/game_programming.md1
-rw-r--r--documentation/bookmark/open_source.md4
-rw-r--r--documentation/bookmark/optimization.md1
-rw-r--r--documentation/bookmark/performance.md4
-rw-r--r--documentation/bookmark/probabilistic_data_structure.md2
-rw-r--r--documentation/bookmark/rendering.md1
-rw-r--r--documentation/bookmark/security.md4
-rw-r--r--documentation/bookmark/tool/text_editor.md1
-rw-r--r--documentation/bookmark/type_theory/dependent.md (renamed from documentation/bookmark/type_theory/dependent_types.md)1
-rw-r--r--lux-bootstrapper/project.clj13
-rw-r--r--lux-js/commands.md7
-rw-r--r--lux-js/project.clj4
-rw-r--r--lux-js/project.lux33
-rw-r--r--lux-jvm/commands.md4
-rw-r--r--lux-jvm/project.clj10
-rw-r--r--lux-lein/project.clj4
-rw-r--r--lux-lua/project.clj4
-rw-r--r--lux-lua/project.lux6
-rw-r--r--lux-python/commands.md10
-rw-r--r--lux-python/project.clj4
-rw-r--r--lux-python/project.lux14
-rw-r--r--lux-ruby/commands.md2
-rw-r--r--lux-ruby/project.clj4
-rw-r--r--lux-ruby/project.lux29
-rw-r--r--stdlib/commands.md5
-rw-r--r--stdlib/project.clj4
-rw-r--r--stdlib/project.lux16
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/version.lux2
-rw-r--r--stdlib/source/library/lux/tool/compiler/meta/packager/jvm.lux6
-rw-r--r--stdlib/source/program/aedifex/artifact/snapshot/version/value.lux14
-rw-r--r--stdlib/source/program/aedifex/command/build.lux86
-rw-r--r--stdlib/source/program/aedifex/command/deps.lux62
-rw-r--r--stdlib/source/program/aedifex/dependency/deployment.lux80
-rw-r--r--stdlib/source/program/aedifex/dependency/resolution.lux117
-rw-r--r--stdlib/source/program/aedifex/metadata/artifact.lux82
-rw-r--r--stdlib/source/program/aedifex/metadata/snapshot.lux12
-rw-r--r--stdlib/source/program/aedifex/pom.lux61
-rw-r--r--stdlib/source/program/aedifex/repository/remote.lux6
-rw-r--r--stdlib/source/test/aedifex/dependency/deployment.lux104
-rw-r--r--stdlib/source/test/aedifex/repository/remote.lux82
42 files changed, 489 insertions, 424 deletions
diff --git a/documentation/bookmark/advice.md b/documentation/bookmark/advice.md
new file mode 100644
index 000000000..b1b8225ec
--- /dev/null
+++ b/documentation/bookmark/advice.md
@@ -0,0 +1,4 @@
+# Reference
+
+1. [97 Things Every Programmer Should Know](https://chemaclass.es/readings/97-things-every-programmer-should-know/)
+
diff --git a/documentation/bookmark/floating_point.md b/documentation/bookmark/floating_point.md
index fe22137dc..bdc3d3bb9 100644
--- a/documentation/bookmark/floating_point.md
+++ b/documentation/bookmark/floating_point.md
@@ -1,5 +1,6 @@
-# Half-precision
+# Precision
+1. [Accuracy of Mathematical Functions in Single, Double, Double Extended, and Quadruple Precision](https://members.loria.fr/PZimmermann/papers/accuracy.pdf)
1. [Supporting half-precision floats is really annoying](https://futhark-lang.org/blog/2021-08-05-half-precision-floats.html)
# Debugging
diff --git a/documentation/bookmark/game_programming.md b/documentation/bookmark/game_programming.md
index 3191e7087..d04e0def1 100644
--- a/documentation/bookmark/game_programming.md
+++ b/documentation/bookmark/game_programming.md
@@ -96,6 +96,7 @@
# Reference
+1. [How to Make an RPG](https://howtomakeanrpg.com/)
1. https://mod.io/
1. https://www.amazon.com/Game-Engine-Black-Book-Wolfenstein/dp/1539692876
1. http://shaderbits.com/blog/octahedral-impostors/
diff --git a/documentation/bookmark/open_source.md b/documentation/bookmark/open_source.md
new file mode 100644
index 000000000..467a54662
--- /dev/null
+++ b/documentation/bookmark/open_source.md
@@ -0,0 +1,4 @@
+# Reference
+
+1. [Why Modern Open Source Projects Fail](https://arxiv.org/abs/1707.02327)
+
diff --git a/documentation/bookmark/optimization.md b/documentation/bookmark/optimization.md
index e9e6f2109..6a773a929 100644
--- a/documentation/bookmark/optimization.md
+++ b/documentation/bookmark/optimization.md
@@ -24,6 +24,7 @@
# Reference
+1. [CompilerGym: Making compiler optimizations accessible to all](https://ai.facebook.com/blog/compilergym-making-compiler-optimizations-accessible-to-all)
1. [Do Low-level Optimizations Matter?](https://cantrip.org/sortfast.html)
1. [Inline caching](https://bernsteinbear.com/blog/inline-caching/)
1. [Weird and Wonderful Division Tricks](https://saml98.github.io/jekyll/update/2020/02/21/weird-division.htmls)
diff --git a/documentation/bookmark/performance.md b/documentation/bookmark/performance.md
new file mode 100644
index 000000000..a5009abf5
--- /dev/null
+++ b/documentation/bookmark/performance.md
@@ -0,0 +1,4 @@
+# Reference
+
+1. [CppCon 2019: Chandler Carruth “There Are No Zero-cost Abstractions”](https://www.youtube.com/watch?v=rHIkrotSwcc)
+
diff --git a/documentation/bookmark/probabilistic_data_structure.md b/documentation/bookmark/probabilistic_data_structure.md
index 8e74baea7..3d6c3bf84 100644
--- a/documentation/bookmark/probabilistic_data_structure.md
+++ b/documentation/bookmark/probabilistic_data_structure.md
@@ -30,6 +30,8 @@
## Bloom filter
+1. [Word-aligned Bloom filters](https://lemire.me/blog/2021/10/03/word-aligned-bloom-filters/)
+1. [Bloom Filters by Example](https://llimllib.github.io/bloomfilter-tutorial/)
1. [Bloom Filters - Much, much more than a space efficient hashmap!](https://boyter.org/posts/bloom-filter/)
1. [Teaching Bloom Filters new tricks](https://toao.com/blog/teaching-bloom-filters-new-tricks)
1. http://www.partow.net/programming/bloomfilter/idx.html
diff --git a/documentation/bookmark/rendering.md b/documentation/bookmark/rendering.md
index 793367868..e8fb72658 100644
--- a/documentation/bookmark/rendering.md
+++ b/documentation/bookmark/rendering.md
@@ -1,5 +1,6 @@
# Ray Tracing
+1. [Ray Tracing in One Weekend - The Book Series](https://raytracing.github.io/)
1. [Ray Tracing Gems II Available Today as Free Digital Download](https://developer.nvidia.com/blog/ray-tracing-gems-ii-available-today-as-free-digital-download/)
1. [Ray Tracing Gems II](https://link.springer.com/book/10.1007/978-1-4842-7185-8)
diff --git a/documentation/bookmark/security.md b/documentation/bookmark/security.md
index 524d1651c..ba0d282f2 100644
--- a/documentation/bookmark/security.md
+++ b/documentation/bookmark/security.md
@@ -1,3 +1,7 @@
+# Restraint | Sand-boxing
+
+1. [JavaScript Restrictor](https://polcak.github.io/jsrestrictor/)
+
# Memory
1. [Provably Safe Pointers for a Parallel World](https://www.youtube.com/watch?v=ugf58HNd7Rg)
diff --git a/documentation/bookmark/tool/text_editor.md b/documentation/bookmark/tool/text_editor.md
index a3f7dcbee..3cd6aea03 100644
--- a/documentation/bookmark/tool/text_editor.md
+++ b/documentation/bookmark/tool/text_editor.md
@@ -55,6 +55,7 @@
# Reference
+1. [Deft for Emacs](https://jblevins.org/projects/deft/)
1. [Text Editing Hates You Too](https://lord.io/text-editing-hates-you-too/)
1. [Build Your Own Text Editor](https://viewsourcecode.org/snaptoken/kilo/index.html)
1. [On the design of text editors](https://arxiv.org/abs/2008.06030)
diff --git a/documentation/bookmark/type_theory/dependent_types.md b/documentation/bookmark/type_theory/dependent.md
index 2ba13222b..abdc01942 100644
--- a/documentation/bookmark/type_theory/dependent_types.md
+++ b/documentation/bookmark/type_theory/dependent.md
@@ -1,5 +1,6 @@
# Exemplar
+1. [POMPOM LANGUAGE](https://github.com/caotic123/PomPom-Language)
1. [A simple type-theoretic language: Mini-TT](http://www.cse.chalmers.se/~bengt/papers/GKminiTT.pdf)
1. https://cedille.github.io/
diff --git a/lux-bootstrapper/project.clj b/lux-bootstrapper/project.clj
index ba42e7c05..4fb1b90cd 100644
--- a/lux-bootstrapper/project.clj
+++ b/lux-bootstrapper/project.clj
@@ -1,8 +1,8 @@
-(defproject com.github.luxlang/lux-bootstrapper "0.6.0"
+(defproject com.github.luxlang/lux-bootstrapper "0.6.2"
:min-lein-version "2.1.0" ;; 2.1.0 introduced jar classifiers
:description "The JVM (bootstrapping) compiler for the Lux programming language."
:url "https://github.com/LuxLang/lux"
- :license {:name "Lux License v0.1.1"
+ :license {:name "Lux License v0.1.2"
:url "https://github.com/LuxLang/lux/blob/master/license.txt"}
:deploy-repositories [["releases" {:url "https://oss.sonatype.org/service/local/staging/deploy/maven2/"
:creds :gpg}]
@@ -14,15 +14,18 @@
:dependencies [[org.clojure/clojure "1.6.0"]
[org.clojure/core.match "0.2.1"]
;; Prefer when building Lua compiler.
- ;; [org.ow2.asm/asm-all "5.0.3"]
+ ;; [org.ow2.asm/asm "5.0.3"]
+ ;; [org.ow2.asm/asm-commons "5.0.3"]
+ ;; [org.ow2.asm/asm-analysis "5.0.3"]
+ ;; [org.ow2.asm/asm-tree "5.0.3"]
+ ;; [org.ow2.asm/asm-util "5.0.3"]
;; Prefer when building JS compiler.
[org.ow2.asm/asm "7.3.1"]
[org.ow2.asm/asm-commons "7.3.1"]
[org.ow2.asm/asm-analysis "7.3.1"]
[org.ow2.asm/asm-tree "7.3.1"]
- [org.ow2.asm/asm-util "7.3.1"]
- ]
+ [org.ow2.asm/asm-util "7.3.1"]]
:warn-on-reflection true
:repositories [["snapshots" "https://oss.sonatype.org/content/repositories/snapshots/"]]
:source-paths ["src"]
diff --git a/lux-js/commands.md b/lux-js/commands.md
index 6d2b1d54e..5c6da5e51 100644
--- a/lux-js/commands.md
+++ b/lux-js/commands.md
@@ -8,6 +8,11 @@ cd ~/lux/lux-js/ && lein clean && lein lux auto test
# Build
```
+cd ~/lux/lux-js/ \
+&& lux clean \
+&& lux with js build \
+&& mv target/program.js lux.js
+
## Develop
cd ~/lux/lux-js/ \
&& lein clean \
@@ -47,6 +52,6 @@ cd ~/lux/stdlib/ \
```
cd ~/lux/lux-js/ \
-&& mvn install:install-file -Dfile=lux.js -DgroupId=com.github.luxlang -DartifactId=lux-js -Dversion=0.6.0-SNAPSHOT -Dpackaging=js
+&& mvn install:install-file -Dfile=lux.js -DgroupId=com.github.luxlang -DartifactId=lux-js -Dversion=0.7.0-SNAPSHOT -Dpackaging=js
```
diff --git a/lux-js/project.clj b/lux-js/project.clj
index 35ab4a21c..280b9fb90 100644
--- a/lux-js/project.clj
+++ b/lux-js/project.clj
@@ -1,4 +1,4 @@
-(def version "0.6.0")
+(def version "0.6.2")
(def repo "https://github.com/LuxLang/lux")
(def sonatype-releases "https://oss.sonatype.org/service/local/staging/deploy/maven2/")
(def sonatype-snapshots "https://oss.sonatype.org/content/repositories/snapshots/")
@@ -6,7 +6,7 @@
(defproject com.github.luxlang/lux-js #=(identity version)
:description "A JavaScript compiler for Lux."
:url ~repo
- :license {:name "Lux License v0.1.1"
+ :license {:name "Lux License v0.1.2"
:url ~(str repo "/blob/master/license.txt")}
:scm {:name "git"
:url ~(str repo ".git")}
diff --git a/lux-js/project.lux b/lux-js/project.lux
index e9b44e375..5bd0019e2 100644
--- a/lux-js/project.lux
+++ b/lux-js/project.lux
@@ -1,17 +1,28 @@
-{""
- [#identity ["com.github.luxlang" "lux-js" "0.6.0"]
- #description "A JavaScript compiler for Lux."
+[""
+ ["identity" ["com.github.luxlang" "lux-js" "0.6.2"]
+ "info" ["url" "https://github.com/LuxLang/lux"
+ "scm" "https://github.com/LuxLang/lux.git"
+ "licenses" [["name" "Lux License v0.1.2"
+ "url" "https://github.com/LuxLang/lux/blob/master/license.txt"
+ "type" "repo"]]
+ "developers" [["name" "Eduardo Julian"
+ "url" "https://github.com/eduardoejp"]]]
+ "description" "A JavaScript compiler for Lux."
- #deploy_repositories {"snapshots" "https://oss.sonatype.org/content/repositories/snapshots/"
- "releases" "https://oss.sonatype.org/service/local/staging/deploy/maven2/"}
+ "deploy_repositories" {"snapshots" "https://oss.sonatype.org/content/repositories/snapshots/"
+ "releases" "https://oss.sonatype.org/service/local/staging/deploy/maven2/"}
- #repositories ["https://oss.sonatype.org/content/repositories/snapshots/"
- "https://oss.sonatype.org/service/local/staging/deploy/maven2/"]
+ "repositories" ["https://oss.sonatype.org/content/repositories/snapshots/"
+ "https://oss.sonatype.org/service/local/staging/deploy/maven2/"]
- #dependencies [["com.github.luxlang" "stdlib" "0.6.0" "tar"]]
+ "dependencies" [["com.github.luxlang" "stdlib" "0.6.2" "tar"]]
- #program "program"]
+ "program" "program"]
+
+ "js"
+ ["compiler" ["com.github.luxlang" "lux-js" "0.6.1" "js"]
+ "dependencies" [["org.openjdk.nashorn" "nashorn-core" "15.1" "jar"]]]
"jvm"
- [#compiler ["com.github.luxlang" "lux-jvm" "0.6.0" "jar"]
- #dependencies [["org.openjdk.nashorn" "nashorn-core" "15.1" "jar"]]]}
+ ["compiler" ["com.github.luxlang" "lux-jvm" "0.6.2" "jar"]
+ "dependencies" [["org.openjdk.nashorn" "nashorn-core" "15.1" "jar"]]]]
diff --git a/lux-jvm/commands.md b/lux-jvm/commands.md
index 2dd7cb2f5..e9da3e732 100644
--- a/lux-jvm/commands.md
+++ b/lux-jvm/commands.md
@@ -40,14 +40,14 @@ cd ~/lux/stdlib/ \
```
cd ~/lux/lux-jvm/ \
-&& mvn install:install-file -Dfile=target/program.jar -DgroupId=com.github.luxlang -DartifactId=lux-jvm -Dversion=0.6.0-SNAPSHOT -Dpackaging=jar
+&& mvn install:install-file -Dfile=target/program.jar -DgroupId=com.github.luxlang -DartifactId=lux-jvm -Dversion=0.6.1-SNAPSHOT -Dpackaging=jar
cd ~/lux/lux-jvm/ && mvn deploy:deploy-file \
-Durl=https://<username>:<password>@oss.sonatype.org/content/repositories/snapshots/ \
-Dfile=target/program.jar \
-DgroupId=com.github.luxlang \
-DartifactId=lux-jvm \
--Dversion=0.6.0-SNAPSHOT \
+-Dversion=0.6.1-SNAPSHOT \
-Dpackaging=jar
```
diff --git a/lux-jvm/project.clj b/lux-jvm/project.clj
index f6bc06844..e60892f36 100644
--- a/lux-jvm/project.clj
+++ b/lux-jvm/project.clj
@@ -1,4 +1,4 @@
-(def version "0.6.0")
+(def version "0.6.2")
(def repo "https://github.com/LuxLang/lux")
(def sonatype "https://oss.sonatype.org")
(def sonatype-releases (str sonatype "/service/local/staging/deploy/maven2/"))
@@ -7,7 +7,7 @@
(defproject com.github.luxlang/lux-jvm #=(identity version)
:description "A JVM compiler for Lux."
:url ~repo
- :license {:name "Lux License v0.1.1"
+ :license {:name "Lux License v0.1.2"
:url ~(str repo "/blob/master/license.txt")}
:plugins [[com.github.luxlang/lein-luxc ~version]]
:deploy-repositories [["releases" {:url ~sonatype-releases :creds :gpg}]
@@ -22,7 +22,11 @@
:dependencies [[com.github.luxlang/lux-bootstrapper ~version]
;; [com.github.luxlang/stdlib ~version]
;; JVM Bytecode (TODO: Remove ASAP)
- [org.ow2.asm/asm-all "5.0.3"]]
+ [org.ow2.asm/asm "7.3.1"]
+ [org.ow2.asm/asm-commons "7.3.1"]
+ [org.ow2.asm/asm-analysis "7.3.1"]
+ [org.ow2.asm/asm-tree "7.3.1"]
+ [org.ow2.asm/asm-util "7.3.1"]]
:manifest {"lux" ~version}
:source-paths ["source"]
diff --git a/lux-lein/project.clj b/lux-lein/project.clj
index 3fc049c64..ef6c1a7f4 100644
--- a/lux-lein/project.clj
+++ b/lux-lein/project.clj
@@ -1,7 +1,7 @@
-(defproject com.github.luxlang/lein-luxc "0.6.0"
+(defproject com.github.luxlang/lein-luxc "0.6.2"
:description "The Leiningen plugin for the Lux programming language."
:url "https://github.com/LuxLang/lein-luxc"
- :license {:name "Lux License v0.1.1"
+ :license {:name "Lux License v0.1.2"
:url "https://github.com/LuxLang/lux/blob/master/license.txt"}
:dependencies [[org.clojure/clojure "1.6.0"]]
:deploy-repositories [["releases" {:url "https://oss.sonatype.org/service/local/staging/deploy/maven2/"
diff --git a/lux-lua/project.clj b/lux-lua/project.clj
index e6848ccb1..73d84ef7a 100644
--- a/lux-lua/project.clj
+++ b/lux-lua/project.clj
@@ -1,4 +1,4 @@
-(def version "0.6.0")
+(def version "0.6.2")
(def repo "https://github.com/LuxLang/lux")
(def sonatype-releases "https://oss.sonatype.org/service/local/staging/deploy/maven2/")
(def sonatype-snapshots "https://oss.sonatype.org/content/repositories/snapshots/")
@@ -6,7 +6,7 @@
(defproject com.github.luxlang/lux-lua #=(identity version)
:description "A Lua compiler for Lux."
:url ~repo
- :license {:name "Lux License v0.1.1"
+ :license {:name "Lux License v0.1.2"
:url ~(str repo "/blob/master/license.txt")}
:scm {:name "git"
:url ~(str repo ".git")}
diff --git a/lux-lua/project.lux b/lux-lua/project.lux
index e03946c59..df20f4029 100644
--- a/lux-lua/project.lux
+++ b/lux-lua/project.lux
@@ -1,5 +1,5 @@
{""
- [#identity ["com.github.luxlang" "lux-lua" "0.6.0"]
+ [#identity ["com.github.luxlang" "lux-lua" "0.6.2"]
#deploy_repositories {"snapshots" "https://oss.sonatype.org/content/repositories/snapshots/"
"releases" "https://oss.sonatype.org/service/local/staging/deploy/maven2/"}
@@ -7,8 +7,8 @@
#repositories ["https://oss.sonatype.org/content/repositories/snapshots/"
"https://oss.sonatype.org/service/local/staging/deploy/maven2/"]
- #compiler ["com.github.luxlang" "lux-jvm" "0.6.0" "jar"]
- #dependencies [["com.github.luxlang" "stdlib" "0.6.0" "tar"]
+ #compiler ["com.github.luxlang" "lux-jvm" "0.6.2" "jar"]
+ #dependencies [["com.github.luxlang" "stdlib" "0.6.2" "tar"]
["net.sandius.rembulan" "rembulan-runtime" "0.1-SNAPSHOT" "jar"]
["net.sandius.rembulan" "rembulan-stdlib" "0.1-SNAPSHOT" "jar"]
["net.sandius.rembulan" "rembulan-compiler" "0.1-SNAPSHOT" "jar"]]
diff --git a/lux-python/commands.md b/lux-python/commands.md
index f33ea9f3f..177c1ec3c 100644
--- a/lux-python/commands.md
+++ b/lux-python/commands.md
@@ -12,12 +12,6 @@ cd ~/lux/lux-python/ && lein clean && lein lux auto test
cd ~/lux/lux-python/ \
&& lux clean \
&& lux auto build
-
-## Build JVM-based compiler
-cd ~/lux/lux-python/ \
-&& lux clean \
-&& lux build \
-&& mv target/program.jar jvm_based_compiler.jar
```
# Try
@@ -25,7 +19,7 @@ cd ~/lux/lux-python/ \
```
## Compile Lux's Standard Library's tests using a JVM-based compiler.
cd ~/lux/stdlib/ \
-&& lein clean \
+&& lux clean \
&& java -jar ~/lux/lux-python/target/program.jar build --source ~/lux/stdlib/source --target ~/lux/stdlib/target --module test/lux \
&& python3 ~/lux/stdlib/target/program.py
```
@@ -34,6 +28,6 @@ cd ~/lux/stdlib/ \
```
cd ~/lux/lux-python/ \
-&& mvn install:install-file -Dfile=target/program.jar -DgroupId=com.github.luxlang -DartifactId=lux-python -Dversion=0.6.0-SNAPSHOT -Dpackaging=jar
+&& mvn install:install-file -Dfile=target/program.jar -DgroupId=com.github.luxlang -DartifactId=lux-python -Dversion=0.7.0-SNAPSHOT -Dpackaging=jar
```
diff --git a/lux-python/project.clj b/lux-python/project.clj
index 3367a2819..e174ca27d 100644
--- a/lux-python/project.clj
+++ b/lux-python/project.clj
@@ -1,4 +1,4 @@
-(def version "0.6.0")
+(def version "0.6.2")
(def repo "https://github.com/LuxLang/lux")
(def sonatype-releases "https://oss.sonatype.org/service/local/staging/deploy/maven2/")
(def sonatype-snapshots "https://oss.sonatype.org/content/repositories/snapshots/")
@@ -6,7 +6,7 @@
(defproject com.github.luxlang/lux-python #=(identity version)
:description "A Python compiler for Lux."
:url ~repo
- :license {:name "Lux License v0.1.1"
+ :license {:name "Lux License v0.1.2"
:url ~(str repo "/blob/master/license.txt")}
:scm {:name "git"
:url ~(str repo ".git")}
diff --git a/lux-python/project.lux b/lux-python/project.lux
index 4c0b4dfa4..9a3b08fa9 100644
--- a/lux-python/project.lux
+++ b/lux-python/project.lux
@@ -1,5 +1,13 @@
[""
- ["identity" ["com.github.luxlang" "lux-python" "0.6.0"]
+ ["identity" ["com.github.luxlang" "lux-python" "0.6.2"]
+ "description" "A Python compiler for Lux."
+ "info" ["url" "https://github.com/LuxLang/lux"
+ "scm" "https://github.com/LuxLang/lux.git"
+ "licenses" [["name" "Lux License v0.1.2"
+ "url" "https://github.com/LuxLang/lux/blob/master/license.txt"
+ "type" "repo"]]
+ "developers" [["name" "Eduardo Julian"
+ "url" "https://github.com/eduardoejp"]]]
"deploy_repositories" ["snapshots" "https://oss.sonatype.org/content/repositories/snapshots/"
"releases" "https://oss.sonatype.org/service/local/staging/deploy/maven2/"]
@@ -7,8 +15,8 @@
"repositories" ["https://oss.sonatype.org/content/repositories/snapshots/"
"https://oss.sonatype.org/service/local/staging/deploy/maven2/"]
- "compiler" ["com.github.luxlang" "lux-jvm" "0.6.0" "jar"]
- "dependencies" [["com.github.luxlang" "stdlib" "0.6.0" "tar"]
+ "compiler" ["com.github.luxlang" "lux-jvm" "0.6.2" "jar"]
+ "dependencies" [["com.github.luxlang" "stdlib" "0.6.2" "tar"]
["org.python" "jython-standalone" "2.7.2" "jar"]]
"program" "program"]]
diff --git a/lux-ruby/commands.md b/lux-ruby/commands.md
index 2b2be3a06..f5439ea64 100644
--- a/lux-ruby/commands.md
+++ b/lux-ruby/commands.md
@@ -34,6 +34,6 @@ cd ~/lux/stdlib/ \
```
cd ~/lux/lux-ruby/ \
-&& mvn install:install-file -Dfile=target/program.jar -DgroupId=com.github.luxlang -DartifactId=lux-ruby -Dversion=0.6.0-SNAPSHOT -Dpackaging=jar
+&& mvn install:install-file -Dfile=target/program.jar -DgroupId=com.github.luxlang -DartifactId=lux-ruby -Dversion=0.7.0-SNAPSHOT -Dpackaging=jar
```
diff --git a/lux-ruby/project.clj b/lux-ruby/project.clj
index f689a8c33..80ddde6d3 100644
--- a/lux-ruby/project.clj
+++ b/lux-ruby/project.clj
@@ -1,4 +1,4 @@
-(def version "0.6.0")
+(def version "0.6.2")
(def repo "https://github.com/LuxLang/lux")
(def sonatype-releases "https://oss.sonatype.org/service/local/staging/deploy/maven2/")
(def sonatype-snapshots "https://oss.sonatype.org/content/repositories/snapshots/")
@@ -6,7 +6,7 @@
(defproject com.github.luxlang/lux-ruby #=(identity version)
:description "A Ruby compiler for Lux."
:url ~repo
- :license {:name "Lux License v0.1.1"
+ :license {:name "Lux License v0.1.2"
:url ~(str repo "/blob/master/license.txt")}
:scm {:name "git"
:url ~(str repo ".git")}
diff --git a/lux-ruby/project.lux b/lux-ruby/project.lux
index ab142f3c4..a7b17ec98 100644
--- a/lux-ruby/project.lux
+++ b/lux-ruby/project.lux
@@ -1,15 +1,22 @@
-{""
- [#identity ["com.github.luxlang" "lux-ruby" "0.6.0"]
- #description "A Ruby compiler for Lux."
+[""
+ ["identity" ["com.github.luxlang" "lux-ruby" "0.6.2"]
+ "description" "A Ruby compiler for Lux."
+ "info" ["url" "https://github.com/LuxLang/lux"
+ "scm" "https://github.com/LuxLang/lux.git"
+ "licenses" [["name" "Lux License v0.1.2"
+ "url" "https://github.com/LuxLang/lux/blob/master/license.txt"
+ "type" "repo"]]
+ "developers" [["name" "Eduardo Julian"
+ "url" "https://github.com/eduardoejp"]]]
- #deploy_repositories {"snapshots" "https://oss.sonatype.org/content/repositories/snapshots/"
- "releases" "https://oss.sonatype.org/service/local/staging/deploy/maven2/"}
+ "deploy_repositories" {"snapshots" "https://oss.sonatype.org/content/repositories/snapshots/"
+ "releases" "https://oss.sonatype.org/service/local/staging/deploy/maven2/"}
- #repositories ["https://oss.sonatype.org/content/repositories/snapshots/"
- "https://oss.sonatype.org/service/local/staging/deploy/maven2/"]
+ "repositories" ["https://oss.sonatype.org/content/repositories/snapshots/"
+ "https://oss.sonatype.org/service/local/staging/deploy/maven2/"]
- #compiler ["com.github.luxlang" "lux-jvm" "0.6.0" "jar"]
- #dependencies [["com.github.luxlang" "stdlib" "0.6.0" "tar"]
- ["org.jruby" "jruby-complete" "9.2.15.0" "jar"]]
+ "compiler" ["com.github.luxlang" "lux-jvm" "0.6.2" "jar"]
+ "dependencies" [["com.github.luxlang" "stdlib" "0.6.2" "tar"]
+ ["org.jruby" "jruby-complete" "9.2.15.0" "jar"]]
- #program "program"]}
+ "program" "program"]]
diff --git a/stdlib/commands.md b/stdlib/commands.md
index a2329b8f0..27d476e1b 100644
--- a/stdlib/commands.md
+++ b/stdlib/commands.md
@@ -101,6 +101,11 @@ cd ~/lux/stdlib/ \
&& lein with-profile aedifex lux auto build
cd ~/lux/stdlib/ \
+&& lein clean \
+&& lein with-profile aedifex lux build \
+&& mv target/program.jar aedifex.jar
+
+cd ~/lux/stdlib/ \
&& lux clean \
&& lux with jvm with aedifex auto build
diff --git a/stdlib/project.clj b/stdlib/project.clj
index 64cb8d3b7..9cc874af8 100644
--- a/stdlib/project.clj
+++ b/stdlib/project.clj
@@ -1,4 +1,4 @@
-(def version "0.6.0")
+(def version "0.6.2")
(def repo "https://github.com/LuxLang/lux")
(def sonatype-releases "https://oss.sonatype.org/service/local/staging/deploy/maven2/")
(def sonatype-snapshots "https://oss.sonatype.org/content/repositories/snapshots/")
@@ -7,7 +7,7 @@
:description "Standard library for the Lux programming language."
:url ~repo
- :license {:name "Lux License v0.1.1"
+ :license {:name "Lux License v0.1.2"
:url ~(str repo "/blob/master/license.txt")}
:plugins [[com.github.luxlang/lein-luxc ~version]]
:deploy-repositories [["releases" {:url ~sonatype-releases :creds :gpg}]
diff --git a/stdlib/project.lux b/stdlib/project.lux
index a5a2df7d7..496763b00 100644
--- a/stdlib/project.lux
+++ b/stdlib/project.lux
@@ -2,12 +2,12 @@
[... An optional identity for the project.
... It can also be specified or overriden in a non-default profile.
... This will be the name given to the project when installed/deployed as a dependency.
- "identity" ["com.github.luxlang" "stdlib" "0.6.0"]
+ "identity" ["com.github.luxlang" "stdlib" "0.6.2"]
... Every piece of information, and the whole "info" bundle, are optional.
"info" ["url" "https://github.com/LuxLang/lux"
"scm" "https://github.com/LuxLang/lux.git"
- "licenses" [["name" "Lux License v0.1.1"
+ "licenses" [["name" "Lux License v0.1.2"
"url" "https://github.com/LuxLang/lux/blob/master/license.txt"
"type" "repo"]]
... "organization" [["name" "Lux Foundation"
@@ -41,36 +41,36 @@
... The following are alternative profiles to use in various situations.
"jvm"
[... "compiler" specifies the dependency to fetch and use as the compiler.
- "compiler" ["com.github.luxlang" "lux-jvm" "0.6.0" "jar"]
+ "compiler" ["com.github.luxlang" "lux-jvm" "0.6.2" "jar"]
... "dependencies" is an optional list of dependencies to fetch.
... The dependencies have the same shape as when specifying the compiler.
... When omitting the packaging format of the dependency, "tar" will be assumed.
... "dependencies" [["org.ow2.asm" "asm-all" "5.0.3" "jar"]
- ... ["com.github.luxlang" "stdlib" "0.6.0"]]
+ ... ["com.github.luxlang" "stdlib" "0.6.2"]]
... The OS command to use when running JVM tests. The default is described below.
... "java" ["java" "-jar"]
]
"js"
- ["compiler" ["com.github.luxlang" "lux-js" "0.6.0" "js"]
+ ["compiler" ["com.github.luxlang" "lux-js" "0.6.2" "js"]
... The OS command to use when running JS tests. The default is described below.
... "js" ["node" "--stack_size=8192"]
]
"python"
- ["compiler" ["com.github.luxlang" "lux-python" "0.6.0" "jar"]
+ ["compiler" ["com.github.luxlang" "lux-python" "0.6.2" "jar"]
... The OS command to use when running Python tests. The default is described below.
... "python" ["python3"]
]
"lua"
- ["compiler" ["com.github.luxlang" "lux-lua" "0.6.0" "jar"]
+ ["compiler" ["com.github.luxlang" "lux-lua" "0.6.2" "jar"]
... The OS command to use when running Lua tests. The default is described below.
... "lua" ["lua"]
]
"ruby"
- ["compiler" ["com.github.luxlang" "lux-ruby" "0.6.0" "jar"]
+ ["compiler" ["com.github.luxlang" "lux-ruby" "0.6.2" "jar"]
... The OS command to use when running Ruby tests. The default is described below.
... "ruby" ["ruby"]
]
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/version.lux b/stdlib/source/library/lux/tool/compiler/language/lux/version.lux
index de36f2803..733188447 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/version.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/version.lux
@@ -6,4 +6,4 @@
(def: .public version
Version
- 00,06,00)
+ 00,06,02)
diff --git a/stdlib/source/library/lux/tool/compiler/meta/packager/jvm.lux b/stdlib/source/library/lux/tool/compiler/meta/packager/jvm.lux
index fc1642ba2..9d1fca9af 100644
--- a/stdlib/source/library/lux/tool/compiler/meta/packager/jvm.lux
+++ b/stdlib/source/library/lux/tool/compiler/meta/packager/jvm.lux
@@ -222,8 +222,10 @@
(let [entry_path (java/util/zip/ZipEntry::getName entry)
entry_size (java/util/zip/ZipEntry::getSize entry)]
(if (not (or (java/util/zip/ZipEntry::isDirectory entry)
- (text.starts_with? "META-INF/maven/" entry_path)
- (text.starts_with? "META-INF/leiningen/" entry_path)))
+ (or (text.starts_with? "META-INF/maven/" entry_path)
+ (text.starts_with? "META-INF/leiningen/" entry_path))
+ (or (text.ends_with? ".SF" entry_path)
+ (text.ends_with? ".DSA" entry_path))))
(case (java/util/jar/JarOutputStream::putNextEntry (java/util/jar/JarEntry::new entry_path) sink)
{try.#Failure error}
(again entries
diff --git a/stdlib/source/program/aedifex/artifact/snapshot/version/value.lux b/stdlib/source/program/aedifex/artifact/snapshot/version/value.lux
index 9ce004ab5..f01c01522 100644
--- a/stdlib/source/program/aedifex/artifact/snapshot/version/value.lux
+++ b/stdlib/source/program/aedifex/artifact/snapshot/version/value.lux
@@ -29,16 +29,16 @@
(def: .public snapshot
"SNAPSHOT")
-(def: .public (format (^open "[0]"))
+(def: .public (format (^open "/[0]"))
(%.Format Value)
- (case snapshot
+ (case /#snapshot
{///.#Local}
- version
+ /#version
{///.#Remote stamp}
- (let [(^open "[0]") stamp]
+ (let [(^open "/[0]") stamp]
(%.format (text.replaced ..snapshot
- (///time.format time)
- version)
+ (///time.format /#time)
+ /#version)
..separator
- (%.nat build)))))
+ (%.nat /#build)))))
diff --git a/stdlib/source/program/aedifex/command/build.lux b/stdlib/source/program/aedifex/command/build.lux
index 8ad4c15f6..9fbc34542 100644
--- a/stdlib/source/program/aedifex/command/build.lux
+++ b/stdlib/source/program/aedifex/command/build.lux
@@ -1,46 +1,46 @@
(.using
- [library
- [lux "+"
- ["[0]" ffi {"+" import:}]
- [abstract
- [order {"+" Order}]
- [monad {"+" do}]]
- [control
- ["[0]" try {"+" Try}]
- ["[0]" exception {"+" exception:}]
- ["[0]" io {"+" IO}]
- [concurrency
- ["[0]" async {"+" Async} ("[1]#[0]" monad)]]]
- [data
- ["[0]" product]
- ["[0]" text ("[1]#[0]" order)
- ["%" format {"+" format}]]
- [collection
- ["[0]" list ("[1]#[0]" functor mix)]
- ["[0]" dictionary {"+" Dictionary}]
- ["[0]" set]]]
- [math
- [number
- ["n" nat]
- ["i" int]]]
- [world
- ["[0]" program {"+" Program}]
- ["[0]" file {"+" Path}]
- ["[0]" shell {"+" Exit Process Shell}]
- ["[0]" console {"+" Console}]
- [net
- ["[0]" uri]]]]]
- ["[0]" /// "_"
- ["[1]" profile]
- ["[1][0]" action]
- ["[1][0]" command {"+" Command}]
- ["[1][0]" local]
- ["[1][0]" repository]
- ["[1][0]" runtime]
- ["[1][0]" dependency {"+" Dependency}
- ["[1]/[0]" resolution {"+" Resolution}]]
- ["[1][0]" artifact {"+" Group Name Version Artifact}
- ["[1]/[0]" type]]])
+ [library
+ [lux "*"
+ ["[0]" ffi {"+" import:}]
+ [abstract
+ [order {"+" Order}]
+ [monad {"+" do}]]
+ [control
+ ["[0]" try {"+" Try}]
+ ["[0]" exception {"+" exception:}]
+ ["[0]" io {"+" IO}]
+ [concurrency
+ ["[0]" async {"+" Async} ("[1]#[0]" monad)]]]
+ [data
+ ["[0]" product]
+ ["[0]" text ("[1]#[0]" order)
+ ["%" format {"+" format}]]
+ [collection
+ ["[0]" list ("[1]#[0]" functor mix)]
+ ["[0]" dictionary {"+" Dictionary}]
+ ["[0]" set]]]
+ [math
+ [number
+ ["n" nat]
+ ["i" int]]]
+ [world
+ ["[0]" program {"+" Program}]
+ ["[0]" file {"+" Path}]
+ ["[0]" shell {"+" Exit Process Shell}]
+ ["[0]" console {"+" Console}]
+ [net
+ ["[0]" uri]]]]]
+ ["[0]" /// "_"
+ ["[1]" profile]
+ ["[1][0]" action]
+ ["[1][0]" command {"+" Command}]
+ ["[1][0]" local]
+ ["[1][0]" repository]
+ ["[1][0]" runtime]
+ ["[1][0]" dependency {"+" Dependency}
+ ["[1]/[0]" resolution {"+" Resolution}]]
+ ["[1][0]" artifact {"+" Group Name Version Artifact}
+ ["[1]/[0]" type]]])
(type: Finder
(-> Resolution (Maybe Dependency)))
@@ -222,7 +222,7 @@
read!))]
[log_output! read]
- [log_error! error]
+ [log_error! fail]
)
(import: java/lang/System
diff --git a/stdlib/source/program/aedifex/command/deps.lux b/stdlib/source/program/aedifex/command/deps.lux
index a8602cd3f..4e32a73b1 100644
--- a/stdlib/source/program/aedifex/command/deps.lux
+++ b/stdlib/source/program/aedifex/command/deps.lux
@@ -1,35 +1,35 @@
(.using
- [library
- [lux "*"
- [abstract
- [monad {"+" do}]]
- [control
- ["[0]" exception]
- [concurrency
- ["[0]" async {"+" Async}]]]
- [data
- [collection
- ["[0]" set {"+" Set}]
- ["[0]" list ("[1]#[0]" mix)]
- ["[0]" dictionary]]
- [text
- ["%" format]]]
- [world
- [net {"+" URL}]
- [program {"+" Program}]
- ["[0]" file]
- ["[0]" console {"+" Console}]]]]
- ["[0]" // "_"
- ["[1][0]" clean]
- ["/[1]" // "_"
- [command {"+" Command}]
- [repository {"+" Repository}]
- ["[1]" profile]
- ["[1][0]" action {"+" Action}]
- ["[1][0]" artifact {"+" Artifact}]
- ["[1][0]" dependency {"+" Dependency}
- ["[1]/[0]" resolution {"+" Resolution}]
- ["[1]/[0]" deployment]]]])
+ [library
+ [lux "*"
+ [abstract
+ [monad {"+" do}]]
+ [control
+ ["[0]" exception]
+ [concurrency
+ ["[0]" async {"+" Async}]]]
+ [data
+ [collection
+ ["[0]" set {"+" Set}]
+ ["[0]" list ("[1]#[0]" mix)]
+ ["[0]" dictionary]]
+ [text
+ ["%" format]]]
+ [world
+ [net {"+" URL}]
+ [program {"+" Program}]
+ ["[0]" file]
+ ["[0]" console {"+" Console}]]]]
+ ["[0]" // "_"
+ ["[1][0]" clean]
+ ["/[1]" // "_"
+ [command {"+" Command}]
+ [repository {"+" Repository}]
+ ["[1]" profile]
+ ["[1][0]" action {"+" Action}]
+ ["[1][0]" artifact {"+" Artifact}]
+ ["[1][0]" dependency {"+" Dependency}
+ ["[1]/[0]" resolution {"+" Resolution}]
+ ["[1]/[0]" deployment]]]])
(def: format
(%.Format Dependency)
diff --git a/stdlib/source/program/aedifex/dependency/deployment.lux b/stdlib/source/program/aedifex/dependency/deployment.lux
index 318475c26..7098505d4 100644
--- a/stdlib/source/program/aedifex/dependency/deployment.lux
+++ b/stdlib/source/program/aedifex/dependency/deployment.lux
@@ -1,44 +1,44 @@
(.using
- [library
- [lux "*"
- [abstract
- [codec {"+" Codec}]
- ["[0]" monad {"+" do}]]
- [control
- ["[0]" try {"+" Try}]
- [concurrency
- ["[0]" async {"+" Async}]]]
- [data
- [binary {"+" Binary}]
- ["[0]" product]
- [text
- ["%" format {"+" format}]
- [encoding
- ["[0]" utf8]]]
- [collection
- ["[0]" dictionary]
- ["[0]" set {"+" Set}]
- ["[0]" list ("[1]#[0]" monoid)]]]
- [time
- ["[0]" instant {"+" Instant}]]]]
- ["[0]" /// "_"
- [repository {"+" Repository}]
- ["[1][0]" hash {"+" Hash}]
- ["[1][0]" package {"+" Package}]
- ["[1][0]" artifact {"+" Artifact}
- ["[1]/[0]" time]
- ["[1]/[0]" type]
- ["[1]/[0]" extension {"+" Extension}]
- ["[1]/[0]" versioning]
- ["[1]/[0]" snapshot
- ["[1]/[0]" version
- ["[1]/[0]" value]]]]
- ["[1][0]" metadata "_"
- ["[1]/[0]" artifact]
- ["[1]/[0]" snapshot {"+" Metadata}]]
- ["[1][0]" dependency {"+" Dependency}
- [resolution {"+" Resolution}]
- ["[1]/[0]" status {"+" Status}]]])
+ [library
+ [lux "*"
+ [abstract
+ [codec {"+" Codec}]
+ ["[0]" monad {"+" do}]]
+ [control
+ ["[0]" try {"+" Try}]
+ [concurrency
+ ["[0]" async {"+" Async}]]]
+ [data
+ [binary {"+" Binary}]
+ ["[0]" product]
+ [text
+ ["%" format {"+" format}]
+ [encoding
+ ["[0]" utf8]]]
+ [collection
+ ["[0]" dictionary]
+ ["[0]" set {"+" Set}]
+ ["[0]" list ("[1]#[0]" monoid)]]]
+ [time
+ ["[0]" instant {"+" Instant}]]]]
+ ["[0]" /// "_"
+ [repository {"+" Repository}]
+ ["[1][0]" hash {"+" Hash}]
+ ["[1][0]" package {"+" Package}]
+ ["[1][0]" artifact {"+" Artifact}
+ ["[1]/[0]" time]
+ ["[1]/[0]" type]
+ ["[1]/[0]" extension {"+" Extension}]
+ ["[1]/[0]" versioning]
+ ["[1]/[0]" snapshot
+ ["[1]/[0]" version
+ ["[1]/[0]" value]]]]
+ ["[1][0]" metadata "_"
+ ["[1]/[0]" artifact]
+ ["[1]/[0]" snapshot {"+" Metadata}]]
+ ["[1][0]" dependency {"+" Dependency}
+ [resolution {"+" Resolution}]
+ ["[1]/[0]" status {"+" Status}]]])
(def: (with_status repository version_template [artifact type] [data status])
(-> (Repository Async) ///artifact.Version Dependency [Binary Status] (Async (Try Any)))
diff --git a/stdlib/source/program/aedifex/dependency/resolution.lux b/stdlib/source/program/aedifex/dependency/resolution.lux
index 4b0aee23d..ffea5d458 100644
--- a/stdlib/source/program/aedifex/dependency/resolution.lux
+++ b/stdlib/source/program/aedifex/dependency/resolution.lux
@@ -1,63 +1,62 @@
(.using
- [library
- [lux "*"
- ["@" target]
- ["[0]" debug]
- ["[0]" ffi {"+" import:}]
- [abstract
- [codec {"+" Codec}]
- [equivalence {"+" Equivalence}]
- [monad {"+" do}]
- ["[0]" predicate {"+" Predicate}]]
- [control
- ["[0]" maybe]
- ["[0]" try {"+" Try} ("[1]#[0]" functor)]
- ["[0]" exception {"+" Exception exception:}]
- ["<>" parser
- ["<[0]>" xml {"+" Parser}]]
- [concurrency
- ["[0]" async {"+" Async}]]]
- [data
- ["[0]" binary {"+" Binary}]
- ["[0]" name]
- ["[0]" text
- ["%" format {"+" format}]
- [encoding
- ["[0]" utf8]]]
- [format
- ["[0]" xml {"+" Tag XML}]]
- [collection
- ["[0]" dictionary {"+" Dictionary}]
- ["[0]" set]
- ["[0]" list ("[1]#[0]" functor monoid)]]]
- [math
- [number
- ["n" nat]
- ["[0]" i64]]]
- [world
- [console {"+" Console}]
- [net {"+" URL}
- ["[0]" uri]
- ["[0]" http "_"
- ["[1]" client]]]]]]
- ["[0]" // {"+" Dependency}
- ["[1][0]" status {"+" Status}]
- ["/[1]" // "_"
- ["/" profile]
- ["[1][0]" hash {"+" Hash SHA-1 MD5}]
- ["[1][0]" pom]
- ["[1][0]" package {"+" Package}]
- ["[1][0]" artifact {"+" Version Artifact}
- ["[1]/[0]" extension {"+" Extension}]
- ["[1]/[0]" versioning]
- ["[0]" snapshot
- [version
- ["[0]" value]]]]
- ["[1][0]" repository {"+" Repository}
- ["[1]/[0]" remote {"+" Address}]
- ["[1]/[0]" origin {"+" Origin}]]
- ["[1][0]" metadata
- ["[1]/[0]" snapshot]]]])
+ [library
+ [lux "*"
+ ["@" target]
+ ["[0]" debug]
+ ["[0]" ffi {"+" import:}]
+ [abstract
+ [codec {"+" Codec}]
+ [equivalence {"+" Equivalence}]
+ [monad {"+" do}]
+ ["[0]" predicate {"+" Predicate}]]
+ [control
+ ["[0]" maybe]
+ ["[0]" try {"+" Try} ("[1]#[0]" functor)]
+ ["[0]" exception {"+" Exception exception:}]
+ ["<>" parser
+ ["<[0]>" xml {"+" Parser}]]
+ [concurrency
+ ["[0]" async {"+" Async}]]]
+ [data
+ ["[0]" binary {"+" Binary}]
+ ["[0]" text
+ ["%" format {"+" format}]
+ [encoding
+ ["[0]" utf8]]]
+ [format
+ ["[0]" xml {"+" Tag XML}]]
+ [collection
+ ["[0]" dictionary {"+" Dictionary}]
+ ["[0]" set]
+ ["[0]" list ("[1]#[0]" functor monoid)]]]
+ [math
+ [number
+ ["n" nat]
+ ["[0]" i64]]]
+ [world
+ [console {"+" Console}]
+ [net {"+" URL}
+ ["[0]" uri]
+ ["[0]" http "_"
+ ["[1]" client]]]]]]
+ ["[0]" // {"+" Dependency}
+ ["[1][0]" status {"+" Status}]
+ ["/[1]" // "_"
+ ["/" profile]
+ ["[1][0]" hash {"+" Hash SHA-1 MD5}]
+ ["[1][0]" pom]
+ ["[1][0]" package {"+" Package}]
+ ["[1][0]" artifact {"+" Version Artifact}
+ ["[1]/[0]" extension {"+" Extension}]
+ ["[1]/[0]" versioning]
+ ["[0]" snapshot
+ [version
+ ["[0]" value]]]]
+ ["[1][0]" repository {"+" Repository}
+ ["[1]/[0]" remote {"+" Address}]
+ ["[1]/[0]" origin {"+" Origin}]]
+ ["[1][0]" metadata
+ ["[1]/[0]" snapshot]]]])
(template [<name>]
[(exception: .public (<name> [artifact Artifact
diff --git a/stdlib/source/program/aedifex/metadata/artifact.lux b/stdlib/source/program/aedifex/metadata/artifact.lux
index cebd4a826..27448f154 100644
--- a/stdlib/source/program/aedifex/metadata/artifact.lux
+++ b/stdlib/source/program/aedifex/metadata/artifact.lux
@@ -1,42 +1,42 @@
(.using
- [library
- [lux "*"
- [abstract
- [monad {"+" do}]
- [equivalence {"+" Equivalence}]]
- [control
- [pipe {"+" do>}]
- ["[0]" try {"+" Try}]
- ["<>" parser
- ["<[0]>" xml {"+" Parser}]
- ["<[0]>" text]]
- [concurrency
- ["[0]" async {"+" Async}]]]
- [data
- ["[0]" product]
- ["[0]" text
- ["%" format]
- [encoding
- ["[0]" utf8]]]
- [format
- ["[0]" xml {"+" XML}]]
- [collection
- ["[0]" list ("[1]#[0]" functor)]]]
- [math
- [number
- ["n" nat]]]
- ["[0]" time {"+" Time}
- ["[0]" instant {"+" Instant}]
- ["[0]" date {"+" Date}]
- ["[0]" year]
- ["[0]" month]]
- [world
- [net
- ["[0]" uri {"+" URI}]]]]]
- ["[0]" //
- ["/[1]" // "_"
- [repository {"+" Repository}]
- ["[1][0]" artifact {"+" Group Name Version Artifact}]]])
+ [library
+ [lux "*"
+ [abstract
+ [monad {"+" do}]
+ [equivalence {"+" Equivalence}]]
+ [control
+ [pipe {"+" do>}]
+ ["[0]" try {"+" Try}]
+ ["<>" parser
+ ["<[0]>" xml {"+" Parser}]
+ ["<[0]>" text]]
+ [concurrency
+ ["[0]" async {"+" Async}]]]
+ [data
+ ["[0]" product]
+ ["[0]" text
+ ["%" format]
+ [encoding
+ ["[0]" utf8]]]
+ [format
+ ["[0]" xml {"+" XML}]]
+ [collection
+ ["[0]" list ("[1]#[0]" functor)]]]
+ [math
+ [number
+ ["n" nat]]]
+ ["[0]" time {"+" Time}
+ ["[0]" instant {"+" Instant}]
+ ["[0]" date {"+" Date}]
+ ["[0]" year]
+ ["[0]" month]]
+ [world
+ [net
+ ["[0]" uri {"+" URI}]]]]]
+ ["[0]" //
+ ["/[1]" // "_"
+ [repository {"+" Repository}]
+ ["[1][0]" artifact {"+" Group Name Version Artifact}]]])
(type: .public Metadata
(Record
@@ -149,6 +149,8 @@
(<xml>.somewhere (..text ..<group>))
(<xml>.somewhere (..text ..<name>))
(<| (<xml>.node ..<versioning>)
+ ... Handle any ignorable tag.
+ (<>.before (<>.some <xml>.any))
($_ <>.and
(<| <xml>.somewhere
(<xml>.node ..<versions>)
@@ -178,8 +180,8 @@
(do async.monad
[project (# repository download (..uri artifact))]
(case project
- {try.#Success project}
- (in (|> project
+ {try.#Success binary_metadata}
+ (in (|> binary_metadata
(do> try.monad
[(# utf8.codec decoded)]
[(# xml.codec decoded)]
diff --git a/stdlib/source/program/aedifex/metadata/snapshot.lux b/stdlib/source/program/aedifex/metadata/snapshot.lux
index 7ac0b1c0e..487b91b8e 100644
--- a/stdlib/source/program/aedifex/metadata/snapshot.lux
+++ b/stdlib/source/program/aedifex/metadata/snapshot.lux
@@ -69,15 +69,15 @@
[version_format Version ..<version> (|>)]
)
-(def: .public (format (^open "[0]"))
+(def: .public (format (^open "/[0]"))
(-> Metadata XML)
- (let [(^open "[0]") #artifact]
+ (let [(^open "//[0]") /#artifact]
{xml.#Node ..<metadata>
xml.attributes
- (list (..group_format group)
- (..name_format name)
- (..version_format version)
- (///artifact/versioning.format #versioning))}))
+ (list (..group_format //#group)
+ (..name_format //#name)
+ (..version_format //#version)
+ (///artifact/versioning.format /#versioning))}))
(def: (text tag)
(-> xml.Tag (Parser Text))
diff --git a/stdlib/source/program/aedifex/pom.lux b/stdlib/source/program/aedifex/pom.lux
index d1294987b..26dd35348 100644
--- a/stdlib/source/program/aedifex/pom.lux
+++ b/stdlib/source/program/aedifex/pom.lux
@@ -1,33 +1,34 @@
(.using
- [library
- [lux "*"
- [abstract
- [monad {"+" do}]]
- [control
- [pipe {"+" case>}]
- ["[0]" maybe ("[1]#[0]" functor)]
- ["[0]" try {"+" Try}]
- ["[0]" exception]
- ["<>" parser
- ["<[0]>" xml {"+" Parser}]]]
- [data
- ["[0]" name]
- ["[0]" text]
- [format
- ["_" xml {"+" Tag XML}]]
- [collection
- ["[0]" list ("[1]#[0]" monoid functor mix)]
- ["[0]" set]
- ["[0]" dictionary]]]
- [world
- ["[0]" file]]]]
- ["[0]" // "_"
- ["/" profile]
- ["[1][0]" dependency {"+" Dependency}]
- [repository
- [remote {"+" Address}]]
- ["[1][0]" artifact {"+" Artifact}
- ["[1]/[0]" type]]])
+ [library
+ [lux "*"
+ [abstract
+ [monad {"+" do}]]
+ [control
+ [pipe {"+" case>}]
+ ["[0]" maybe ("[1]#[0]" functor)]
+ ["[0]" try {"+" Try}]
+ ["[0]" exception]
+ ["<>" parser
+ ["<[0]>" xml {"+" Parser}]]]
+ [data
+ ["[0]" text]
+ [format
+ ["_" xml {"+" Tag XML}]]
+ [collection
+ ["[0]" list ("[1]#[0]" monoid functor mix)]
+ ["[0]" set]
+ ["[0]" dictionary]]]
+ [meta
+ ["[0]" symbol]]
+ [world
+ ["[0]" file]]]]
+ ["[0]" // "_"
+ ["/" profile]
+ ["[1][0]" dependency {"+" Dependency}]
+ [repository
+ [remote {"+" Address}]]
+ ["[1][0]" artifact {"+" Artifact}
+ ["[1]/[0]" type]]])
... https://maven.apache.org/pom.html
@@ -165,7 +166,7 @@
(def: (dependency_parser own_version parent_version)
(-> Text Text (Parser Dependency))
(do [! <>.monad]
- [properties (# ! each (dictionary.of_list name.hash)
+ [properties (# ! each (dictionary.of_list symbol.hash)
(<| (<xml>.node ["" ..dependency_tag])
(<>.some ..property_parser)))]
(<| <>.lifted
diff --git a/stdlib/source/program/aedifex/repository/remote.lux b/stdlib/source/program/aedifex/repository/remote.lux
index 32851902f..9e50e71a6 100644
--- a/stdlib/source/program/aedifex/repository/remote.lux
+++ b/stdlib/source/program/aedifex/repository/remote.lux
@@ -69,11 +69,11 @@
http))]
(case status
(^ (static http/status.ok))
- (# ! each product.right ((value@ #@http.body message) {.#None}))
+ (# ! each product.right ((value@ @http.#body message) {.#None}))
_
(do !
- [_ ((value@ #@http.body message) {.#Some 0})]
+ [_ ((value@ @http.#body message) {.#Some 0})]
(# io.monad in (exception.except ..download_failure [(format address uri) status]))))))
(def: (upload uri content)
@@ -89,7 +89,7 @@
..base_headers)))
{.#Some content}
http))
- _ ((value@ #@http.body message) {.#Some 0})]
+ _ ((value@ @http.#body message) {.#Some 0})]
(case status
(^ (static http/status.created))
(in [])
diff --git a/stdlib/source/test/aedifex/dependency/deployment.lux b/stdlib/source/test/aedifex/dependency/deployment.lux
index ef6d7a4e7..4a3946a53 100644
--- a/stdlib/source/test/aedifex/dependency/deployment.lux
+++ b/stdlib/source/test/aedifex/dependency/deployment.lux
@@ -1,59 +1,59 @@
(.using
- [library
- [lux "*"
- ["_" test {"+" Test}]
- [abstract
- [monad {"+" do}]
- ["[0]" hash {"+" Hash}]]
- [control
- ["[0]" io {"+" IO}]
- ["[0]" maybe ("[1]#[0]" functor)]
- ["[0]" try ("[1]#[0]" functor)]
- [concurrency
- ["[0]" atom {"+" Atom}]
- ["[0]" async]]]
- [data
- ["[0]" product]
- ["[0]" binary {"+" Binary} ("[1]#[0]" equivalence)]
- ["[0]" text
- ["%" format {"+" format}]]
- [collection
- ["[0]" dictionary {"+" Dictionary}]
- ["[0]" set]
- ["[0]" list ("[1]#[0]" mix)]]]
- [math
- ["[0]" random {"+" Random}]
- [number
- ["n" nat]]]
- [world
- [net {"+" URL}
- ["[0]" uri {"+" URI}]
- ["[0]" http "_"
- ["[1]" client]
- ["[1]/[0]" status]
- ["@[1]" /]]]]]]
- ["$[0]" //
- ["[1]/" // "_"
- ["[1][0]" package]]]
- [\\program
- ["[0]" /
- [// {"+" Dependency}
- ["[0]" resolution]
- [//
- ["[0]" profile]
- ["[0]" metadata]
- ["[0]" package {"+" Package}]
- ["[0]" artifact {"+" Artifact} ("[1]#[0]" equivalence)
- ["[1]/[0]" type]
- ["[1]/[0]" extension]]
- ["[0]" repository
- ["[0]" remote]]]]]])
+ [library
+ [lux "*"
+ ["_" test {"+" Test}]
+ [abstract
+ [monad {"+" do}]
+ ["[0]" hash {"+" Hash}]]
+ [control
+ ["[0]" io {"+" IO}]
+ ["[0]" maybe ("[1]#[0]" functor)]
+ ["[0]" try ("[1]#[0]" functor)]
+ [concurrency
+ ["[0]" atom {"+" Atom}]
+ ["[0]" async]]]
+ [data
+ ["[0]" product]
+ ["[0]" binary {"+" Binary} ("[1]#[0]" equivalence)]
+ ["[0]" text
+ ["%" format {"+" format}]]
+ [collection
+ ["[0]" dictionary {"+" Dictionary}]
+ ["[0]" set]
+ ["[0]" list ("[1]#[0]" mix)]]]
+ [math
+ ["[0]" random {"+" Random}]
+ [number
+ ["n" nat]]]
+ [world
+ [net {"+" URL}
+ ["[0]" uri {"+" URI}]
+ ["[0]" http "_"
+ ["[1]" client]
+ ["[1]/[0]" status]
+ ["@[1]" /]]]]]]
+ ["$[0]" //
+ ["[1]/" // "_"
+ ["[1][0]" package]]]
+ [\\program
+ ["[0]" /
+ [// {"+" Dependency}
+ ["[0]" resolution]
+ [//
+ ["[0]" profile]
+ ["[0]" metadata]
+ ["[0]" package {"+" Package}]
+ ["[0]" artifact {"+" Artifact} ("[1]#[0]" equivalence)
+ ["[1]/[0]" type]
+ ["[1]/[0]" extension]]
+ ["[0]" repository
+ ["[0]" remote]]]]]])
(def: good_upload
(@http.Response IO)
[http/status.created
- [#@http.headers (http.headers (list))
- #@http.body (function (_ _)
+ [@http.#headers (http.headers (list))
+ @http.#body (function (_ _)
(|> [0 (binary.empty 0)]
{try.#Success}
io.io))]])
@@ -68,7 +68,7 @@
(do io.monad
[_ (: (IO Any)
(case [method input]
- [{#@http.Put} {.#Some input}]
+ [{@http.#Put} {.#Some input}]
(atom.update! (dictionary.has url input) cache)
_
diff --git a/stdlib/source/test/aedifex/repository/remote.lux b/stdlib/source/test/aedifex/repository/remote.lux
index fc4ccbff1..9cfc118b9 100644
--- a/stdlib/source/test/aedifex/repository/remote.lux
+++ b/stdlib/source/test/aedifex/repository/remote.lux
@@ -1,35 +1,35 @@
(.using
- [library
- [lux "*"
- ["_" test {"+" Test}]
- [abstract
- [monad {"+" do}]]
- [control
- ["[0]" io {"+" IO}]
- ["[0]" maybe ("[1]#[0]" functor)]
- ["[0]" try ("[1]#[0]" monad)]
- ["[0]" exception]
- ["[0]" function]]
- [data
- ["[0]" binary ("[1]#[0]" equivalence)]
- ["[0]" text ("[1]#[0]" equivalence)
- ["%" format {"+" format}]
- [encoding
- ["[0]" utf8]]]
- [collection
- ["[0]" dictionary]]]
- [math
- ["[0]" random {"+" Random}]]
- [world
- [net {"+" URL}
- ["[0]" http "_"
- ["[1]" client]
- ["[1]/[0]" status]
- ["@[1]" /]]]]]]
- [\\program
- ["[0]" /
- ["/[1]" // "_"
- ["[1][0]" identity]]]])
+ [library
+ [lux "*"
+ ["_" test {"+" Test}]
+ [abstract
+ [monad {"+" do}]]
+ [control
+ ["[0]" io {"+" IO}]
+ ["[0]" maybe ("[1]#[0]" functor)]
+ ["[0]" try ("[1]#[0]" monad)]
+ ["[0]" exception]
+ ["[0]" function]]
+ [data
+ ["[0]" binary ("[1]#[0]" equivalence)]
+ ["[0]" text ("[1]#[0]" equivalence)
+ ["%" format {"+" format}]
+ [encoding
+ ["[0]" utf8]]]
+ [collection
+ ["[0]" dictionary]]]
+ [math
+ ["[0]" random {"+" Random}]]
+ [world
+ [net {"+" URL}
+ ["[0]" http "_"
+ ["[1]" client]
+ ["[1]/[0]" status]
+ ["@[1]" /]]]]]]
+ [\\program
+ ["[0]" /
+ ["/[1]" // "_"
+ ["[1][0]" identity]]]])
(def: (url_body url)
(-> URL (@http.Body IO))
@@ -42,8 +42,8 @@
(implementation
(def: (request method url headers input)
(with_expansions [<failure> [http/status.bad_request
- [#@http.headers (http.headers (list))
- #@http.body (..url_body "")]]]
+ [@http.#headers (http.headers (list))
+ @http.#body (..url_body "")]]]
(<| io.io
{try.#Success}
(if (|> headers
@@ -51,19 +51,19 @@
(maybe#each (same? /.user_agent))
(maybe.else false))
(case [method input]
- [#@http.Get {.#None}]
+ [@http.#Get {.#None}]
[http/status.ok
- [#@http.headers (http.headers (list))
- #@http.body (..url_body url)]]
+ [@http.#headers (http.headers (list))
+ @http.#body (..url_body url)]]
- [#@http.Put {.#Some input}]
+ [@http.#Put {.#Some input}]
(if (|> headers
(dictionary.value "Authorization")
(maybe#each (text#= (//identity.basic_auth user password)))
(maybe.else false))
[http/status.created
- [#@http.headers (http.headers (list))
- #@http.body (..url_body url)]]
+ [@http.#headers (http.headers (list))
+ @http.#body (..url_body url)]]
<failure>)
_
@@ -77,8 +77,8 @@
(<| io.io
{try.#Success}
[http/status.bad_request
- [#@http.headers (http.headers (list))
- #@http.body (..url_body "")]]))))
+ [@http.#headers (http.headers (list))
+ @http.#body (..url_body "")]]))))
(def: .public test
Test