(index ("do-for" 0) ("do-forever" 188) ("do-list" 392) ("do-times" 506) ("do-until" 621) ("do-while" 733))
(def (sig (syntax "(do-for var (start stop [step]) xpr . xprs)" (id do-for))) (p "where step is optional and defaults to 1. Executes xpr . xprs for var in [start stop[ with steps step."))
(def (sig (syntax "(do-forever xpr . xprs)" (id do-forever))) (p "executes xpr . xprs until exit is called.") (p "This macro is unhygienic by design. It exports the symbol exit into the macro's scope."))
(def (sig (syntax "(do-list var lst xpr . xprs)" (id do-list))) (p "executes xpr . xprs for var in a list lst."))
(def (sig (syntax "(do-times var upto xpr0 . xprs)" (id do-times))) (p "executes xpr . xprs for var in [0 upto["))
(def (sig (syntax "(do-until test? xpr . xprs)" (id do-until))) (p "executes xpr . xprs while test? is false"))
(def (sig (syntax "(do-while test? xpr . xprs)" (id do-while))) (p "executes xpr . xprs while test? is true"))
