► |  | How to Design Programs Languages

1 | Beginning Student
2 | Beginning Student with List Abbreviations
3 | Intermediate Student
4 | Intermediate Student with Lambda
5 | Advanced Student
| Index

▼ | 5 | Advanced Student

5.1 | define
5.2 | define-struct
5.3 | define-datatype
5.4 | lambda
5.5 | Function Calls
5.6 | begin
5.7 | begin0
5.8 | set!
5.9 | delay
5.10 | shared
5.11 | let
5.12 | recur
5.13 | case
5.14 | match
5.15 | when and unless
5.16 | Primitive Operations
5.17 | Unchanged Forms

On this page:

when
unless

top ← prev up next →

#### 5.15`` when and unless

( when expr expr)

The first expr (known as the “test” expression) is evaluated. If it evaluates to true, the result of the when expression is the result of evaluating the second expr, otherwise the result is ( void ) and the second expr is not evaluated. If the result of evaluating the test expr is neither true nor false, it is an error.

( unless expr expr)

Like when, but the second expr is evaluated when the first expr produces false instead of true.
top ← prev up next →