jisp
jisp copied to clipboard
Lisp-style language that compiles to JavaScript
Because the REPL is primary a tool for learning and testing the language, and because of all the differences between jisp and JavaScript, the REPL by default prints compiled code...
Regex maintainability is easier when you can write them in a modular way, commenting the parts, without affecting the compiled code. See the [CS version](http://coffeescript.org/#regexes).
It should look like this: Jisp source: ``` (switch x (case val0 val1 val2 )) ``` Compiled JS: ``` switch (x) { case val0: case val1: case val2: break; }...
This is related to issue #20: execution order control. Right now, `` in `(elif )` can only be a single JS expression, the compiler throws an error if it compiles...
(Tentative.) We may want to distinguish between `;`, `;;`, and `;;;` comments. `;;` would quote the next form in parentheses, ignoring end-of-line. `;;;` would be a multiline block comment.
There needs to be a way to return jisp code after parsing and expanding all macros, but before compiling. This must be available as a compiler option, and in the...
Jisp uses a few methods that may not be supported in older JavaScript environments like IE8. Examples include `Array.prototype.indexOf`, `Array.prototype.reduce`, and probably a few others. There needs to be a...
Tiny things. - Compiler error messages for when special forms like = and quote, as well as JS keywords, are met outside their destined place (first element in list). -...
Right now, there’s a difference between macros and global functions in the way they are hoisted and embedded. Functions respect the file’s scope and allow the user to override them:...
Either the `command` module or the `repl` module needs to automatically load `register` to register the file extension.