projects/parenscript/parenscript.git
2 months agoWhitespace master
Daniel Gackle [Sat, 23 Feb 2013 23:57:53 +0000] 
Whitespace

2 months agoMinor refactoring; comments.
Daniel Gackle [Wed, 27 Feb 2013 20:32:07 +0000] 
Minor refactoring; comments.

2 months agoUndeprecated BIND because it is used by LOOP; moved BIND and BIND*
Daniel Gackle [Mon, 4 Mar 2013 03:15:56 +0000] 
Undeprecated BIND because it is used by LOOP; moved BIND and BIND*
into ps-loop.lisp.

2 months agoSuppress inappropriate deprecation warnings that were arising during
Daniel Gackle [Thu, 7 Mar 2013 06:37:12 +0000] 
Suppress inappropriate deprecation warnings that were arising during
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.

2 months agoDeleted dead code
Daniel Gackle [Sun, 3 Mar 2013 04:02:17 +0000] 
Deleted dead code

2 months agoMinor refactoring: hide multiple-value vs. single-value distinction
Daniel Gackle [Sun, 24 Feb 2013 04:25:15 +0000] 
Minor refactoring: hide multiple-value vs. single-value distinction
inside RETURN-EXP so it presents one interface to the outside world.

This makes the implementation of source mappings a little easier.

2 months agoMinor refactoring: made the order of bindings in LABELS the same as in
Daniel Gackle [Fri, 1 Mar 2013 04:00:26 +0000] 
Minor refactoring: made the order of bindings in LABELS the same as in
FLET so the symmetry between the two is more apparent.

2 months agoMinor refactoring: removed unused gensym (was producing a compiler
Daniel Gackle [Fri, 1 Mar 2013 00:11:56 +0000] 
Minor refactoring: removed unused gensym (was producing a compiler
warning in CCL.)

2 months agoFixed bug: multiple evaluation in WITH-SLOTS.
Daniel Gackle [Sat, 2 Mar 2013 00:17:04 +0000] 
Fixed bug: multiple evaluation in WITH-SLOTS.

2 months agoRefactoring: got rid of PARENTHESIZE-EQUALITY.
Daniel Gackle [Mon, 25 Feb 2013 00:09:41 +0000] 
Refactoring: got rid of PARENTHESIZE-EQUALITY.

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.)

3 months agoFixed bug in PS-LOOP: test conditions in FOR..OF clauses were being
Daniel Gackle [Tue, 5 Feb 2013 05:18:48 +0000] 
Fixed bug in PS-LOOP: test conditions in FOR..OF clauses were being
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.)

3 months agoFixed bug: PS LOOP's implementation assumed that all iteration clauses
Daniel Gackle [Fri, 1 Feb 2013 21:55:04 +0000] 
Fixed bug: PS LOOP's implementation assumed that all iteration clauses
come before all body clauses, and this is not the case. See added tests.

3 months agoRefactoring of ps-loop.lisp, added loop tests.
Daniel Gackle [Fri, 1 Feb 2013 21:58:09 +0000] 
Refactoring of ps-loop.lisp, added loop tests.

3 months agoFixed bug in ps-loop: count clause was counting falses.
Daniel Gackle [Fri, 1 Feb 2013 04:06:50 +0000] 
Fixed bug in ps-loop: count clause was counting falses.

3 months agoMinor refactoring, renames, whitespace.
Daniel Gackle [Fri, 1 Feb 2013 03:52:36 +0000] 
Minor refactoring, renames, whitespace.

3 months agoExport maybe-once-only, since it's preferable almost everywhere to
Daniel Gackle [Wed, 30 Jan 2013 23:27:09 +0000] 
Export maybe-once-only, since it's preferable almost everywhere to
ps-once-only.

3 months agoIgnore no-op LETs (i.e. LET with empty binding list) when deciding
Daniel Gackle [Thu, 31 Jan 2013 01:37:45 +0000] 
Ignore no-op LETs (i.e. LET with empty binding list) when deciding
whether or not to expressionize an IF.

