- 03 Feb, 2015 3 commits
-
-
Boris Smilga authored
Added support for getters and setters in object literals (when *js-target-version* ≥ 1.8.5).
-
Boris Smilga authored
-
Boris Smilga authored
-
- 14 Jan, 2015 5 commits
-
-
Vladimir Sedach authored
Fixed unparenthesized comma-sequences in for(;;) variable initializer expressions inside blocks.
-
Vladimir Sedach authored
Improved handling of declarations.
-
Vladimir Sedach authored
Fix to have RETURN-FROM a nested block in tail context behave as RETURN-FROM the outer block
-
Vladimir Sedach authored
Fixed issue: *js-string-delimiter* was not properly forwarded in (lisp ....
-
Vladimir Sedach authored
Fixed: empty-body clauses in COND should evaluate to the result of the test.
-
- 04 Jan, 2015 1 commit
-
-
Boris Smilga authored
E. g. (ps (lambda (y) (for ((x (let ((x0 (foo y))) (bar x0)))) () () (xyzzy x)))) was producing (function (y) { var x0; for (var x = x0 = foo(y), bar(x0); ; ) { xyzzy(x); }; }); A JavaScript parser would then treat the comma as the separator in VariableDeclarationListNoIn production, so bar(x0) would be occuring in the position of an Identifier, which is a syntax error (see ECMA-262 ed. 5.1, ss. 12.6.3, 12.2).
-
- 25 Dec, 2014 5 commits
-
-
Boris Smilga authored
Conflicts: src/function-definition.lisp
-
Boris Smilga authored
-
Boris Smilga authored
-
Boris Smilga authored
-
Boris Smilga authored
1. Named function bodies in Common Lisp may contain multiple DECLARE forms before or after the docstring (or even before *and* after). This feature is important for meta-programming by macros, and so PS should also support it. 2. Declarations should be allowed in PS forms whose Lisp namesakes allow them, to wit: in the macros WITH-SLOTS, MULTIPLE-VALUE-BIND, DO*, DO, DOTIMES, DOLIST, DESTRUCTURING-BIND, LET*, DEFUN, DEFSETF, and in the special forms LET, FLET, LABELS (letting out DEFMACRO, MACROLET, SYMBOL-MACROLET who are not translated to JavaScript). Before the present commit, most of them didn't handle declarations correctly. 3. Individual DECLARE forms should be allowed to contain multiple declaration specifiers, in particular, multiple SPECIAL specifiers. WITH-DECLARATION-EFFECTS used to ignore SPECIALs after the first one. 4. This commit also introduces LOCALLY as PS form because it simplifies the implementation of stuff from (2).
-
- 21 Dec, 2014 3 commits
-
-
Vladimir Sedach authored
Added support for output of asm.js compatible code.
-
Vladimir Sedach authored
Simpler implementation for &REST in DEFUN
-
Vladimir Sedach authored
Fixed DEFPSMACRO and DEFINE-PS-SYMBOL-MACRO
-
- 18 Dec, 2014 1 commit
-
-
Boris Smilga authored
-
- 16 Dec, 2014 1 commit
-
-
Francis St-Amour authored
For example: (ps-inline (alert (lisp "21"))) Would give "javascript:alert('21')" instead of "javascript:alert(\"21\")".
-
- 15 Dec, 2014 1 commit
-
-
Boris Smilga authored
Getters and setter are defined in ECMAScript 5.1 sec. 11.1.5. A getter would be specified in a (CREATE ...) form as a name-value pair of the form (GET <NAME>) <EXPR>, where <NAME> is a symbol naming the object slot, and <EXPR> is the body of the getter. A setter would be specified as a name-value pair of the form (SET <NAME> <NEW-PARAM>) <EXPR>, where <NAME> is a symbol naming the object slot, <NEW-PARAM> is a symbol naming the setter's formal parameter for the assignment value, and <EXPR> is the body of the setter.
-
- 30 Sep, 2014 1 commit
-
-
Boris Smilga authored
See https://groups.google.com/forum/#!topic/parenscript/eQ4NS5lslHE for a more detailed description of the bug.
-
- 10 Jul, 2014 1 commit
-
-
Fred LeMaster authored
Added a unary-plus to the IR and removed the automatic conversion of (setf x (logior x 0)) to "x |= 0;".
-
- 13 Mar, 2014 1 commit
-
-
Max Rottenkolber authored
-
- 23 Feb, 2014 2 commits
-
-
Max Rottenkolber authored
-
Max Rottenkolber authored
I think using the built in Array.slice is the saner choice here.
-
- 21 Feb, 2014 1 commit
-
-
peter authored
macros defined with them will be expanded properly when needed in the same file
-
- 27 Oct, 2013 1 commit
-
-
Vladimir Sedach authored
-
- 14 Mar, 2013 8 commits
-
-
Daniel Gackle authored
-
Daniel Gackle authored
-
Daniel Gackle authored
into ps-loop.lisp.
-
Daniel Gackle authored
the poor-man's codewalking of try-expressionizing-if?. Example: (try-expressionizing-if? '(for-in (label (foo)))) The codewalker macroexpands (label (foo)) even though it is not a macro invocation. Since LABEL is a deprecated macro, a warning was leaking through.
-
Daniel Gackle authored
-
Daniel Gackle authored
inside RETURN-EXP so it presents one interface to the outside world. This makes the implementation of source mappings a little easier.
-
Daniel Gackle authored
FLET so the symmetry between the two is more apparent.
-
Daniel Gackle authored
warning in CCL.)
-
- 02 Mar, 2013 1 commit
-
-
Daniel Gackle authored
-
- 25 Feb, 2013 1 commit
-
-
Daniel Gackle authored
There is no need for PARENTHESIZE-EQUALITY as distinct from PRINT-OP-ARGUMENT, because the latter always parenthesizes equality expressions when they are an operand in some other equality expression. (In such a case, OP and ARG-OP have the same precedence, and neither is associative.)
-
- 05 Feb, 2013 3 commits
-
-
Daniel Gackle authored
dropped. Unfortunately, CL-JS doesn't compile for..in loops, so a unit test can't currently be added for this. (I reported the issue to the CL-JS project on Github.)
-
Daniel Gackle authored
come before all body clauses, and this is not the case. See added tests.
-
Daniel Gackle authored
-