aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuxLang2016-04-26 00:24:13 -0400
committerLuxLang2016-04-26 00:24:13 -0400
commitf27db1cd6f944de34b74e5098e3b090efd853ea4 (patch)
tree10ad53bf278c12bc664fdd150295324122a206ce
parenta498da4f24bb7c9e248c6b00c3bc4283a49e623f (diff)
Update README.md
-rw-r--r--README.md43
1 files changed, 11 insertions, 32 deletions
diff --git a/README.md b/README.md
index 976483526..6cfb3fdaa 100644
--- a/README.md
+++ b/README.md
@@ -7,30 +7,27 @@ It's meant to be a functional, statically-typed Lisp that will run on several pl
### What's the current version?
-v0.3.2
+0.3.3
### How far ahead is the project?
-The Java-bytecode compiler is almost complete.
+The Java-bytecode compiler is feature-complete.
-Type-inference is halfway done and the compiler is not as fast as I would like.
-
-However, programs can be written that can interop with the JVM and you can even publish Lux libraries to Clojars or Maven.
+Optimizations and other minor improvements are on the way.
### How can I use it?
-Download the 0.3.2 compiler from here: https://github.com/LuxLang/lux/releases/download/0.3.2/luxc.jar
+Download the 0.3.3 compiler from here: https://github.com/LuxLang/lux/releases/download/0.3.3/luxc.jar
Once you download the compiler, you'll want to create a directory named "source" in the same directory where the compiler is located.
-You can run the compiler like this:
-
- java -jar -Xss4m luxc.jar compile <program-module-name>
+You should use the Leiningen plugin for Lux to compile your programs and manager your dependencies.
+You can find it here: https://github.com/LuxLang/lux-lein
-This will generate a directory named "target" and put all the .class files there.
+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:
- cd target/jvm/ && java -jar program.jar
+ java -jar target/jvm/program.jar
### Sample
@@ -40,11 +37,6 @@ The program in there was actually used to generate most of the documentation for
You can also checkout this tutorial, which includes a sample TODO web-app: http://luxlang.blogspot.com/2015/12/lux-tutorial-1-simple-todo-list-using.html
-### Building Lux projects
-
-To make programming with Lux easier, you might want to checkout the new Leiningen plugin for Lux:
-https://github.com/LuxLang/lux-lein
-
### What's the license?
Mozilla Public License v2.0
@@ -128,15 +120,15 @@ 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 them inside pattern-matching:
- (case (: (List Int) (@list 1 2 3))
+ (case (: (List Int) (list 1 2 3))
(#Cons x (#Cons y (#Cons z #Nil)))
(#Some ($ int:* x y z))
_
#None)
- (case (: (List Int) (@list 1 2 3))
- (\ (@list x y z))
+ (case (: (List Int) (list 1 2 3))
+ (\ (list x y z))
(#Some ($ int:* x y z))
_
@@ -170,8 +162,6 @@ If you want to see how they work, just check out their implementation inside lux
### Is there a community for this?
-Lux was born recently.
-
Come join the budding community by joining the discussion group at: https://groups.google.com/forum/#!forum/lux-programming-language
If you want to communicate with me directly, just email me at luxlisp@gmail.com
@@ -196,16 +186,5 @@ Writing libraries in Lux will also help a lot in making this a more practical la
Communication is done over Gitter and the Google group.
-## Caveats
-
-### Tags
-
-Tags that are unprefixed will just assume the prefix of the current module you're in.
-
-If you want to write variants/records with tags from lux.lux, you must do 1 of the following 2 alternatives:
-
-* Fully prefix them: #lux;Cons
-* Use the ; short-cut: #;Cons
-
##### Copyright (c) 2015-2016 Eduardo Julian. All rights reserved.