<div dir="ltr"><div>Dear Marc,</div><div><br></div><div>A |table-for-each| whose traversal continuation is wrapped in a closure would be much needed!</div><div><br></div><div>Actually, this could be delivered by a |table-for-each| that is wrapped completely into a closure i.e.</div><div><br></div><div>(table-enumerator table) => a procedure either returning a pair (key . value), or #f = reached table's end.</div><div><br></div><div>Preferably this should implemented as part of Gambit itself, as the hashtables functionality is Gambit-internal.</div><div><br></div><div><br></div><div>The reason for the need is that sometimes you need to be able to return at dynamic points within a table traversal in the same fashion as you can in an ordinary Scheme loop.</div><div><br></div><div>It's easy to traverse a list or a vector in this fashion using |car|/|cdr| and |vector-ref| , however for tables right now there's no way to do the same but all that is locked into |for-each|'s semanstics which is incredibly limited as long as you don't work around it using |call/cc| , which is really unnecessary - so, |table-enumerator| implementation time? :D</div><div><br></div><div>Reflections?</div><div><br></div><div>Thanks,</div><div>Mikael</div><div><br></div></div>