1. 25 Oct, 2018 4 commits
  2. 24 Oct, 2018 6 commits
  3. 22 Oct, 2018 3 commits
  4. 21 Oct, 2018 2 commits
  5. 16 Oct, 2018 1 commit
  6. 15 Oct, 2018 3 commits
  7. 13 Oct, 2018 1 commit
  8. 12 Oct, 2018 1 commit
  9. 11 Oct, 2018 1 commit
  10. 10 Oct, 2018 2 commits
  11. 07 Oct, 2018 6 commits
  12. 02 Oct, 2018 1 commit
  13. 07 Jul, 2018 1 commit
  14. 09 Jun, 2015 1 commit
  15. 03 Feb, 2015 1 commit
  16. 25 Dec, 2014 1 commit
    • Boris Smilga's avatar
      Improved handling of declarations. · 8d7e8fa1
      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).
      8d7e8fa1
  17. 18 Dec, 2014 1 commit
  18. 15 Dec, 2014 1 commit
    • Boris Smilga's avatar
      Added support for getters and setters in object literals. · 26585518
      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.
      26585518
  19. 23 Feb, 2014 1 commit
  20. 14 Mar, 2013 2 commits