diff --git a/README.md b/README.md index d41ac42..75a3560 100644 --- a/README.md +++ b/README.md @@ -55,11 +55,17 @@ Under the hood, this just passes `object` as the first argument to `method`, so you can do stuff like this (I won't kinkshame you, but your coworkers might): ```common-lisp [object slot-name (.setf value)] +;; => [(slot-value object 'slot-name) (.setf value)] +;; => (setf (slot-value object 'slot-name) value) ``` And, of course, you can chain multiple slot accesses and method calls together: ``` common-lisp [object child (.method-of-child) (.method-of-return-value) slot-of-return-value] +;; => [(slot-value object 'child) (.method-of-child) ...] +;; => [(method-of-child (slot-value object 'child)) (.method-of-return-value) ...] +;; => [(method-of-return-value (method-of-child ...)) slot-of-return-value] +;; => (slot-value (method-of-return-value ...) 'slot-of-return-value) ``` ## License