Setf

register-place

dynamic

Dynamic

                    (register-place name builder)
                

registers a place of name name using the expression builder builder.

Example:

(register-place 'nth (fn [args] `(Array.aset %@args)))

register-simple-place

dynamic

Dynamic

                    (register-simple-place name setter)
                

registers a place of name name that uses the setter setter.

Example:

(register-simple-place 'nth 'Array.aset)

register-struct-places

dynamic

Dynamic

                    (register-struct-places t)
                

registers all members of a struct-like type as places.

Example:

(register-struct-places 'Vector2)

(let-do [x (Vector2.init 1 2)]
  (setf (Vector2.x &x) 10)
  x) ; => (Vector2 10  2)

setf

macro

Macro

                    (setf place val)
                

sets the value under the place place to the value val.

Example:

(def x 1)
(setf x 10)
x ; => 10

(def x [1 2 3])
(setf (nth &x 1) 10)
x ; => [1 10 3]