[iterate-devel] Jorg's iterate patches against 1.0.9
Hoehle, Joerg-Cyril
Joerg-Cyril.Hoehle at t-systems.com
Mon Nov 15 14:36:51 UTC 2004
Hi,
here's my current set of patches against iterate-1.0.9
One thing I want to mention here is to bump the version number. I believe J.Amsterdam last was 1.2, so the 200X version should start with 1.3. I did so in the source.
The diffs are in -u3 format, and if Andreas perfers small increments, I've included my RCS ,v file.
Andreas, are you going to put up a new release based on that? If you do so, I'll base my next patches upon it.
What I did not include so far is
o changed order of special-form/macro recognition. Are there any more arguments to debate?
o walk-locally (currently not quite correct)
o some restricted macrolet support
o some more manual clarifications
Here's a mini-Changelog
o package.lisp
+ use declaim
+ use (export list): (export +clause-names+ '#:iterate)
+ export defsynonym defmacro-driver
o iterate.lisp
+ (declaim (declaration declare-variables))
+ listp -> consp
+ (prog1 (car body) (pop body)) -> (pop body)
+ (code-char 0) is portable, #\nul or #\null is not
+ counting uses '(subst (var exp) #) instead of expr
+ bang-vars-1: tail-call optimized
o for in-package(s) evaluates package(s) argument
o for in-package(s) work as generators
+ use #:start/beginning to (hopefully) work with Allegro modern style
+ walk-flet: accepts declarations
+ remove walk-identity and use (x . nil) consistently in *special-form-alist*
o iter-man.tex
+ drop note about future with-hashtable/package-iterator
o iter-pg.lisp
+ multiple-value-prog1
+ avoid zerop length on lists
; ---------------- DONE
o minor CL optimizations: consp, pop, export, declaim
o for in-package(s) evaluates package(s) argument
o for in-package(s) works as generator
o for in-hashtable usable as generator
o for in-hashtable supports destructuring
o for in-packages was broken because of 'pkgs
symbol-types are not evaluated in with-package-iterator
and must not be empty => consp
o (for vars DO-NEXT) now binds vars
o use dsetq instead of destructuring-bind for consistency of templates
o a few more package exports
o added more testcases
o (dsetq (values x nil y)) works
Regards,
Jörg Höhle.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: diffs-109.tar.gz
Type: application/octet-stream
Size: 46992 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/iterate-devel/attachments/20041115/7a1eadd7/attachment.obj>
More information about the iterate-devel
mailing list