[iterate-devel] unfixed bugs

Hoehle, Joerg-Cyril Joerg-Cyril.Hoehle at t-systems.com
Tue May 15 11:50:21 UTC 2007


Hi,

Attila Lendvai wrote:
>fyi, there's a quite good walker in arnesi hiding platform dependency.
>the #L reader in arnesi is using it and macrolet works with it.
>unfortunately it should be factored out into a separate lib, just like
>the call/cc transformer using it. it's on my TODO, but long at the
>end.

Just for the record, any portable code walker is *not* a solution.  
IIRC, last time I looked, arnesi cannot handle UNWIND-PROTECT or EVAL-WHEN -- for obvious reasons.  Iterate has a code walker that is as good as a portable code walker can go (portable in the ANSI CL glossary meaning).
What's needed is some non-portable integration with the various implementations, so that the environment is handled correctly (*macroexpand-hook* is not enough). Such functionality could be factored out indeed, in a separate library. Maybe also PCL's code-walker has implementation-specific code?

>> BTW, there's that empty CVS directory in the iterate project 
>directory.  Shall I delete it or does it serve some purpose?
>i don't have it in my repo.
Oh, it's not in Darcs, it's in ~iterate/, not in the Darcs/ subdir.

BTW, unsatisfied with the limitations inherent in Iterate's current implementation, I've been looking at various list comprehension designs (Mario Latendresse, Sven-Olof Nyström, Olin Shivers, SRFI-42).  Iterate is still interesting and it's unclear to me whether the actual problem is either:
 - Iterate's design, which requires a code-walker to detect gatherers nested deep within the body
 - ANSI CL limitations, which make macros that depend on a code-walker a can of worms, making designs like Iterate hard if not unsuitable.

Note that LOOP, SRFI-42 and all the others do not depend on a code walker. They all supply their own grammar and thus know where clauses can appear (at top-level of the form).

BTW2, send me an e-mail if you want an enhanced version of Mario Latendresse's comprehension macro. (When I'll have more time, I'll post to cliki).

Regards,
	Jörg Höhle


More information about the iterate-devel mailing list