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)
.