Unified · Split
| @@ -348,8 +348,8 @@ $begin #fn("n103U00=360q@807021514220<0Te3A<7305151P:q:" #(arg-error "set!: odd · 347 unmodified lines | |||
| 348 | $set! cddr) 8)) 9) receive #fn("z22021q1e32221e10e173825153e3:" #(call-with-values | 348 | $set! cddr) 8)) 9) receive #fn("z22021q1e32221e10e173825153e3:" #(call-with-values |
| 349 | λ #fn(nconc) copy-list) 11) defc*r #fn("n120051218551r2~72238586>2247586515326024e22027872853292:87e6:" #(#fn(str) | 349 | λ #fn(nconc) copy-list) 11) defc*r #fn("n120051218551r2~72238586>2247586515326024e22027872853292:87e6:" #(#fn(str) |
| 350 | #fn(length) foldl #fn("n22021AF0~52C7022@40231e1P:" #(#\a #fn(str-rune) car cdr) 9) lst iota def | 350 | #fn(length) foldl #fn("n22021AF0~52C7022@40231e1P:" #(#\a #fn(str-rune) car cdr) 9) lst iota def |
| 351 | "Shorthand for " "." :doc-group list) 13) dotimes #fn("z10<0T20E872122e186e1e17315153e4:" #(for | 351 | "Shorthand for " "." :doc-group list) 13) dotimes #fn("z10<0KG2005188r3l23900r2G@30I7188r352360q@90722305242425E872627e186e1e17815153e489e3:" #(#fn(length) |
| 352 | #fn(nconc) λ copy-list) 14) unwind-protect #fn("n2202122q1e3e2e1232402225e121e12625e2e4e321e1e3e3:" #(let | 352 | <= compile-error "invalid var expression: " begin for #fn(nconc) λ copy-list) 17) unwind-protect #fn("n2202122q1e3e2e1232402225e121e12625e2e4e321e1e3e3:" #(let |
| 353 | #:thk_auto34# λ prog1 trycatch #:e_auto34# raise) 14) throw #fn("n220212223e201e4e2:" #(raise | 353 | #:thk_auto34# λ prog1 trycatch #:e_auto34# raise) 14) throw #fn("n220212223e201e4e2:" #(raise |
| 354 | list quote thrown-value) 9) doc-group #fn("n22021222324e22325e2230e2e41e3e2:" #(begin | 354 | list quote thrown-value) 9) doc-group #fn("n22021222324e22325e2230e2e41e3e2:" #(begin |
| 355 | sym-set-doc list | 355 | sym-set-doc list |
| @@ -2241,10 +2241,14 @@ · 2240 unmodified lines | |||
| 2241 | (λ ,formals ,@body))) | 2241 | (λ ,formals ,@body))) |
| 2242 | 2242 | ||
| 2243 | (defmacro (dotimes var . body) | 2243 | (defmacro (dotimes var . body) |
| 2244 | (let ((v (car var)) | 2244 | (let* {[v (car var)] |
| 2245 | (cnt (cadr var))) | 2245 | [cnt (aref var 1)] |
| 2246 | `(for 0 ,cnt | 2246 | [nv (length var)] |
| 2247 | (λ (,v) ,@body)))) | 2247 | [res (if (= nv 3) (aref var 2) #.(void))]} |
| 2248 | (unless (<= nv 3) | ||
| 2249 | (compile-error "invalid var expression: " var)) | ||
| 2250 | `(begin (for 0 ,cnt (λ (,v) ,@body)) | ||
| 2251 | ,res))) | ||
| 2248 | 2252 | ||
| 2249 | (defmacro (with-bindings binds . body) | 2253 | (defmacro (with-bindings binds . body) |
| 2250 | (let ((vars (map car binds)) | 2254 | (let ((vars (map car binds)) |