How to modify place with arbitrary function
问题 Sometimes we need to modify a place but here is no built-in function that meets our needs. For instance, here are incf and decf for addition and subtraction: CL-USER> (defvar *x* 5) *X* CL-USER> (incf *x* 3) 8 CL-USER> *x* 8 CL-USER> (decf *x* 10) -2 CL-USER> *x* -2 But how about multiplication and division? What if we wish to modify a place with arbitrary function, like this: (xf (lambda (x) ...) *x*) xf utility would be very useful, especially when we have to deal with deeply nested