(FILECREATED "30-Jun-86 13:54:12" ("compiled on " {ERIS}LIBRARY>CMLLIST.;22) "23-Jun-86 18:04:30" recompiled changes: CL:NTH NTHCDR %%TEST CL:SUBST %%SUBST SUBST-IF %%SUBST-IF SUBST-IF-NOT %%SUBST-IF-NOT NSUBST %%NSUBST NSUBST-IF %%NSUBST-IF NSUBST-IF-NOT %%NSUBST-IF-NOT CL:SUBLIS %%SUBLIS NSUBLIS %%NSUBLIS CL:MEMBER %%MEMBER ADJOIN CL:UNION NUNION CL:INTERSECTION NINTERSECTION SET-DIFFERENCE NSET-DIFFERENCE SET-EXCLUSIVE-OR NSET-EXCLUSIVE-OR SUBSETP PAIRLIS CL:ASSOC %%ASSOC ASSOC-IF ASSOC-IF-NOT RASSOC RASSOC-IF RASSOC-IF-NOT in "Xerox Lisp 23-Jun-86 ..." dated "23-Jun-86 18:17:41") (FILECREATED "30-Jun-86 13:52:10" {ERIS}LIBRARY>CMLLIST.;22 53680 changes to: (FNS CL:SUBST NSUBST CL:SUBLIS NSUBLIS CL:MEMBER ADJOIN CL:UNION NUNION CL:INTERSECTION NINTERSECTION SET-DIFFERENCE NSET-DIFFERENCE SET-EXCLUSIVE-OR NSET-EXCLUSIVE-OR SUBSETP CL:ASSOC RASSOC PAIRLIS %%TEST %%SUBST %%NSUBST %%SUBLIS %%NSUBLIS %%MEMBER %%ASSOC CL:NTH NTHCDR ASSOC-IF ASSOC-IF-NOT RASSOC-IF RASSOC-IF-NOT %%SUBST-IF %%SUBST-IF-NOT %%NSUBST-IF %%NSUBST-IF-NOT SUBST-IF SUBST-IF-NOT NSUBST-IF NSUBST-IF-NOT) (FUNCTIONS TEST-KEYS-SUPPLIED NSUBLIS-MACRO) (VARS CMLLISTCOMS) previous date: "24-Jun-86 23:33:56" {ERIS}CML>CMLLIST.;8) TREE-EQUAL D1 (L (0 -args-)) j ekaqlaºHl¼»LdKó²#¿g½Hl_¿¾OdNó²#¿h_²3IJO agð•LkØa°ÙLlÔ\°Éagð–OkØa°ÖOlÔ_°ÆIJM (147Q %%TREE-EQUAL-TEST 67Q %%TREE-EQUAL-TEST-NOT) (117Q :TEST-NOT 74Q :TEST 33Q EQL) () %%TREE-EQUAL-TEST D1 (L (2 TEST 1 Y 0 X)) '@dAlB‘i´þA´ú@AB ´ð@Ab¿b°Ý(30Q %%TREE-EQUAL-TEST) NIL () %%TREE-EQUAL-TEST-NOT D1 (L (2 TEST-NOT 1 Y 0 X)) '@dAlB¡i´þA´ú@AB ´ð@Ab¿b°Ý(30Q %%TREE-EQUAL-TEST-NOT) NIL () ENDP D1 (I 0 OBJECT) @µi‘ho@ (20Q ERROR) NIL ( 14Q "Arg not list") LIST-LENGTH D1 (L (0 LIST)) 1j@dId ‘H “HkÔIJð–Hdjó’hHlÔIJº¹¸°Ø(21Q ENDP 12Q ENDP) NIL () CL:NTH D1 (L (1 LIST 0 N)) @A (4 NTHCDR) NIL () %%SETNTH D1 (L (2 NEWVAL 1 LIST 0 N)) Bj@ó˜o@ @Hjð³HµAd ²¿o@ Œ ²ëABBb¿HkÕX°Ó(57Q \FZEROP 53Q CL:ERROR 40Q ENDP 13Q CL:ERROR) NIL ( 47Q "~S is too large an index for SETF of NTH." 7 "~S is an illegal N for SETF of NTH.") CL:FIRST D1 (L (0 LIST)) @NIL NIL () SECOND D1 (L (0 LIST)) @NIL NIL () THIRD D1 (L (0 LIST)) @NIL NIL () FOURTH D1 (L (0 LIST)) @NIL NIL () FIFTH D1 (L (0 LIST)) @NIL NIL () SIXTH D1 (L (0 LIST)) @NIL NIL () SEVENTH D1 (L (0 LIST)) @NIL NIL () EIGHTH D1 (L (0 LIST)) @NIL NIL () NINTH D1 (L (0 LIST)) @NIL NIL () TENTH D1 (L (0 LIST)) @NIL NIL () REST D1 (L (0 LIST)) @NIL NIL () NTHCDR D1 (L (1 LIST 0 N)) -@3 “j@ó˜o@ @j ‘AAd ‘hb¿@kÕb°è(35Q ENDP 25Q %%= 17Q CL:ERROR) NIL ( 13Q "N = ~S is illegal for NTHCDR.") MAKE-LIST D1 (L (0 -args-)) SekaQHl»ºKdJó²¿h¼jIó²oI agð•KkØa°çKlÔ[°ÙIh¾]jð©Md–d ‘NkÕLN°ê(107Q \FZEROP 43Q CL:ERROR) (50Q :INITIAL-ELEMENT) ( 37Q "~S is an illegal size for MAKE-LIST.") COPY-LIST D1 (L (0 L)) @d²hHY@bd¥’I@H&°ðNIL NIL () COPY-ALIST D1 (L (0 ALIST)) E@dª´*o@ ¢@†@@h!@HºYd¥’JIHJdId¡…I&¿°â(15Q CL:ERROR) NIL ( 11Q "~S is not a list.") COPY-TREE D1 (L (0 OBJECT)) @d™ @ (14Q COPY-TREE 7 COPY-TREE) NIL () REVAPPEND D1 (L (1 Y 0 X)) @AHd ‘IHI¹X°ò(11Q ENDP) NIL () NRECONC D1 (L (1 Y 0 X)) @ A (7 \NCONC2 3 NREVERSE) NIL () BUTLAST D1 (L (0 -args-)) LekaalHñ‘k‚laºjJó‘jºI kÕ»JKó‘hI¼Ih]¾K_J ‘MNdL&¿¾L¼OkÕ°è(66Q %%= 35Q LENGTH) NIL () NBUTLAST D1 (L (0 -args-)) Eeka!lHñ‘k‚laºjJó‘jºI kÕ»JKó‘hIIKNJ ”MhILLNkÕ¾½¼°ì(62Q %%= 35Q LENGTH) NIL () CL:LDIFF D1 (L (1 SUBLIST 0 LIST)) @!hhYºH“HAð’IJdH&¿ºHX°íNIL NIL () %%TEST D1 (L (4 KEY 3 TEST-NOT 2 TEST 1 KEYITEM 0 ITEM)) B™@AkDlBC›@AkDlChð(34Q SHOULDNT) NIL () CL:SUBST D1 (L (0 -args-)) » eka± laºla»Hl½¼MdLó²A¿h¾Hl_¿_¿OdOó²@¿h_¿Hl_¿_¿OdOó²@¿h_¿N²PO²Jo °Jagð•MkØa°¹MlÔ]°«agð–OkØa°¹OlÔ_°¨agð–OkØa°¹OlÔ_°¨N§O¤g^¿O¥g_¿IJKNOO (270Q %%SUBST 130Q CL:ERROR) (251Q IDENTITY 241Q EQL 207Q :KEY 161Q :TEST-NOT 136Q :TEST) ( 125Q "Both TEST and TEST-NOT supplied.") %%SUBST D1 (L (5 KEY 4 TEST-NOT 3 TEST 2 TREE 1 OLD 0 NEW)) =ABCDE ‘@B¡B@ABCDE @ABCDE HdBð˜¿IBð‘BHI(46Q %%SUBST 33Q %%SUBST 10Q %%TEST) NIL () SUBST-IF D1 (L (0 -args-)) <ekaQlaºla»Hl½¼MdLóœ¿g¾IJKN agð•MkØa°íMlÔ]°Þ(46Q %%SUBST-IF) (53Q :KEY 36Q IDENTITY) () %%SUBST-IF D1 (L (3 KEY 2 TREE 1 TEST 0 NEW)) 5BdkCkA‘@¡B@ABC @ABC HdBð˜¿IBð‘BHI(36Q %%SUBST-IF 26Q %%SUBST-IF) NIL () SUBST-IF-NOT D1 (L (0 -args-)) <ekaQlaºla»Hl½¼MdLóœ¿g¾IJKN agð•MkØa°íMlÔ]°Þ(46Q %%SUBST-IF-NOT) (53Q :KEY 36Q IDENTITY) () %%SUBST-IF-NOT D1 (L (3 KEY 2 TREE 1 TEST 0 NEW)) 5BdkCkA¡@¡B@ABC @ABC HdBð˜¿IBð‘BHI(36Q %%SUBST-IF-NOT 26Q %%SUBST-IF-NOT) NIL () NSUBST D1 (L (0 -args-)) » eka± laºla»Hl½¼MdLó²A¿h¾Hl_¿_¿OdOó²@¿h_¿Hl_¿_¿OdOó²@¿h_¿N²PO²Jo °Jagð•MkØa°¹MlÔ]°«agð–OkØa°¹OlÔ_°¨agð–OkØa°¹OlÔ_°¨N§O¤g^¿O¥g_¿IJKNOO (270Q %%NSUBST 130Q CL:ERROR) (251Q IDENTITY 241Q EQL 207Q :KEY 161Q :TEST-NOT 136Q :TEST) ( 125Q "Both TEST and TEST-NOT supplied.") %%NSUBST D1 (L (5 KEY 4 TEST-NOT 3 TEST 2 TREE 1 OLD 0 NEW)) 90ABCDE ‘@BX¡BAHCDE —Hº@¹JIŠ@AHCDE ¿H°Ú(62Q %%NSUBST 36Q %%TEST 13Q %%TEST) NIL () NSUBST-IF D1 (L (0 -args-)) <ekaQlaºla»Hl½¼MdLóœ¿g¾IJKN agð•MkØa°íMlÔ]°Þ(46Q %%NSUBST-IF) (53Q :KEY 36Q IDENTITY) () %%NSUBST-IF D1 (L (3 KEY 2 TREE 1 TEST 0 NEW)) QBdkCkA‘@¡B€B]d³kCkA²Hº@¹JI¿�kCkA˜H¼@»LKBM_¿@AMC ¾ON¿MX°Å(104Q %%NSUBST-IF) NIL () NSUBST-IF-NOT D1 (L (0 -args-)) <ekaQlaºla»Hl½¼MdLóœ¿g¾IJKN agð•MkØa°íMlÔ]°Þ(46Q %%NSUBST-IF-NOT) (53Q :KEY 36Q IDENTITY) () %%NSUBST-IF-NOT D1 (L (3 KEY 2 TREE 1 TEST 0 NEW)) QBdkCkA¡@¡B€B]d³kCkA³Hº@¹JI¿�kCkA¨H¼@»LKBM_¿@AMC ¾ON¿MX°Å(104Q %%NSUBST-IF-NOT) NIL () CL:SUBLIS D1 (L (0 -args-)) ³ eka¡ laºHl¼»LdKó²>¿h½Hl_¿¾OdNó²@¿h_¿Hl_¿_¿OdOó²@¿h_¿M²PO²Jo °Jagð•LkØa°¼LlÔ\°®agð–OkØa°¹OlÔ_°©agð–OkØa°¹OlÔ_°¨M§O¤g]¿O¥g_¿IJMOO (260Q %%SUBLIS 121Q CL:ERROR) (242Q IDENTITY 232Q EQL 200Q :KEY 152Q :TEST-NOT 127Q :TEST) ( 116Q "Both TEST and TEST-NOT supplied.") %%SUBLIS D1 (L (4 KEY 3 TEST-NOT 2 TEST 1 TREE 0 ALIST)) <A@BCD µA£A@ABCD @ABCD HdAð˜¿IAð‘AHI(45Q %%SUBLIS 33Q %%SUBLIS 10Q %%ASSOC) NIL () NSUBLIS D1 (L (0 -args-)) ³ eka¡ laºHl¼»LdKó²?¿h½Hl_¿¾OdNó²A¿h_¿Hl_¿_¿OdOó²A¿h_¿O²QO²Jo °Lagð•LkØa°»LlÔ\°­agð–OkØa°¸OlÔ_°¨agð–OkØa°¸OlÔ_°§O¨O¥g_¿M£g½IJOOM (260Q %%NSUBLIS 122Q CL:ERROR) (244Q IDENTITY 234Q EQL 201Q :TEST-NOT 153Q :TEST 130Q :KEY) ( 117Q "Both TEST and TEST-NOT supplied.") %%NSUBLIS D1 (L (4 KEY 3 TEST-NOT 2 TEST 1 TREE 0 ALIST)) d �A@BCD µA£Ah¾A]d³@BCD X²NºH¹JI¿°@BCD X™N¼H»LKAM_¿@MBCD _¿OO¿M^°·(124Q %%NSUBLIS 72Q %%ASSOC 44Q %%ASSOC 13Q %%ASSOC) NIL () CL:MEMBER D1 (L (0 -args-)) à eka± laºHl¼»LdKó²>¿h½Hl_¿¾OdNó²@¿h_¿Hl_¿_¿OdOó²@¿h_¿M²PO²Jo °Jagð•LkØa°¼LlÔ\°®agð–OkØa°¹OlÔ_°©agð–OkØa°¹OlÔ_°¨M§O¤g]¿O¥g_¿J_´IOMOO ’OO°ç(270Q %%TEST 121Q CL:ERROR) (242Q IDENTITY 232Q EQL 200Q :KEY 152Q :TEST-NOT 127Q :TEST) ( 116Q "Both TEST and TEST-NOT supplied.") %%MEMBER D1 (L (4 KEY 3 TEST-NOT 2 TEST 1 LIST 0 ITEM)) AHY´@IBCD ‘II°í(22Q %%TEST) NIL () MEMBER-IF D1 (L (0 -args-)) YekaQlaºHl¼»LdKó�¿g½Jd²$²°agð•LkØa°ìLlÔ\°ÝoJ ¿J^d ‘hkMkI‘NN°ì(106Q ENDP 77Q CL:ERROR) (50Q :KEY 32Q IDENTITY) ( 73Q "~S is not a list.") MEMBER-IF-NOT D1 (L (0 -args-)) YekaQlaºHl¼»LdKó�¿g½Jd²$²°agð•LkØa°ìLlÔ\°ÝoJ ¿J^d ‘hkMkI¡NN°ì(106Q ENDP 77Q CL:ERROR) (50Q :KEY 32Q IDENTITY) ( 73Q "~S is not a list.") ADJOIN D1 (L (0 -args-)) ¹ eka¡ laºHl¼»LdKó²>¿h½Hl_¿¾OdNó²@¿h_¿Hl_¿_¿OdOó²@¿h_¿M²PO²Jo °Jagð•LkØa°¼LlÔ\°®agð–OkØa°¹OlÔ_°©agð–OkØa°¹OlÔ_°¨M§O¤g]¿O¥g_¿IdJMOO ‘JJ(261Q %%MEMBER 121Q CL:ERROR) (242Q IDENTITY 232Q EQL 200Q :KEY 152Q :TEST-NOT 127Q :TEST) ( 116Q "Both TEST and TEST-NOT supplied.") CL:UNION D1 (L (0 -args-)) ÎekaÑlaºHl¼»LdKó²>¿h½Hl_¿¾OdNó²@¿h_¿Hl_¿_¿OdOó²@¿h_¿M²PO²Jo °Jagð•LkØa°¼LlÔ\°®agð–OkØa°¹OlÔ_°©agð–OkØa°¹OlÔ_°¨M§O¤g]¿O¥g_¿I_¿J_µO_IMOO §OO_¿O°à(276Q %%MEMBER 121Q CL:ERROR) (242Q IDENTITY 232Q EQL 200Q :KEY 152Q :TEST-NOT 127Q :TEST) ( 116Q "Both TEST and TEST-NOT supplied.") NUNION D1 (L (0 -args-)) ßekaálaºHl¼»LdKó²>¿h½Hl_¿¾OdNó²@¿h_¿Hl_¿_¿OdOó²@¿h_¿M²PO²Jo °Jagð•LkØa°¼LlÔ\°®agð–OkØa°¹OlÔ_°©agð–OkØa°¹OlÔ_°¨M§O¤g]¿O¥g_¿I_¿Jd ’OIMOO ³J_ºO_¿O_¿OO¿O°ÐJZ°Ï(275Q %%MEMBER 256Q ENDP 121Q CL:ERROR) (242Q IDENTITY 232Q EQL 200Q :KEY 152Q :TEST-NOT 127Q :TEST) ( 116Q "Both TEST and TEST-NOT supplied.") CL:INTERSECTION D1 (L (0 -args-)) ÎekaÑlaºHl¼»LdKó²>¿h½Hl_¿¾OdNó²@¿h_¿Hl_¿_¿OdOó²@¿h_¿M²PO²Jo °Jagð•LkØa°¼LlÔ\°®agð–OkØa°¹OlÔ_°©agð–OkØa°¹OlÔ_°¨M§O¤g]¿O¥g_¿h_¿I_µO_JMOO —OO_¿O°à(276Q %%MEMBER 121Q CL:ERROR) (242Q IDENTITY 232Q EQL 200Q :KEY 152Q :TEST-NOT 127Q :TEST) ( 116Q "Both TEST and TEST-NOT supplied.") NINTERSECTION D1 (L (0 -args-)) ßekaálaºHl¼»LdKó²>¿h½Hl_¿¾OdNó²@¿h_¿Hl_¿_¿OdOó²@¿h_¿M²PO²Jo °Jagð•LkØa°¼LlÔ\°®agð–OkØa°¹OlÔ_°©agð–OkØa°¹OlÔ_°¨M§O¤g]¿O¥g_¿h_¿Id ’OJMOO ²I_¹O_¿O_¿OO¿O°ÐIY°Ï(275Q %%MEMBER 256Q ENDP 121Q CL:ERROR) (242Q IDENTITY 232Q EQL 200Q :KEY 152Q :TEST-NOT 127Q :TEST) ( 116Q "Both TEST and TEST-NOT supplied.") SET-DIFFERENCE D1 (L (0 -args-)) ÎekaÑlaºHl¼»LdKó²>¿h½Hl_¿¾OdNó²@¿h_¿Hl_¿_¿OdOó²@¿h_¿M²PO²Jo °Jagð•LkØa°¼LlÔ\°®agð–OkØa°¹OlÔ_°©agð–OkØa°¹OlÔ_°¨M§O¤g]¿O¥g_¿h_¿I_µO_JMOO §OO_¿O°à(276Q %%MEMBER 121Q CL:ERROR) (242Q IDENTITY 232Q EQL 200Q :KEY 152Q :TEST-NOT 127Q :TEST) ( 116Q "Both TEST and TEST-NOT supplied.") NSET-DIFFERENCE D1 (L (0 -args-)) ßekaálaºHl¼»LdKó²>¿h½Hl_¿¾OdNó²@¿h_¿Hl_¿_¿OdOó²@¿h_¿M²PO²Jo °Jagð•LkØa°¼LlÔ\°®agð–OkØa°¹OlÔ_°©agð–OkØa°¹OlÔ_°¨M§O¤g]¿O¥g_¿h_¿Id ’OJMOO ³I_¹O_¿O_¿OO¿O°ÐIY°Ï(275Q %%MEMBER 256Q ENDP 121Q CL:ERROR) (242Q IDENTITY 232Q EQL 200Q :KEY 152Q :TEST-NOT 127Q :TEST) ( 116Q "Both TEST and TEST-NOT supplied.") SET-EXCLUSIVE-OR D1 (L (0 -args-)) îekañlaºHl¼»LdKó²>¿h½Hl_¿¾OdNó²@¿h_¿Hl_¿_¿OdOó²@¿h_¿M²PO²Jo °Jagð•LkØa°¼LlÔ\°®agð–OkØa°¹OlÔ_°©agð–OkØa°¹OlÔ_°¨M§O¤g]¿O¥g_¿h_¿I_µ J_µ O_JMOO §OO_¿O°Û_ IMOO §O O_¿O°Å(336Q %%MEMBER 303Q %%MEMBER 121Q CL:ERROR) (242Q IDENTITY 232Q EQL 200Q :KEY 152Q :TEST-NOT 127Q :TEST) ( 116Q "Both TEST and TEST-NOT supplied.") NSET-EXCLUSIVE-OR D1 (L (0 -args-)) $ekaálaºHl¼»LdKó²>¿h½Hl_¿¾OdNó²@¿h_¿Hl_¿_¿OdOó²@¿h_¿M²PO²Jo °Jagð•LkØa°¼LlÔ\°®agð–OkØa°¹OlÔ_°©agð–OkØa°¹OlÔ_°¨M§O¤g]¿O¥g_¿Ih_¿_ ™OµJJIJh_¿_ •O_°LO²OkOOkOlOhð°OkOOkOlM²#OµOYƒO¿OµOZƒO¿O°‘O_°Ÿ(304Q ENDP 257Q ENDP 121Q CL:ERROR) (242Q IDENTITY 232Q EQL 200Q :KEY 152Q :TEST-NOT 127Q :TEST) ( 116Q "Both TEST and TEST-NOT supplied.") SUBSETP D1 (L (0 -args-))  eka± laºHl¼»LdKó²>¿h½Hl_¿¾OdNó²@¿h_¿Hl_¿_¿OdOó²@¿h_¿M²PO²Jo °Jagð•LkØa°¼LlÔ\°®agð–OkØa°¹OlÔ_°©agð–OkØa°¹OlÔ_°¨M§O¤g]¿O¥g_¿I_µiJMOO ¡hO°è(270Q %%MEMBER 121Q CL:ERROR) (242Q IDENTITY 232Q EQL 200Q :KEY 152Q :TEST-NOT 127Q :TEST) ( 116Q "Both TEST and TEST-NOT supplied.") ACONS D1 (L (2 ALIST 1 DATUM 0 KEY)) @ABNIL NIL () PAIRLIS D1 (L (2 ALIST 1 DATA 0 KEYS)) p€@¸A¹Hd ˜¿I ‘BH ³MI ³GHIh[ºH¸I¹Hd Ÿ¿I ˜J½B¼MLKH ³I ³J_¿HIh¾ON¿J°Åo h(154Q CL:ERROR 116Q ENDP 110Q ENDP 72Q ENDP 64Q ENDP 36Q ENDP 30Q ENDP 21Q ENDP 13Q ENDP) NIL ( 151Q "PAIRLIS keys and data have different length.") CL:ASSOC D1 (L (0 -args-)) ³ eka¡ laºHl¼»LdKó²>¿h½Hl_¿¾OdNó²@¿h_¿Hl_¿_¿OdOó²@¿h_¿M²PO²Jo °Jagð•LkØa°¼LlÔ\°®agð–OkØa°¹OlÔ_°©agð–OkØa°¹OlÔ_°¨M§O¤g]¿O¥g_¿IJMOO (260Q %%ASSOC 121Q CL:ERROR) (242Q IDENTITY 232Q EQL 200Q :KEY 152Q :TEST-NOT 127Q :TEST) ( 116Q "Both TEST and TEST-NOT supplied.") %%ASSOC D1 (L (4 KEY 3 TEST-NOT 2 TEST 1 ALIST 0 ITEM)) #AHd ‘hž@HBCD ’HHX°å(30Q %%TEST 10Q ENDP) NIL () ASSOC-IF D1 (L (1 ALIST 0 PREDICATE)) AHd ‘h›Hdk@”¿HHX°è(10Q ENDP) NIL () ASSOC-IF-NOT D1 (L (1 ALIST 0 PREDICATE)) AHd ‘h›Hdk@¤¿HHX°è(10Q ENDP) NIL () RASSOC D1 (L (0 -args-)) Ì eka± laºHl¼»LdKó²>¿h½Hl_¿¾OdNó²@¿h_¿Hl_¿_¿OdOó²@¿h_¿M²PO²Jo °Jagð•LkØa°¼LlÔ\°®agð–OkØa°¹OlÔ_°©agð–OkØa°¹OlÔ_°¨M§O¤g]¿O¥g_¿J_d ‘h²IOMOO “OO°Þ(300Q %%TEST 254Q ENDP 121Q CL:ERROR) (242Q IDENTITY 232Q EQL 200Q :KEY 152Q :TEST-NOT 127Q :TEST) ( 116Q "Both TEST and TEST-NOT supplied.") RASSOC-IF D1 (L (1 ALIST 0 PREDICATE)) AHd ‘h›Hdk@”¿HHX°è(10Q ENDP) NIL () RASSOC-IF-NOT D1 (L (1 ALIST 0 PREDICATE)) AHd ‘h›Hdk@¤¿HHX°è(10Q ENDP) NIL () CL:MAPCAR D1 (L (0 -args-)) F eka!laºHl2MdLóŸ¿N»IJKgi a_¿OµOh_¾MkÔ]°ÙO&_¿°ô(46Q %%MAP) (42Q :LIST) () CL:MAPLIST D1 (L (0 -args-)) F eka!laºHl2MdLóŸ¿N»IJKgh a_¿OµOh_¾MkÔ]°ÙO&_¿°ô(46Q %%MAP) (42Q :LIST) () CL:MAPC D1 (L (0 -args-)) D eka!laºHl2MdLó�¿N»IJKhi a_¿OµOh_¾MkÔ]°ÛO&_¿°ô(44Q %%MAP) NIL () MAPL D1 (L (0 -args-)) D eka!laºHl2MdLó�¿N»IJKhd a_¿OµOh_¾MkÔ]°ÛO&_¿°ô(44Q %%MAP) NIL () MAPCAN D1 (L (0 -args-)) F eka!laºHl2MdLóŸ¿N»IJKgi a_¿OµOh_¾MkÔ]°ÙO&_¿°ô(46Q %%MAP) (42Q :NCONC) () CL:MAPCON D1 (L (0 -args-)) F eka!laºHl2MdLóŸ¿N»IJKgh a_¿OµOh_¾MkÔ]°ÙO&_¿°ô(46Q %%MAP) (42Q :NCONC) () %%MAP D1 (L (3 TAKE-CAR 2 ACCUMULATE 1 ORIGINAL-ARGLISTS 0 FUNCTION)) lA qhhYºHd”d§¿išB•I°òAH_²C“O�OL¼O^½NM¿O°ã@L »Bdgð™¿JK ‹gð´ JK&¿Jºh¼°£(130Q LAST 125Q \NCONC2 107Q APPLY 104Q NREVERSE 3 COPY-LIST) (134Q :LIST 115Q :NCONC) () DELQ D1 (L (0 -args-)) SekaQlaºlHñ‘j„i»la¼Jh¾] ³$K™Ljð³LµIMð²LkÕ¼Nµ MZŒ ²ìJM�M^¿M°Í(102Q \FZEROP 40Q ENDP) NIL () (PRETTYCOMPRINT CMLLISTCOMS) (RPAQQ CMLLISTCOMS ((* * CMLLIST. Common Lisp Lists Covers all of chapter 15 -- By Kelly Roach, Larry Masinter, and Ron Fischer. *) (COMS (* Section 15.1 Conses. *) (* CAR, CDR, ..., CDDDDR (all functions on pages 262-263) are OK. *) (* CONS is OK. *) (FNS TREE-EQUAL %%TREE-EQUAL-TEST %%TREE-EQUAL-TEST-NOT)) (COMS (* Section 15.2 Lists. *) (FNS ENDP LIST-LENGTH) (COMS (FNS CL:NTH %%SETNTH) (PROP SETFN CL:NTH) (P (* MOVD in case of old references. *) (MOVD (QUOTE %%SETNTH) (QUOTE \SETNTH)))) (COMS (FNS CL:FIRST SECOND THIRD FOURTH FIFTH SIXTH SEVENTH EIGHTH NINTH TENTH REST) (* Macros to make SETF work and code optimize *) (MACROS CL:FIRST SECOND THIRD FOURTH FIFTH SIXTH SEVENTH EIGHTH NINTH TENTH REST)) (FNS NTHCDR) (* LAST LIST LIST* are OK. *) (FNS MAKE-LIST) (* APPEND is OK. *) (FNS COPY-LIST COPY-ALIST COPY-TREE REVAPPEND) (* NCONC is OK. *) (FNS NRECONC) (* CL:PUSH and CL:PUSHNEW are macros defined somewhere else. Don't know where that is. POP is OK. *) (FNS BUTLAST NBUTLAST CL:LDIFF)) (COMS (* Section 15.3 Alteration of List Structure. *) (* RPLACA RPLACD are OK. *) ) (COMS (* Section 15.4 Substitution of Expressions. *) (DECLARE: DONTCOPY DOEVAL@COMPILE (FUNCTIONS SPLICE TEST-KEYS-SUPPLIED)) (FNS %%TEST) (FNS CL:SUBST %%SUBST SUBST-IF %%SUBST-IF SUBST-IF-NOT %%SUBST-IF-NOT NSUBST %%NSUBST NSUBST-IF %%NSUBST-IF NSUBST-IF-NOT %%NSUBST-IF-NOT) (FNS CL:SUBLIS %%SUBLIS NSUBLIS %%NSUBLIS)) (COMS (* Section 15.5 Usng Lists as Sets. *) (DECLARE: DONTCOPY DOEVAL@COMPILE (FUNCTIONS SPLICE)) (FNS CL:MEMBER %%MEMBER MEMBER-IF MEMBER-IF-NOT) (PROP DMACRO CL:MEMBER) (* TAILP is OK. *) (FNS ADJOIN) (FNS CL:UNION NUNION) (FNS CL:INTERSECTION NINTERSECTION) ( FNS SET-DIFFERENCE NSET-DIFFERENCE) (FNS SET-EXCLUSIVE-OR NSET-EXCLUSIVE-OR) (FNS SUBSETP)) (COMS (* Section 15.6 Association Lists. *) (FNS ACONS PAIRLIS) (FNS CL:ASSOC %%ASSOC ASSOC-IF ASSOC-IF-NOT RASSOC RASSOC-IF RASSOC-IF-NOT)) (COMS (* Section 7.8.4 Mapping *) (FNS CL:MAPCAR CL:MAPLIST CL:MAPC MAPL MAPCAN CL:MAPCON %%MAP)) (COMS (* Stuff I'm not sure where to place yet. *) (* It seems that DELQ ASSQ MEMQ aren't part of Common Lisp but part of Spice Lisp. What functions in the system are currently depending on these functions? *) (FNS DELQ) (* CL:EVERY should be in CMLSEQ. *) (PROP DMACRO CL:EVERY) (P (MOVD (QUOTE ASSOC) (QUOTE ASSQ)) (MOVD (QUOTE FMEMB) (QUOTE MEMQ)) (* NREVERSE should be in CMLSEQ. *) (MOVD (QUOTE DREVERSE) (QUOTE NREVERSE)))) (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA DELQ %%MAP CL:MAPCON MAPCAN MAPL CL:MAPC CL:MAPLIST CL:MAPCAR RASSOC-IF-NOT RASSOC-IF RASSOC ASSOC-IF-NOT ASSOC-IF %%ASSOC CL:ASSOC PAIRLIS ACONS SUBSETP NSET-EXCLUSIVE-OR SET-EXCLUSIVE-OR NSET-DIFFERENCE SET-DIFFERENCE NINTERSECTION CL:INTERSECTION NUNION CL:UNION ADJOIN MEMBER-IF-NOT MEMBER-IF %%MEMBER CL:MEMBER %%NSUBLIS NSUBLIS %%SUBLIS CL:SUBLIS %%NSUBST-IF-NOT NSUBST-IF-NOT %%NSUBST-IF NSUBST-IF %%NSUBST NSUBST %%SUBST-IF-NOT SUBST-IF-NOT %%SUBST-IF SUBST-IF %%SUBST CL:SUBST %%TEST CL:LDIFF NBUTLAST BUTLAST NRECONC REVAPPEND COPY-TREE COPY-ALIST MAKE-LIST NTHCDR REST TENTH NINTH EIGHTH SEVENTH SIXTH FIFTH FOURTH THIRD SECOND CL:FIRST %%SETNTH CL:NTH LIST-LENGTH %%TREE-EQUAL-TEST-NOT %%TREE-EQUAL-TEST TREE-EQUAL))))) (PUTPROPS CL:NTH SETFN %%SETNTH) (MOVD (QUOTE %%SETNTH) (QUOTE \SETNTH)) (PUTPROPS CL:FIRST DMACRO (= . CAR)) (PUTPROPS SECOND DMACRO (= . CADR)) (PUTPROPS THIRD DMACRO ((LIST) (CADDR LIST))) (PUTPROPS FOURTH DMACRO ((LIST) (CADDDR LIST))) (PUTPROPS FIFTH DMACRO ((LIST) (CAR (CDDDDR LIST)))) (PUTPROPS SIXTH DMACRO ((LIST) (CADR (CDDDDR LIST)))) (PUTPROPS SEVENTH DMACRO ((LIST) (CADDR (CDDDDR LIST)))) (PUTPROPS EIGHTH DMACRO ((LIST) (CADDDR (CDDDDR LIST)))) (PUTPROPS NINTH DMACRO ((LIST) (CAR (CDDDDR (CDDDDR LIST))))) (PUTPROPS TENTH DMACRO ((LIST) (CADR (CDDDDR (CDDDDR LIST))))) (PUTPROPS REST DMACRO ((LIST) (CDR LIST))) (PUTPROPS CL:MEMBER DMACRO (DEFMACRO (ITEM LIST &KEY (TEST (QUOTE (FUNCTION EQL)) TESTSUPPLIED) ( TEST-NOT NIL TESTNOTSUPPLIED) (KEY (QUOTE (FUNCTION IDENTITY)))) (* optimize simple cases) (LET (( TESTC (CONSTANTEXPRESSIONP TEST)) (KEYC (CONSTANTEXPRESSIONP KEY)) (TESTNOTC (CONSTANTEXPRESSIONP TEST-NOT)) (LISTC (CONSTANTEXPRESSIONP LIST))) (COND ((AND LISTC KEYC (EQ (CAR TESTC) (QUOTE EQL)) ( EVERY (CAR LISTC) (FUNCTION (LAMBDA (X) (NOT (NUMBERP (APPLY* (CAR KEYC) X))))))) (SETQ TESTC (QUOTE ( EQ))))) (COND ((AND TESTC KEYC TESTNOTC) (if (AND (EQ (CAR TESTC) (QUOTE EQ)) (EQ (CAR KEYC) (QUOTE IDENTITY)) (NOT TESTNOTSUPPLIED)) then (LIST (QUOTE FMEMB) ITEM LIST) else (LET ((ITERVAR (GENSYM "MEMBER")) (ITEMVAR (GENSYM "MEMBER-ITEM"))) (BQUOTE (LET ((, ITEMVAR , ITEM)) (for , ITERVAR on , LIST , (if TESTNOTSUPPLIED then (QUOTE unless) else (QUOTE when)) (, (if TESTNOTSUPPLIED then (CAR TESTNOTC) else (CAR TESTC)) (, (CAR KEYC) (CAR , ITERVAR)) , ITEMVAR) do (RETURN , ITERVAR))))))) (T ( QUOTE IGNOREMACRO)))))) (PUTPROPS CL:EVERY DMACRO (DEFMACRO (FUNCTION &REST LISTS) (LET ((GENSYM (GENSYM)) (TAIL-VARS (for X in LISTS collect (GENSYM)))) (BQUOTE (LET (((\, GENSYM) T)) (CL:DO ((\,@ (for X in LISTS as TAIL-VAR in TAIL-VARS collect (LIST TAIL-VAR X (BQUOTE (CDR (\, TAIL-VAR))))))) ((NOT (AND (\,@ TAIL-VARS))) ( \, GENSYM)) (OR (SETQ (\, GENSYM) (AND (\, GENSYM) (FUNCALL (\, FUNCTION) (\,@ (for X in TAIL-VARS collect (BQUOTE (CAR (\, X)))))))) (RETURN NIL)))))))) (MOVD (QUOTE ASSOC) (QUOTE ASSQ)) (MOVD (QUOTE FMEMB) (QUOTE MEMQ)) (MOVD (QUOTE DREVERSE) (QUOTE NREVERSE)) (PUTPROPS CMLLIST COPYRIGHT ("Xerox Corporation" 1985 1986)) NIL