From 628356261aa9539b4f438ffd369a2638dc9506bd Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Fri, 1 Oct 2021 02:59:09 -0400 Subject: Commercial licensing option for Lux + release versions for sub-projects. --- PATRON_LICENSE.md | 63 ++++++++++++ README.md | 72 ++++++-------- commands.md | 9 ++ documentation/bookmark/back-end/Godot.md | 4 - documentation/bookmark/back-end/JavaScript.md | 9 -- documentation/bookmark/back-end/Python.md | 4 - documentation/bookmark/back-end/haskell.md | 4 - documentation/bookmark/back-end/native.md | 133 -------------------------- documentation/bookmark/back-end/wasm.md | 37 ------- documentation/bookmark/back_end/Godot.md | 4 + documentation/bookmark/back_end/JavaScript.md | 9 ++ documentation/bookmark/back_end/Python.md | 4 + documentation/bookmark/back_end/haskell.md | 4 + documentation/bookmark/back_end/native.md | 133 ++++++++++++++++++++++++++ documentation/bookmark/back_end/wasm.md | 38 ++++++++ documentation/bookmark/computation.md | 4 + documentation/bookmark/documentation.md | 3 +- documentation/bookmark/tool/text_editor.md | 1 + lux-bootstrapper/project.clj | 7 +- lux-js/project.clj | 5 +- lux-js/project.lux | 6 +- lux-jvm/project.clj | 5 +- lux-lein/project.clj | 2 +- lux-lua/project.clj | 5 +- lux-lua/project.lux | 6 +- lux-python/project.clj | 5 +- lux-python/project.lux | 6 +- lux-python/source/program.lux | 4 +- lux-ruby/project.clj | 2 +- lux-ruby/project.lux | 6 +- stdlib/project.clj | 10 +- stdlib/project.lux | 12 +-- 32 files changed, 336 insertions(+), 280 deletions(-) create mode 100644 PATRON_LICENSE.md delete mode 100644 documentation/bookmark/back-end/Godot.md delete mode 100644 documentation/bookmark/back-end/JavaScript.md delete mode 100644 documentation/bookmark/back-end/Python.md delete mode 100644 documentation/bookmark/back-end/haskell.md delete mode 100644 documentation/bookmark/back-end/native.md delete mode 100644 documentation/bookmark/back-end/wasm.md create mode 100644 documentation/bookmark/back_end/Godot.md create mode 100644 documentation/bookmark/back_end/JavaScript.md create mode 100644 documentation/bookmark/back_end/Python.md create mode 100644 documentation/bookmark/back_end/haskell.md create mode 100644 documentation/bookmark/back_end/native.md create mode 100644 documentation/bookmark/back_end/wasm.md diff --git a/PATRON_LICENSE.md b/PATRON_LICENSE.md new file mode 100644 index 000000000..54bbc71c9 --- /dev/null +++ b/PATRON_LICENSE.md @@ -0,0 +1,63 @@ +# Patron License + +Payment Platforms: + +* https://www.patreon.com/lux_programming_language + +Participating Contributors: + +* Eduardo Julian - https://github.com/eduardoejp + +## Purpose + +This license gives everyone patronizing contributors to this software permission to ignore any noncommercial or copyleft rules of its free public license, while continuing to protect contributors from liability. + +## Acceptance + +In order to agree to these terms and receive a license, you must qualify under [Patrons](#patrons). The rules of these terms are both obligations under your agreement and conditions to your license. That agreement and your license continue only while you qualify as a patron. You must not do anything with this software that triggers a rule that you cannot or will not follow. + +## Patrons + +To accept these terms, you must be enrolled to make regular payments through any of the payment platforms pages listed above, in amounts qualifying you for a tier that includes a "patron license" or otherwise identifies a license under these terms as a reward. + +## Scope + +Except under [Seat](#seat) and [Applications](#applications), you may not sublicense or transfer any agreement or license under these terms to anyone else. + +## Seat + +If a legal entity, rather than an individual, accepts these terms, the entity may sublicense one individual employee or independent contractor at any given time. If the employee or contractor breaks any rule of these terms, the entity will stand directly responsible. + +## Applications + +If you combine this software with other software in a larger application, you may sublicense this software as part of your larger application, and allow further sublicensing in turn, under these rules: + +1. Your larger application must have significant additional content or functionality beyond that of this software, and end users must license your larger application primarily for that added content or functionality. + +2. You may not sublicense anyone to break any rule of the public license for this software for any changes of their own or any software besides your larger application. + +3. You may build, and sublicense for, as many larger applications as you like. + +## Copyright + +Each contributor licenses you to do everything with this software that would otherwise infringe that contributor's copyright in it. + +## Notices + +You must ensure that everyone who gets a copy of any part of this software from you, with or without changes, also gets the texts of both this license and the free public license for this software. + +## Excuse + +If anyone notifies you in writing that you have not complied with [Notices](#notices), you can keep your agreement and your license by taking all practical steps to comply within 30 days after the notice. If you do not do so, your agreement under these terms ends immediately, and your license ends with it. + +## Patent + +Each contributor licenses you to do everything with this software that would otherwise infringe any patent claims they can license or become able to license. + +## Reliability + +No contributor can revoke this license, but your license may end if you break any rule of these terms. + +## No Liability + +***As far as the law allows, this software comes as is, without any warranty or condition, and no contributor will be liable to anyone for any damages related to this software or this license, under any kind of legal claim.*** diff --git a/README.md b/README.md index 9eb92256f..4439badf0 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,11 @@ Lux is a new programming language in the making. -It's meant to be a functional, statically-typed Lisp that will run on several platforms, such as the Java Virtual Machine and JavaScript interpreters. +It's meant to be a functional, statically-typed Lisp that will run on several platforms, such as the Java Virtual Machine and JavaScript, Python, Lua, or Ruby interpreters. ### What's the current version? -0.5.0 +0.6.0 ### How far ahead is the project? @@ -14,28 +14,7 @@ Lux is in the **beta** stage. The JVM compiler is pretty stable and the standard library has grown to a respectable size. -Also, new experimental support for Android has been added. - -### How can I use it? - -You should use the Leiningen plugin for Lux to compile your programs and manage your dependencies. - -You can find it here: https://github.com/LuxLang/lux/tree/master/lux-lein - -After compiling your program, this will generate a directory named "target" and put all the .class files there. - -Then, you can run the program like this: - - java -jar target/jvm/program.jar - -### Sample - -To take a look at sample Lux projects, check these repositories: - -* https://github.com/LuxLang/tutorial1 -* https://github.com/LuxLang/lux/tree/master/luxdoc - -The `luxdoc` program was actually used to generate the documentation for the standard library (located here: https://luxlang.github.io/lux/) +Also, new experimental support for JavaScript, Python, Lua, and Ruby has been added. ### What's the license? @@ -43,6 +22,10 @@ The `luxdoc` program was actually used to generate the documentation for the sta Read carefully before using this project, as the license disallows commercial use, and has other conditions which may be undesirable for some. +However, commercial use is allowed for patrons under the terms of the [Patron License](PATRON_LICENSE.md). + +You can become a patron by supporting Lux through [Patreon](https://www.patreon.com/lux_programming_language). + ## What's interesting about the language? ### Inspirations @@ -83,7 +66,7 @@ Additionally, by hosting the module system on top of records, which are regular You can also write functions that take and return structures (as _functors_ do in ML), and you can generate structures on the fly. -> Also, Lux now offers a mechanism for easy polymorphism, just like Haskell's type-classes, but built upon it's module system, thanks to the `lux/type/auto` module and its `:::` macro. +> Also, Lux now offers a mechanism for easy polymorphism, just like Haskell's type-classes, but built upon it's module system, thanks to the `library/lux/type/auto` module and its `##` macro. > You can learn more about that by reading the book and the documentation. @@ -95,7 +78,7 @@ Functions are curried and partial application is as simple as just applying a fu e.g. - (map (i.+ 1) (list 1 2 3 4 5)) + (map (n.+ 1) (list 1 2 3 4 5)) ### Macros @@ -116,35 +99,36 @@ Custom pattern-matching basically means that you can use macros to provide custo For instance, the **list** and **list&** macros are used to build lists. But you can also use them to destructure lists inside pattern-matching: - (case (: (List Int) (list 1 2 3)) - (#Cons x (#Cons y (#Cons z #Nil))) - (#Some ($_ i.* x y z)) + (case (: (List Nat) (list 1 2 3)) + {#Item x {#Item y {#Item z {#End}}}} + {#Some ($_ n.* x y z)} _ - #None) + {#None}) - (case (: (List Int) (list 1 2 3)) + (case (: (List Nat) (list 1 2 3)) (^ (list x y z)) - (#Some ($_ i.* x y z)) + {#Some ($_ n.* x y z)} _ - #None) + {#None}) There is also the special **^or** macro, which introduces *or patterns*: (type: Weekday - #Monday - #Tuesday - #Wednesday - #Thursday - #Friday - #Saturday - #Sunday)) + (Variant + {#Monday} + {#Tuesday} + {#Wednesday} + {#Thursday} + {#Friday} + {#Saturday} + {#Sunday}))) (def: (weekend? day) - (-> Weekday Bool) + (-> Weekday Bit) (case day - (^or #Saturday #Sunday) + (^or {#Saturday} {#Sunday}) true _ @@ -164,11 +148,11 @@ Check out the Emacs plugin for it: https://github.com/LuxLang/lux/tree/master/lu ### Where do I learn Lux? -The main resource is the book: https://luxlang.gitbooks.io/the-lux-programming-language/content/ +The main resource is [the book](documentation/book/the_lux_programming_language/index.md). It will always be up-to-date with the latest stable version of the language. -Also, you can check out the documentation for the currently available modules: https://luxlang.github.io/lux/ +Also, you can check out [the documentation for the currently available modules](documentation/library/standard/jvm.md). ### How can I contribute? diff --git a/commands.md b/commands.md index 4c23f7c00..0f8ae0b5a 100644 --- a/commands.md +++ b/commands.md @@ -45,3 +45,12 @@ cd ~/lux/lux-lein/ \ && lein install ``` +--- + +[Patron License](https://github.com/licensezero/patron-license) + +[Deploy Clojure Projects to Maven Central with Leiningen](https://kpow.io/how-to/deploy-clojure-projects-to-maven-central/) +[How to Generate PGP Signatures with Maven](https://blog.sonatype.com/2010/01/how-to-generate-pgp-signatures-with-maven/) +https://central.sonatype.org/publish/requirements/gpg/ +https://github.com/technomancy/leiningen/blob/master/doc/DEPLOY.md + diff --git a/documentation/bookmark/back-end/Godot.md b/documentation/bookmark/back-end/Godot.md deleted file mode 100644 index 354e87e96..000000000 --- a/documentation/bookmark/back-end/Godot.md +++ /dev/null @@ -1,4 +0,0 @@ -# Reference - -1. [GDLisp](https://github.com/Mercerenies/gdlisp) - diff --git a/documentation/bookmark/back-end/JavaScript.md b/documentation/bookmark/back-end/JavaScript.md deleted file mode 100644 index f3c57b57f..000000000 --- a/documentation/bookmark/back-end/JavaScript.md +++ /dev/null @@ -1,9 +0,0 @@ -# Debugging - -1. [The JavaScript Self-Profiling API](https://addyosmani.com/blog/js-self-profiling/) - -# Number - -1. [BigInt: arbitrary-precision integers in JavaScript](https://v8.dev/features/bigint) -1. [WebAssembly integration with JavaScript BigInt](https://v8.dev/features/wasm-bigint) - diff --git a/documentation/bookmark/back-end/Python.md b/documentation/bookmark/back-end/Python.md deleted file mode 100644 index 5a3266107..000000000 --- a/documentation/bookmark/back-end/Python.md +++ /dev/null @@ -1,4 +0,0 @@ -# Platform - -1. [BeeWare: Write once. Deploy everywhere.](https://beeware.org/) - diff --git a/documentation/bookmark/back-end/haskell.md b/documentation/bookmark/back-end/haskell.md deleted file mode 100644 index aa77d723f..000000000 --- a/documentation/bookmark/back-end/haskell.md +++ /dev/null @@ -1,4 +0,0 @@ -# Reference - -1. [Eta - Modern Haskell on the JVM](https://github.com/typelead/eta) - diff --git a/documentation/bookmark/back-end/native.md b/documentation/bookmark/back-end/native.md deleted file mode 100644 index 32da388c9..000000000 --- a/documentation/bookmark/back-end/native.md +++ /dev/null @@ -1,133 +0,0 @@ -# Java - -1. [Java Grinder](https://www.mikekohn.net/micro/java_grinder.php) - -# Register allocation - -1. [A Quick Introduction to Register Allocation](https://hassamuddin.com/blog/reg-alloc/) - -# Call stack - -1. http://stffrdhrn.github.io/software/embedded/openrisc/2018/06/08/gcc_stack_frames.html -1. https://yurichev.com/blog/reg_alloc/ - -# Unicode - -1. http://manishearth.github.io/blog/2017/01/14/stop-ascribing-meaning-to-unicode-code-points/ -1. https://garbagecollected.org/2013/03/15/reverse-strings-like-a-pro/ -1. http://reedbeta.com/blog/programmers-intro-to-unicode/ -1. https://mathiasbynens.be/notes/javascript-unicode -1. http://www.daemonology.net/blog/2008-06-05-faster-utf8-strlen.html -1. https://haxe.org/blog/unicode/ -1. http://justinblank.com/notebooks/stringrepresentationsandstringapis.html - -# Shell - -1. https://github.com/dylanaraps/pure-bash-bible - -# Platforms - -1. https://github.com/neutralinojs/neutralinojs - -# Concurrency - -1. https://github.com/hnes/libaco - -# Numeric operation - -1. https://github.com/ridiculousfish/libdivide -1. https://lemire.me/blog/2019/02/08/faster-remainders-when-the-divisor-is-a-constant-beating-compilers-and-libdivide/ - -# Optimization - -1. http://ssw.jku.at/General/Staff/Leopoldseder/manlang2018-fast_path_unrolling_authorpreprint.pdf - -# Foreign function interface (FFI) - -1. https://github.com/swig/swig -1. http://www.swig.org/ -1. http://www.swig.org/Doc2.0/Go.html -1. https://begriffs.com/posts/2019-01-19-inside-c-standard-lib.html -1. https://www.amazon.com/Standard-C-Library-P-J-Plauger/dp/0131315099 - -# Graal - -1. https://www.newtv.co.th/video/video.php?v=topKYJgv6qA - -# Floating point arithmetic - -1. [Accurate Differences of Products with Kahan's Algorithm](https://pharr.org/matt/blog/2019/11/03/difference-of-floats.html) -1. https://floating-point-gui.de/ -1. [Faster floating point arithmetic with Exclusive OR](http://nfrechette.github.io/2019/10/22/float_xor_optimization/) -1. https://oded.ninja/2017/05/01/floating-point/ -1. [What Every Computer Scientist Should Know About Floating-Point Arithmetic](http://www.lsi.upc.edu/~robert/teaching/master/material/p5-goldberg.pdf) -1. https://lemire.me/blog/2017/11/16/fast-exact-integer-divisions-using-floating-point-operations/ - -# Reference - -1. [Executables - Linking and Loading](https://github.com/MattPD/cpplinks/blob/master/executables.linking_loading.md) -1. http://luajit.org/ -1. http://luajit.org/ext_ffi.html -1. http://luajit.org/dynasm.html -1. [The Standard C Library](https://www.amazon.com/Standard-C-Library-P-J-Plauger/dp/0131315099) -1. [C Is Not a Low-level Language: Your computer is not a fast PDP-11.](https://queue.acm.org/detail.cfm?id=3212479) -1. http://www.ffconsultancy.com/ocaml/hlvm/ -1. https://nullprogram.com/blog/2018/05/27/ -1. https://github.com/dyu/ffi-overhead -1. https://ivorylang.org/ivory-introduction.html -1. http://blog.llvm.org/2018/03/dragonffi-ffijit-for-c-language-using.html -1. https://internals.rust-lang.org/t/refactoring-std-for-ultimate-portability/4301 -1. https://blog.plan99.net/kotlin-native-310ffac94af2 -1. https://blog.jetbrains.com/kotlin/2017/12/kotlinnative-v0-5-released-calling-kotlin-from-swift-and-c-llvm-5-and-more/ -1. https://readytalk.github.io/avian/ -1. https://medium.com/@octskyward/kotlin-native-310ffac94af2#.xbcxqlm1w -1. https://www.infoq.com/presentations/clojure-scheme -1. https://github.com/ollef/sixten -1. https://software.intel.com/sites/landingpage/IntrinsicsGuide/ -1. https://llvllatrix.wordpress.com/2016/12/31/system-calls-for-developers/ -1. http://www.cipht.net/2017/10/03/are-jump-tables-always-fastest.html -1. https://github.com/libuv/libuv -1. https://www.threadingbuildingblocks.org/ -1. https://cafbit.com/post/tokio_internals/ -1. https://medium.com/@unmeshvjoshi/how-java-thread-maps-to-os-thread-e280a9fb2e06 -1. http://pixielang.org/ -1. https://github.com/pixie-lang/pixie -1. https://github.com/rust-lang/rust -1. http://ziglang.org/# -1. http://www.mpfr.org/ -1. http://www.mpfr.org/algorithms.pdf -1. http://wilsonminesco.com/16bitMathTables/ -1. http://blog.veitheller.de/Fixed_Point_Division.html -1. http://libdivide.com/ -1. [Modern Computer Arithmetic](https://members.loria.fr/PZimmermann/mca/mca-cup-0.5.9.pdf) -1. [Division by Invariant Integers using Multiplication](https://gmplib.org/~tege/divcnst-pldi94.pdf) -1. https://lion137.blogspot.com/2019/02/borneo-language-102.html -1. https://www.youtube.com/watch?v=N0JTvyCxiv8 -1. http://robert.ocallahan.org/2017/02/what-rust-can-do-that-other-languages.html -1. https://github.com/graalvm/truffleruby/blob/master/doc/user/svm.md -1. http://bellard.org/libbf/ -1. http://paulcavallaro.com/blog/hashed-and-hierarchical-timing-wheels/ -1. http://speleotrove.com/decimal/ -1. http://eli.thegreenplace.net/2013/07/09/library-order-in-static-linking -1. [Skip the FFI!](http://llvm.org/devmtg/2014-10/Slides/Skip%20the%20FFI.pdf) -1. http://www.infoworld.com/article/3187370/application-development/kotlin-compiles-directly-to-native-code-via-llvm.html -1. https://blog.jetbrains.com/kotlin/2017/04/kotlinnative-tech-preview-kotlin-without-a-vm/ -1. https://github.com/bugvm/bugvm -1. https://github.com/rampantpixels/rpmalloc -1. https://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Data/endian.html -1. http://web.stanford.edu/group/sequoia/ -1. https://hackernoon.com/experimenting-with-small-buffer-optimization-for-c-lambdas-d5b703fb47e4 -1. https://www.microsoft.com/en-us/research/wp-content/uploads/2017/03/kedia2017mem.pdf -1. https://github.com/tomhrr/dale -1. [Fast String Searching](https://pdfs.semanticscholar.org/d991/2ea262986794e29e3f15e5f8930d42f2ced4.pdf) -1. https://github.com/apple/swift/blob/master/docs/StringManifesto.md -1. http://home.pipeline.com/~hbaker1/CheneyMTA.html -1. [Position: Lightweight static resources 0Sexy types for embedded and systems programming](https://pdfs.semanticscholar.org/2368/ccf8c62ab981e2426cd698ba2229f3eca311.pdf?_ga=2.228359389.1990612643.1507689838-1658669397.1507689838) -1. http://homes.soic.indiana.edu/ccshan/tfp2007/talk.pdf -1. http://www.catb.org/esr/structure-packing/ -1. [Ahead Of Time (AOT) Internals](https://www.youtube.com/watch?v=n5DCg6M2MDM) -1. [Polyglot Native: Java, Scala, Kotlin, & JVM languages](https://www.youtube.com/watch?v=5BMHIeMXTqA) -1. https://ziviani.net/2017/functions-in-assembly -1. https://ziviani.net/2017/functions-in-assembly-ii -1. [Hashed and Hierarchical Timing Wheels: Data Structures for the Efficient Implementation of a Timer Facility](http://www.cs.columbia.edu/~nahum/w6998/papers/sosp87-timing-wheels.pdf) - diff --git a/documentation/bookmark/back-end/wasm.md b/documentation/bookmark/back-end/wasm.md deleted file mode 100644 index 9cca5b8a9..000000000 --- a/documentation/bookmark/back-end/wasm.md +++ /dev/null @@ -1,37 +0,0 @@ -# Platform - -1. [WAVM: WAVM is a WebAssembly virtual machine, designed for use in non-web applications.](https://wavm.github.io/) - -# Exemplar - -1. [Announcing GraalWasm — a WebAssembly engine in GraalVM](https://medium.com/graalvm/announcing-graalwasm-a-webassembly-engine-in-graalvm-25cd0400a7f2) -1. [Towards a WebAssembly standalone runtime on GraalVM](https://dl.acm.org/citation.cfm?id=3362780) -1. https://github.com/vvanders/wasm_lua -1. https://github.com/AppCypher/webassemblylanguages -1. https://medium.com/perlin-network/life-a-secure-blazing-fast-cross-platform-webassembly-vm-in-go-ea3b31fa6e09 - -# Reference - -1. https://bytecodealliance.org/ -1. [Faster Fractals with Multi-Threaded WebAssembly](https://blog.scottlogic.com/2019/07/15/multithreaded-webassembly.html) -1. https://blog.scottlogic.com/2018/07/20/wasm-future.html -1. http://fitzgeraldnick.com/2018/04/26/how-does-dynamic-dispatch-work-in-wasm.html -1. https://hacks.mozilla.org/2018/03/making-webassembly-better-for-rust-for-all-languages/ -1. https://webassembly.github.io/ -1. https://github.com/WebAssembly/spec/blob/md-proto/md-proto/WebAssembly.md -1. https://github.com/WebAssembly/binaryen -1. [NYLUG Presents: Luke Wagner -on- WebAssembly: A New Compiler Target For The Web](https://www.youtube.com/watch?v=RByPdCN1RQ4) -1. https://binji.github.io/2017/03/05/webassembly-type-checking.html -1. https://github.com/WebAssembly/spec/tree/master/interpreter -1. https://mbebenita.github.io//WasmExplorer/ -1. http://thecodebarbarian.com/getting-started-with-webassembly-in-node.js.html -1. http://blog.seraum.com/compiling-javascript-to-webassembly-wasm-or-asm-js-with-nectarjs -1. https://hacks.mozilla.org/2017/07/memory-in-webassembly-and-why-its-safer-than-you-think/ -1. [Using WebAssembly and Threads (Chrome Dev Summit 2018)](https://www.youtube.com/watch?v=zgOGZgAPUjQ) -1. https://github.com/wasmerio/wasmer -1. https://www.fastly.com/blog/announcing-lucet-fastly-native-webassembly-compiler-runtime -1. https://hacks.mozilla.org/2019/03/standardizing-wasi-a-webassembly-system-interface/ -1. https://cybernetist.com/2019/04/25/wasm-universal-application-runtime/ -1. https://github.com/intel/wasm-micro-runtime -1. https://medium.com/wasmer/running-webassembly-on-the-kernel-8e04761f1d8e - diff --git a/documentation/bookmark/back_end/Godot.md b/documentation/bookmark/back_end/Godot.md new file mode 100644 index 000000000..354e87e96 --- /dev/null +++ b/documentation/bookmark/back_end/Godot.md @@ -0,0 +1,4 @@ +# Reference + +1. [GDLisp](https://github.com/Mercerenies/gdlisp) + diff --git a/documentation/bookmark/back_end/JavaScript.md b/documentation/bookmark/back_end/JavaScript.md new file mode 100644 index 000000000..f3c57b57f --- /dev/null +++ b/documentation/bookmark/back_end/JavaScript.md @@ -0,0 +1,9 @@ +# Debugging + +1. [The JavaScript Self-Profiling API](https://addyosmani.com/blog/js-self-profiling/) + +# Number + +1. [BigInt: arbitrary-precision integers in JavaScript](https://v8.dev/features/bigint) +1. [WebAssembly integration with JavaScript BigInt](https://v8.dev/features/wasm-bigint) + diff --git a/documentation/bookmark/back_end/Python.md b/documentation/bookmark/back_end/Python.md new file mode 100644 index 000000000..5a3266107 --- /dev/null +++ b/documentation/bookmark/back_end/Python.md @@ -0,0 +1,4 @@ +# Platform + +1. [BeeWare: Write once. Deploy everywhere.](https://beeware.org/) + diff --git a/documentation/bookmark/back_end/haskell.md b/documentation/bookmark/back_end/haskell.md new file mode 100644 index 000000000..aa77d723f --- /dev/null +++ b/documentation/bookmark/back_end/haskell.md @@ -0,0 +1,4 @@ +# Reference + +1. [Eta - Modern Haskell on the JVM](https://github.com/typelead/eta) + diff --git a/documentation/bookmark/back_end/native.md b/documentation/bookmark/back_end/native.md new file mode 100644 index 000000000..32da388c9 --- /dev/null +++ b/documentation/bookmark/back_end/native.md @@ -0,0 +1,133 @@ +# Java + +1. [Java Grinder](https://www.mikekohn.net/micro/java_grinder.php) + +# Register allocation + +1. [A Quick Introduction to Register Allocation](https://hassamuddin.com/blog/reg-alloc/) + +# Call stack + +1. http://stffrdhrn.github.io/software/embedded/openrisc/2018/06/08/gcc_stack_frames.html +1. https://yurichev.com/blog/reg_alloc/ + +# Unicode + +1. http://manishearth.github.io/blog/2017/01/14/stop-ascribing-meaning-to-unicode-code-points/ +1. https://garbagecollected.org/2013/03/15/reverse-strings-like-a-pro/ +1. http://reedbeta.com/blog/programmers-intro-to-unicode/ +1. https://mathiasbynens.be/notes/javascript-unicode +1. http://www.daemonology.net/blog/2008-06-05-faster-utf8-strlen.html +1. https://haxe.org/blog/unicode/ +1. http://justinblank.com/notebooks/stringrepresentationsandstringapis.html + +# Shell + +1. https://github.com/dylanaraps/pure-bash-bible + +# Platforms + +1. https://github.com/neutralinojs/neutralinojs + +# Concurrency + +1. https://github.com/hnes/libaco + +# Numeric operation + +1. https://github.com/ridiculousfish/libdivide +1. https://lemire.me/blog/2019/02/08/faster-remainders-when-the-divisor-is-a-constant-beating-compilers-and-libdivide/ + +# Optimization + +1. http://ssw.jku.at/General/Staff/Leopoldseder/manlang2018-fast_path_unrolling_authorpreprint.pdf + +# Foreign function interface (FFI) + +1. https://github.com/swig/swig +1. http://www.swig.org/ +1. http://www.swig.org/Doc2.0/Go.html +1. https://begriffs.com/posts/2019-01-19-inside-c-standard-lib.html +1. https://www.amazon.com/Standard-C-Library-P-J-Plauger/dp/0131315099 + +# Graal + +1. https://www.newtv.co.th/video/video.php?v=topKYJgv6qA + +# Floating point arithmetic + +1. [Accurate Differences of Products with Kahan's Algorithm](https://pharr.org/matt/blog/2019/11/03/difference-of-floats.html) +1. https://floating-point-gui.de/ +1. [Faster floating point arithmetic with Exclusive OR](http://nfrechette.github.io/2019/10/22/float_xor_optimization/) +1. https://oded.ninja/2017/05/01/floating-point/ +1. [What Every Computer Scientist Should Know About Floating-Point Arithmetic](http://www.lsi.upc.edu/~robert/teaching/master/material/p5-goldberg.pdf) +1. https://lemire.me/blog/2017/11/16/fast-exact-integer-divisions-using-floating-point-operations/ + +# Reference + +1. [Executables - Linking and Loading](https://github.com/MattPD/cpplinks/blob/master/executables.linking_loading.md) +1. http://luajit.org/ +1. http://luajit.org/ext_ffi.html +1. http://luajit.org/dynasm.html +1. [The Standard C Library](https://www.amazon.com/Standard-C-Library-P-J-Plauger/dp/0131315099) +1. [C Is Not a Low-level Language: Your computer is not a fast PDP-11.](https://queue.acm.org/detail.cfm?id=3212479) +1. http://www.ffconsultancy.com/ocaml/hlvm/ +1. https://nullprogram.com/blog/2018/05/27/ +1. https://github.com/dyu/ffi-overhead +1. https://ivorylang.org/ivory-introduction.html +1. http://blog.llvm.org/2018/03/dragonffi-ffijit-for-c-language-using.html +1. https://internals.rust-lang.org/t/refactoring-std-for-ultimate-portability/4301 +1. https://blog.plan99.net/kotlin-native-310ffac94af2 +1. https://blog.jetbrains.com/kotlin/2017/12/kotlinnative-v0-5-released-calling-kotlin-from-swift-and-c-llvm-5-and-more/ +1. https://readytalk.github.io/avian/ +1. https://medium.com/@octskyward/kotlin-native-310ffac94af2#.xbcxqlm1w +1. https://www.infoq.com/presentations/clojure-scheme +1. https://github.com/ollef/sixten +1. https://software.intel.com/sites/landingpage/IntrinsicsGuide/ +1. https://llvllatrix.wordpress.com/2016/12/31/system-calls-for-developers/ +1. http://www.cipht.net/2017/10/03/are-jump-tables-always-fastest.html +1. https://github.com/libuv/libuv +1. https://www.threadingbuildingblocks.org/ +1. https://cafbit.com/post/tokio_internals/ +1. https://medium.com/@unmeshvjoshi/how-java-thread-maps-to-os-thread-e280a9fb2e06 +1. http://pixielang.org/ +1. https://github.com/pixie-lang/pixie +1. https://github.com/rust-lang/rust +1. http://ziglang.org/# +1. http://www.mpfr.org/ +1. http://www.mpfr.org/algorithms.pdf +1. http://wilsonminesco.com/16bitMathTables/ +1. http://blog.veitheller.de/Fixed_Point_Division.html +1. http://libdivide.com/ +1. [Modern Computer Arithmetic](https://members.loria.fr/PZimmermann/mca/mca-cup-0.5.9.pdf) +1. [Division by Invariant Integers using Multiplication](https://gmplib.org/~tege/divcnst-pldi94.pdf) +1. https://lion137.blogspot.com/2019/02/borneo-language-102.html +1. https://www.youtube.com/watch?v=N0JTvyCxiv8 +1. http://robert.ocallahan.org/2017/02/what-rust-can-do-that-other-languages.html +1. https://github.com/graalvm/truffleruby/blob/master/doc/user/svm.md +1. http://bellard.org/libbf/ +1. http://paulcavallaro.com/blog/hashed-and-hierarchical-timing-wheels/ +1. http://speleotrove.com/decimal/ +1. http://eli.thegreenplace.net/2013/07/09/library-order-in-static-linking +1. [Skip the FFI!](http://llvm.org/devmtg/2014-10/Slides/Skip%20the%20FFI.pdf) +1. http://www.infoworld.com/article/3187370/application-development/kotlin-compiles-directly-to-native-code-via-llvm.html +1. https://blog.jetbrains.com/kotlin/2017/04/kotlinnative-tech-preview-kotlin-without-a-vm/ +1. https://github.com/bugvm/bugvm +1. https://github.com/rampantpixels/rpmalloc +1. https://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Data/endian.html +1. http://web.stanford.edu/group/sequoia/ +1. https://hackernoon.com/experimenting-with-small-buffer-optimization-for-c-lambdas-d5b703fb47e4 +1. https://www.microsoft.com/en-us/research/wp-content/uploads/2017/03/kedia2017mem.pdf +1. https://github.com/tomhrr/dale +1. [Fast String Searching](https://pdfs.semanticscholar.org/d991/2ea262986794e29e3f15e5f8930d42f2ced4.pdf) +1. https://github.com/apple/swift/blob/master/docs/StringManifesto.md +1. http://home.pipeline.com/~hbaker1/CheneyMTA.html +1. [Position: Lightweight static resources 0Sexy types for embedded and systems programming](https://pdfs.semanticscholar.org/2368/ccf8c62ab981e2426cd698ba2229f3eca311.pdf?_ga=2.228359389.1990612643.1507689838-1658669397.1507689838) +1. http://homes.soic.indiana.edu/ccshan/tfp2007/talk.pdf +1. http://www.catb.org/esr/structure-packing/ +1. [Ahead Of Time (AOT) Internals](https://www.youtube.com/watch?v=n5DCg6M2MDM) +1. [Polyglot Native: Java, Scala, Kotlin, & JVM languages](https://www.youtube.com/watch?v=5BMHIeMXTqA) +1. https://ziviani.net/2017/functions-in-assembly +1. https://ziviani.net/2017/functions-in-assembly-ii +1. [Hashed and Hierarchical Timing Wheels: Data Structures for the Efficient Implementation of a Timer Facility](http://www.cs.columbia.edu/~nahum/w6998/papers/sosp87-timing-wheels.pdf) + diff --git a/documentation/bookmark/back_end/wasm.md b/documentation/bookmark/back_end/wasm.md new file mode 100644 index 000000000..ba278fb2f --- /dev/null +++ b/documentation/bookmark/back_end/wasm.md @@ -0,0 +1,38 @@ +# Platform + +1. [WAVM: WAVM is a WebAssembly virtual machine, designed for use in non-web applications.](https://wavm.github.io/) + +# Exemplar + +1. [Announcing GraalWasm — a WebAssembly engine in GraalVM](https://medium.com/graalvm/announcing-graalwasm-a-webassembly-engine-in-graalvm-25cd0400a7f2) +1. [Towards a WebAssembly standalone runtime on GraalVM](https://dl.acm.org/citation.cfm?id=3362780) +1. https://github.com/vvanders/wasm_lua +1. https://github.com/AppCypher/webassemblylanguages +1. https://medium.com/perlin-network/life-a-secure-blazing-fast-cross-platform-webassembly-vm-in-go-ea3b31fa6e09 + +# Reference + +1. [Wasm needs a better memory management story](https://github.com/WebAssembly/design/issues/1397) +1. https://bytecodealliance.org/ +1. [Faster Fractals with Multi-Threaded WebAssembly](https://blog.scottlogic.com/2019/07/15/multithreaded-webassembly.html) +1. https://blog.scottlogic.com/2018/07/20/wasm-future.html +1. http://fitzgeraldnick.com/2018/04/26/how-does-dynamic-dispatch-work-in-wasm.html +1. https://hacks.mozilla.org/2018/03/making-webassembly-better-for-rust-for-all-languages/ +1. https://webassembly.github.io/ +1. https://github.com/WebAssembly/spec/blob/md-proto/md-proto/WebAssembly.md +1. https://github.com/WebAssembly/binaryen +1. [NYLUG Presents: Luke Wagner -on- WebAssembly: A New Compiler Target For The Web](https://www.youtube.com/watch?v=RByPdCN1RQ4) +1. https://binji.github.io/2017/03/05/webassembly-type-checking.html +1. https://github.com/WebAssembly/spec/tree/master/interpreter +1. https://mbebenita.github.io//WasmExplorer/ +1. http://thecodebarbarian.com/getting-started-with-webassembly-in-node.js.html +1. http://blog.seraum.com/compiling-javascript-to-webassembly-wasm-or-asm-js-with-nectarjs +1. https://hacks.mozilla.org/2017/07/memory-in-webassembly-and-why-its-safer-than-you-think/ +1. [Using WebAssembly and Threads (Chrome Dev Summit 2018)](https://www.youtube.com/watch?v=zgOGZgAPUjQ) +1. https://github.com/wasmerio/wasmer +1. https://www.fastly.com/blog/announcing-lucet-fastly-native-webassembly-compiler-runtime +1. https://hacks.mozilla.org/2019/03/standardizing-wasi-a-webassembly-system-interface/ +1. https://cybernetist.com/2019/04/25/wasm-universal-application-runtime/ +1. https://github.com/intel/wasm-micro-runtime +1. https://medium.com/wasmer/running-webassembly-on-the-kernel-8e04761f1d8e + diff --git a/documentation/bookmark/computation.md b/documentation/bookmark/computation.md index 526db5e9f..59186b29b 100644 --- a/documentation/bookmark/computation.md +++ b/documentation/bookmark/computation.md @@ -1,3 +1,7 @@ +# Dynamic binding + +1. [Programming with Implicit Values, Functions, and Control (or, Implicit Functions: Dynamic Binding with Lexical Scoping)](https://www.microsoft.com/en-us/research/publication/programming-with-implicit-values-functions-and-control-or-implicit-functions-dynamic-binding-with-lexical-scoping/) + # Construct 1. [Fundamental Constructs in Programming Languages](https://arxiv.org/abs/2107.10545) diff --git a/documentation/bookmark/documentation.md b/documentation/bookmark/documentation.md index 44f79fb5f..b57f38630 100644 --- a/documentation/bookmark/documentation.md +++ b/documentation/bookmark/documentation.md @@ -55,7 +55,7 @@ 1. [Architecture decision record (ADR)](https://github.com/joelparkerhenderson/architecture_decision_record) 1. [Seamless API Specification](https://github.com/seamlessapis/seamless/tree/master/domain) -1. https://docs.racket-lang.org/pollen/ +1. [Pollen: the book is a program](https://docs.racket-lang.org/pollen/) 1. [Documenting the Clojure/Script Ecosystem – Martin Klepsch](https://www.youtube.com/watch?v=mWrvd6SE7Vg) 1. http://apistylebook.com/ 1. https://docusaurus.io/ @@ -70,7 +70,6 @@ 1. https://groups.google.com/forum/#!msg/scala-internals/r2GnzCFc3TY/x3PmIq4cAgAJ 1. http://naildrivin5.com/blog/2016/12/08/learn-graphviz-and-up-your-diagramming-game.html 1. https://idyll-lang.github.io/ -1. http://docs.racket-lang.org/pollen/ 1. https://opensource.com/article/17/9/modular-documentation 1. https://clojurecademy.github.io/dsl-documentation/# 1. https://www.asyncapi.com/ diff --git a/documentation/bookmark/tool/text_editor.md b/documentation/bookmark/tool/text_editor.md index 49ad18126..a3f7dcbee 100644 --- a/documentation/bookmark/tool/text_editor.md +++ b/documentation/bookmark/tool/text_editor.md @@ -222,6 +222,7 @@ ## Structured editing +1. [Leo](https://www.leoeditor.com/) 1. [Inspiring a future Clojure editor with forgotten Lisp UX - Shaun Lebron](https://www.youtube.com/watch?v=K0Tsa3smr1w) 1. [Dion Systems - The How And Why Of Reinventing The Wheel](https://vimeo.com/485177664) 1. [Towards Tactic Metaprogramming in Haskell](https://reasonablypolymorphic.com/blog/towards-tactics/index.html) diff --git a/lux-bootstrapper/project.clj b/lux-bootstrapper/project.clj index 55d62ac48..ba42e7c05 100644 --- a/lux-bootstrapper/project.clj +++ b/lux-bootstrapper/project.clj @@ -1,6 +1,6 @@ -(defproject com.github.luxlang/lux-bootstrapper "0.6.0-SNAPSHOT" +(defproject com.github.luxlang/lux-bootstrapper "0.6.0" :min-lein-version "2.1.0" ;; 2.1.0 introduced jar classifiers - :description "The JVM compiler for the Lux programming language." + :description "The JVM (bootstrapping) compiler for the Lux programming language." :url "https://github.com/LuxLang/lux" :license {:name "Lux License v0.1.1" :url "https://github.com/LuxLang/lux/blob/master/license.txt"} @@ -24,8 +24,7 @@ [org.ow2.asm/asm-util "7.3.1"] ] :warn-on-reflection true - :repositories [["snapshots" "https://oss.sonatype.org/content/repositories/snapshots/"] - ["releases" "https://oss.sonatype.org/service/local/staging/deploy/maven2/"]] + :repositories [["snapshots" "https://oss.sonatype.org/content/repositories/snapshots/"]] :source-paths ["src"] :scm {:name "git" diff --git a/lux-js/project.clj b/lux-js/project.clj index ad4ddf6f0..35ab4a21c 100644 --- a/lux-js/project.clj +++ b/lux-js/project.clj @@ -1,4 +1,4 @@ -(def version "0.6.0-SNAPSHOT") +(def version "0.6.0") (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/") @@ -14,8 +14,7 @@ [:name "Eduardo Julian"] [:url "https://github.com/eduardoejp"]]] - :repositories [["releases" ~sonatype-releases] - ["snapshots" ~sonatype-snapshots]] + :repositories [["snapshots" ~sonatype-snapshots]] :deploy-repositories [["releases" {:url ~sonatype-releases :creds :gpg}] ["snapshots" {:url ~sonatype-snapshots :creds :gpg}]] diff --git a/lux-js/project.lux b/lux-js/project.lux index ec5be294c..e9b44e375 100644 --- a/lux-js/project.lux +++ b/lux-js/project.lux @@ -1,5 +1,5 @@ {"" - [#identity ["com.github.luxlang" "lux-js" "0.6.0-SNAPSHOT"] + [#identity ["com.github.luxlang" "lux-js" "0.6.0"] #description "A JavaScript compiler for Lux." #deploy_repositories {"snapshots" "https://oss.sonatype.org/content/repositories/snapshots/" @@ -8,10 +8,10 @@ #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-SNAPSHOT" "tar"]] + #dependencies [["com.github.luxlang" "stdlib" "0.6.0" "tar"]] #program "program"] "jvm" - [#compiler ["com.github.luxlang" "lux-jvm" "0.6.0-SNAPSHOT" "jar"] + [#compiler ["com.github.luxlang" "lux-jvm" "0.6.0" "jar"] #dependencies [["org.openjdk.nashorn" "nashorn-core" "15.1" "jar"]]]} diff --git a/lux-jvm/project.clj b/lux-jvm/project.clj index d01f246a2..f6bc06844 100644 --- a/lux-jvm/project.clj +++ b/lux-jvm/project.clj @@ -1,4 +1,4 @@ -(def version "0.6.0-SNAPSHOT") +(def version "0.6.0") (def repo "https://github.com/LuxLang/lux") (def sonatype "https://oss.sonatype.org") (def sonatype-releases (str sonatype "/service/local/staging/deploy/maven2/")) @@ -15,8 +15,7 @@ :pom-addition [:developers [:developer [:name "Eduardo Julian"] [:url "https://github.com/eduardoejp"]]] - :repositories [["releases" ~sonatype-releases] - ["snapshots" ~sonatype-snapshots]] + :repositories [["snapshots" ~sonatype-snapshots]] :scm {:name "git" :url ~(str repo ".git")} diff --git a/lux-lein/project.clj b/lux-lein/project.clj index c5c1b9090..3fc049c64 100644 --- a/lux-lein/project.clj +++ b/lux-lein/project.clj @@ -1,4 +1,4 @@ -(defproject com.github.luxlang/lein-luxc "0.6.0-SNAPSHOT" +(defproject com.github.luxlang/lein-luxc "0.6.0" :description "The Leiningen plugin for the Lux programming language." :url "https://github.com/LuxLang/lein-luxc" :license {:name "Lux License v0.1.1" diff --git a/lux-lua/project.clj b/lux-lua/project.clj index 559f57aab..e6848ccb1 100644 --- a/lux-lua/project.clj +++ b/lux-lua/project.clj @@ -1,4 +1,4 @@ -(def version "0.6.0-SNAPSHOT") +(def version "0.6.0") (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/") @@ -14,8 +14,7 @@ [:name "Eduardo Julian"] [:url "https://github.com/eduardoejp"]]] - :repositories [["releases" ~sonatype-releases] - ["snapshots" ~sonatype-snapshots]] + :repositories [["snapshots" ~sonatype-snapshots]] :deploy-repositories [["releases" {:url ~sonatype-releases :creds :gpg}] ["snapshots" {:url ~sonatype-snapshots :creds :gpg}]] diff --git a/lux-lua/project.lux b/lux-lua/project.lux index 4d0c10a35..e03946c59 100644 --- a/lux-lua/project.lux +++ b/lux-lua/project.lux @@ -1,5 +1,5 @@ {"" - [#identity ["com.github.luxlang" "lux-lua" "0.6.0-SNAPSHOT"] + [#identity ["com.github.luxlang" "lux-lua" "0.6.0"] #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-SNAPSHOT" "jar"] - #dependencies [["com.github.luxlang" "stdlib" "0.6.0-SNAPSHOT" "tar"] + #compiler ["com.github.luxlang" "lux-jvm" "0.6.0" "jar"] + #dependencies [["com.github.luxlang" "stdlib" "0.6.0" "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/project.clj b/lux-python/project.clj index 88f4cec40..3367a2819 100644 --- a/lux-python/project.clj +++ b/lux-python/project.clj @@ -1,4 +1,4 @@ -(def version "0.6.0-SNAPSHOT") +(def version "0.6.0") (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/") @@ -14,8 +14,7 @@ [:name "Eduardo Julian"] [:url "https://github.com/eduardoejp"]]] - :repositories [["releases" ~sonatype-releases] - ["snapshots" ~sonatype-snapshots]] + :repositories [["snapshots" ~sonatype-snapshots]] :deploy-repositories [["releases" {:url ~sonatype-releases :creds :gpg}] ["snapshots" {:url ~sonatype-snapshots :creds :gpg}]] diff --git a/lux-python/project.lux b/lux-python/project.lux index 2f6627b83..4c0b4dfa4 100644 --- a/lux-python/project.lux +++ b/lux-python/project.lux @@ -1,5 +1,5 @@ ["" - ["identity" ["com.github.luxlang" "lux-python" "0.6.0-SNAPSHOT"] + ["identity" ["com.github.luxlang" "lux-python" "0.6.0"] "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-SNAPSHOT" "jar"] - "dependencies" [["com.github.luxlang" "stdlib" "0.6.0-SNAPSHOT" "tar"] + "compiler" ["com.github.luxlang" "lux-jvm" "0.6.0" "jar"] + "dependencies" [["com.github.luxlang" "stdlib" "0.6.0" "tar"] ["org.python" "jython-standalone" "2.7.2" "jar"]] "program" "program"]] diff --git a/lux-python/source/program.lux b/lux-python/source/program.lux index 5383c1b0d..8fb761f0f 100644 --- a/lux-python/source/program.lux +++ b/lux-python/source/program.lux @@ -91,7 +91,7 @@ (import: org/python/core/PyObject ["[1]::[0]" - ... (asInt [] int) + (asInt [] java/lang/Integer) (asLong [] long) (asDouble [] double) (asString [] java/lang/String) @@ -367,7 +367,7 @@ (All (_ s i o) (-> (List Any) (Phase [extension.Bundle s] i o) org/python/core/PyObject)) - (<| (ffi.:as org/python/core/PyObject) + (<| (:as org/python/core/PyObject) (ffi.object [] org/python/core/PyObject [] [] ... Methods diff --git a/lux-ruby/project.clj b/lux-ruby/project.clj index 36430ec9a..f689a8c33 100644 --- a/lux-ruby/project.clj +++ b/lux-ruby/project.clj @@ -1,4 +1,4 @@ -(def version "0.6.0-SNAPSHOT") +(def version "0.6.0") (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/") diff --git a/lux-ruby/project.lux b/lux-ruby/project.lux index b9e998cde..ab142f3c4 100644 --- a/lux-ruby/project.lux +++ b/lux-ruby/project.lux @@ -1,5 +1,5 @@ {"" - [#identity ["com.github.luxlang" "lux-ruby" "0.6.0-SNAPSHOT"] + [#identity ["com.github.luxlang" "lux-ruby" "0.6.0"] #description "A Ruby compiler for Lux." #deploy_repositories {"snapshots" "https://oss.sonatype.org/content/repositories/snapshots/" @@ -8,8 +8,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-SNAPSHOT" "jar"] - #dependencies [["com.github.luxlang" "stdlib" "0.6.0-SNAPSHOT" "tar"] + #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"]] #program "program"]} diff --git a/stdlib/project.clj b/stdlib/project.clj index b7c037b45..64cb8d3b7 100644 --- a/stdlib/project.clj +++ b/stdlib/project.clj @@ -1,9 +1,11 @@ -(def version "0.6.0-SNAPSHOT") +(def version "0.6.0") (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/") (defproject com.github.luxlang/stdlib #=(identity version) + :description "Standard library for the Lux programming language." + :url ~repo :license {:name "Lux License v0.1.1" :url ~(str repo "/blob/master/license.txt")} @@ -13,16 +15,14 @@ :pom-addition [:developers [:developer [:name "Eduardo Julian"] [:url "https://github.com/eduardoejp"]]] - :repositories [["releases" ~sonatype-releases] - ["snapshots" ~sonatype-snapshots]] + :repositories [["snapshots" ~sonatype-snapshots]] :scm {:name "git" :url ~(str repo ".git")} :manifest {"lux" ~version} :source-paths ["source"] :dependencies [[com.github.luxlang/lux-bootstrapper ~version]] - :profiles {:bibliotheca {:description "Standard library for the Lux programming language." - :lux {:test "test/lux"}} + :profiles {:bibliotheca {:lux {:test "test/lux"}} :aedifex {:description "A build system/tool made exclusively for Lux." :lux {:program "program/aedifex" :test "test/aedifex"}}} diff --git a/stdlib/project.lux b/stdlib/project.lux index 0f3cdc0cb..a5a2df7d7 100644 --- a/stdlib/project.lux +++ b/stdlib/project.lux @@ -2,7 +2,7 @@ [... 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-SNAPSHOT"] + "identity" ["com.github.luxlang" "stdlib" "0.6.0"] ... Every piece of information, and the whole "info" bundle, are optional. "info" ["url" "https://github.com/LuxLang/lux" @@ -41,7 +41,7 @@ ... 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-SNAPSHOT" "jar"] + "compiler" ["com.github.luxlang" "lux-jvm" "0.6.0" "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. @@ -52,25 +52,25 @@ ] "js" - ["compiler" ["com.github.luxlang" "lux-js" "0.6.0-SNAPSHOT" "js"] + ["compiler" ["com.github.luxlang" "lux-js" "0.6.0" "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-SNAPSHOT" "jar"] + ["compiler" ["com.github.luxlang" "lux-python" "0.6.0" "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-SNAPSHOT" "jar"] + ["compiler" ["com.github.luxlang" "lux-lua" "0.6.0" "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-SNAPSHOT" "jar"] + ["compiler" ["com.github.luxlang" "lux-ruby" "0.6.0" "jar"] ... The OS command to use when running Ruby tests. The default is described below. ... "ruby" ["ruby"] ] -- cgit v1.2.3