[iterate-devel] Version plan for Iterate 1.4 and 1.5

Hoehle, Joerg-Cyril Joerg-Cyril.Hoehle at t-systems.com
Thu Jun 2 14:03:28 UTC 2005


Hi,

here's how I see the next steps w.r.t. Iterate.

I've already sent a version of Iterate 1.4 to some of you (and it's on common-lisp.net thanks to Marco).

I want 1.4 to be the last really compatibly-conservative Iterate around, before I'll make some possibly incompatible changes in 1.5.


Plans for minor updates to 1.4:
+ some more bug fixes (e.g. did you know that in-stream did not work correctly with destructuring)?
  -- some already done (but not yet sent to you).

+ most important: additions to the documentation:
 - a glossary (what's the loop epilogue anyway?)
 - a reference of which clause is allowed at top-level only, as a generator etc.


Plans for 1.5:
+ Move more code from the initially / loop prologue section inside the let binding initialization, which might cause some user code to fail because of code movement
+ harmonize "clause identifiers" across defmacro-driver, remove-clause and display-iterate-clause
+ possible change to thereis (different interaction with other clauses like always etc.)

Somewhere in between:
+ other minor modifications (e.g. avoid duplication of code in some clauses)
+ deprecate add-loop-body-wrapper (a misnomer) and export
 add-iterate-wrapper or
 wrap-iterate-form or
 wrap-iterate-with
 wrap-iterate-using -- what do you suggest?
+ numerous other topics I have on my list


For a farther future: move to another design for iteration that does not need a code-walker and as such suffers from the problematic of pre-order code traversal, or consider using a portable code walker library or implementation-dependent code.

BTW, I just run Iterate through gclcvs (after delete-package "iterate" already present there) and it mostly worked, except for problems with macro-function, symbol-macrolet etc.

Regards,
	Jorg Hohle.



More information about the iterate-devel mailing list