X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/0a8f78ec333b8193d1155b5839aea67bb62cf480..2b437182532c2e9c672c383beac8de29344e4963:/src/utilities.lisp?ds=sidebyside diff --git a/src/utilities.lisp b/src/utilities.lisp index 25733e8..82a387b 100644 --- a/src/utilities.lisp +++ b/src/utilities.lisp @@ -210,8 +210,10 @@ ;;;-------------------------------------------------------------------------- ;;; Locatives. -(export '(loc locp)) -(defstruct (loc (:predicate locp) (:constructor make-loc (reader writer))) +(export '(locative locativep)) +(defstruct (locative (:predicate locativep) + (:constructor make-locative (reader writer)) + (:conc-name loc-)) "Locative data type. See `locf' and `ref'." (reader nil :type function) (writer nil :type function)) @@ -228,8 +230,8 @@ (valtmps valforms newtmps setform getform) (get-setf-expansion place env) `(let* (,@(mapcar #'list valtmps valforms)) - (make-loc (lambda () ,getform) - (lambda (,@newtmps) ,setform))))) + (make-locative (lambda () ,getform) + (lambda (,@newtmps) ,setform))))) (export 'ref) (declaim (inline ref (setf ref)))