clinton/parenscript.git
15 years agoChanged the implementation of quote from being special cased in several Parenscript...
Vladimir Sedach [Tue, 31 Mar 2009 00:42:31 +0000 (18:42 -0600)]
Changed the implementation of quote from being special cased in several Parenscript internal functions to a Parenscript macro. This makes the code simpler and allows for extensibility of how quoted forms are translated. One example is quoted strings being translated to JavaScript array literals.

15 years agoRenamed *html-empty-tag-aware-p* to *ps-html-empty-tag-aware-p* and *html-mode* to...
Vladimir Sedach [Thu, 12 Mar 2009 08:07:39 +0000 (02:07 -0600)]
Renamed *html-empty-tag-aware-p* to *ps-html-empty-tag-aware-p* and *html-mode* to *ps-html-mode* to not clash with CL-WHO symbols, but still follow the same naming convention.

15 years agoRemoved tutorial.lisp from repository (it is now updated and placed online in HTML...
Vladimir Sedach [Thu, 12 Mar 2009 08:04:06 +0000 (02:04 -0600)]
Removed tutorial.lisp from repository (it is now updated and placed online in HTML format: common-lisp.net/project/parenscript/tutorial.html)

15 years agoChanged ps-html generators to behave more like CL-WHO when it comes to XML/SGML,...
Vladimir Sedach [Fri, 6 Mar 2009 04:38:08 +0000 (21:38 -0700)]
Changed ps-html generators to behave more like CL-WHO when it comes to XML/SGML, self-closing/empty tags. Changed the name of *self-closing-tags-p* flag to *html-empty-tag-aware-p*, added *html-mode* parameter.

15 years agoRegenerated reference-tests.lisp from reference doc with latest changes.
Vladimir Sedach [Fri, 6 Mar 2009 04:37:00 +0000 (21:37 -0700)]
Regenerated reference-tests.lisp from reference doc with latest changes.

15 years agoRewrote some unit tests to simplify code.
Vladimir Sedach [Fri, 6 Mar 2009 03:09:54 +0000 (20:09 -0700)]
Rewrote some unit tests to simplify code.

15 years agoAdded ps-doc* function to PS compilation interface.
Vladimir Sedach [Fri, 6 Mar 2009 03:09:21 +0000 (20:09 -0700)]
Added ps-doc* function to PS compilation interface.

15 years agoAdded example of closure symbol-map usage for obfuscate-package in reference doc.
Vladimir Sedach [Fri, 6 Mar 2009 03:08:00 +0000 (20:08 -0700)]
Added example of closure symbol-map usage for obfuscate-package in reference doc.

15 years agoRemoved literal backspace character from the JS escape sequence part of the reference...
Vladimir Sedach [Fri, 6 Mar 2009 03:05:29 +0000 (20:05 -0700)]
Removed literal backspace character from the JS escape sequence part of the reference doc since it caused an error when generating PDFs.

15 years agoAdded note about printing special characters to escape sequences to the reference.
Vladimir Sedach [Sat, 28 Feb 2009 19:39:06 +0000 (12:39 -0700)]
Added note about printing special characters to escape sequences to the reference.

15 years agoAdded all symbols from DOM levels 1 and 2, Window working draft to the
Vladimir Sedach [Mon, 23 Feb 2009 09:34:35 +0000 (02:34 -0700)]
Added all symbols from DOM levels 1 and 2, Window working draft to the
DOM symbol export convenience packages (used with obfuscation). Moved
non-standard DOM symbols to their own package. Removed the Prototype
symbol export convenience package.

15 years agoFixed the 'pi' symbol-macro.
Vladimir Sedach [Fri, 20 Feb 2009 23:47:08 +0000 (16:47 -0700)]
Fixed the 'pi' symbol-macro.

15 years agoIntroduced the "funcall" macro (which really doesn't do anything - only CL needs...
Vladimir Sedach [Tue, 10 Feb 2009 00:01:55 +0000 (17:01 -0700)]
Introduced the "funcall" macro (which really doesn't do anything - only CL needs it because of the weird way it treats form evaluation).

15 years agoUpdated js-expander to work with the latest CVS version of SLIME.
Vladimir Sedach [Mon, 9 Feb 2009 23:44:41 +0000 (16:44 -0700)]
Updated js-expander to work with the latest CVS version of SLIME.

15 years agoAdded 'reduce' function to runtime lib.
Vladimir Sedach [Sun, 8 Feb 2009 08:13:11 +0000 (01:13 -0700)]
Added 'reduce' function to runtime lib.

15 years agoFixed a bug where variable initializations inside for loops were being compiled as...
Vladimir Sedach [Sun, 8 Feb 2009 07:24:17 +0000 (00:24 -0700)]
Fixed a bug where variable initializations inside for loops were being compiled as statements instead of expressions.

15 years agoImplemented 'flet' and 'labels' as PS macros.
Vladimir Sedach [Sat, 7 Feb 2009 05:02:19 +0000 (22:02 -0700)]
Implemented 'flet' and 'labels' as PS macros.

15 years agoMade who-ps-html handle multiple html forms correctly (ie - things like (:ul (:li...
Vladimir Sedach [Fri, 6 Feb 2009 02:02:03 +0000 (19:02 -0700)]
Made who-ps-html handle multiple html forms correctly (ie - things like (:ul (:li) (:li))).

15 years agoChanged let to not introduce any extra variables (for parallel
Vladimir Sedach [Tue, 3 Feb 2009 01:14:32 +0000 (18:14 -0700)]
Changed let to not introduce any extra variables (for parallel
binding) when only one variable is being bound.

15 years agoGot rid of the "(.method-name object args)" method-calling
Vladimir Sedach [Mon, 2 Feb 2009 21:14:21 +0000 (14:14 -0700)]
Got rid of the "(.method-name object args)" method-calling
convention. It breaks package prefixing/obfuscation, and while
sometimes a handy shortcut it obscures how method calls are really
done, and introduces a redundant way of doing them which complicates
code-walkers and (future) attempts at Parenscript compiler
open-implementation facilities.

15 years agoChanged the @ (slot-value composition macro) not to do the dollar sign
Vladimir Sedach [Mon, 2 Feb 2009 20:27:00 +0000 (13:27 -0700)]
Changed the @ (slot-value composition macro) not to do the dollar sign
thing if the first argument is a string ('$' is a Prototype library
function), and not to do spurious macroexpansion.

15 years agoDefined ps-inline as a PS macro in addition to a CL macro.
Vladimir Sedach [Mon, 2 Feb 2009 07:31:52 +0000 (00:31 -0700)]
Defined ps-inline as a PS macro in addition to a CL macro.

15 years agoFixed bug where expressions could not be applied correctly (ex - ((or a b) c) did...
Vladimir Sedach [Mon, 2 Feb 2009 06:15:41 +0000 (23:15 -0700)]
Fixed bug where expressions could not be applied correctly (ex - ((or a b) c) did not compile to "(a||b)(c)").

15 years agoModified the Parenscript macro facilities so that defpsmacro and
Vladimir Sedach [Sun, 1 Feb 2009 07:18:34 +0000 (00:18 -0700)]
Modified the Parenscript macro facilities so that defpsmacro and
define-ps-symbol-macro define their macros in their lexical
environment (previously they were always defining in the null lexical
environment).

This cleared up the implementation of the macro facilities, and now
defmacro and define-symbol-macro explicitly define macros in the null
lexical environment inside Parenscript code (the behavior is unchanged
and the only one that makes sense since Parenscript code is translated
and not evaluated, but previously this was not obvious from looking at
the implementation).

15 years agoAdded Daniel Gackle and William Halliburton to the list of contributors.
Vladimir Sedach [Wed, 28 Jan 2009 20:13:54 +0000 (13:13 -0700)]
Added Daniel Gackle and William Halliburton to the list of contributors.

15 years agoAdded symbol-to-js to the deprecated interface since it was used in several 3rd party...
Vladimir Sedach [Wed, 28 Jan 2009 20:07:09 +0000 (13:07 -0700)]
Added symbol-to-js to the deprecated interface since it was used in several 3rd party libraries (despite not being exported).

15 years agoMade the ps-html macros generate self-closing tags.
Vladimir Sedach [Thu, 22 Jan 2009 05:14:15 +0000 (22:14 -0700)]
Made the ps-html macros generate self-closing tags.

15 years agoMade the package symbol obfuscator be able to take closures, for more interesting...
Vladimir Sedach [Mon, 19 Jan 2009 19:48:39 +0000 (12:48 -0700)]
Made the package symbol obfuscator be able to take closures, for more interesting obfuscation possibilities (ex: using various Unicode characters).

15 years agoAdded convenience packages that export JS and browser DOM symbols, to be used to...
Vladimir Sedach [Mon, 19 Jan 2009 19:47:02 +0000 (12:47 -0700)]
Added convenience packages that export JS and browser DOM symbols, to be used to make package obfuscation work.

15 years agoChanged the capitalization of "ParenScript" to "Parenscript" in the reference.
Vladimir Sedach [Tue, 30 Dec 2008 21:13:50 +0000 (14:13 -0700)]
Changed the capitalization of "ParenScript" to "Parenscript" in the reference.

15 years agoModified the printer so that PS and PS-INLINE compile and print
Vladimir Sedach [Tue, 30 Dec 2008 21:11:47 +0000 (14:11 -0700)]
Modified the printer so that PS and PS-INLINE compile and print
Parenscript code at macro-expansion time. Renamed COMPILE-SCRIPT to
PS1* and got rid of its output-stream argument.

15 years agoAdded an implementation of 'elt' to ps-macro-lib.
Vladimir Sedach [Tue, 30 Dec 2008 21:10:47 +0000 (14:10 -0700)]
Added an implementation of 'elt' to ps-macro-lib.

15 years agoAdded a "runtime" directory for runtime libs and moved ps-runtime-lib there.
Vladimir Sedach [Tue, 30 Dec 2008 20:48:25 +0000 (13:48 -0700)]
Added a "runtime" directory for runtime libs and moved ps-runtime-lib there.

15 years agoFixed content handling in ps-who-html.
Vladimir Sedach [Sat, 13 Dec 2008 01:27:47 +0000 (18:27 -0700)]
Fixed content handling in ps-who-html.

15 years agoAdded Daniel Gackle <danielgackle@gmail.com>'s contributed [] (nested) array literal...
Vladimir Sedach [Mon, 8 Dec 2008 02:40:57 +0000 (19:40 -0700)]
Added Daniel Gackle <danielgackle@gmail.com>'s contributed [] (nested) array literal macro to the macro library.

15 years agoChanged extras/js-expander.el to work with the latest CVS snapshot of SLIME.
Vladimir Sedach [Sun, 7 Dec 2008 22:48:17 +0000 (15:48 -0700)]
Changed extras/js-expander.el to work with the latest CVS snapshot of SLIME.

15 years agoAdded William Halliburton <whalliburton@gmail.com>'s tracing macro to extras folder.
Vladimir Sedach [Sun, 7 Dec 2008 22:12:12 +0000 (15:12 -0700)]
Added William Halliburton <whalliburton@gmail.com>'s tracing macro to extras folder.

15 years agoMade operator precedence handling not throw away symbol package information.
Vladimir Sedach [Sun, 7 Dec 2008 20:50:36 +0000 (13:50 -0700)]
Made operator precedence handling not throw away symbol package information.

This fixed a bug where for example (ps (#:new)) => ";" instead of "new();".

15 years agoAdded a few more unit tests related to fixes in previous patches.
Vladimir Sedach [Sat, 6 Dec 2008 07:17:27 +0000 (00:17 -0700)]
Added a few more unit tests related to fixes in previous patches.

15 years agoFixed compilation of caller argument lists. Changed the handling of keyword symbols...
Vladimir Sedach [Sat, 6 Dec 2008 05:20:44 +0000 (22:20 -0700)]
Fixed compilation of caller argument lists. Changed the handling of keyword symbols in the process. Now they are no longer output as JavaScript variables, but as strings. The former behavior was a hack introduced to get around some (in hindsight) deficient macrology in an application that used Parenscript, while the latter behavior is more CL-like in that it compiles a self-evaluating object to a self-evaluating object. Thanks to Daniel Gackle for the suggestion on the treatment of keywords.

15 years agoGot rid of parenscript-symbol object; special forms and macros are now
Vladimir Sedach [Fri, 5 Dec 2008 21:23:04 +0000 (14:23 -0700)]
Got rid of parenscript-symbol object; special forms and macros are now
regular Common Lisp symbols so that the package system works as
expected.

15 years agoExported concat-string CL/PS utility function/macro.
Vladimir Sedach [Thu, 4 Dec 2008 06:35:10 +0000 (23:35 -0700)]
Exported concat-string CL/PS utility function/macro.

15 years agoFixed unterminating recursion in who-ps-html when element has attributes but no content.
Vladimir Sedach [Thu, 4 Dec 2008 06:34:26 +0000 (23:34 -0700)]
Fixed unterminating recursion in who-ps-html when element has attributes but no content.

15 years agoRenamed symbol-to-js to symbol-to-js-string and exported it.
Vladimir Sedach [Thu, 4 Dec 2008 05:50:17 +0000 (22:50 -0700)]
Renamed symbol-to-js to symbol-to-js-string and exported it.

15 years agoCorrected reference doc to explain 'var' special form as 'global variable' instead...
Vladimir Sedach [Thu, 4 Dec 2008 05:49:19 +0000 (22:49 -0700)]
Corrected reference doc to explain 'var' special form as 'global variable' instead of 'function variable.'

15 years agoImplemented who-ps-html, which is like the ps-html macro but taking CL-WHO like synta...
Vladimir Sedach [Wed, 26 Nov 2008 05:50:18 +0000 (22:50 -0700)]
Implemented who-ps-html, which is like the ps-html macro but taking CL-WHO like syntax. Changed the behavior of ps-html to preserve the case of tag and attribute symbols when printing.

15 years agoAdded a bunch of unit tests from recent bug reports.
Vladimir Sedach [Mon, 17 Nov 2008 20:54:50 +0000 (13:54 -0700)]
Added a bunch of unit tests from recent bug reports.

15 years agoOverhauled operator precedence handling.
Travis Cross [Sat, 15 Nov 2008 19:28:52 +0000 (19:28 +0000)]
Overhauled operator precedence handling.

In particular the changes here cleaned up unary operator handling,
which was badly broken.

15 years agoCorrected the defaultf psmacro for cases where the rhs value is false in JS.
Travis Cross [Sat, 15 Nov 2008 05:40:25 +0000 (05:40 +0000)]
Corrected the defaultf psmacro for cases where the rhs value is false in JS.

This affected &optional and &key default parameters in lambda lists.

Thanks to Daniel Gackle for the bug report.

15 years agoRevise slot-value fix to not print useless parens.
Travis Cross [Fri, 29 Aug 2008 00:47:51 +0000 (00:47 +0000)]
Revise slot-value fix to not print useless parens.

Now prints: "foo.bar.baz" rather than "(foo.bar).baz"

15 years agojs-slot-value printer now handles generic operators passed as the object.
Travis Cross [Fri, 22 Aug 2008 13:39:52 +0000 (13:39 +0000)]
js-slot-value printer now handles generic operators passed as the object.

(slot-value (or a b c) 'd) now works correctly.

15 years agoUpdated js-aref for expression-precedence fixes.
Travis Cross [Fri, 22 Aug 2008 13:31:56 +0000 (13:31 +0000)]
Updated js-aref for expression-precedence fixes.

15 years agoUpdated operator-precedence to handle more cases.
Travis Cross [Fri, 22 Aug 2008 13:30:06 +0000 (13:30 +0000)]
Updated operator-precedence to handle more cases.

It now correctly deals with aref, slot-value and unary operators.

15 years agoReordered expression-precedence clauses to match precedence.
Travis Cross [Fri, 22 Aug 2008 13:23:10 +0000 (13:23 +0000)]
Reordered expression-precedence clauses to match precedence.

15 years agoFixed AREF when an expression is passed as the array.
Travis Cross [Fri, 22 Aug 2008 07:07:07 +0000 (07:07 +0000)]
Fixed AREF when an expression is passed as the array.

(aref (or a b c) 0) now works.

Thanks to Daniel Gackle for the bug report.

15 years agoCompile anything that follows a unary JS operator as an expression.
Travis Cross [Fri, 22 Aug 2008 06:25:57 +0000 (06:25 +0000)]
Compile anything that follows a unary JS operator as an expression.

Thanks to: Daniel Gackle <danielgackle@gmail.com>

15 years agoImproved handling of quoted symbols in CASE.
Travis Cross [Fri, 22 Aug 2008 05:57:56 +0000 (05:57 +0000)]
Improved handling of quoted symbols in CASE.

(case val ('a (b)))      ; now produces an error, just like:
(case val (('a 'b) (c))) ; did before.

Thanks to: Daniel Gackle <danielgackle@gmail.com>

15 years agoCorrected the definition of ps:length.
Travis Cross [Sun, 17 Aug 2008 09:56:55 +0000 (09:56 +0000)]
Corrected the definition of ps:length.

Thanks to Daniel Gackle for pointing out the problem and the most
obvious solution.

15 years agoAdded a test for correct output of the JS:in operator.
Travis Cross [Mon, 12 May 2008 08:26:03 +0000 (08:26 +0000)]
Added a test for correct output of the JS:in operator.

15 years agoOutput JS operators in lowercase.
Travis Cross [Mon, 12 May 2008 08:25:26 +0000 (08:25 +0000)]
Output JS operators in lowercase.

16 years agoUpdated so as to ps-intern fewer extraneous symbols.
Travis Cross [Sat, 5 Apr 2008 09:16:56 +0000 (09:16 +0000)]
Updated so as to ps-intern fewer extraneous symbols.

16 years agoDeprecated define-script-symbol-macro since it was part of the public interface.
Travis Cross [Sat, 5 Apr 2008 08:59:22 +0000 (08:59 +0000)]
Deprecated define-script-symbol-macro since it was part of the public interface.

16 years agoUpdated the define-script-symbol-macro export to define-ps-symbol-macro.
Travis Cross [Sat, 5 Apr 2008 08:51:55 +0000 (08:51 +0000)]
Updated the define-script-symbol-macro export to define-ps-symbol-macro.

16 years agoReorganized the package exports.
Travis Cross [Sat, 5 Apr 2008 08:48:42 +0000 (08:48 +0000)]
Reorganized the package exports.

16 years agoCorrected parameter docstring.
Travis Cross [Sat, 5 Apr 2008 08:39:27 +0000 (08:39 +0000)]
Corrected parameter docstring.

16 years agoMoved the definition of ps-convert-op-name since we compile compile.lisp before print...
Travis Cross [Sat, 5 Apr 2008 08:16:59 +0000 (08:16 +0000)]
Moved the definition of ps-convert-op-name since we compile compile.lisp before printer.lisp.

16 years agoAdded some symbol mangling fixes.
Travis Cross [Sat, 5 Apr 2008 08:15:11 +0000 (08:15 +0000)]
Added some symbol mangling fixes.

16 years agoFixed one remaining define-script-symbol-macro.
Travis Cross [Sat, 5 Apr 2008 07:19:13 +0000 (07:19 +0000)]
Fixed one remaining define-script-symbol-macro.

16 years agoIntroduced ps-symbols and removed use of :parenscript-special-forms package.
Travis Cross [Sat, 5 Apr 2008 07:07:37 +0000 (07:07 +0000)]
Introduced ps-symbols and removed use of :parenscript-special-forms package.

The idea here is to stop abusing the CL package system while still
allowing the user control of the PS environment.

16 years agoWhitespace fix.
Travis Cross [Sat, 5 Apr 2008 06:38:39 +0000 (06:38 +0000)]
Whitespace fix.

16 years agoChanged script-* to ps-* across the board for consistency.
Travis Cross [Sat, 5 Apr 2008 06:36:29 +0000 (06:36 +0000)]
Changed script-* to ps-* across the board for consistency.

16 years agoQuoted parens in a docstring to make Emacs happy.
Travis Cross [Sat, 5 Apr 2008 05:43:00 +0000 (05:43 +0000)]
Quoted parens in a docstring to make Emacs happy.

16 years agoIntern all special form symbols in the :parenscript-special-forms package.
Travis Cross [Tue, 1 Apr 2008 15:30:22 +0000 (15:30 +0000)]
Intern all special form symbols in the :parenscript-special-forms package.

16 years agoExported PI.
Travis Cross [Tue, 1 Apr 2008 08:37:39 +0000 (08:37 +0000)]
Exported PI.

16 years agoExported hyperbolic trig symbols.
Travis Cross [Tue, 1 Apr 2008 08:36:41 +0000 (08:36 +0000)]
Exported hyperbolic trig symbols.

16 years agoRearranged math-related exports.
Travis Cross [Tue, 1 Apr 2008 08:35:57 +0000 (08:35 +0000)]
Rearranged math-related exports.

16 years agoAdded handling for PI.
Travis Cross [Tue, 1 Apr 2008 08:30:07 +0000 (08:30 +0000)]
Added handling for PI.

16 years agoRelocated the definitions for the 1+ and 1- psmacros with the other math functions.
Travis Cross [Tue, 1 Apr 2008 08:18:01 +0000 (08:18 +0000)]
Relocated the definitions for the 1+ and 1- psmacros with the other math functions.

16 years agoImplemented equivalents for the CL hyperbolic trigometric functions.
Travis Cross [Tue, 1 Apr 2008 08:13:07 +0000 (08:13 +0000)]
Implemented equivalents for the CL hyperbolic trigometric functions.

16 years agoAdded PS-ONCE-ONLY macro building helper.
Travis Cross [Tue, 1 Apr 2008 07:59:04 +0000 (07:59 +0000)]
Added PS-ONCE-ONLY macro building helper.

16 years agoRearranged math psmacros to match the order that the corresponding functions appear...
Travis Cross [Mon, 31 Mar 2008 23:03:58 +0000 (23:03 +0000)]
Rearranged math psmacros to match the order that the corresponding functions appear in the HyperSpec.

16 years agoAdded support for SQRT function.
Travis Cross [Mon, 31 Mar 2008 22:48:10 +0000 (22:48 +0000)]
Added support for SQRT function.

16 years agoAdded support for LOG function.
Travis Cross [Mon, 31 Mar 2008 22:46:13 +0000 (22:46 +0000)]
Added support for LOG function.

Thanks to: Daniel Gackle <danielgackle@gmail.com>

16 years agoUpdated atan to support two arguments as in CL.
Travis Cross [Mon, 31 Mar 2008 22:43:45 +0000 (22:43 +0000)]
Updated atan to support two arguments as in CL.

ATAN with two arguments translates into atan2 in JS.

16 years agoAdded a couple of test cases for object literals.
Travis Cross [Mon, 31 Mar 2008 22:08:55 +0000 (22:08 +0000)]
Added a couple of test cases for object literals.

16 years agoUpdated the blank-object-literal test for the now correct behavior.
Travis Cross [Mon, 31 Mar 2008 22:02:31 +0000 (22:02 +0000)]
Updated the blank-object-literal test for the now correct behavior.

16 years agoAdded {} to *ps-literals*.
Travis Cross [Mon, 31 Mar 2008 22:02:00 +0000 (22:02 +0000)]
Added {} to *ps-literals*.

Using {} as a literal to create an empty object literal was only
working by accident previously.  When not in the function position, {}
was being compiled as a JS variable rather than an object-literal,
which just happened to work sometimes.  In concert with correctly
checking symbols that aren't in the parenscript package, this should
provide for more reliable behavior.

16 years agoUpdated ps-literal-p to correctly identify literal symbols without regard to the...
Travis Cross [Mon, 31 Mar 2008 21:51:58 +0000 (21:51 +0000)]
Updated ps-literal-p to correctly identify literal symbols without regard to the symbol's package.

16 years agoSilence an unused variable warning.
Travis Cross [Mon, 31 Mar 2008 21:27:33 +0000 (21:27 +0000)]
Silence an unused variable warning.

16 years agoUpdated ps-special-form-p to correctly identify a special form even if the symbol...
Travis Cross [Mon, 31 Mar 2008 02:13:23 +0000 (02:13 +0000)]
Updated ps-special-form-p to correctly identify a special form even if the symbol identifying the special form is in the wrong package.

16 years agoCleaned up and standardized indentation of JS code in the reference documentation.
Travis Cross [Sun, 30 Mar 2008 23:39:49 +0000 (23:39 +0000)]
Cleaned up and standardized indentation of JS code in the reference documentation.

16 years agoAdded myself to the list of contributors.
Travis Cross [Sun, 30 Mar 2008 22:53:08 +0000 (22:53 +0000)]
Added myself to the list of contributors.

16 years agoAdded a mechanism for expanding parenscript forms in a clean environment.
Travis Cross [Sun, 30 Mar 2008 22:51:16 +0000 (22:51 +0000)]
Added a mechanism for expanding parenscript forms in a clean environment.

16 years agoRemoved deprecated exports that are no longer implemented.
Travis Cross [Sun, 30 Mar 2008 22:38:31 +0000 (22:38 +0000)]
Removed deprecated exports that are no longer implemented.

16 years agoCleaned up and rearranged the package exports a bit.
Travis Cross [Sun, 30 Mar 2008 22:35:50 +0000 (22:35 +0000)]
Cleaned up and rearranged the package exports a bit.

16 years agoUpdated the documentation and test cases.
Travis Cross [Sun, 30 Mar 2008 22:28:56 +0000 (22:28 +0000)]
Updated the documentation and test cases.

16 years agoSome minor comment and whitespace cleanup.
Travis Cross [Sun, 30 Mar 2008 20:11:34 +0000 (20:11 +0000)]
Some minor comment and whitespace cleanup.

16 years agoWhitespaceification: removed indentation tabs throughout project.
Travis Cross [Sun, 30 Mar 2008 19:57:12 +0000 (19:57 +0000)]
Whitespaceification: removed indentation tabs throughout project.

...and replaced each tab with 8 spaces.  Tab indentation had
previously been used inconsistently and was dominated by space-based
indentation.

In the future, disable indent-tabs-mode in emacs!

(setq indent-tabs-mode nil)

16 years agoImproved, extended, and refactored iteration special forms.
Travis Cross [Sun, 30 Mar 2008 19:35:12 +0000 (19:35 +0000)]
Improved, extended, and refactored iteration special forms.

 * Added support for DO*.

 * DO now does parallel assignment.

 * DO/DO* now correctly support init-forms such as:

     (do (a (b) (c 1) (d 1 (1+ d))) ...)

 * DO/DO*/DOTIMES/DOLIST/DOEACH now support return values via a lambda
   transform.

 * DOEACH now supports implicit key/value destructuring, e.g.:

     (doeach ((key val) arr res) ...)

 * Added labeled-for to facilitate creating labeled for loops.

 * Restructured low level printer operators to better match the
   underlying JS.

16 years agoUpdated let1-dynamic to clean up its temporary stack variable after use.
Travis Cross [Sun, 30 Mar 2008 02:33:34 +0000 (02:33 +0000)]
Updated let1-dynamic to clean up its temporary stack variable after use.