Next: , Previous: , Up: Primitive expression types   [Index]


4.1.5 Conditionals

syntax: if ⟨test⟩ ⟨consequent⟩ ⟨alternate⟩
syntax: if ⟨test⟩ ⟨consequent⟩

Syntax: ⟨Test⟩, ⟨consequent⟩, and ⟨alternate⟩ are expressions.

Semantics: An if expression is evaluated as follows: first, ⟨test⟩ is evaluated. If it yields a true value (See Booleans), then ⟨consequent⟩ is evaluated and its values are returned. Otherwise ⟨alternate⟩ is evaluated and its values are returned. If ⟨test⟩ yields a false value and no ⟨alternate⟩ is specified, then the result of the expression is unspecified.

(if (> 3 2) 'yes 'no) ⇒ yes
(if (> 2 3) 'yes 'no) ⇒ no
(if (> 3 2)
    (- 3 2)
    (+ 3 2))          ⇒ 1