Plaster
New
List
Login
common-lisp
default
anonymous
2023.10.01 17:40:40
(defpackage :service (:use :cl) (:export :set-name)) (defpackage :user (:use :cl :service)) (in-package :service) (defmacro set-name (symbol) `(setf (get 'service::,symbol :secret) 42)) (in-package :user) ; why 'GOO and not 'SERVICE::GOO ? ; (SETF (GET 'GOO :SECRET) 42) (format t "~w~%" (macroexpand-1 '(set-name goo))) (set-name goo) ; (:SECRET 42) (format t "GOO plist: ~w~%" (symbol-plist 'goo)) ; NIL (format t "SERVICE::GOO plist: ~w~%" (symbol-plist 'service::goo)) (setf (get 'service::goo :secret) 42) ; (:SECRET 42) (format t "SERVICE::GOO plist: ~w~%" (symbol-plist 'service::goo))
Raw
Annotate
Repaste
Edit