[previous] [up] [next]


4.1.6 Assignments

Syntax:  (set! <variable> <expression>)

<Expression> is evaluated, and the resulting value is stored in the location to which <variable> is bound. <Variable> must be bound either in some region enclosing the set! expression or at top level. The result of the set! expression is unspecified.

  (define x 2)
  (+ x 1)                 =>  3
  (set! x 4)              =>  unspecified
  (+ x 1)                 =>  5