<HTML><BODY>Where can I find style guide for these<br><br>for/lists:<br><br>I have to duplicate values names:<br><br><p>(define-values ([(desc-args lengths add-data)<br>              (for/lists (desc-args lengths add-data) ([arg (in-list %args)])<br>                          ....)) </p>is it ok? Or better <br>(define-values ([(desc-args lengths add-data)<br>   (for/lists (a b c) (...) ...))<br><br>?<br><br>for/fold has no "return" clause. So I have to do<br>(call-with-values<br>  (for/fold (acc1 acc2 sum) (...) ...)<br>  (lambda (acc1 acc2 sum) (reverse acc1) (reverse acc2) sum))<br><br>And for/list doesn't allow to add several items to resulting list in one round.<br>Even with for/fold it gives<br><br>(reverse <br>  (for/fold (acc) ([item (in-list list)])<br>     (values (cons (get-val1 item)<br>                              (cons (get-val2 item) acc)))))<br><br>Awful, especially for reading.<br><br>It is clumsy and unobvious.<br>In Common Lisp iterate I could do<br>(iter (...)<br>   (collect (foo) into acc1)<br>   (collect (bar) into acc2)<br>   (summing ... into sum)<br>   (finally (return acc1 acc2 sum)))<br><br>http://common-lisp.net/project/iterate/doc/index.html<br><br>Is there something similar?<br><br>-- <br>Roman Klochkov</BODY></HTML>