X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=README.org;h=bfa6cc6deec29d44fa76a473dad496e32ab4a6e5;hb=HEAD;hp=f0c8d9dead3f0dbeef1ab749b96681112fce6395;hpb=9199bf1b0881c58067411ff2f9e9584f4d42e13d;p=jscl.git diff --git a/README.org b/README.org index f0c8d9d..bfa6cc6 100644 --- a/README.org +++ b/README.org @@ -1,12 +1,28 @@ -* Ecmalisp +* JSCL - Ecmalisp is a Lisp-to-Javascript compiler, which is bootstrapped + JSCL is a Common Lisp to Javascript compiler, which is bootstrapped from Common Lisp and executed from the browser. - You can try a demo [[http://davazp.net/ecmalisp/ecmalisp.html][here]]. +** Getting started - It is just an experiment, of course. But it supports partially most - common special operators, functions and macros. In particular: +You can try a demo [[http://davazp.net/jscl/jscl.html][here]]. But if you want to hack JSCL, you will have +to download the repository + +=git clone git@github.com:davazp/jscl.git= + +/load/ jscl.lisp in your Lisp, and call the bootstrap function to +compile the implementation itself: + +=(jscl:bootstrap)= + +It will generate a jscl.js file in the top of the source tree. Now you +can open JSCL.html in your browser and use it. + +** Status + +JSCL is and will be a subset of Common Lisp. Of course it is far +from complete, but it supports partially most common special +operators, functions and macros. In particular: - Multiple values - Explicit control tranfers ([[http://www.lispworks.com/documentation/HyperSpec/Body/s_tagbod.htm][tagbody]] and [[http://www.lispworks.com/documentation/HyperSpec/Body/s_go.htm][go]]) @@ -17,12 +33,12 @@ - SETF places - Packages - The compiler is very verbose, some simple optimizations or - /minification/ could help to deal with it. +The compiler is very verbose, some simple optimizations or +/minification/ could help to deal with it. - Most of the above features are incomplete. It is not so bad because - so the compiler is not too heavy, but it would be great if we were - just enough compliant to include a [[http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/code/iter/loop/mit/0.html][loop implementation]], a format - implementation, or even [[http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/oop/0.html][CLOS]] or non-CLOS OOP. +Most of the above features are incomplete. It is not so bad because +so the compiler is not too heavy, but it would be great if we were +just enough compliant to include a [[http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/code/iter/loop/mit/0.html][loop implementation]], a format +implementation, or even [[http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/oop/0.html][CLOS]] or non-CLOS OOP. - /Feel free to hack it yourself/ +/Feel free to hack it yourself/