- 09 Jun, 2015 2 commits
-
-
Boris Smilga authored
Additions to 116f9ca9, to not replace Φ() with Φ.call(this) unless Φ refers to this. Also, fixed / added tests.
-
Boris Smilga authored
Preserve "this" in implicit lambdas
-
- 05 Mar, 2015 1 commit
-
-
Jason Miller authored
-
- 09 Feb, 2015 2 commits
-
-
Boris Smilga authored
Fix for https://github.com/vsedach/Parenscript/issues/15
-
Boris Smilga authored
Fixed: an occurence of the macro WITH-DECLARATION-EFFECTS preceded its definition, leading to ps-compile errors (see https://github.com/vsedach/Parenscript/issues/15).
-
- 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.)
-