(= place value)
  place: a place
  value: any form
  returns #n

Performs assignment.

When = is invoked as a special form, place must be a symbol. = assigns a new value to the local or global variable currently bound to that symbol. If the symbol has neither a global nor a local binding, it's an error.

= is also bound to a macro which performs generalized assignment. When = is invoked as a macro, if place is a function call, its callee must be a symbol which is bound to a registered setter. The macro expands to a call to the corresponding setter function.

(= (global 'a) 100)

; ...expands to...

(global= 'a 100)

The = macro may be invoked with any number of arguments. (= a b, c d) is equivalent to (= a b) followed by (= c d).