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 transfers tagbody and go - Static and dynamic non local exit catch, throw; block, return-from. - Lexical and special variables. However, declare expressions are missing, but you can proclaim special variables. - Optional and keyword arguments - SETF places - Packages - The LOOP macro - CLOS - Others
The compiler is very verbose, some simple optimizations or minification could help to deal with it.
Most of the above features are incomplete. The major features that are still missing are:
- The format function
Feel free to hack it yourself