1;; -*- Lisp -*- vim:filetype=lisp 2 3(ENDP 'NIL) 4T 5 6(ENDP '(A . B)) 7NIL 8 9(ENDP '(A B . C)) 10NIL 11 12(ENDP '(A B C)) 13NIL 14 15(ENDP '(A B C D)) 16NIL 17 18(ENDP '(A B C . D)) 19NIL 20 21(ENDP '('NIL 'NIL)) 22NIL 23 24(LIST-LENGTH 'NIL) 250 26 27(LIST-LENGTH '(A . B)) 28#+XCL 1 #+(or CLISP AKCL ECL ALLEGRO CMU SBCL OpenMCL LISPWORKS) ERROR 29#-(or XCL CLISP AKCL ECL ALLEGRO CMU SBCL OpenMCL LISPWORKS) UNKNOWN 30 31(LIST-LENGTH '(A B C D)) 324 33 34(LIST-LENGTH '(A (B C) D)) 353 36 37(LET ((X (LIST 'A 'B 'C))) 38 (RPLACD (LAST X) X) 39 (LIST-LENGTH X)) 40NIL 41 42(NTH 0 '(A B C D)) 43A 44 45(NTH 1 '(A B C D)) 46B 47 48(NTH 3 '(A B C D)) 49D 50 51(NTH 5 '(A B C D)) 52NIL 53 54(NTH -2 '(A B C D)) 55ERROR 56 57(NTH 0 'NIL) 58NIL 59 60(NTH 2 'NIL) 61NIL 62 63(FIRST '(1 2 3 4 5 6 7 8 9 10 11)) 641 65 66(SECOND '(1 2 3 4 5 6 7 8 9 10 11)) 672 68 69(THIRD '(1 2 3 4 5 6 7 8 9 10 11)) 703 71 72(FOURTH '(1 2 3 4 5 6 7 8 9 10 11)) 734 74 75(FIFTH '(1 2 3 4 5 6 7 8 9 10 11)) 765 77 78(SIXTH '(1 2 3 4 5 6 7 8 9 10 11)) 796 80 81(SEVENTH '(1 2 3 4 5 6 7 8 9 10 11)) 827 83 84(EIGHTH '(1 2 3 4 5 6 7 8 9 10 11)) 858 86 87(NINTH '(1 2 3 4 5 6 7 8 9 10 11)) 889 89 90(TENTH '(1 2 3 4 5 6 7 8 9 10 11)) 9110 92 93(FIRST '(1 2 3)) 941 95 96(SECOND '(1 2 3)) 972 98 99(THIRD '(1 2 3)) 1003 101 102(FOURTH '(1 2 3)) 103NIL 104 105(FIFTH '(1 2 3)) 106NIL 107 108(SIXTH '(1 2 3)) 109NIL 110 111(SEVENTH '(1 2 3)) 112NIL 113 114(EIGHTH '(1 2 3)) 115NIL 116 117(NINTH '(1 2 3)) 118NIL 119 120(TENTH '(1 2 3)) 121NIL 122 123(FIRST 'NIL) 124NIL 125 126(SECOND 'NIL) 127NIL 128 129(THIRD 'NIL) 130NIL 131 132(FOURTH 'NIL) 133NIL 134 135(FIFTH 'NIL) 136NIL 137 138(SIXTH 'NIL) 139NIL 140 141(SEVENTH 'NIL) 142NIL 143 144(EIGHTH 'NIL) 145NIL 146 147(NINTH 'NIL) 148NIL 149 150(TENTH 'NIL) 151NIL 152 153(REST '(1 2 3 4 5)) 154(2 3 4 5) 155 156(REST 'NIL) 157NIL 158 159(REST '(A . B)) 160B 161 162(REST '(1 2 3 . 4)) 163(2 3 . 4) 164 165(NTHCDR 0 '(A B C D)) 166(A B C D) 167 168(NTHCDR 1 '(A B C D)) 169(B C D) 170 171(NTHCDR 3 '(A B C D)) 172(D) 173 174(NTHCDR 5 '(A B C D)) 175NIL 176 177(NTHCDR -2 '(A B C D)) 178ERROR 179 180(NTHCDR 0 'NIL) 181NIL 182 183(NTHCDR 2 'NIL) 184NIL 185 186(LAST '(1 2 3 4 5)) 187(5) 188 189(LAST 'NIL) 190NIL 191 192(LAST '(A . B)) 193(A . B) 194 195(LAST '(1 2 3 . 4)) 196(3 . 4) 197 198(LIST 'A 'B 'C 'D) 199(A B C D) 200 201(LIST 'A) 202(A) 203 204(LIST '(A B) '(C D)) 205((A B) (C D)) 206 207(LIST 'A 'NIL) 208(A NIL) 209 210(LIST 'NIL 'A) 211(NIL A) 212 213(LIST 'NIL 'NIL) 214(NIL NIL) 215 216(LIST) 217NIL 218 219(LIST 3 4 'A 220 (CAR '(B . C)) 221 (+ 6 -2)) 222(3 4 A B 4) 223 224(LIST* 'A 'B 'C 'D) 225(A B C . D) 226 227(LIST* 'A) 228A 229 230(LIST* '(A B) 231 '(C D)) 232((A B) 233 C D) 234 235(LIST* 'A 'NIL) 236(A) 237 238(LIST* 'NIL 'A) 239(NIL . A) 240 241(LIST* 'NIL 'NIL) 242(NIL) 243 244(LIST*) 245ERROR 246 247(LIST* 3 4 'A 248 (CAR '(B . C)) 249 (+ 6 -2)) 250(3 4 A B . 4) 251 252(LIST* 'A 'B 'C 253 '(D E F)) 254(A B C D E F) 255 256(LIST* X) 257ERROR 258 259(LIST* 'NIL) 260NIL 261 262(MAKE-LIST 5) 263(NIL NIL NIL NIL NIL) 264 265(MAKE-LIST 5 :INITIAL-ELEMENT) 266ERROR 267 268(MAKE-LIST 3 :INITIAL-ELEMENT 'RAH) 269(RAH RAH RAH) 270 271(MAKE-LIST 0) 272NIL 273 274(MAKE-LIST 0 :INITIAL-ELEMENT 'AAA) 275NIL 276 277(MAKE-LIST 5 :INITIAL-ELEMENT 'NIL) 278(NIL NIL NIL NIL NIL) 279 280(MAKE-LIST) 281ERROR 282 283(APPEND '(A B C) 284 '(D E F) 285 'NIL 286 '(G)) 287(A B C D E F G) 288 289(APPEND '(A B C) 290 'D) 291(A B C . D) 292 293(APPEND 'A 'B) 294ERROR 295 296(APPEND 'A 'NIL) 297ERROR 298 299(APPEND 'NIL 'NIL) 300NIL 301 302(APPEND 'NIL 'A) 303#+XCL ERROR 304#-XCL A 305 306(APPEND 'NIL 307 '(A B C)) 308(A B C) 309 310(SETQ X '(A B C)) 311(A B C) 312 313(SETQ Y '(D E F)) 314(D E F) 315 316(SETQ R (APPEND X Y)) 317(A B C D E F) 318 319X 320(A B C) 321 322Y 323(D E F) 324 325(EQ (CDDDR R) Y) 326T 327 328(COPY-LIST '(1 2 3 4 5)) 329(1 2 3 4 5) 330 331(COPY-LIST 'NIL) 332NIL 333 334(COPY-LIST '(A . B)) 335(A . B) 336 337(COPY-LIST '(1 2 3 . 4)) 338(1 2 3 . 4) 339 340(SETQ L '(1 2 3 4 5)) 341(1 2 3 4 5) 342 343(EQ L (COPY-LIST L)) 344NIL 345 346(EQL L (COPY-LIST L)) 347NIL 348 349(EQUAL L (COPY-LIST L)) 350T 351 352(EQUALP L (COPY-LIST L)) 353T 354 355(COPY-ALIST 'A) 356ERROR 357 358(COPY-ALIST 'NIL) 359NIL 360 361(COPY-ALIST 5) 362ERROR 363 364(COPY-ALIST '(A B)) 365#+(or XCL CLISP ECL ALLEGRO CMU SBCL LISPWORKS) (A B) #+(or GCL OpenMCL) ERROR 366#-(or XCL CLISP ECL GCL ALLEGRO CMU SBCL OpenMCL LISPWORKS) UNKNOWN 367 368(COPY-ALIST '((1 . A) 369 (2 . B) 370 (3 . C))) 371((1 . A) 372 (2 . B) 373 (3 . C)) 374 375(SETQ X '((1 . A) 376 (2 . B) 377 (3 . C))) 378((1 . A) 379 (2 . B) 380 (3 . C)) 381 382(EQ X (COPY-ALIST X)) 383NIL 384 385(EQL X (COPY-ALIST X)) 386NIL 387 388(EQUAL X (COPY-ALIST X)) 389T 390 391(EQ (CADR X) 392 (CADR (COPY-ALIST X))) 393NIL 394 395(EQL (CADR X) 396 (CADR (COPY-ALIST X))) 397NIL 398 399(EQUAL (CADR X) 400 (CADR (COPY-ALIST X))) 401T 402 403(COPY-ALIST '((1 . 2)) 404 '((A . B))) 405ERROR 406 407(COPY-ALIST '((A B) 408 C 409 (D E))) 410#+(or XCL CLISP ECL ALLEGRO CMU SBCL LISPWORKS) ((A B) C (D E)) #+(or GCL OpenMCL) ERROR 411#-(or XCL CLISP ECL GCL ALLEGRO CMU SBCL OpenMCL LISPWORKS) UNKNOWN 412 413(COPY-TREE 'X) 414X 415 416(COPY-TREE 5) 4175 418 419(COPY-TREE '(A B)) 420(A B) 421 422(COPY-TREE '(A B 423 (C (D) 424 (E F)) 425 G)) 426(A B 427 (C (D) 428 (E F)) 429 G) 430 431(COPY-TREE '((1 . E) 432 (2 . F))) 433((1 . E) 434 (2 . F)) 435 436(COPY-TREE #*001) 437#*001 438 439(SETQ X 440 '(A B 441 (C D) 442 E)) 443(A B 444 (C D) 445 E) 446 447(EQ X 448 (COPY-TREE X)) 449NIL 450 451(EQL X 452 (COPY-TREE X)) 453NIL 454 455(EQUAL X 456 (COPY-TREE X)) 457T 458 459(EQ (CDADDR X) 460 (CDADDR (COPY-TREE X))) 461NIL 462 463(EQL (CDADDR X) 464 (CDADDR (COPY-TREE X))) 465NIL 466 467(EQUAL (CDADDR X) 468 (CDADDR (COPY-TREE X))) 469T 470 471(REVAPPEND '(A B C) 472 '(D E F) 473 'NIL 474 '(G)) 475ERROR 476 477(REVAPPEND '(A B C) 478 'D) 479(C B A . D) 480 481(REVAPPEND 'A 'B) 482ERROR 483 484(REVAPPEND 'A 'NIL) 485ERROR 486 487(REVAPPEND 'NIL 'NIL) 488NIL 489 490(REVAPPEND 'NIL 'A) 491A 492 493(REVAPPEND 'NIL 494 '(A B C)) 495(A B C) 496 497(REVAPPEND '(A B C) 498 '(D E F)) 499(C B A D E F) 500 501(REVAPPEND '(D E F) 502 '(A B C)) 503(F E D A B C) 504 505(EQL (REVAPPEND '(A B C) 506 '(D E F)) 507 (APPEND (REVERSE '(A B C)) 508 '(D E F))) 509NIL 510 511(EQUAL (REVAPPEND '(A B C) 512 '(D E F)) 513 (APPEND (REVERSE '(A B C)) 514 '(D E F))) 515T 516 517(SETQ X '(A B C)) 518(A B C) 519 520(SETQ Y '(D E F)) 521(D E F) 522 523(SETQ R (REVAPPEND X Y)) 524(C B A D E F) 525 526X 527(A B C) 528 529Y 530(D E F) 531 532(EQ (CDDDR R) 533 Y) 534T 535 536(SETQ X 537 '(A B C) 538 Y 539 '(D E F)) 540(D E F) 541 542(NCONC X Y) 543(A B C D E F) 544 545X 546(A B C D E F) 547 548(EQ (CDDDR X) 549 Y) 550T 551 552(SETQ X 553 '(A B C) 554 Y 555 '(D E F) 556 Z 557 '(G H I)) 558(G H I) 559 560(NCONC) 561NIL 562 563(NCONC X) 564(A B C) 565 566(NCONC NIL) 567NIL 568 569(NCONC NIL NIL) 570NIL 571 572(NCONC X NIL) 573(A B C) 574 575(NCONC NIL NIL NIL NIL) 576NIL 577 578(NCONC NIL NIL X NIL) 579(A B C) 580 581(NCONC X NIL Y NIL Z NIL) 582(A B C D E F G H I) 583 584X 585(A B C D E F G H I) 586 587Y 588(D E F G H I) 589 590Z 591(G H I) 592 593(EQ (CDDDR X) 594 Y) 595T 596 597(EQ (CDDDR Y) 598 Z) 599T 600 601(NCONC '(1 2) 'A) 602#+XCL ERROR #+(or CLISP AKCL ECL ALLEGRO CMU SBCL OpenMCL LISPWORKS) (1 2 . A) 603#-(or XCL CLISP AKCL ECL ALLEGRO CMU SBCL OpenMCL LISPWORKS) UNKNOWN 604 605(NCONC 'A) 606#+XCL ERROR #+(or CLISP AKCL ECL ALLEGRO CMU SBCL OpenMCL LISPWORKS) A 607#-(or XCL CLISP AKCL ECL ALLEGRO CMU SBCL OpenMCL LISPWORKS) UNKNOWN 608 609(SETQ X 610 '(A B C) 611 Y 612 '(D E F)) 613(D E F) 614 615(NRECONC X Y) 616(C B A D E F) 617 618X 619#+XCL WAS-DESTROYED ; wo kommt denn so was her? 620#+CLISP (C B A D E F) 621#+(or AKCL ECL ALLEGRO CMU SBCL OpenMCL LISPWORKS) (A D E F) 622#-(or XCL CLISP AKCL ECL ALLEGRO CMU SBCL OpenMCL LISPWORKS) UNKNOWN 623 624(TAILP Y X) 625T 626 627(SETQ X 628 '(A B C) 629 Y 630 '(D E F) 631 Z 632 '(G H I)) 633(G H I) 634 635(NRECONC) 636ERROR 637 638(NRECONC X) 639ERROR 640 641(NRECONC NIL) 642ERROR 643 644(NRECONC NIL NIL) 645NIL 646 647(NRECONC X NIL) 648(C B A) 649 650X 651#+XCL WAS-DESTROYED 652#+CLISP (C B A) 653#+(or AKCL ECL ALLEGRO CMU SBCL OpenMCL LISPWORKS) (A) 654#-(or XCL CLISP AKCL ALLEGRO CMU SBCL OpenMCL LISPWORKS) UNKNOWN 655 656(NRECONC NIL NIL NIL NIL) 657ERROR 658 659(NCONC NIL 'X) 660#+XCL ERROR 661#+(or CLISP AKCL ECL ALLEGRO CMU SBCL OpenMCL LISPWORKS) X 662#-(or XCL CLISP AKCL ALLEGRO CMU SBCL OpenMCL LISPWORKS) UNKNOWN 663 664(SETQ AA NIL) 665NIL 666 667(PUSH '1 AA) 668(1) 669 670(PUSH '2 AA) 671(2 1) 672 673(PUSH '2 AA) 674(2 2 1) 675 676(SETQ AA 677 '(B A)) 678(B A) 679 680(PUSHNEW 'A AA) 681(B A) 682 683(PUSHNEW 'C AA) 684(C B A) 685 686(SETQ XXX NIL) 687NIL 688 689(PUSHNEW 'C XXX :TEST 'EQUAL) 690(C) 691 692(PUSHNEW 'C XXX :TEST 'EQUAL) 693(C) 694 695(PUSHNEW '(C) XXX :TEST 'EQUAL) 696((C) C) 697 698XXX 699((C) C) 700 701(SETQ XX '(NIL KKK)) 702(NIL KKK) 703 704(PUSHNEW 'U (CAR XX)) 705(U) 706 707(PUSHNEW 'U (CAR XX)) 708(U) 709 710(PUSHNEW 'V (CAR XX)) 711(V U) 712 713XX 714((V U) KKK) 715 716(PUSHNEW '(W) (CAR XX)) 717((W) 718 V U) 719 720(PUSHNEW '(W) (CAR XX)) 721((W) 722 (W) 723 V U) 724 725(PUSHNEW '(W) (CAR XX) 726 :TEST 'EQUAL) 727((W) 728 (W) 729 V U) 730 731(PUSHNEW '(W) (CAR XX) 732 :TEST-NOT 'EQUAL) 733((W) 734 (W) 735 V U) 736 737(SETQ AA '(1 2 3)) 738(1 2 3) 739 740(POP AA) 7411 742 743AA 744(2 3) 745 746(POP AA) 7472 748 749(POP AA) 7503 751 752(POP AA) 753NIL 754 755(POP AA) 756NIL 757 758(BUTLAST '(A B C)) 759(A B) 760 761(BUTLAST '(A B C) 762 2) 763(A) 764 765(NBUTLAST '(A B C D) 766 3) 767(A) 768 769(NBUTLAST '(A B C D) 770 1) 771(A B C) 772 773(NBUTLAST '(A B C D) 774 0) 775(A B C D) 776 777(NBUTLAST '(A B C D) 778 4) 779NIL 780 781(NBUTLAST '(A B C D) 782 6) 783NIL 784 785(butlast '#1=(1 2 3 . #1#) 3) 786ERROR 787 788;; <http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_revappendcm_nreconc.html> 789(let ((list-1 (list 1 2 3)) 790 (list-2 (list 'a 'b 'c))) 791 (list (revappend list-1 list-2) 792 (equal list-1 '(1 2 3)) 793 (equal list-2 '(a b c)))) 794((3 2 1 A B C) T T) 795 796(revappend '(1 2 3) '()) 797(3 2 1) 798 799(revappend '(1 2 3) '(a . b)) 800(3 2 1 A . B) 801 802(revappend '() '(a b c)) 803(A B C) 804 805(revappend '(1 2 3) 'a) 806(3 2 1 . A) 807 808(revappend '() 'a) 809A ;degenerate case 810 811(let ((list-1 (list '1 '2 '3)) 812 (list-2 (list 'a 'b 'c))) 813 (list (nreconc list-1 list-2) 814 (equal list-1 '(1 2 3)) 815 (equal list-2 '(a b c)))) 816((3 2 1 A B C) NIL T) 817 818;; <http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_nconc.html> 819(nconc) 820NIL 821 822(setq x '(a b c)) 823(A B C) 824 825(setq y '(d e f)) 826(D E F) 827 828(nconc x y) 829(A B C D E F) 830 831x 832(A B C D E F) 833 834(setq foo (list 'a 'b 'c 'd 'e) 835 bar (list 'f 'g 'h 'i 'j) 836 baz (list 'k 'l 'm)) 837(K L M) 838 839(setq foo (nconc foo bar baz)) 840(A B C D E F G H I J K L M) 841 842foo (A B C D E F G H I J K L M) 843bar (F G H I J K L M) 844baz (K L M) 845 846(setq foo (list 'a 'b 'c 'd 'e) 847 bar (list 'f 'g 'h 'i 'j) 848 baz (list 'k 'l 'm)) 849(K L M) 850 851(setq foo (nconc nil foo bar nil baz)) 852(A B C D E F G H I J K L M) 853 854foo (A B C D E F G H I J K L M) 855bar (F G H I J K L M) 856baz (K L M) 857 858;; <http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_append.html> 859(append '(a b c) '(d e f) '() '(g)) 860(A B C D E F G) 861 862(append '(a b c) 'd) 863(A B C . D) 864 865(setq lst '(a b c)) 866(A B C) 867 868(append lst '(d)) 869(A B C D) 870 871lst 872(A B C) 873 874(append) 875NIL 876 877(append 'a) 878A 879 880 881; Clean up. 882(unintern 'x) 883T 884