(FILECREATED "30-Jun-86 13:54:12" ("compiled on " {ERIS}<LISPCORE>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}<LISPCORE>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}<ROACH>CML>CMLLIST.;8) TREE-EQUAL D1 (L (0 -args-)) �j ��e�kaqla篐l蓟LdK蟛#縢��紿l_烤OdN蟛#縣_�3IJO��ag��饡Lk豠百Ll診吧ag��饢Ok豠爸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慽逮A代@AB��答@Ab縝�拜�(30Q %%TREE-EQUAL-TEST) NIL () %%TREE-EQUAL-TEST-NOT D1 (L (2 TEST-NOT 1 Y 0 X)) �'���@dAlB逮A代@AB��答@Ab縝�拜�(30Q %%TREE-EQUAL-TEST-NOT) NIL () ENDP D1 (I 0 OBJECT) ����@�i慼o���@ ���(20Q ERROR) NIL ( 14Q "Arg not list") LIST-LENGTH D1 (L (0 LIST)) �1��j@dId ��慔 ��揌k�IJ饢Hdj髵hHl訧J汗赴��(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)) �B��j@髽o���@ ��@�Hj鸪H�Ad ���縪���@ ��� ��搽ABBb縃k誜坝�(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 搄@髽o���@ ��@j ��慉Ad ��慼b緻k誦�拌�(35Q ENDP 25Q %%= 17Q CL:ERROR) NIL ( 13Q "N = ~S is illegal for NTHCDR.") MAKE-LIST D1 (L (0 -args-)) �S��e�kaQHl缓KdJ蟛縣糺I蟛o���I ��ag��饡Kk豠扮Kl訹百Ih綸j皓Md杁 ��慛k誏N瓣�(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@b�dI@H&梆�NIL NIL () COPY-ALIST D1 (L (0 ALIST)) �E��@d*o���@ ��咢@h!@H篩dJIHJdId��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 ��慖HI筙膀�(11Q ENDP) NIL () NRECONC D1 (L (1 Y 0 X)) � ���@ ��A ���(7 \NCONC2 3 NREVERSE) NIL () BUTLAST D1 (L (0 -args-)) �L��e�kaalH駪k俵a簀J髴j篒 ��k栈JK髴hI糏h]綤_J ��慚NdL&�綥糘k瞻��(66Q %%= 35Q LENGTH) NIL () NBUTLAST D1 (L (0 -args-)) �E��e�ka!lH駪k俵a簀J髴j篒 ��k栈JK髴hIIKNJ ��擬hILLNk站郊办�(62Q %%= 35Q LENGTH) NIL () CL:LDIFF D1 (L (1 SUBLIST 0 LIST)) � ��@!hhY篐揌A饞IJdH&�篐X绊�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-)) �� ��e�ka�la簂a籋l郊MdL蟛A縣綡l_縚縊dO蟛@縣_縃l_縚縊dO蟛@縣_縉睵O睯o��� ��癑ag��饡Mk豠肮Ml註矮ag��饢Ok豠肮Ol訽皑ag��饢Ok豠肮Ol訽皑N��^縊��_縄JKNOO ���(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@ABCDE ��@ABCDE ��HdB饦縄B饝BHI�(46Q %%SUBST 33Q %%SUBST 10Q %%TEST) NIL () SUBST-IF D1 (L (0 -args-)) �<��e�kaQla簂a籋l郊MdL鬁縢��綢JKN��ag��饡Mk豠绊Ml註稗�(46Q %%SUBST-IF) (53Q :KEY 36Q IDENTITY) () %%SUBST-IF D1 (L (3 KEY 2 TREE 1 TEST 0 NEW)) �5��BdkCkA慇@ABC��@ABC��HdB饦縄B饝BHI�(36Q %%SUBST-IF 26Q %%SUBST-IF) NIL () SUBST-IF-NOT D1 (L (0 -args-)) �<��e�kaQla簂a籋l郊MdL鬁縢��綢JKN��ag��饡Mk豠绊Ml註稗�(46Q %%SUBST-IF-NOT) (53Q :KEY 36Q IDENTITY) () %%SUBST-IF-NOT D1 (L (3 KEY 2 TREE 1 TEST 0 NEW)) �5��BdkCkA@ABC��@ABC��HdB饦縄B饝BHI�(36Q %%SUBST-IF-NOT 26Q %%SUBST-IF-NOT) NIL () NSUBST D1 (L (0 -args-)) �� ��e�ka�la簂a籋l郊MdL蟛A縣綡l_縚縊dO蟛@縣_縃l_縚縊dO蟛@縣_縉睵O睯o��� ��癑ag��饡Mk豠肮Ml註矮ag��饢Ok豠肮Ol訽皑ag��饢Ok豠肮Ol訽皑N��^縊��_縄JKNOO ���(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)) �9��0ABCDE ��慇BXAHCDE ��桯篅笿I夽AHCDE ��縃摆�(62Q %%NSUBST 36Q %%TEST 13Q %%TEST) NIL () NSUBST-IF D1 (L (0 -args-)) �<��e�kaQla簂a籋l郊MdL鬁縢��綢JKN��ag��饡Mk豠绊Ml註稗�(46Q %%NSUBST-IF) (53Q :KEY 36Q IDENTITY) () %%NSUBST-IF D1 (L (3 KEY 2 TREE 1 TEST 0 NEW)) �Q��BdkCkA慇€B]d�kCkA�H篅笿I繊kCkA楬粿籐KBM_緻AMC��綩N縈X芭�(104Q %%NSUBST-IF) NIL () NSUBST-IF-NOT D1 (L (0 -args-)) �<��e�kaQla簂a籋l郊MdL鬁縢��綢JKN��ag��饡Mk豠绊Ml註稗�(46Q %%NSUBST-IF-NOT) (53Q :KEY 36Q IDENTITY) () %%NSUBST-IF-NOT D1 (L (3 KEY 2 TREE 1 TEST 0 NEW)) �Q��BdkCkA€B]d�kCkA�H篅笿I繊kCkA℉粿籐KBM_緻AMC��綩N縈X芭�(104Q %%NSUBST-IF-NOT) NIL () CL:SUBLIS D1 (L (0 -args-)) ����e�ka�la篐l蓟LdK蟛>縣紿l_烤OdN蟛@縣_縃l_縚縊dO蟛@縣_縈睵O睯o��� ��癑ag��饡Lk豠凹Ll診爱ag��饢Ok豠肮Ol訽癌ag��饢Ok豠肮Ol訽皑M��]縊��_縄JMOO ���(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@ABCD ��@ABCD ��HdA饦縄A饝AHI�(45Q %%SUBLIS 33Q %%SUBLIS 10Q %%ASSOC) NIL () NSUBLIS D1 (L (0 -args-)) ����e�ka�la篐l蓟LdK蟛?縣紿l_烤OdN蟛A縣_縃l_縚縊dO蟛A縣_縊睶O睯o��� ��癓ag��饡Lk豠盎Ll診碍ag��饢Ok豠案Ol訽皑ag��饢Ok豠案Ol訽哀O∣��_縈��絀JOOM ���(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 ���Ah続]d�@BCD ��X�N篐笿I堪@BCD ��X橬糎籐KAM_緻MBCD ��_縊O縈^胺�(124Q %%NSUBLIS 72Q %%ASSOC 44Q %%ASSOC 13Q %%ASSOC) NIL () CL:MEMBER D1 (L (0 -args-)) �� ��e�ka�la篐l蓟LdK蟛>縣紿l_烤OdN蟛@縣_縃l_縚縊dO蟛@縣_縈睵O睯o��� ��癑ag��饡Lk豠凹Ll診爱ag��饢Ok豠肮Ol訽癌ag��饢Ok豠肮Ol訽皑M��]縊��_縅_�IOMOO ��扥O扮�(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 ��慖I绊�(22Q %%TEST) NIL () MEMBER-IF D1 (L (0 -args-)) �Y��e�kaQla篐l蓟LdK鬂縢��絁d�$��ag��饡Lk豠办Ll診拜o���J ��縅^d ��慼kMkI慛N办�(106Q ENDP 77Q CL:ERROR) (50Q :KEY 32Q IDENTITY) ( 73Q "~S is not a list.") MEMBER-IF-NOT D1 (L (0 -args-)) �Y��e�kaQla篐l蓟LdK鬂縢��絁d�$��ag��饡Lk豠办Ll診拜o���J ��縅^d ��慼kMkIN办�(106Q ENDP 77Q CL:ERROR) (50Q :KEY 32Q IDENTITY) ( 73Q "~S is not a list.") ADJOIN D1 (L (0 -args-)) ����e�ka�la篐l蓟LdK蟛>縣紿l_烤OdN蟛@縣_縃l_縚縊dO蟛@縣_縈睵O睯o��� ��癑ag��饡Lk豠凹Ll診爱ag��饢Ok豠肮Ol訽癌ag��饢Ok豠肮Ol訽皑M��]縊��_縄dJMOO ��慗J�(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-)) ����e�ka�la篐l蓟LdK蟛>縣紿l_烤OdN蟛@縣_縃l_縚縊dO蟛@縣_縈睵O睯o��� ��癑ag��饡Lk豠凹Ll診爱ag��饢Ok豠肮Ol訽癌ag��饢Ok豠肮Ol訽皑M��]縊��_縄_縅_�O_IMOO ��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-)) ����e�ka�la篐l蓟LdK蟛>縣紿l_烤OdN蟛@縣_縃l_縚縊dO蟛@縣_縈睵O睯o��� ��癑ag��饡Lk豠凹Ll診爱ag��饢Ok豠肮Ol訽癌ag��饢Ok豠肮Ol訽皑M��]縊��_縄_縅d ��扥IMOO ���J_篛_縊_縊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-)) ����e�ka�la篐l蓟LdK蟛>縣紿l_烤OdN蟛@縣_縃l_縚縊dO蟛@縣_縈睵O睯o��� ��癑ag��饡Lk豠凹Ll診爱ag��饢Ok豠肮Ol訽癌ag��饢Ok豠肮Ol訽皑M��]縊��_縣_縄_�O_JMOO ��桹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-)) ����e�ka�la篐l蓟LdK蟛>縣紿l_烤OdN蟛@縣_縃l_縚縊dO蟛@縣_縈睵O睯o��� ��癑ag��饡Lk豠凹Ll診爱ag��饢Ok豠肮Ol訽癌ag��饢Ok豠肮Ol訽皑M��]縊��_縣_縄d ��扥JMOO ���I_筄_縊_縊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-)) ����e�ka�la篐l蓟LdK蟛>縣紿l_烤OdN蟛@縣_縃l_縚縊dO蟛@縣_縈睵O睯o��� ��癑ag��饡Lk豠凹Ll診爱ag��饢Ok豠肮Ol訽癌ag��饢Ok豠肮Ol訽皑M��]縊��_縣_縄_�O_JMOO ��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-)) ����e�ka�la篐l蓟LdK蟛>縣紿l_烤OdN蟛@縣_縃l_縚縊dO蟛@縣_縈睵O睯o��� ��癑ag��饡Lk豠凹Ll診爱ag��饢Ok豠肮Ol訽癌ag��饢Ok豠肮Ol訽皑M��]縊��_縣_縄d ��扥JMOO ���I_筄_縊_縊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-)) ����e�ka�la篐l蓟LdK蟛>縣紿l_烤OdN蟛@縣_縃l_縚縊dO蟛@縣_縈睵O睯o��� ��癑ag��饡Lk豠凹Ll診爱ag��饢Ok豠肮Ol訽癌ag��饢Ok豠肮Ol訽皑M��]縊��_縣_縄_� J_� O_JMOO ��O_縊佰_ IMOO �� 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-)) $��e�ka�la篐l蓟LdK蟛>縣紿l_烤OdN蟛@縣_縃l_縚縊dO蟛@縣_縈睵O睯o��� ��癑ag��饡Lk豠凹Ll診爱ag��饢Ok豠肮Ol訽癌ag��饢Ok豠肮Ol訽皑M��]縊��_縄h_縚 ��橭�JJIJh_縚 ��昈_癓O�OkOOkOlOh鸢OkOOkOlM�#O�OY僌縊�OZ僌縊皯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-)) �� ��e�ka�la篐l蓟LdK蟛>縣紿l_烤OdN蟛@縣_縃l_縚縊dO蟛@縣_縈睵O睯o��� ��癑ag��饡Lk豠凹Ll診爱ag��饢Ok豠肮Ol訽癌ag��饢Ok豠肮Ol訽皑M��]縊��_縄_�iJMOO ��O拌�(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)) ����@AB�NIL NIL () PAIRLIS D1 (L (2 ALIST 1 DATA 0 KEYS)) �p��€@窤笻d ��樋I ��態H ��矼I ��矴HIh[篐窱笻d ��熆I ��楯紹糓LKH ���I ���J_縃Ih綩N縅芭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-)) ����e�ka�la篐l蓟LdK蟛>縣紿l_烤OdN蟛@縣_縃l_縚縊dO蟛@縣_縈睵O睯o��� ��癑ag��饡Lk豠凹Ll診爱ag��饢Ok豠肮Ol訽癌ag��饢Ok豠肮Ol訽皑M��]縊��_縄JMOO ���(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)) �#��A�Hd ��慼濦HBCD ��扝HX板�(30Q %%TEST 10Q ENDP) NIL () ASSOC-IF D1 (L (1 ALIST 0 PREDICATE)) � ��A�Hd ��慼汬dk@斂HHX拌�(10Q ENDP) NIL () ASSOC-IF-NOT D1 (L (1 ALIST 0 PREDICATE)) � ��A�Hd ��慼汬dk@たHHX拌�(10Q ENDP) NIL () RASSOC D1 (L (0 -args-)) �� ��e�ka�la篐l蓟LdK蟛>縣紿l_烤OdN蟛@縣_縃l_縚縊dO蟛@縣_縈睵O睯o��� ��癑ag��饡Lk豠凹Ll診爱ag��饢Ok豠肮Ol訽癌ag��饢Ok豠肮Ol訽皑M��]縊��_縅_d ��慼�IOMOO ��揙O稗�(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)) � ��A�Hd ��慼汬dk@斂HHX拌�(10Q ENDP) NIL () RASSOC-IF-NOT D1 (L (1 ALIST 0 PREDICATE)) � ��A�Hd ��慼汬dk@たHHX拌�(10Q ENDP) NIL () CL:MAPCAR D1 (L (0 -args-)) �F ��e�ka!la篐l2MdL鬅縉籌JKg��i��a_縊�Oh_綧k註百O&_堪��(46Q %%MAP) (42Q :LIST) () CL:MAPLIST D1 (L (0 -args-)) �F ��e�ka!la篐l2MdL鬅縉籌JKg��h��a_縊�Oh_綧k註百O&_堪��(46Q %%MAP) (42Q :LIST) () CL:MAPC D1 (L (0 -args-)) �D ��e�ka!la篐l2MdL鬂縉籌JKhi��a_縊�Oh_綧k註佰O&_堪��(44Q %%MAP) NIL () MAPL D1 (L (0 -args-)) �D ��e�ka!la篐l2MdL鬂縉籌JKhd��a_縊�Oh_綧k註佰O&_堪��(44Q %%MAP) NIL () MAPCAN D1 (L (0 -args-)) �F ��e�ka!la篐l2MdL鬅縉籌JKg��i��a_縊�Oh_綧k註百O&_堪��(46Q %%MAP) (42Q :NCONC) () CL:MAPCON D1 (L (0 -args-)) �F ��e�ka!la篐l2MdL鬅縉籌JKg��h��a_縊�Oh_綧k註百O&_堪��(46Q %%MAP) (42Q :NCONC) () %%MAP D1 (L (3 TAKE-CAR 2 ACCUMULATE 1 ORIGINAL-ARGLISTS 0 FUNCTION)) �l��A ��qhhY篐d攄Эi欱旾膀AH_�C揙丱L糘^絅M縊般@L �� ��籅dg��饳縅K �� ��媑��鸫 JK&縅篽及��(130Q LAST 125Q \NCONC2 107Q APPLY 104Q NREVERSE 3 COPY-LIST) (134Q :LIST 115Q :NCONC) () DELQ D1 (L (0 -args-)) �S��e�kaQla簂H駪j刬籰a糐h綸 ���$K橪j鸪L�IM鸩Lk占N� MZ� ��察JM丮^縈巴�(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