1. 27 Oct, 2018 1 commit
  2. 25 Oct, 2018 1 commit
  3. 24 Oct, 2018 1 commit
  4. 21 Oct, 2018 2 commits
  5. 15 Oct, 2018 2 commits
  6. 13 Oct, 2018 1 commit
  7. 11 Oct, 2018 1 commit
  8. 07 Jul, 2018 1 commit
  9. 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
  10. 14 Mar, 2013 4 commits
  11. 02 Mar, 2013 1 commit
  12. 29 Nov, 2012 2 commits
  13. 24 Nov, 2012 3 commits
  14. 13 Oct, 2012 1 commit
  15. 08 Oct, 2012 2 commits
  16. 07 Oct, 2012 1 commit
  17. 14 Sep, 2012 1 commit
  18. 13 Sep, 2012 1 commit
  19. 12 Sep, 2012 2 commits
  20. 04 Sep, 2012 1 commit
  21. 28 Aug, 2012 2 commits
    • Daniel Gackle's avatar
      Added BOOLEANP. · e747ed35
      Daniel Gackle authored
      e747ed35
    • Daniel Gackle's avatar
      Rewrote PS LOOP to support FOR..OF clauses that compile to JS for-in · f6c6d05f
      Daniel Gackle authored
      loops (basically the equivalent of CL's "BEING THE HASH KEYS OF").
      
      Because JS for-in loops can't be simulated with WHILE, this required
      changing how LOOP generates code - with these additional benefits:
      simpler implementation; smaller generated loops; all iteration vars
      now within the scope of the JS loop form, so that the LOOP macro now
      has consistent scoping behavior with hard-coded FOR, WHILE, etc.
      (notably with respect to whether to generate a new binding per
      iteration for variables captured by a closure). There is also the
      disadvantage that for some complex loops a temporary local variable
      must be used to track whether the loop is on its first iteration or
      not.
      f6c6d05f
  22. 11 Aug, 2012 2 commits
  23. 03 Feb, 2012 1 commit
  24. 26 Dec, 2011 1 commit
  25. 24 Dec, 2011 1 commit
  26. 17 Dec, 2011 1 commit
  27. 13 Mar, 2011 1 commit
  28. 20 Jan, 2011 1 commit