Common lisp has this universal setter-macro, SETF, which can be used to set values to all sorts of places.
In this case you would use
(setf (vref chip x y) new-value)
to call the function (just like with AREF above). Using SETF has the advantage that you can define "modify macros" that read and write a place. For example,
In this case you would use
to call the function (just like with AREF above). Using SETF has the advantage that you can define "modify macros" that read and write a place. For example, would increment the place by DELTA. Or would swap two pixels.