`=̀13`(ndexfile(index-entry "cond" "tt" main )condclause1 clause2 … ) syntax
`=̀13`(ndexfile(index-entry "case" "tt" main )casekey clause1 clause2 … ) syntax
`=̀13`(ndexfile(index-entry "and" "tt" main )andtest1 … ) syntax
`=̀13`(ndexfile(index-entry "or" "tt" main )ortest1 … ) syntax
Identical to R4RS.
`=̀13`(ndexfile(index-entry "when" "tt" main )whentest expression1 expression2 … ) syntax
If the test expression yields a true value, the expressions are
evaluated from left to right and the value of the last expression is
returned.
`=̀13`(ndexfile(index-entry "unless" "tt" main )unlesstest expression1 expression2 … ) syntax
If the test expression yields a false value, the expressions are
evaluated from left to right and the value of the last expression is
returned.
`=̀13`(ndexfile(index-entry "let" "tt" main )letbindings body) syntax
`=̀13`(ndexfile(index-entry "let" "tt" main )letvariable bindings body) syntax
`=̀13`(ndexfile(index-entry "let*" "tt" main )let*bindings body) syntax
Identical to R4RS.
`=̀13`(ndexfile(index-entry "fluid-let" "tt" main )fluid-letbindings body) syntax
The bindings are evaluated in the current environment, in some
unspecified order, the current values of the variables present in
bindings are saved, and the new evaluated values are assigned to the
bindings variables. Once this is done, the expressions of body
are evaluated sequentially in the current environment; the value of the
last expression is the result of fluid-let. Upon exit, the stored
variables values are restored. An error is signalled if any of the
bindings variable is unbound.
unspecified
error
makeotherˆ`=̀13`
gobblecr(let* ((a 'out) (f (lambda () a))) (list a (fluid-let ((a 'in)) (f)) a)) (out in out)When the body of a ndexfile(index-entry "fluid-let" "tt" aux )fluid-let is exited by invoking a continuation, the new variable values are saved, and the variables are set to their old values. Then, if the body is reentered by invoking a continuation, the old values are saved and new values are restored. The following example illustrates this behaviour
gobblecr(let ((cont #f) (l '()) (a 'out))(set! l (cons a l)) (fluid-let ((a 'in)) (set! cont (call/cc (lambda (k) k))) (set! l (cons a l))) (set! l (cons a l))
(if cont (cont #f) l)) (out in out in out)
`=̀13`(ndexfile(index-entry "letrec" "tt" main )letrecbindings body) syntax
`=̀13`(ndexfile(index-entry "begin" "tt" main )beginexpression1 expression2 … ) syntax
`=̀13`(ndexfile(index-entry "do" "tt" main )doinits test body) syntax
`=̀13`(ndexfile(index-entry "delay" "tt" main )delayexpression) syntax
`=̀13`(ndexfile(index-entry "quasiquote" "tt" main )quasiquotetemplate) syntax
`=̀13`template syntax
Identical to R4RS.
`=̀13`(ndexfile(index-entry "dotimes" "tt" main )dotimes(var count) expression1 expression2 … ) syntax
`=̀13`(ndexfile(index-entry "dotimes" "tt" main )dotimes(var count result) expression1 expression2 … ) syntax
ndexfile(index-entry "Dotimes" "tt" aux )Dotimes evaluates the count form, which must return an integer. It then evaluates the expressions once for each integer from zero (inclusive) to count (exclusive), in order, with the variable var bound to the integer; if the value of count is zero or negative, then the expressions are not evaluated. When the loop completes, result is evaluated and its value is returned as the value of the ndexfile(index-entry "dotimes" "tt" aux )dotimes expression. If result is omitted, ndexfile(index-entry "dotimes" "tt" aux )dotimes returns #f.
unspecified
error
makeotherˆ`=̀13`
gobblecr(let ((l '())) (dotimes (i 4 l) (set! l (cons i l)))) (3 2 1 0)
`=̀13`(ndexfile(index-entry "while" "tt" main )whiletest expression1 expression2 … ) syntax
ndexfile(index-entry "While" "tt" aux )While evaluates the expressions until test
returns a false value. The value of a ndexfile(index-entry "while" "tt" aux )while construct is unspecified.
`=̀13`(ndexfile(index-entry "until" "tt" main )untiltest expression1 expression2 … ) syntax
ndexfile(index-entry "Until" "tt" aux )Until evaluates the expressions while test
returns a false value. The value of an ndexfile(index-entry "unless" "tt" aux )unless construct is unspecified.