diff options
-rw-r--r-- | documentation/bookmark/error_messages.md | 4 | ||||
-rw-r--r-- | documentation/bookmark/paradigm/logic_programming.md | 4 | ||||
-rw-r--r-- | lux-js/commands.md | 2 | ||||
-rw-r--r-- | lux-js/project.lux | 8 | ||||
-rw-r--r-- | stdlib/commands.md | 4 | ||||
-rw-r--r-- | stdlib/source/library/lux/target/js.lux | 17 | ||||
-rw-r--r-- | stdlib/source/library/lux/target/lua.lux | 31 | ||||
-rw-r--r-- | stdlib/source/library/lux/target/php.lux | 15 | ||||
-rw-r--r-- | stdlib/source/library/lux/target/python.lux | 73 | ||||
-rw-r--r-- | stdlib/source/library/lux/target/r.lux | 17 | ||||
-rw-r--r-- | stdlib/source/library/lux/target/ruby.lux | 19 | ||||
-rw-r--r-- | stdlib/source/library/lux/target/scheme.lux | 7 | ||||
-rw-r--r-- | stdlib/source/library/lux/tool/compiler/language/lux/version.lux | 2 |
13 files changed, 123 insertions, 80 deletions
diff --git a/documentation/bookmark/error_messages.md b/documentation/bookmark/error_messages.md new file mode 100644 index 000000000..9ad8c04f2 --- /dev/null +++ b/documentation/bookmark/error_messages.md @@ -0,0 +1,4 @@ +# Reference + +1. [The Futhark Error Index](https://futhark-lang.org/blog/2021-09-24-the-futhark-error-index.html) + diff --git a/documentation/bookmark/paradigm/logic_programming.md b/documentation/bookmark/paradigm/logic_programming.md index caf03f67d..20f6023a9 100644 --- a/documentation/bookmark/paradigm/logic_programming.md +++ b/documentation/bookmark/paradigm/logic_programming.md @@ -1,3 +1,7 @@ +# Concurrent Logic Programming + +1. [The Joy of Concurrent Logic Programming](http://www.call-with-current-continuation.org/articles/the-joy-of-concurrent-logic-programming.txt) + # Unification 1. [Functors of the World, Unite!](https://www.youtube.com/watch?v=8k7YH9st_8U) diff --git a/lux-js/commands.md b/lux-js/commands.md index 0f1ecaa03..668bbcf00 100644 --- a/lux-js/commands.md +++ b/lux-js/commands.md @@ -56,6 +56,6 @@ cd ~/lux/stdlib/ \ ``` cd ~/lux/lux-js/ \ -&& mvn install:install-file -Dfile=target/program.js -DgroupId=com.github.luxlang -DartifactId=lux-js -Dversion=0.6.4-SNAPSHOT -Dpackaging=js +&& mvn install:install-file -Dfile=target/program.js -DgroupId=com.github.luxlang -DartifactId=lux-js -Dversion=0.6.5-SNAPSHOT -Dpackaging=js ``` diff --git a/lux-js/project.lux b/lux-js/project.lux index b48a9eaa6..f93a80473 100644 --- a/lux-js/project.lux +++ b/lux-js/project.lux @@ -1,5 +1,5 @@ ["" - ["identity" ["com.github.luxlang" "lux-js" "0.6.4"] + ["identity" ["com.github.luxlang" "lux-js" "0.6.5-SNAPSHOT"] "info" ["url" "https://github.com/LuxLang/lux" "scm" "https://github.com/LuxLang/lux.git" "licenses" [["name" "Lux License v0.1.2" @@ -15,14 +15,14 @@ "repositories" ["https://oss.sonatype.org/content/repositories/snapshots/" "https://oss.sonatype.org/service/local/staging/deploy/maven2/"] - "dependencies" [... ["com.github.luxlang" "stdlib" "0.6.4" "tar"] + "dependencies" [... ["com.github.luxlang" "stdlib" "0.6.5-SNAPSHOT" "tar"] ] "program" "program"] "js" - ["compiler" ["com.github.luxlang" "lux-js" "0.6.3" "js"]] + ["compiler" ["com.github.luxlang" "lux-js" "0.6.4" "js"]] "jvm" - ["compiler" ["com.github.luxlang" "lux-jvm" "0.6.4" "jar"] + ["compiler" ["com.github.luxlang" "lux-jvm" "0.6.5-SNAPSHOT" "jar"] "dependencies" [["org.openjdk.nashorn" "nashorn-core" "15.1" "jar"]]]] diff --git a/stdlib/commands.md b/stdlib/commands.md index a49441d93..37241c077 100644 --- a/stdlib/commands.md +++ b/stdlib/commands.md @@ -107,11 +107,11 @@ cd ~/lux/stdlib/ \ cd ~/lux/stdlib/ \ && lux clean \ -&& lux with jvm with aedifex auto build +&& lux with aedifex auto build cd ~/lux/stdlib/ \ && lux clean \ -&& lux with jvm with aedifex build \ +&& lux with aedifex build \ && mv target/program.jar aedifex.jar ``` diff --git a/stdlib/source/library/lux/target/js.lux b/stdlib/source/library/lux/target/js.lux index b9307bf14..88ad9ff5e 100644 --- a/stdlib/source/library/lux/target/js.lux +++ b/stdlib/source/library/lux/target/js.lux @@ -23,9 +23,14 @@ (def: element (text.enclosed ["[" "]"])) +... Added the carriage return for better Windows compatibility. +(def: \n+ + Text + (format text.carriage_return text.new_line)) + (def: nested (-> Text Text) - (|>> (format text.new_line) + (|>> (format \n+) (text.replaced text.new_line (format text.new_line text.tab)))) (abstract: .public (Code brand) @@ -165,12 +170,12 @@ (def: .public (then pre post) (-> Statement Statement Statement) (:abstraction (format (:representation pre) - text.new_line + \n+ (:representation post)))) (def: block (-> Statement Text) - (let [close (format text.new_line "}")] + (let [close (format \n+ "}")] (|>> :representation ..nested (text.enclosed ["{" @@ -401,10 +406,10 @@ (list#each (.function (_ [when then]) (format (|> when (list#each (|>> :representation (text.enclosed ["case " ":"]))) - (text.interposed text.new_line)) + (text.interposed \n+)) (..nested (:representation then))))) - (text.interposed text.new_line)) - text.new_line + (text.interposed \n+)) + \n+ (case default {.#Some default} (format "default:" diff --git a/stdlib/source/library/lux/target/lua.lux b/stdlib/source/library/lux/target/lua.lux index 5389a8bc8..12885861e 100644 --- a/stdlib/source/library/lux/target/lua.lux +++ b/stdlib/source/library/lux/target/lua.lux @@ -27,10 +27,15 @@ [type abstract]]]) +... Added the carriage return for better Windows compatibility. +(def: \n+ + Text + (format text.carriage_return text.new_line)) + (def: nested (-> Text Text) (.let [nested_new_line (format text.new_line text.tab)] - (|>> (format text.new_line) + (|>> (format \n+) (text.replaced text.new_line nested_new_line)))) (def: input_separator ", ") @@ -248,7 +253,7 @@ (-> Statement Statement Statement) (:abstraction (format (:representation pre!) - text.new_line + \n+ (:representation post!)))) (def: locations @@ -275,29 +280,29 @@ (def: .public (if test then! else!) (-> Expression Statement Statement Statement) (:abstraction (format "if " (:representation test) - text.new_line "then" (..nested (:representation then!)) - text.new_line "else" (..nested (:representation else!)) - text.new_line "end"))) + \n+ "then" (..nested (:representation then!)) + \n+ "else" (..nested (:representation else!)) + \n+ "end"))) (def: .public (when test then!) (-> Expression Statement Statement) (:abstraction (format "if " (:representation test) - text.new_line "then" (..nested (:representation then!)) - text.new_line "end"))) + \n+ "then" (..nested (:representation then!)) + \n+ "end"))) (def: .public (while test body!) (-> Expression Statement Statement) (:abstraction (format "while " (:representation test) " do" (..nested (:representation body!)) - text.new_line "end"))) + \n+ "end"))) (def: .public (repeat until body!) (-> Expression Statement Statement) (:abstraction (format "repeat" (..nested (:representation body!)) - text.new_line "until " (:representation until)))) + \n+ "until " (:representation until)))) (def: .public (for_in vars source body!) (-> (List Var) Expression Statement Statement) @@ -307,7 +312,7 @@ (text.interposed ..input_separator)) " in " (:representation source) " do" (..nested (:representation body!)) - text.new_line "end"))) + \n+ "end"))) (def: .public (for_step var from to step body!) (-> Var Expression Expression Expression Statement @@ -318,7 +323,7 @@ ..input_separator (:representation to) ..input_separator (:representation step) " do" (..nested (:representation body!)) - text.new_line "end"))) + \n+ "end"))) (def: .public (return value) (-> Expression Statement) @@ -330,7 +335,7 @@ ..locations (text.enclosed ["(" ")"])) (..nested (:representation body!)) - text.new_line "end") + \n+ "end") (text.enclosed ["(" ")"]) :abstraction)) @@ -343,7 +348,7 @@ ..locations (text.enclosed ["(" ")"])) (..nested (:representation body!)) - text.new_line "end")))] + \n+ "end")))] [function "function"] [local_function "local function"] diff --git a/stdlib/source/library/lux/target/php.lux b/stdlib/source/library/lux/target/php.lux index e11745829..f02eafd89 100644 --- a/stdlib/source/library/lux/target/php.lux +++ b/stdlib/source/library/lux/target/php.lux @@ -29,15 +29,20 @@ (def: input_separator ", ") (def: statement_suffix ";") +... Added the carriage return for better Windows compatibility. +(def: \n+ + Text + (format text.carriage_return text.new_line)) + (def: nested (-> Text Text) (.let [nested_new_line (format text.new_line text.tab)] - (|>> (format text.new_line) + (|>> (format \n+) (text.replaced text.new_line nested_new_line)))) (def: block (-> Text Text) - (|>> ..nested (text.enclosed ["{" (format text.new_line "}")]))) + (|>> ..nested (text.enclosed ["{" (format \n+ "}")]))) (def: group (-> Text Text) @@ -450,7 +455,7 @@ (-> Statement Statement Statement) (:abstraction (format (:representation pre!) - text.new_line + \n+ (:representation post!)))) (def: .public (while test body!) @@ -490,10 +495,10 @@ (-> Statement (List Except) Statement) (:abstraction (format "try " (..block (:representation body!)) - text.new_line + \n+ (|> excepts (list#each catch) - (text.interposed text.new_line))))) + (text.interposed \n+))))) (template [<name> <keyword>] [(def: .public <name> diff --git a/stdlib/source/library/lux/target/python.lux b/stdlib/source/library/lux/target/python.lux index ba17a92f0..79a15c682 100644 --- a/stdlib/source/library/lux/target/python.lux +++ b/stdlib/source/library/lux/target/python.lux @@ -1,31 +1,31 @@ (.using - [library - [lux {"-" Location Code Label not or and list if cond int comment exec try} - ["@" target] - ["[0]" ffi] - [abstract - [equivalence {"+" Equivalence}] - [hash {"+" Hash}] - ["[0]" enum]] - [control - [pipe {"+" new> case> cond>}] - [parser - ["<[0]>" code]]] - [data - ["[0]" text - ["%" format {"+" format}]] - [collection - ["[0]" list ("[1]#[0]" functor mix)]]] - [macro - [syntax {"+" syntax:}] - ["[0]" template] - ["[0]" code]] - [math - [number - ["n" nat] - ["f" frac]]] - [type - abstract]]]) + [library + [lux {"-" Location Code Label not or and list if cond int comment exec try} + ["@" target] + ["[0]" ffi] + [abstract + [equivalence {"+" Equivalence}] + [hash {"+" Hash}] + ["[0]" enum]] + [control + [pipe {"+" new> case> cond>}] + [parser + ["<[0]>" code]]] + [data + ["[0]" text + ["%" format {"+" format}]] + [collection + ["[0]" list ("[1]#[0]" functor mix)]]] + [macro + [syntax {"+" syntax:}] + ["[0]" template] + ["[0]" code]] + [math + [number + ["n" nat] + ["f" frac]]] + [type + abstract]]]) (def: expression (-> Text Text) @@ -37,14 +37,19 @@ (replace [java/lang/CharSequence java/lang/CharSequence] java/lang/String)]))] (as_is)) +... Added the carriage return for better Windows compatibility. +(def: \n+ + Text + (format text.carriage_return text.new_line)) + (def: nested (-> Text Text) (.let [nested_new_line (format text.new_line text.tab)] - (for [@.old (|>> (format text.new_line) + (for [@.old (|>> (format \n+) (:as java/lang/String) (java/lang/String::replace (:as java/lang/CharSequence text.new_line) (:as java/lang/CharSequence nested_new_line)))] - (|>> (format text.new_line) + (|>> (format \n+) (text.replaced text.new_line nested_new_line))))) (abstract: .public (Code brand) @@ -340,7 +345,7 @@ (:abstraction (format "if " (:representation test) ":" (..nested (:representation then!)) - text.new_line "else:" + \n+ "else:" (..nested (:representation else!))))) (def: .public (when test then!) @@ -353,7 +358,7 @@ (-> (Statement Any) (Statement Any) (Statement Any)) (:abstraction (format (:representation pre!) - text.new_line + \n+ (:representation post!)))) (template [<keyword> <0>] @@ -372,7 +377,7 @@ (..nested (:representation body!)) (case else! {.#Some else!} - (format text.new_line "else:" + (format \n+ "else:" (..nested (:representation else!))) {.#None} @@ -405,7 +410,7 @@ (..nested (:representation body!)) (|> excepts (list#each (function (_ [classes exception catch!]) - (format text.new_line "except (" (text.interposed ", " (list#each ..code classes)) + (format \n+ "except (" (text.interposed ", " (list#each ..code classes)) ") as " (:representation exception) ":" (..nested (:representation catch!))))) text.together)))) @@ -445,7 +450,7 @@ (def: .public (comment commentary on) (All (_ brand) (-> Text (Code brand) (Code brand))) - (:abstraction (format "# " (..safe commentary) text.new_line + (:abstraction (format "# " (..safe commentary) \n+ (:representation on)))) ) diff --git a/stdlib/source/library/lux/target/r.lux b/stdlib/source/library/lux/target/r.lux index ca5d7ea31..f4c3588ce 100644 --- a/stdlib/source/library/lux/target/r.lux +++ b/stdlib/source/library/lux/target/r.lux @@ -70,24 +70,29 @@ (:abstraction (format "(" code ")"))) + ... Added the carriage return for better Windows compatibility. + (def: \n+ + Text + (format text.carriage_return text.new_line)) + (def: nested_new_line (format text.new_line text.tab)) (def: nested (-> Text Text) (|>> (text.replaced text.new_line ..nested_new_line) - (format ..nested_new_line))) + (format text.carriage_return ..nested_new_line))) (def: (_block expression) (-> Text Text) - (format "{" (nested expression) text.new_line "}")) + (format "{" (nested expression) \n+ "}")) (def: .public (block expression) (-> Expression Expression) (:abstraction (format "{" (..nested (:representation expression)) - text.new_line "}"))) + \n+ "}"))) (template [<name> <r>] [(def: .public <name> @@ -173,7 +178,7 @@ (format func "(" (|> args (list#each ..code) - (text.interposed (format "," text.new_line)) + (text.interposed (format "," \n+)) ..nested) ")")))) @@ -258,7 +263,7 @@ (:abstraction (format "if(" (:representation test) ") {" (.._block (:representation then)) - text.new_line "}"))) + \n+ "}"))) (def: .public (cond clauses else) (-> (List [Expression Expression]) Expression Expression) @@ -381,6 +386,6 @@ (-> Expression Expression Expression) (:abstraction (format (:representation pre) - text.new_line + \n+ (:representation post)))) ) diff --git a/stdlib/source/library/lux/target/ruby.lux b/stdlib/source/library/lux/target/ruby.lux index 5eaaf8e1d..eb0f542ac 100644 --- a/stdlib/source/library/lux/target/ruby.lux +++ b/stdlib/source/library/lux/target/ruby.lux @@ -29,10 +29,15 @@ (def: input_separator ", ") (def: statement_suffix ";") +... Added the carriage return for better Windows compatibility. +(def: \n+ + Text + (format text.carriage_return text.new_line)) + (def: nested (-> Text Text) (.let [nested_new_line (format text.new_line text.tab)] - (|>> (format text.new_line) + (|>> (format \n+) (text.replaced text.new_line nested_new_line)))) (abstract: .public (Code brand) @@ -214,7 +219,7 @@ (def: (control_structure content) (-> Text Text) (format content - text.new_line "end" ..statement_suffix)) + \n+ "end" ..statement_suffix)) (def: .public (apply/* arguments block_lambda func) (-> (List Expression) (Maybe Expression) Expression Computation) @@ -259,7 +264,7 @@ (-> Statement Statement Statement) (:abstraction (format (:representation pre!) - text.new_line + \n+ (:representation post!)))) (def: .public (set vars value) @@ -276,7 +281,7 @@ ..control_structure (format "if " (:representation test) (..nested (:representation then!)) - text.new_line "else" + \n+ "else" (..nested (:representation else!))))) (template [<name> <control_structure>] @@ -313,10 +318,10 @@ (format "begin" (..nested (:representation body!)) (|> rescues (list#each (.function (_ [classes exception rescue]) - (format text.new_line "rescue " (text.interposed ..input_separator classes) + (format \n+ "rescue " (text.interposed ..input_separator classes) " => " (:representation exception) (..nested (:representation rescue))))) - (text.interposed text.new_line))))) + (text.interposed \n+))))) (def: .public (catch expectation body!) (-> Expression Statement Statement) @@ -413,7 +418,7 @@ (def: .public (comment commentary on) (All (_ brand) (-> Text (Code brand) (Code brand))) - (:abstraction (format "# " (..safe commentary) text.new_line + (:abstraction (format "# " (..safe commentary) \n+ (:representation on)))) ) diff --git a/stdlib/source/library/lux/target/scheme.lux b/stdlib/source/library/lux/target/scheme.lux index 0cfcfd9f1..f1ad798e7 100644 --- a/stdlib/source/library/lux/target/scheme.lux +++ b/stdlib/source/library/lux/target/scheme.lux @@ -21,6 +21,11 @@ [type abstract]]]) +... Added the carriage return for better Windows compatibility. +(def: \n+ + Text + (format text.carriage_return text.new_line)) + (def: nested (-> Text Text) (.let [nested_new_line (format text.new_line text.tab)] @@ -155,7 +160,7 @@ (def: form (-> (List (Code Any)) Code) - (.let [nested_new_line (format text.new_line text.tab)] + (.let [nested_new_line (format \n+ text.tab)] (|>> (case> {.#End} (:abstraction "()") 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 22c388a4c..c9ffff258 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,04) + 00,06,05) |