for-star-list-star.scrbl (1168B)
1 #lang scribble/manual 2 @require[@for-label[phc-toolkit/stx 3 racket/base]] 4 5 @title{for*/list*} 6 @author{@author+email["Suzanne Soy" "racket@suzanne.soy"]} 7 8 @defmodule[phc-toolkit/untyped/for-star-list-star] 9 10 @defform[(for*/list* [sequences …] . body) 11 #:grammar ([sequences 12 (* [id seq-expr] …) 13 ([id seq-expr] …)])]{ 14 This form allows iteration over sequences, collecting 15 nested lists as the final result. Each @racket[sequences] 16 group of @racket[[id seq-expr]] starts a new level of 17 nesting. When the @racket[*] is present at the beginning of 18 a group, its bindings are evaluated in sequence (like 19 @racket[let*] and @racket[for*/list]), otherwise they are 20 evaluated in parallel (like @racket[let] and 21 @racket[for/list]). 22 23 This form is equivalent to: 24 @racketblock[ 25 (for/list ([id seq-expr …]) 26 (for/list ([id seq-expr …]) 27 (for/list ([id seq-expr …]) 28 … 29 (for/list ([id seq-expr …]) 30 body))))] 31 except when a group of @racket[[id seq-expr]] starts with 32 a @racket[*], then @racket[for*/list] is used for that 33 group instead of @racket[for/list].}