[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