src/utilities.lisp: Spell `locative' in full for the class and predicate.
authorMark Wooding <mdw@distorted.org.uk>
Tue, 23 Jun 2020 09:20:57 +0000 (10:20 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Tue, 23 Jun 2020 09:20:57 +0000 (10:20 +0100)
It turns out not to be a frequently used type.

doc/SYMBOLS
doc/misc.tex
src/utilities.lisp

index dc1e784..7f8414e 100644 (file)
@@ -2558,9 +2558,9 @@ utilities.lisp
   lbuild-add                                    function
   lbuild-add-list                               function
   lbuild-list                                   function
-  loc                                           class
+  locative                                      class
+  locativep                                     function
   locf                                          macro
-  locp                                          function
   make-list-builder                             function
   mappend                                       function
   maybe-print-unreadable-object                 macro
@@ -2611,7 +2611,7 @@ cl:t
           sb-pcl::standard-specializer
             sb-mop:eql-specializer [sb-pcl::exact-class-specializer sb-pcl::specializer-with-object]
     cl:structure-object
-      loc
+      locative
 
 Methods:
 sod-parser:classify-condition
index b7ed6e5..023f4e3 100644 (file)
@@ -138,11 +138,11 @@ These locatives can't usefully be compared.  It should be possible to compare
 true locatives, such that two locatives compare equal if and only if they
 refer to the same place; but that doesn't work for these locatives.
 
-\begin{describe}{cls}{loc}
+\begin{describe}{cls}{locative}
   The type of locative objects.
 \end{describe}
 
-\begin{describe}{fun}{locp @<object> @> @<generalized-boolean>}
+\begin{describe}{fun}{locativep @<object> @> @<generalized-boolean>}
   Return non-nil if and only if @<object> is a locative.
 \end{describe}
 
index 25733e8..82a387b 100644 (file)
 ;;;--------------------------------------------------------------------------
 ;;; 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))
       (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)))