[parenscript-devel] Re: Merging some improvements, additions, and cleanup
Vladimir Sedach
vsedach at gmail.com
Mon Mar 31 02:39:43 UTC 2008
Hi Travis,
That looks pretty awesome. I've asked the common-lisp.net admin to
give you an account and add you to the project. You'll need to send
your PGP public key to admin at common-lisp.net.
Out of curiosity, what kind of production system are you using Parenscript for?
Thank you,
Vladimir
On 3/30/08, Travis Cross <travis at travislists.com> wrote:
> Greetings,
>
> I've made a number of improvements to the ParenScript code base. What's
> the best way for us to merge these changes into the darcs repo on
> common-lisp.net?
>
> Most of the updates fall into five basic broad categories:
>
> * Rewriting PS special forms to better match their CL equivalents.
> For example, DO now does parallel assignment, supports a return value,
> and can properly initialize variables that don't increment.
>
> * Improving coverage of CL by adding such forms as SETQ and PSETF.
>
> * Improving access to JS capabilities, such as labeled for loops.
>
> * Documentation and test case updates.
>
> * Miscellaneous code cleanups, whitespaceification, and global
> standardizations.
>
> The changes are fully backward compatible, as long as you weren't
> relying on the 'broken' sequential assignment that DO and LET were
> doing. ;) DO* and LET* are now available for that purpose, of course.
>
> Looks like in total I added somewhere around 350 lines and removed 210
> lines from the code base, excluding documentation and test cases. To
> the documentation I added 368 lines and removed 227.
>
> The changes are reasonably tested and have been in use on my production
> systems for a couple of months. I've included the darcs changelog below
> my signature.
>
> Since I use ParenScript rather heavily, it's very likely that I'll be
> making more substantial changes on an ongoing basis. I'd be happy to
> help maintain the project. Let me know.
>
> Cheers,
>
> -- Travis
>
> P.S. My branch of parenscript can currently be found here:
>
> http://darcs.tcross.org/parenscript/
>
> $ darcs chan --reverse
>
> [snip...]
>
> Tue Feb 26 22:59:53 UTC 2008 Travis Cross <tc at tra...>
> * Corrected spelling error.
>
> Tue Feb 26 23:09:02 UTC 2008 Travis Cross <tc at tra...>
> * Whitespace standardization in src/package.lisp.
>
> Sun Mar 30 01:46:18 UTC 2008 Travis Cross <tc at tra...>
> * Added support for breaking and continuing to arbitrary labels.
>
> Sun Mar 30 02:05:25 UTC 2008 Travis Cross <tc at tra...>
> * Greatly simplified implementation of lexical-let*.
>
> Sun Mar 30 02:08:29 UTC 2008 Travis Cross <tc at tra...>
> * Added lexical-let.
>
> Sun Mar 30 02:14:00 UTC 2008 Travis Cross <tc at tra...>
> * Added simple-let* and aliased let* to it.
>
> Sun Mar 30 02:22:18 UTC 2008 Travis Cross <tc at tra...>
> * Added simple-let, which does parallel binding without a lambda.
>
> Sun Mar 30 02:23:16 UTC 2008 Travis Cross <tc at tra...>
> * Aliased let to simple-let.
>
> Sun Mar 30 02:25:53 UTC 2008 Travis Cross <tc at tra...>
> * Added psetf.
>
> Sun Mar 30 02:27:55 UTC 2008 Travis Cross <tc at tra...>
> * Added setq and psetq.
>
> Sun Mar 30 02:33:34 UTC 2008 Travis Cross <tc at tra...>
> * Updated let1-dynamic to clean up its temporary stack variable after
> use.
>
> Sun Mar 30 19:35:12 UTC 2008 Travis Cross <tc at tra...>
> * 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.
>
> Sun Mar 30 19:57:12 UTC 2008 Travis Cross <tc at tra...>
> * 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)
>
> Sun Mar 30 20:11:34 UTC 2008 Travis Cross <tc at tra...>
> * Some minor comment and whitespace cleanup.
>
> Sun Mar 30 22:28:56 UTC 2008 Travis Cross <tc at tra...>
> * Updated the documentation and test cases.
>
> Sun Mar 30 22:35:50 UTC 2008 Travis Cross <tc at tra...>
> * Cleaned up and rearranged the package exports a bit.
>
> Sun Mar 30 22:38:31 UTC 2008 Travis Cross <tc at tra...>
> * Removed deprecated exports that are no longer implemented.
>
> Sun Mar 30 22:51:16 UTC 2008 Travis Cross <tc at tra...>
> * Added a mechanism for expanding parenscript forms in a clean
> environment.
>
> Sun Mar 30 22:53:08 UTC 2008 Travis Cross <tc at tra...>
> * Added myself to the list of contributors.
>
> Sun Mar 30 23:39:49 UTC 2008 Travis Cross <tc at tra...>
> * Cleaned up and standardized indentation of JS code in the reference
> documentation.
>
>
More information about the parenscript-devel
mailing list