5 months agoFixed output test trig-bind1 to be consistent between Lisps that know that (floor...
Vladimir Sedach [Thu, 29 Nov 2012 03:50:26 +0000] 
Fixed output test trig-bind1 to be consistent between Lisps that know that (floor 3.14) is a constant and those that don't

5 months agoReplaced let of ps-gensyms with with-ps-gensysms in make-array
Vladimir Sedach [Thu, 29 Nov 2012 03:49:02 +0000] 
Replaced let of ps-gensyms with with-ps-gensysms in make-array

5 months agoAdded eval unit tests for Boris Smilga's Lisp-like initialization options for MAKE...
Vladimir Sedach [Thu, 29 Nov 2012 03:40:32 +0000] 
Added eval unit tests for Boris Smilga's Lisp-like initialization options for MAKE-ARRAY patch and nested LETs

5 months agoLisp-like initialization options for MAKE-ARRAY.
Boris Smilga [Tue, 13 Nov 2012 15:40:45 +0000] 
Lisp-like initialization options for MAKE-ARRAY.

5 months agoSimplified output of APPLY for code like (apply (@ an-object foo) nil) where the...
Vladimir Sedach [Sat, 24 Nov 2012 17:38:30 +0000] 
Simplified output of APPLY for code like (apply (@ an-object foo) nil) where the object is a simple symbol

5 months agoRemoved 'apply-to' macro introduced in 7f27b5b10ec4413713091c19bdce802a0e42bc6b
Vladimir Sedach [Sat, 24 Nov 2012 17:21:16 +0000] 
Removed 'apply-to' macro introduced in 7f27b5b10ec4413713091c19bdce802a0e42bc6b

5 months agoUnit tests for APPLY as used with object methods.
Boris Smilga [Thu, 18 Oct 2012 23:12:33 +0000] 
Unit tests for APPLY as used with object methods.

5 months agoMethod functions should be applied to their host objects as thisArgs, rather than...
Boris Smilga [Tue, 16 Oct 2012 22:09:26 +0000] 
Method functions should be applied to their host objects as thisArgs, rather than to the callers' this.

Also, we might want a way to apply functions to whatever thisArg we like.

7 months agoReorganized symbol listing in package.lisp to make it easier to see what's defined...
Vladimir Sedach [Sat, 13 Oct 2012 21:40:33 +0000] 
Reorganized symbol listing in package.lisp to make it easier to see what's defined and not from the CL symbols

7 months agoDeprecated BIND and BIND* macros
Vladimir Sedach [Sat, 13 Oct 2012 21:39:57 +0000] 
Deprecated BIND and BIND* macros

7 months agoAdded :description to asd files
Vladimir Sedach [Wed, 10 Oct 2012 16:58:10 +0000] 
Added :description to asd files

7 months agosuppress-values? special variable nil by default
Vladimir Sedach [Tue, 9 Oct 2012 21:45:56 +0000] 
suppress-values? special variable nil by default

7 months agoConverted other trig functions to use maybe-once-only
Vladimir Sedach [Mon, 8 Oct 2012 19:05:28 +0000] 
Converted other trig functions to use maybe-once-only

7 months agoFirst try at a maybe-once-only macro that doesn't introduce bindings for constant...
Vladimir Sedach [Mon, 8 Oct 2012 08:39:28 +0000] 
First try at a maybe-once-only macro that doesn't introduce bindings for constant and variable expressions in PS code

7 months agoAdded MOD
Vladimir Sedach [Sun, 7 Oct 2012 17:50:55 +0000] 
Added MOD

7 months agoMoved swank-parenscript.lisp to extras and added note about it in reference manual
Vladimir Sedach [Sat, 22 Sep 2012 18:31:21 +0000] 
Moved swank-parenscript.lisp to extras and added note about it in reference manual

7 months agoUpdated last modified date in reference manual
Vladimir Sedach [Sat, 22 Sep 2012 18:12:25 +0000] 
Updated last modified date in reference manual

8 months agoFixed problem with loop-return-arg and loop bodies getting double compiled by getting...
Vladimir Sedach [Sat, 15 Sep 2012 22:19:38 +0000] 
Fixed problem with loop-return-arg and loop bodies getting double compiled by getting rid of loop-return-arg. Thanks to Daniel Gackle for the bug report.

8 months agoAdded a failing test to capture bug involving inconsistent gensym
Daniel Gackle [Fri, 14 Sep 2012 05:29:14 +0000] 
Added a failing test to capture bug involving inconsistent gensym
suffixes when returning from a loop with more than one FOR clause.

8 months agoMacro keys in CASE forms now macroexpanded (thanks to Daniel Gackle for the suggestion)
Vladimir Sedach [Fri, 14 Sep 2012 03:30:24 +0000] 
Macro keys in CASE forms now macroexpanded (thanks to Daniel Gackle for the suggestion)

8 months agoRemoved the pass-through capability from the new global variable-based multiple value...
Vladimir Sedach [Thu, 13 Sep 2012 06:57:08 +0000] 
Removed the pass-through capability from the new global variable-based multiple value return system and prettied up associated code generation.

8 months agoOk, an actual test case of a nonlocal return that would fail with global variables
Vladimir Sedach [Wed, 12 Sep 2012 18:24:32 +0000] 
Ok, an actual test case of a nonlocal return that would fail with global variables

8 months agoSet MV and throw test case
Vladimir Sedach [Wed, 12 Sep 2012 18:17:31 +0000] 
Set MV and throw test case

8 months agoMore test cases for mv-return
Vladimir Sedach [Wed, 12 Sep 2012 17:05:44 +0000] 
More test cases for mv-return

8 months agoFull multiple values implementation. Works correctly but produces ugly code. This...
Vladimir Sedach [Wed, 12 Sep 2012 07:16:01 +0000] 
Full multiple values implementation. Works correctly but produces ugly code. This is here for later use, but will be rolled back in the next patch.

8 months agoAdded unwind-protect
Vladimir Sedach [Wed, 12 Sep 2012 06:57:27 +0000] 
Added unwind-protect

8 months agoClarified the behavior of CASE when it comes to symbols and fixed some other bugs...
Vladimir Sedach [Tue, 4 Sep 2012 02:18:07 +0000] 
Clarified the behavior of CASE when it comes to symbols and fixed some other bugs in CASE and SWITCH forms. Thanks to Boris Smilga for the bug report.

8 months agoChanged test-js-eval macro to handle nested arrays correctly
Vladimir Sedach [Wed, 29 Aug 2012 19:46:40 +0000] 
Changed test-js-eval macro to handle nested arrays correctly

8 months agoModified output tests macro to report mismatches in a more readable format, per Danie...
Vladimir Sedach [Wed, 29 Aug 2012 19:11:34 +0000] 
Modified output tests macro to report mismatches in a more readable format, per Daniel Gackle's suggestion.

8 months agoAdded some LOOP tests.
Daniel Gackle [Tue, 28 Aug 2012 04:49:57 +0000] 
Added some LOOP tests.

8 months agoAdded BOOLEANP.
Daniel Gackle [Sun, 24 Jun 2012 04:10:04 +0000] 
Added BOOLEANP.

8 months agoRewrote PS LOOP to support FOR..OF clauses that compile to JS for-in
Daniel Gackle [Thu, 5 Apr 2012 21:49:25 +0000] 
Rewrote PS LOOP to support FOR..OF clauses that compile to JS for-in
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.

8 months agoAdded a MAP..TO clause to PS LOOP to build a collection of key-value
Daniel Gackle [Wed, 11 Apr 2012 02:46:30 +0000] 
Added a MAP..TO clause to PS LOOP to build a collection of key-value
pairs much as COLLECT builds a list.

Example: (loop :for key :in list :map key :to (length key))

8 months agoFixed bug in PS LOOP: in ":for first? = t :then nil", the nil wasn't
Daniel Gackle [Thu, 5 Apr 2012 04:08:56 +0000] 
Fixed bug in PS LOOP: in ":for first? = t :then nil", the nil wasn't
being picked up.

8 months agoIn FOR..ON clauses of PS LOOP, allow :BY to be a number so that the
Daniel Gackle [Thu, 5 Apr 2012 04:01:40 +0000] 
In FOR..ON clauses of PS LOOP, allow :BY to be a number so that the
caller can say "(LOOP :for (a b) :on c :by 2..." and doesn't need to
invoke a non-Javascripty construct like #'CDDR.

9 months agoSmall fixes to defun-setf
Vladimir Sedach [Sat, 11 Aug 2012 01:28:59 +0000] 
Small fixes to defun-setf

9 months agoFixed a bunch of bugs related to returning from loops
Vladimir Sedach [Sat, 11 Aug 2012 00:06:19 +0000] 
Fixed a bunch of bugs related to returning from loops

9 months agoCheck dynamically whether a RETURN operator has been invoked inside a loop.
Boris Smilga [Mon, 16 Jul 2012 13:08:15 +0000] 
Check dynamically whether a RETURN operator has been invoked inside a loop.

This fixes incorrect handling of conditional returns, such as in

 (block nil
   (dotimes (i 10)
     (if (test i) (return i)))
   (return -1))

9 months agoAdded unit tests for LOOP improvements introduced by Boris Smilga in patches b7d9be31...
Vladimir Sedach [Fri, 10 Aug 2012 23:05:57 +0000] 
Added unit tests for LOOP improvements introduced by Boris Smilga in patches b7d9be318de33c96 and 331b7e580f0579554999

9 months agoFixed up output-tests to correspond to changes introduced in 00b39e6409845bdd7f
Vladimir Sedach [Fri, 10 Aug 2012 22:49:00 +0000] 
Fixed up output-tests to correspond to changes introduced in 00b39e6409845bdd7f

9 months agoFixed tree-search to work correctly for dotted lists
Vladimir Sedach [Fri, 10 Aug 2012 22:15:36 +0000] 
Fixed tree-search to work correctly for dotted lists

9 months agoImproved RETURN and NAMED in LOOP.
Boris Smilga [Mon, 16 Jul 2012 14:40:38 +0000] 
Improved RETURN and NAMED in LOOP.

9 months agoSuppressed printing of JS labels for CL BLOCK expressions when there is no explicit...
Vladimir Sedach [Fri, 10 Aug 2012 21:10:23 +0000] 
Suppressed printing of JS labels for CL BLOCK expressions when there is no explicit returning from those blocks

9 months agoStylistic changes to CREATE and RESERVED-SYMBOL
Vladimir Sedach [Sat, 28 Jul 2012 13:13:55 +0000] 
Stylistic changes to CREATE and RESERVED-SYMBOL

9 months agoFixed bug with quoted symbol arguments to CREATE (thanks to Russell Sim for the bug...
Vladimir Sedach [Sat, 28 Jul 2012 00:58:17 +0000] 
Fixed bug with quoted symbol arguments to CREATE (thanks to Russell Sim for the bug report and patch)

9 months agoUpdated documentation to reflect current state of LET. Thanks to Yakov Zaytsev for...
Vladimir Sedach [Fri, 27 Jul 2012 21:35:19 +0000] 
Updated documentation to reflect current state of LET. Thanks to Yakov Zaytsev for spotting the error.

9 months agoAdded Boris Smilga to list of contributors
Vladimir Sedach [Fri, 27 Jul 2012 14:55:14 +0000] 
Added Boris Smilga to list of contributors

9 months agoFixed inconsistency in way quoted arrays are treated (thanks to Daniel Gackle for...
Vladimir Sedach [Fri, 27 Jul 2012 14:50:58 +0000] 
Fixed inconsistency in way quoted arrays are treated (thanks to Daniel Gackle for the bug report).

10 months agoImplicit initialization of local vars (WITH sans =).
Boris Smilga [Mon, 16 Jul 2012 12:13:39 +0000] 
Implicit initialization of local vars (WITH sans =).

10 months agoImproved LOOP conditional clauses (IF, ELSE, AND, END).
Boris Smilga [Mon, 16 Jul 2012 10:32:21 +0000] 
Improved LOOP conditional clauses (IF, ELSE, AND, END).

12 months agoAdded 3b to contributors file
Vladimir Sedach [Wed, 9 May 2012 19:02:45 +0000] 
Added 3b to contributors file

12 months agoAdded unit tests for 3b's b5d18b1670cda55178b72b7 patch
Vladimir Sedach [Wed, 9 May 2012 19:01:34 +0000] 
Added unit tests for 3b's b5d18b1670cda55178b72b7 patch

12 months agodon't expand arguments to QUOTE in TRY-EXPRESSIONIZING-IF?
Bart Botta [Tue, 10 Apr 2012 23:32:26 +0000] 
don't expand arguments to QUOTE in TRY-EXPRESSIONIZING-IF?

fixes infinite recursion in something like
  (define-symbol-macro foo (ps:@ a foo))
  (lambda () (when (> foo 1) 2))

12 months agops-js intermediate representation package no longer uses Common Lisp symbols.
Vladimir Sedach [Tue, 8 May 2012 04:04:09 +0000] 
ps-js intermediate representation package no longer uses Common Lisp symbols.

12 months agoFixed loop return for most cases
Vladimir Sedach [Sat, 5 May 2012 15:45:35 +0000] 
Fixed loop return for most cases

12 months agoRemoved line breaking code introduced in 60154a465a5a29b4b5136f. Now only object...
Vladimir Sedach [Sat, 5 May 2012 04:34:25 +0000] 
Removed line breaking code introduced in 60154a465a5a29b4b5136f. Now only object literals with more than 2 members are line broken.

14 months agoMade unit tests all part of the same test suite (thanks to Anton Vodonosov for the...
Vladimir Sedach [Mon, 12 Mar 2012 19:26:59 +0000] 
Made unit tests all part of the same test suite (thanks to Anton Vodonosov for the suggestion).

15 months agoUpdated reference manual modified date.
Vladimir Sedach [Mon, 13 Feb 2012 23:01:05 +0000] 
Updated reference manual modified date.

15 months agoAdded description of NEW operator to reference manual.
Vladimir Sedach [Mon, 13 Feb 2012 22:59:16 +0000] 
Added description of NEW operator to reference manual.

15 months agoFixed bug where forms of type (incf x (incf x)) were giving wrong results because...
Vladimir Sedach [Mon, 6 Feb 2012 19:42:35 +0000] 
Fixed bug where forms of type (incf x (incf x)) were giving wrong results because of differences in how CL and JS increment operators worked.

15 months agoAdded line breaking to pretty-printer
Vladimir Sedach [Sun, 5 Feb 2012 18:53:01 +0000] 
Added line breaking to pretty-printer

15 months agoFixed bug w/+ string concatenation non-associativity. Thanks to Daniel Gackle for...
Vladimir Sedach [Sun, 5 Feb 2012 01:19:17 +0000] 
Fixed bug w/+ string concatenation non-associativity. Thanks to Daniel Gackle for the bug report.

15 months agoAdded multiple return values for dynamic returns.
Vladimir Sedach [Fri, 3 Feb 2012 18:14:29 +0000] 
Added multiple return values for dynamic returns.

15 months agoAdded documentation for EVAL-WHEN to the reference documentation.
Vladimir Sedach [Wed, 1 Feb 2012 19:54:24 +0000] 
Added documentation for EVAL-WHEN to the reference documentation.

16 months agoUpdated last modified date in manual
Vladimir Sedach [Thu, 12 Jan 2012 23:20:59 +0000] 
Updated last modified date in manual

16 months agoAdded documentation for the [] macro.
Vladimir Sedach [Thu, 12 Jan 2012 23:18:05 +0000] 
Added documentation for the [] macro.

16 months agoUpdated dates in copying file
Vladimir Sedach [Sun, 8 Jan 2012 01:52:58 +0000] 
Updated dates in copying file

16 months agoAdded Scott Bell to contributors file
Vladimir Sedach [Sun, 8 Jan 2012 01:42:44 +0000] 
Added Scott Bell to contributors file

16 months agoMade hex escaping of char codes in strings always print alphabetic hex digits in...
Vladimir Sedach [Sun, 8 Jan 2012 01:37:30 +0000] 
Made hex escaping of char codes in strings always print alphabetic hex digits in upper case (fixes test failures on Allegro).

16 months agoDefine BIND macro for destructuring and property binding.
Scott Bell [Mon, 26 Dec 2011 18:45:11 +0000] 
Define BIND macro for destructuring and property binding.

Destructuring lists in the LOOP macro now use BIND rather than
DESTRUCTURING-BIND.

16 months agoFixed up bug where defuns were getting wrapped in lambdas because toplevel form check...
Vladimir Sedach [Sat, 24 Dec 2011 17:26:42 +0000] 
Fixed up bug where defuns were getting wrapped in lambdas because toplevel form checking weren't getting macroexpanded.

17 months agoFixed bug where expressionize-if macroexpansion attempts would throw errors.
Vladimir Sedach [Wed, 21 Dec 2011 19:41:51 +0000] 
Fixed bug where expressionize-if macroexpansion attempts would throw errors.

17 months agoFixed bug where top-level defuns and defvars inside toplevel lets were being wrapped...
Vladimir Sedach [Wed, 21 Dec 2011 18:48:15 +0000] 
Fixed bug where top-level defuns and defvars inside toplevel lets were being wrapped in lambdas and not defined at the toplevel.

17 months agoMade returns from CL loops (implicit nil blocks) work.
Vladimir Sedach [Mon, 19 Dec 2011 02:09:48 +0000] 
Made returns from CL loops (implicit nil blocks) work.

17 months agoMade output of variable declarations prettier in some cases.
Vladimir Sedach [Mon, 19 Dec 2011 01:00:33 +0000] 
Made output of variable declarations prettier in some cases.

17 months agoFixed the behavior of return in case clauses
Vladimir Sedach [Mon, 19 Dec 2011 00:48:35 +0000] 
Fixed the behavior of return in case clauses

17 months agoFixed compilation of return from blocks, (return (if ...))
Vladimir Sedach [Sun, 18 Dec 2011 22:57:27 +0000] 
Fixed compilation of return from blocks, (return (if ...))

17 months agoFixed up unit tests for changes in 205715d298cdb6920
Vladimir Sedach [Sat, 17 Dec 2011 20:20:28 +0000] 
Fixed up unit tests for changes in 205715d298cdb6920

17 months agoLabels/flet now lambda wrapped as well.
Vladimir Sedach [Sat, 17 Dec 2011 18:09:32 +0000] 
Labels/flet now lambda wrapped as well.

17 months agoWrap let in lambda when there is no outer lexical scope to introduce one, and avoid...
Vladimir Sedach [Fri, 16 Dec 2011 23:24:09 +0000] 
Wrap let in lambda when there is no outer lexical scope to introduce one, and avoid spurious global variables.

17 months agoMade sure returns from LABELS functions work properly.
Vladimir Sedach [Fri, 16 Dec 2011 21:05:46 +0000] 
Made sure returns from LABELS functions work properly.
Thanks to Daniel Gackle for the bug report.

17 months agoFix for closures using the same variable name.
Vladimir Sedach [Fri, 16 Dec 2011 20:50:22 +0000] 
Fix for closures using the same variable name.
Got rid of duplicate calls to the printer when compiling.
Thanks to Canhua and Scott Bell for the bug reports.

17 months agoRefactored let code
Vladimir Sedach [Fri, 16 Dec 2011 16:55:38 +0000] 
Refactored let code