| ofs | hex dump | ascii |
|---|
| 0000 | 64 61 73 68 2d 32 30 32 34 30 34 30 35 2e 39 34 36 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | dash-20240405.946/.............. |
| 0020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0060 | 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000755.0000000.0000000.0000 |
| 0080 | 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 36 35 33 00 20 35 00 00 00 | 0000000.00000000000.011653..5... |
| 00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0100 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0120 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0200 | 64 61 73 68 2d 32 30 32 34 30 34 30 35 2e 39 34 36 2f 64 61 73 68 2d 70 6b 67 2e 65 6c 00 00 00 | dash-20240405.946/dash-pkg.el... |
| 0220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0260 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 0280 | 30 30 30 30 36 37 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 37 30 31 00 20 30 00 00 00 | 0000673.00000000000.013701..0... |
| 02a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 02c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 02e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0300 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0320 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0400 | 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 22 64 61 73 68 22 20 22 32 30 32 34 30 34 30 35 | (define-package."dash"."20240405 |
| 0420 | 2e 39 34 36 22 20 22 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 62 72 61 72 79 20 66 6f 72 | .946"."A.modern.list.library.for |
| 0440 | 20 45 6d 61 63 73 22 0a 20 20 27 28 28 65 6d 61 63 73 20 22 32 34 22 29 29 0a 20 20 3a 63 6f 6d | .Emacs"...'((emacs."24"))...:com |
| 0460 | 6d 69 74 20 22 38 38 35 33 33 32 62 62 63 34 35 38 32 62 30 38 64 34 66 32 34 35 32 36 32 35 30 | mit."885332bbc4582b08d4f24526250 |
| 0480 | 38 37 36 66 33 61 37 35 36 39 30 36 37 22 20 3a 61 75 74 68 6f 72 73 0a 20 20 27 28 28 22 4d 61 | 876f3a7569067".:authors...'(("Ma |
| 04a0 | 67 6e 61 72 20 53 76 65 65 6e 22 20 2e 20 22 6d 61 67 6e 61 72 73 40 67 6d 61 69 6c 2e 63 6f 6d | gnar.Sveen"..."magnars@gmail.com |
| 04c0 | 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 0a 20 20 27 28 28 22 4d 61 67 6e 61 72 20 | "))...:maintainers...'(("Magnar. |
| 04e0 | 53 76 65 65 6e 22 20 2e 20 22 6d 61 67 6e 61 72 73 40 67 6d 61 69 6c 2e 63 6f 6d 22 29 29 0a 20 | Sveen"..."magnars@gmail.com")).. |
| 0500 | 20 3a 6d 61 69 6e 74 61 69 6e 65 72 0a 20 20 27 28 22 4d 61 67 6e 61 72 20 53 76 65 65 6e 22 20 | .:maintainer...'("Magnar.Sveen". |
| 0520 | 2e 20 22 6d 61 67 6e 61 72 73 40 67 6d 61 69 6c 2e 63 6f 6d 22 29 0a 20 20 3a 6b 65 79 77 6f 72 | .."magnars@gmail.com")...:keywor |
| 0540 | 64 73 0a 20 20 27 28 22 65 78 74 65 6e 73 69 6f 6e 73 22 20 22 6c 69 73 70 22 29 0a 20 20 3a 75 | ds...'("extensions"."lisp")...:u |
| 0560 | 72 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 | rl."https://github.com/magnars/d |
| 0580 | 61 73 68 2e 65 6c 22 29 0a 3b 3b 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a 3b 3b 20 | ash.el").;;.Local.Variables:.;;. |
| 05a0 | 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 0a 3b 3b 20 45 6e 64 3a 0a 00 00 00 00 00 | no-byte-compile:.t.;;.End:...... |
| 05c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 05e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0600 | 64 61 73 68 2d 32 30 32 34 30 34 30 35 2e 39 34 36 2f 64 61 73 68 2e 65 6c 00 00 00 00 00 00 00 | dash-20240405.946/dash.el....... |
| 0620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0660 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 0680 | 30 34 34 31 35 33 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 31 32 33 00 20 30 00 00 00 | 0441530.00000000000.013123..0... |
| 06a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 06c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 06e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0700 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0720 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0800 | 3b 3b 3b 20 64 61 73 68 2e 65 6c 20 2d 2d 2d 20 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 | ;;;.dash.el.---.A.modern.list.li |
| 0820 | 62 72 61 72 79 20 66 6f 72 20 45 6d 61 63 73 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e | brary.for.Emacs..-*-.lexical-bin |
| 0840 | 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 | ding:.t.-*-..;;.Copyright.(C).20 |
| 0860 | 31 32 2d 32 30 32 34 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e | 12-2024.Free.Software.Foundation |
| 0880 | 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 4d 61 67 6e 61 72 20 53 76 65 65 6e 20 | ,.Inc...;;.Author:.Magnar.Sveen. |
| 08a0 | 3c 6d 61 67 6e 61 72 73 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 | <magnars@gmail.com>.;;.Version:. |
| 08c0 | 32 2e 31 39 2e 31 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 65 6d | 2.19.1.;;.Package-Requires:.((em |
| 08e0 | 61 63 73 20 22 32 34 22 29 29 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 65 78 74 65 6e 73 69 6f | acs."24")).;;.Keywords:.extensio |
| 0900 | 6e 73 2c 20 6c 69 73 70 0a 3b 3b 20 48 6f 6d 65 70 61 67 65 3a 20 68 74 74 70 73 3a 2f 2f 67 69 | ns,.lisp.;;.Homepage:.https://gi |
| 0920 | 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 0a 0a 3b 3b 20 54 68 69 | thub.com/magnars/dash.el..;;.Thi |
| 0940 | 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 | s.program.is.free.software:.you. |
| 0960 | 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 | can.redistribute.it.and/or.modif |
| 0980 | 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 | y.;;.it.under.the.terms.of.the.G |
| 09a0 | 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 | NU.General.Public.License.as.pub |
| 09c0 | 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 | lished.by.;;.the.Free.Software.F |
| 09e0 | 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 | oundation,.either.version.3.of.t |
| 0a00 | 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f | he.License,.or.;;.(at.your.optio |
| 0a20 | 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 | n).any.later.version...;;.This.p |
| 0a40 | 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 | rogram.is.distributed.in.the.hop |
| 0a60 | 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 | e.that.it.will.be.useful,.;;.but |
| 0a80 | 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 | .WITHOUT.ANY.WARRANTY;.without.e |
| 0aa0 | 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d | ven.the.implied.warranty.of.;;.M |
| 0ac0 | 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 | ERCHANTABILITY.or.FITNESS.FOR.A. |
| 0ae0 | 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 | PARTICULAR.PURPOSE...See.the.;;. |
| 0b00 | 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d | GNU.General.Public.License.for.m |
| 0b20 | 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 | ore.details...;;.You.should.have |
| 0b40 | 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 | .received.a.copy.of.the.GNU.Gene |
| 0b60 | 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 | ral.Public.License.;;.along.with |
| 0b80 | 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 | .this.program...If.not,.see.<htt |
| 0ba0 | 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b | ps://www.gnu.org/licenses/>...;; |
| 0bc0 | 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 | ;.Commentary:..;;.A.modern.list. |
| 0be0 | 41 50 49 20 66 6f 72 20 45 6d 61 63 73 2e 0a 3b 3b 0a 3b 3b 20 53 65 65 20 69 74 73 20 6f 76 65 | API.for.Emacs..;;.;;.See.its.ove |
| 0c00 | 72 76 69 65 77 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e | rview.at.https://github.com/magn |
| 0c20 | 61 72 73 2f 64 61 73 68 2e 65 6c 23 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 | ars/dash.el#functions...;;;.Code |
| 0c40 | 3a 0a 0a 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 3b 3b 20 54 4f 44 4f 3a | :..(eval-when-compile...;;.TODO: |
| 0c60 | 20 45 6d 61 63 73 20 32 34 2e 33 20 66 69 72 73 74 20 69 6e 74 72 6f 64 75 63 65 64 20 60 67 76 | .Emacs.24.3.first.introduced.`gv |
| 0c80 | 27 2c 20 73 6f 20 72 65 6d 6f 76 65 20 74 68 69 73 20 61 6e 64 20 61 6c 6c 0a 20 20 3b 3b 20 63 | ',.so.remove.this.and.all...;;.c |
| 0ca0 | 61 6c 6c 73 20 74 6f 20 60 64 65 66 73 65 74 66 27 20 77 68 65 6e 20 73 75 70 70 6f 72 74 20 66 | alls.to.`defsetf'.when.support.f |
| 0cc0 | 6f 72 20 65 61 72 6c 69 65 72 20 76 65 72 73 69 6f 6e 73 20 69 73 20 64 72 6f 70 70 65 64 2e 0a | or.earlier.versions.is.dropped.. |
| 0ce0 | 20 20 28 75 6e 6c 65 73 73 20 28 66 62 6f 75 6e 64 70 20 27 67 76 2d 64 65 66 69 6e 65 2d 73 65 | ..(unless.(fboundp.'gv-define-se |
| 0d00 | 74 74 65 72 29 0a 20 20 20 20 28 72 65 71 75 69 72 65 20 27 63 6c 29 29 0a 0a 20 20 3b 3b 20 2d | tter).....(require.'cl))....;;.- |
| 0d20 | 20 32 34 2e 33 20 73 74 61 72 74 65 64 20 63 6f 6d 70 6c 61 69 6e 69 6e 67 20 61 62 6f 75 74 20 | .24.3.started.complaining.about. |
| 0d40 | 75 6e 6b 6e 6f 77 6e 20 60 64 65 63 6c 61 72 65 27 20 70 72 6f 70 73 2e 0a 20 20 3b 3b 20 2d 20 | unknown.`declare'.props....;;.-. |
| 0d60 | 32 35 20 69 6e 74 72 6f 64 75 63 65 64 20 60 70 75 72 65 27 20 61 6e 64 20 60 73 69 64 65 2d 65 | 25.introduced.`pure'.and.`side-e |
| 0d80 | 66 66 65 63 74 2d 66 72 65 65 27 2e 0a 20 20 3b 3b 20 2d 20 33 30 20 69 6e 74 72 6f 64 75 63 65 | ffect-free'....;;.-.30.introduce |
| 0da0 | 64 20 60 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 27 2e 0a 20 20 28 77 | d.`important-return-value'....(w |
| 0dc0 | 68 65 6e 20 28 62 6f 75 6e 64 70 20 27 64 65 66 75 6e 2d 64 65 63 6c 61 72 61 74 69 6f 6e 73 2d | hen.(boundp.'defun-declarations- |
| 0de0 | 61 6c 69 73 74 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 70 72 6f 70 20 27 28 69 6d 70 6f 72 | alist).....(dolist.(prop.'(impor |
| 0e00 | 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 70 75 72 65 20 73 69 64 65 2d 65 66 66 65 | tant-return-value.pure.side-effe |
| 0e20 | 63 74 2d 66 72 65 65 29 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 61 73 73 71 20 70 72 | ct-free)).......(unless.(assq.pr |
| 0e40 | 6f 70 20 64 65 66 75 6e 2d 64 65 63 6c 61 72 61 74 69 6f 6e 73 2d 61 6c 69 73 74 29 0a 20 20 20 | op.defun-declarations-alist).... |
| 0e60 | 20 20 20 20 20 28 70 75 73 68 20 28 6c 69 73 74 20 70 72 6f 70 20 23 27 69 67 6e 6f 72 65 29 20 | .....(push.(list.prop.#'ignore). |
| 0e80 | 64 65 66 75 6e 2d 64 65 63 6c 61 72 61 74 69 6f 6e 73 2d 61 6c 69 73 74 29 29 29 29 29 0a 0a 28 | defun-declarations-alist)))))..( |
| 0ea0 | 64 65 66 67 72 6f 75 70 20 64 61 73 68 20 28 29 0a 20 20 22 43 75 73 74 6f 6d 69 7a 65 20 67 72 | defgroup.dash.()..."Customize.gr |
| 0ec0 | 6f 75 70 20 66 6f 72 20 44 61 73 68 2c 20 61 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 62 72 | oup.for.Dash,.a.modern.list.libr |
| 0ee0 | 61 72 79 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 65 78 74 65 6e 73 69 6f 6e 73 0a 20 20 3a 67 72 | ary."...:group.'extensions...:gr |
| 0f00 | 6f 75 70 20 27 6c 69 73 70 0a 20 20 3a 70 72 65 66 69 78 20 22 64 61 73 68 2d 22 29 0a 0a 28 64 | oup.'lisp...:prefix."dash-")..(d |
| 0f20 | 65 66 6d 61 63 72 6f 20 21 63 6f 6e 73 20 28 63 61 72 20 63 64 72 29 0a 20 20 22 44 65 73 74 72 | efmacro.!cons.(car.cdr)..."Destr |
| 0f40 | 75 63 74 69 76 65 3a 20 53 65 74 20 43 44 52 20 74 6f 20 74 68 65 20 63 6f 6e 73 20 6f 66 20 43 | uctive:.Set.CDR.to.the.cons.of.C |
| 0f60 | 41 52 20 61 6e 64 20 43 44 52 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 | AR.and.CDR."...(declare.(debug.( |
| 0f80 | 66 6f 72 6d 20 73 79 6d 62 6f 6c 70 29 29 29 0a 20 20 60 28 73 65 74 71 20 2c 63 64 72 20 28 63 | form.symbolp)))...`(setq.,cdr.(c |
| 0fa0 | 6f 6e 73 20 2c 63 61 72 20 2c 63 64 72 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 21 63 64 72 | ons.,car.,cdr)))..(defmacro.!cdr |
| 0fc0 | 20 28 6c 69 73 74 29 0a 20 20 22 44 65 73 74 72 75 63 74 69 76 65 3a 20 53 65 74 20 4c 49 53 54 | .(list)..."Destructive:.Set.LIST |
| 0fe0 | 20 74 6f 20 74 68 65 20 63 64 72 20 6f 66 20 4c 49 53 54 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 | .to.the.cdr.of.LIST."...(declare |
| 1000 | 20 28 64 65 62 75 67 20 28 73 79 6d 62 6f 6c 70 29 29 29 0a 20 20 60 28 73 65 74 71 20 2c 6c 69 | .(debug.(symbolp)))...`(setq.,li |
| 1020 | 73 74 20 28 63 64 72 20 2c 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 65 61 | st.(cdr.,list)))..(defmacro.--ea |
| 1040 | 63 68 20 28 6c 69 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 45 76 61 6c 75 61 74 65 | ch.(list.&rest.body)..."Evaluate |
| 1060 | 20 42 4f 44 59 20 66 6f 72 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 61 | .BODY.for.each.element.of.LIST.a |
| 1080 | 6e 64 20 72 65 74 75 72 6e 20 6e 69 6c 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c | nd.return.nil..Each.element.of.L |
| 10a0 | 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 | IST.in.turn.is.bound.to.`it'.and |
| 10c0 | 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e | .its.index.within.LIST.to.`it-in |
| 10e0 | 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 42 4f 44 59 2e 0a 54 68 69 | dex'.before.evaluating.BODY..Thi |
| 1100 | 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 | s.is.the.anaphoric.counterpart.t |
| 1120 | 6f 20 60 2d 65 61 63 68 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 | o.`-each'."...(declare.(debug.(f |
| 1140 | 6f 72 6d 20 62 6f 64 79 29 29 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 6c 65 74 20 28 28 | orm.body)).(indent.1))...(let.(( |
| 1160 | 6c 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 22 29 29 0a 20 20 20 20 20 20 20 20 | l.(make-symbol."list"))......... |
| 1180 | 28 69 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 69 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 | (i.(make-symbol."i"))).....`(let |
| 11a0 | 20 28 28 2c 6c 20 2c 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2c 69 20 30 29 29 0a | .((,l.,list)............(,i.0)). |
| 11c0 | 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 2c 6c 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 | .......(while.,l..........(let.( |
| 11e0 | 28 69 74 20 28 70 6f 70 20 2c 6c 29 29 20 28 69 74 2d 69 6e 64 65 78 20 2c 69 29 29 0a 20 20 20 | (it.(pop.,l)).(it-index.,i)).... |
| 1200 | 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 20 69 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 | ........(ignore.it.it-index).... |
| 1220 | 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c | ........,@body)..........(setq., |
| 1240 | 69 20 28 31 2b 20 2c 69 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 65 61 63 68 20 28 6c 69 | i.(1+.,i))))))..(defun.-each.(li |
| 1260 | 73 74 20 66 6e 29 0a 20 20 22 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e | st.fn)..."Call.FN.on.each.elemen |
| 1280 | 74 20 6f 66 20 4c 49 53 54 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e 63 | t.of.LIST..Return.nil;.this.func |
| 12a0 | 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 | tion.is.intended.for.side.effect |
| 12c0 | 73 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 | s...Its.anaphoric.counterpart.is |
| 12e0 | 20 60 2d 2d 65 61 63 68 27 2e 0a 0a 46 6f 72 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 63 75 | .`--each'...For.access.to.the.cu |
| 1300 | 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 27 73 20 69 6e 64 65 78 20 69 6e 20 4c 49 53 54 2c 20 73 | rrent.element's.index.in.LIST,.s |
| 1320 | 65 65 0a 60 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 | ee.`-each-indexed'."...(declare. |
| 1340 | 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 69 67 6e 6f 72 65 20 28 6d 61 70 63 20 66 6e 20 6c | (indent.1))...(ignore.(mapc.fn.l |
| 1360 | 69 73 74 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 65 61 63 68 2d 69 6e 64 65 78 65 | ist)))..(defalias.'--each-indexe |
| 1380 | 64 20 27 2d 2d 65 61 63 68 29 0a 0a 28 64 65 66 75 6e 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 | d.'--each)..(defun.-each-indexed |
| 13a0 | 20 28 6c 69 73 74 20 66 6e 29 0a 20 20 22 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 69 6e | .(list.fn)..."Call.FN.on.each.in |
| 13c0 | 64 65 78 20 61 6e 64 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 0a 46 6f 72 20 65 61 63 | dex.and.element.of.LIST..For.eac |
| 13e0 | 68 20 49 54 45 4d 20 61 74 20 49 4e 44 45 58 20 69 6e 20 4c 49 53 54 2c 20 63 61 6c 6c 20 28 66 | h.ITEM.at.INDEX.in.LIST,.call.(f |
| 1400 | 75 6e 63 61 6c 6c 20 46 4e 20 49 4e 44 45 58 20 49 54 45 4d 29 2e 0a 52 65 74 75 72 6e 20 6e 69 | uncall.FN.INDEX.ITEM)..Return.ni |
| 1420 | 6c 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 | l;.this.function.is.intended.for |
| 1440 | 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 6d 61 70 2d | .side.effects...See.also:.`-map- |
| 1460 | 69 6e 64 65 78 65 64 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 | indexed'."...(declare.(indent.1) |
| 1480 | 29 0a 20 20 28 2d 2d 65 61 63 68 20 6c 69 73 74 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 2d | )...(--each.list.(funcall.fn.it- |
| 14a0 | 69 6e 64 65 78 20 69 74 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 65 61 63 68 2d 77 68 | index.it)))..(defmacro.--each-wh |
| 14c0 | 69 6c 65 20 28 6c 69 73 74 20 70 72 65 64 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 45 76 | ile.(list.pred.&rest.body)..."Ev |
| 14e0 | 61 6c 75 61 74 65 20 42 4f 44 59 20 66 6f 72 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 | aluate.BODY.for.each.item.in.LIS |
| 1500 | 54 2c 20 77 68 69 6c 65 20 50 52 45 44 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e | T,.while.PRED.evaluates.to.non-n |
| 1520 | 69 6c 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e | il..Each.element.of.LIST.in.turn |
| 1540 | 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a | .is.bound.to.`it'.and.its.index. |
| 1560 | 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 | within.LIST.to.`it-index'.before |
| 1580 | 20 65 76 61 6c 75 61 74 69 6e 67 20 50 52 45 44 20 6f 72 20 42 4f 44 59 2e 20 20 4f 6e 63 65 0a | .evaluating.PRED.or.BODY...Once. |
| 15a0 | 61 6e 20 65 6c 65 6d 65 6e 74 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 | an.element.is.reached.for.which. |
| 15c0 | 50 52 45 44 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 69 6c 2c 20 6e 6f 20 66 75 72 74 68 65 | PRED.evaluates.to.nil,.no.furthe |
| 15e0 | 72 0a 42 4f 44 59 20 69 73 20 65 76 61 6c 75 61 74 65 64 2e 20 20 54 68 65 20 72 65 74 75 72 6e | r.BODY.is.evaluated...The.return |
| 1600 | 20 76 61 6c 75 65 20 69 73 20 61 6c 77 61 79 73 20 6e 69 6c 2e 0a 54 68 69 73 20 69 73 20 74 68 | .value.is.always.nil..This.is.th |
| 1620 | 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 65 61 63 | e.anaphoric.counterpart.to.`-eac |
| 1640 | 68 2d 77 68 69 6c 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f | h-while'."...(declare.(debug.(fo |
| 1660 | 72 6d 20 66 6f 72 6d 20 62 6f 64 79 29 29 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 20 28 6c 65 | rm.form.body)).(indent.2))...(le |
| 1680 | 74 20 28 28 6c 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 22 29 29 0a 20 20 20 20 | t.((l.(make-symbol."list"))..... |
| 16a0 | 20 20 20 20 28 69 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 69 22 29 29 0a 20 20 20 20 20 20 | ....(i.(make-symbol."i"))....... |
| 16c0 | 20 20 28 65 6c 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 65 6c 74 22 29 29 29 0a 20 20 20 | ..(elt.(make-symbol."elt"))).... |
| 16e0 | 20 60 28 6c 65 74 20 28 28 2c 6c 20 2c 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2c | .`(let.((,l.,list)............(, |
| 1700 | 69 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 2c 65 6c 74 29 0a 20 20 20 20 20 20 20 28 77 68 | i.0)............,elt)........(wh |
| 1720 | 69 6c 65 20 28 77 68 65 6e 20 2c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 | ile.(when.,l.................(se |
| 1740 | 74 71 20 2c 65 6c 74 20 28 63 61 72 2d 73 61 66 65 20 2c 6c 29 29 0a 20 20 20 20 20 20 20 20 20 | tq.,elt.(car-safe.,l)).......... |
| 1760 | 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 74 20 2c 65 6c 74 29 20 28 69 74 2d 69 6e 64 65 78 | .......(let.((it.,elt).(it-index |
| 1780 | 20 2c 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 20 | .,i))...................(ignore. |
| 17a0 | 69 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c | it.it-index)..................., |
| 17c0 | 70 72 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 74 20 2c 65 6c 74 29 20 | pred))..........(let.((it.,elt). |
| 17e0 | 28 69 74 2d 69 6e 64 65 78 20 2c 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 | (it-index.,i))............(ignor |
| 1800 | 65 20 69 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 | e.it.it-index)............,@body |
| 1820 | 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 69 20 28 31 2b 20 2c 69 29 20 2c 6c 20 28 | )..........(setq.,i.(1+.,i).,l.( |
| 1840 | 63 64 72 20 2c 6c 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 65 61 63 68 2d 77 68 69 6c 65 | cdr.,l))))))..(defun.-each-while |
| 1860 | 20 28 6c 69 73 74 20 70 72 65 64 20 66 6e 29 0a 20 20 22 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 | .(list.pred.fn)..."Call.FN.on.ea |
| 1880 | 63 68 20 49 54 45 4d 20 69 6e 20 4c 49 53 54 2c 20 77 68 69 6c 65 20 28 50 52 45 44 20 49 54 45 | ch.ITEM.in.LIST,.while.(PRED.ITE |
| 18a0 | 4d 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 4f 6e 63 65 20 61 6e 20 49 54 45 4d 20 69 73 20 72 | M).is.non-nil..Once.an.ITEM.is.r |
| 18c0 | 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 69 | eached.for.which.PRED.returns.ni |
| 18e0 | 6c 2c 20 46 4e 20 69 73 20 6e 6f 0a 6c 6f 6e 67 65 72 20 63 61 6c 6c 65 64 2e 20 20 52 65 74 75 | l,.FN.is.no.longer.called...Retu |
| 1900 | 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 | rn.nil;.this.function.is.intende |
| 1920 | 64 20 66 6f 72 20 73 69 64 65 0a 65 66 66 65 63 74 73 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 | d.for.side.effects...Its.anaphor |
| 1940 | 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 65 61 63 68 2d 77 68 69 6c 65 27 | ic.counterpart.is.`--each-while' |
| 1960 | 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 20 28 2d 2d 65 | ."...(declare.(indent.2))...(--e |
| 1980 | 61 63 68 2d 77 68 69 6c 65 20 6c 69 73 74 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 | ach-while.list.(funcall.pred.it) |
| 19a0 | 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d | .(funcall.fn.it)))..(defmacro.-- |
| 19c0 | 65 61 63 68 2d 72 20 28 6c 69 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 45 76 61 6c | each-r.(list.&rest.body)..."Eval |
| 19e0 | 75 61 74 65 20 42 4f 44 59 20 66 6f 72 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 | uate.BODY.for.each.element.of.LI |
| 1a00 | 53 54 20 69 6e 20 72 65 76 65 72 73 65 64 20 6f 72 64 65 72 2e 0a 45 61 63 68 20 65 6c 65 6d 65 | ST.in.reversed.order..Each.eleme |
| 1a20 | 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 2c 20 73 74 61 72 74 69 6e 67 20 61 74 20 | nt.of.LIST.in.turn,.starting.at. |
| 1a40 | 69 74 73 20 65 6e 64 2c 20 69 73 20 62 6f 75 6e 64 20 74 6f 0a 60 69 74 27 20 61 6e 64 20 69 74 | its.end,.is.bound.to.`it'.and.it |
| 1a60 | 73 20 69 6e 64 65 78 20 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 | s.index.within.LIST.to.`it-index |
| 1a80 | 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 0a 42 4f 44 59 2e 20 20 54 68 65 20 72 | '.before.evaluating.BODY...The.r |
| 1aa0 | 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 6c 77 61 79 73 20 6e 69 6c 2e 0a 54 68 69 73 20 | eturn.value.is.always.nil..This. |
| 1ac0 | 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 | is.the.anaphoric.counterpart.to. |
| 1ae0 | 60 2d 65 61 63 68 2d 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 | `-each-r'."...(declare.(debug.(f |
| 1b00 | 6f 72 6d 20 62 6f 64 79 29 29 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 6c 65 74 20 28 28 | orm.body)).(indent.1))...(let.(( |
| 1b20 | 76 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 76 65 63 74 6f 72 22 29 29 0a 20 20 20 20 20 20 | v.(make-symbol."vector"))....... |
| 1b40 | 20 20 28 69 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 69 22 29 29 29 0a 20 20 20 20 3b 3b 20 | ..(i.(make-symbol."i"))).....;;. |
| 1b60 | 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6e 6f 74 65 3a 20 62 75 69 6c 64 69 6e 67 20 61 20 | Implementation.note:.building.a. |
| 1b80 | 76 65 63 74 6f 72 20 69 73 20 63 6f 6e 73 69 64 65 72 61 62 6c 79 20 66 61 73 74 65 72 0a 20 20 | vector.is.considerably.faster... |
| 1ba0 | 20 20 3b 3b 20 74 68 61 6e 20 62 75 69 6c 64 69 6e 67 20 61 20 72 65 76 65 72 73 65 64 20 6c 69 | ..;;.than.building.a.reversed.li |
| 1bc0 | 73 74 20 28 76 65 63 74 6f 72 20 74 61 6b 65 73 20 6c 65 73 73 20 6d 65 6d 6f 72 79 2c 20 73 6f | st.(vector.takes.less.memory,.so |
| 1be0 | 0a 20 20 20 20 3b 3b 20 74 68 65 72 65 20 69 73 20 6c 65 73 73 20 47 43 29 2c 20 70 6c 75 73 20 | .....;;.there.is.less.GC),.plus. |
| 1c00 | 60 6c 65 6e 67 74 68 27 20 63 6f 6d 65 73 20 6e 61 74 75 72 61 6c 6c 79 2e 20 20 49 6e 2d 70 6c | `length'.comes.naturally...In-pl |
| 1c20 | 61 63 65 0a 20 20 20 20 3b 3b 20 60 6e 72 65 76 65 72 73 65 27 20 77 6f 75 6c 64 20 62 65 20 66 | ace.....;;.`nreverse'.would.be.f |
| 1c40 | 61 73 74 65 72 20 73 74 69 6c 6c 2c 20 62 75 74 20 42 4f 44 59 20 77 6f 75 6c 64 20 62 65 20 61 | aster.still,.but.BODY.would.be.a |
| 1c60 | 62 6c 65 20 74 6f 20 73 65 65 0a 20 20 20 20 3b 3b 20 74 68 61 74 2c 20 65 76 65 6e 20 69 66 20 | ble.to.see.....;;.that,.even.if. |
| 1c80 | 74 68 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 77 61 73 20 75 6e 64 6f 6e 65 20 62 65 66 6f | the.modification.was.undone.befo |
| 1ca0 | 72 65 20 77 65 20 72 65 74 75 72 6e 2e 0a 20 20 20 20 60 28 6c 65 74 2a 20 28 28 2c 76 20 28 76 | re.we.return......`(let*.((,v.(v |
| 1cc0 | 63 6f 6e 63 61 74 20 2c 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 69 20 28 | concat.,list)).............(,i.( |
| 1ce0 | 6c 65 6e 67 74 68 20 2c 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 74 20 69 74 2d 69 6e | length.,v)).............it.it-in |
| 1d00 | 64 65 78 29 0a 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 20 69 74 20 69 74 2d 69 6e 64 65 78 29 | dex)........(ignore.it.it-index) |
| 1d20 | 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 2c 69 20 30 29 0a 20 20 20 20 20 20 20 20 | ........(while.(>.,i.0)......... |
| 1d40 | 20 28 73 65 74 71 20 2c 69 20 28 31 2d 20 2c 69 29 20 69 74 2d 69 6e 64 65 78 20 2c 69 20 69 74 | .(setq.,i.(1-.,i).it-index.,i.it |
| 1d60 | 20 28 61 72 65 66 20 2c 76 20 2c 69 29 29 0a 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 | .(aref.,v.,i))..........,@body)) |
| 1d80 | 29 29 0a 0a 28 64 65 66 75 6e 20 2d 65 61 63 68 2d 72 20 28 6c 69 73 74 20 66 6e 29 0a 20 20 22 | ))..(defun.-each-r.(list.fn)..." |
| 1da0 | 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 | Call.FN.on.each.element.of.LIST. |
| 1dc0 | 69 6e 20 72 65 76 65 72 73 65 64 20 6f 72 64 65 72 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 | in.reversed.order..Return.nil;.t |
| 1de0 | 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 | his.function.is.intended.for.sid |
| 1e00 | 65 20 65 66 66 65 63 74 73 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 | e.effects...Its.anaphoric.counte |
| 1e20 | 72 70 61 72 74 20 69 73 20 60 2d 2d 65 61 63 68 2d 72 27 2e 22 0a 20 20 28 2d 2d 65 61 63 68 2d | rpart.is.`--each-r'."...(--each- |
| 1e40 | 72 20 6c 69 73 74 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 29 29 29 0a 0a 28 64 65 66 6d 61 | r.list.(funcall.fn.it)))..(defma |
| 1e60 | 63 72 6f 20 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 28 6c 69 73 74 20 70 72 65 64 20 26 72 | cro.--each-r-while.(list.pred.&r |
| 1e80 | 65 73 74 20 62 6f 64 79 29 0a 20 20 22 45 76 61 6c 20 42 4f 44 59 20 66 6f 72 20 65 61 63 68 20 | est.body)..."Eval.BODY.for.each. |
| 1ea0 | 69 74 65 6d 20 69 6e 20 72 65 76 65 72 73 65 64 20 4c 49 53 54 2c 20 77 68 69 6c 65 20 50 52 45 | item.in.reversed.LIST,.while.PRE |
| 1ec0 | 44 20 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 | D.evals.to.non-nil..Each.element |
| 1ee0 | 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 2c 20 73 74 61 72 74 69 6e 67 20 61 74 20 69 74 | .of.LIST.in.turn,.starting.at.it |
| 1f00 | 73 20 65 6e 64 2c 20 69 73 20 62 6f 75 6e 64 20 74 6f 0a 60 69 74 27 20 61 6e 64 20 69 74 73 20 | s.end,.is.bound.to.`it'.and.its. |
| 1f20 | 69 6e 64 65 78 20 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 | index.within.LIST.to.`it-index'. |
| 1f40 | 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 0a 50 52 45 44 20 6f 72 20 42 4f 44 59 2e 20 | before.evaluating.PRED.or.BODY.. |
| 1f60 | 20 4f 6e 63 65 20 61 6e 20 65 6c 65 6d 65 6e 74 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 | .Once.an.element.is.reached.for. |
| 1f80 | 77 68 69 63 68 20 50 52 45 44 0a 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 69 6c 2c 20 6e 6f 20 | which.PRED.evaluates.to.nil,.no. |
| 1fa0 | 66 75 72 74 68 65 72 20 42 4f 44 59 20 69 73 20 65 76 61 6c 75 61 74 65 64 2e 20 20 54 68 65 20 | further.BODY.is.evaluated...The. |
| 1fc0 | 72 65 74 75 72 6e 20 76 61 6c 75 65 0a 69 73 20 61 6c 77 61 79 73 20 6e 69 6c 2e 0a 54 68 69 73 | return.value.is.always.nil..This |
| 1fe0 | 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f | .is.the.anaphoric.counterpart.to |
| 2000 | 20 60 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 | .`-each-r-while'."...(declare.(d |
| 2020 | 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 20 62 6f 64 79 29 29 20 28 69 6e 64 65 6e 74 20 32 | ebug.(form.form.body)).(indent.2 |
| 2040 | 29 29 0a 20 20 28 6c 65 74 20 28 28 76 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 76 65 63 74 | ))...(let.((v.(make-symbol."vect |
| 2060 | 6f 72 22 29 29 0a 20 20 20 20 20 20 20 20 28 69 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 69 | or")).........(i.(make-symbol."i |
| 2080 | 22 29 29 0a 20 20 20 20 20 20 20 20 28 65 6c 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 65 | ")).........(elt.(make-symbol."e |
| 20a0 | 6c 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 2a 20 28 28 2c 76 20 28 76 63 6f 6e 63 61 74 20 | lt"))).....`(let*.((,v.(vconcat. |
| 20c0 | 2c 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 69 20 28 6c 65 6e 67 74 68 20 | ,list)).............(,i.(length. |
| 20e0 | 2c 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2c 65 6c 74 20 69 74 20 69 74 2d 69 6e 64 65 | ,v)).............,elt.it.it-inde |
| 2100 | 78 29 0a 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 20 69 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 | x)........(ignore.it.it-index).. |
| 2120 | 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 77 68 65 6e 20 28 3e 20 2c 69 20 30 29 0a 20 20 20 20 | ......(while.(when.(>.,i.0)..... |
| 2140 | 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 69 20 28 31 2d 20 2c 69 29 20 69 74 2d | ............(setq.,i.(1-.,i).it- |
| 2160 | 69 6e 64 65 78 20 2c 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 | index.,i).................(setq. |
| 2180 | 2c 65 6c 74 20 28 61 72 65 66 20 2c 76 20 2c 69 29 20 69 74 20 2c 65 6c 74 29 0a 20 20 20 20 20 | ,elt.(aref.,v.,i).it.,elt)...... |
| 21a0 | 20 20 20 20 20 20 20 20 20 20 20 2c 70 72 65 64 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 | ...........,pred)..........(setq |
| 21c0 | 20 69 74 2d 69 6e 64 65 78 20 2c 69 20 69 74 20 2c 65 6c 74 29 0a 20 20 20 20 20 20 20 20 20 2c | .it-index.,i.it.,elt).........., |
| 21e0 | 40 62 6f 64 79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 | @body))))..(defun.-each-r-while. |
| 2200 | 28 6c 69 73 74 20 70 72 65 64 20 66 6e 29 0a 20 20 22 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 | (list.pred.fn)..."Call.FN.on.eac |
| 2220 | 68 20 49 54 45 4d 20 69 6e 20 72 65 76 65 72 73 65 64 20 4c 49 53 54 2c 20 77 68 69 6c 65 20 28 | h.ITEM.in.reversed.LIST,.while.( |
| 2240 | 50 52 45 44 20 49 54 45 4d 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 4f 6e 63 65 20 61 6e 20 49 | PRED.ITEM).is.non-nil..Once.an.I |
| 2260 | 54 45 4d 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 | TEM.is.reached.for.which.PRED.re |
| 2280 | 74 75 72 6e 73 20 6e 69 6c 2c 20 46 4e 20 69 73 20 6e 6f 0a 6c 6f 6e 67 65 72 20 63 61 6c 6c 65 | turns.nil,.FN.is.no.longer.calle |
| 22a0 | 64 2e 20 20 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 | d...Return.nil;.this.function.is |
| 22c0 | 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 0a 65 66 66 65 63 74 73 2e 0a 0a 49 74 73 | .intended.for.side.effects...Its |
| 22e0 | 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 65 61 63 | .anaphoric.counterpart.is.`--eac |
| 2300 | 68 2d 72 2d 77 68 69 6c 65 27 2e 22 0a 20 20 28 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 6c | h-r-while'."...(--each-r-while.l |
| 2320 | 69 73 74 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 28 66 75 6e 63 61 6c 6c 20 66 | ist.(funcall.pred.it).(funcall.f |
| 2340 | 6e 20 69 74 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 64 6f 74 69 6d 65 73 20 28 6e 75 | n.it)))..(defmacro.--dotimes.(nu |
| 2360 | 6d 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 45 76 61 6c 75 61 74 65 20 42 4f 44 59 20 4e | m.&rest.body)..."Evaluate.BODY.N |
| 2380 | 55 4d 20 74 69 6d 65 73 2c 20 70 72 65 73 75 6d 61 62 6c 79 20 66 6f 72 20 73 69 64 65 20 65 66 | UM.times,.presumably.for.side.ef |
| 23a0 | 66 65 63 74 73 2e 0a 42 4f 44 59 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 77 69 74 68 20 74 68 | fects..BODY.is.evaluated.with.th |
| 23c0 | 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 60 69 74 27 20 74 65 6d 70 6f 72 61 72 69 6c | e.local.variable.`it'.temporaril |
| 23e0 | 79 20 62 6f 75 6e 64 0a 74 6f 20 73 75 63 63 65 73 73 69 76 65 20 69 6e 74 65 67 65 72 73 20 72 | y.bound.to.successive.integers.r |
| 2400 | 75 6e 6e 69 6e 67 20 66 72 6f 6d 20 30 2c 20 69 6e 63 6c 75 73 69 76 65 2c 20 74 6f 20 4e 55 4d | unning.from.0,.inclusive,.to.NUM |
| 2420 | 2c 0a 65 78 63 6c 75 73 69 76 65 2e 20 20 42 4f 44 59 20 69 73 20 6e 6f 74 20 65 76 61 6c 75 61 | ,.exclusive...BODY.is.not.evalua |
| 2440 | 74 65 64 20 69 66 20 4e 55 4d 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 31 2e 0a 54 68 69 73 20 | ted.if.NUM.is.less.than.1..This. |
| 2460 | 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 | is.the.anaphoric.counterpart.to. |
| 2480 | 60 2d 64 6f 74 69 6d 65 73 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 | `-dotimes'."...(declare.(debug.( |
| 24a0 | 66 6f 72 6d 20 62 6f 64 79 29 29 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 6c 65 74 20 28 | form.body)).(indent.1))...(let.( |
| 24c0 | 28 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6e 75 6d 22 29 29 0a 20 20 20 20 20 20 20 20 | (n.(make-symbol."num"))......... |
| 24e0 | 28 69 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 69 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 | (i.(make-symbol."i"))).....`(let |
| 2500 | 20 28 28 2c 6e 20 2c 6e 75 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2c 69 20 30 29 0a 20 20 | .((,n.,num)............(,i.0)... |
| 2520 | 20 20 20 20 20 20 20 20 20 69 74 29 0a 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 20 69 74 29 0a | .........it)........(ignore.it). |
| 2540 | 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 2c 69 20 2c 6e 29 0a 20 20 20 20 20 20 20 20 | .......(while.(<.,i.,n)......... |
| 2560 | 20 28 73 65 74 71 20 69 74 20 2c 69 20 2c 69 20 28 31 2b 20 2c 69 29 29 0a 20 20 20 20 20 20 20 | .(setq.it.,i.,i.(1+.,i))........ |
| 2580 | 20 20 2c 40 62 6f 64 79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 64 6f 74 69 6d 65 73 20 28 6e | ..,@body))))..(defun.-dotimes.(n |
| 25a0 | 75 6d 20 66 6e 29 0a 20 20 22 43 61 6c 6c 20 46 4e 20 4e 55 4d 20 74 69 6d 65 73 2c 20 70 72 65 | um.fn)..."Call.FN.NUM.times,.pre |
| 25c0 | 73 75 6d 61 62 6c 79 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 46 4e 20 69 73 20 | sumably.for.side.effects..FN.is. |
| 25e0 | 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 20 61 72 67 75 6d 65 6e 74 20 6f 6e | called.with.a.single.argument.on |
| 2600 | 20 73 75 63 63 65 73 73 69 76 65 20 69 6e 74 65 67 65 72 73 0a 72 75 6e 6e 69 6e 67 20 66 72 6f | .successive.integers.running.fro |
| 2620 | 6d 20 30 2c 20 69 6e 63 6c 75 73 69 76 65 2c 20 74 6f 20 4e 55 4d 2c 20 65 78 63 6c 75 73 69 76 | m.0,.inclusive,.to.NUM,.exclusiv |
| 2640 | 65 2e 20 20 46 4e 20 69 73 20 6e 6f 74 20 63 61 6c 6c 65 64 0a 69 66 20 4e 55 4d 20 69 73 20 6c | e...FN.is.not.called.if.NUM.is.l |
| 2660 | 65 73 73 20 74 68 61 6e 20 31 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 | ess.than.1...This.function's.ana |
| 2680 | 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 64 6f 74 69 6d 65 73 | phoric.counterpart.is.`--dotimes |
| 26a0 | 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 2d 2d | '."...(declare.(indent.1))...(-- |
| 26c0 | 64 6f 74 69 6d 65 73 20 6e 75 6d 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 29 29 29 0a 0a 28 | dotimes.num.(funcall.fn.it)))..( |
| 26e0 | 64 65 66 75 6e 20 2d 6d 61 70 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 41 70 70 6c 79 20 46 4e | defun.-map.(fn.list)..."Apply.FN |
| 2700 | 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e | .to.each.item.in.LIST.and.return |
| 2720 | 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 | .the.list.of.results...This.func |
| 2740 | 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 | tion's.anaphoric.counterpart.is. |
| 2760 | 60 2d 2d 6d 61 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d | `--map'."...(declare.(important- |
| 2780 | 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 6d 61 70 63 61 72 20 66 6e 20 6c 69 | return-value.t))...(mapcar.fn.li |
| 27a0 | 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6d 61 70 20 28 66 6f 72 6d 20 6c 69 73 74 | st))..(defmacro.--map.(form.list |
| 27c0 | 29 0a 20 20 22 45 76 61 6c 20 46 4f 52 4d 20 66 6f 72 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 | )..."Eval.FORM.for.each.item.in. |
| 27e0 | 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 | LIST.and.return.the.list.of.resu |
| 2800 | 6c 74 73 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 | lts..Each.element.of.LIST.in.tur |
| 2820 | 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 | n.is.bound.to.`it'.before.evalua |
| 2840 | 74 69 6e 67 0a 46 4f 52 4d 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 | ting.FORM..This.is.the.anaphoric |
| 2860 | 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 6d 61 70 27 2e 22 0a 20 20 28 64 65 63 6c | .counterpart.to.`-map'."...(decl |
| 2880 | 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 | are.(debug.(def-form.form)))...` |
| 28a0 | 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 29 | (mapcar.(lambda.(it).(ignore.it) |
| 28c0 | 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 64 | .,form).,list))..(defmacro.--red |
| 28e0 | 75 63 65 2d 66 72 6f 6d 20 28 66 6f 72 6d 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 22 41 63 63 | uce-from.(form.init.list)..."Acc |
| 2900 | 75 6d 75 6c 61 74 65 20 61 20 76 61 6c 75 65 20 62 79 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f | umulate.a.value.by.evaluating.FO |
| 2920 | 52 4d 20 61 63 72 6f 73 73 20 4c 49 53 54 2e 0a 54 68 69 73 20 6d 61 63 72 6f 20 69 73 20 6c 69 | RM.across.LIST..This.macro.is.li |
| 2940 | 6b 65 20 60 2d 2d 65 61 63 68 27 20 28 77 68 69 63 68 20 73 65 65 29 2c 20 62 75 74 20 69 74 20 | ke.`--each'.(which.see),.but.it. |
| 2960 | 61 64 64 69 74 69 6f 6e 61 6c 6c 79 0a 70 72 6f 76 69 64 65 73 20 61 6e 20 61 63 63 75 6d 75 6c | additionally.provides.an.accumul |
| 2980 | 61 74 6f 72 20 76 61 72 69 61 62 6c 65 20 60 61 63 63 27 20 77 68 69 63 68 20 69 74 20 73 75 63 | ator.variable.`acc'.which.it.suc |
| 29a0 | 63 65 73 73 69 76 65 6c 79 0a 62 69 6e 64 73 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 | cessively.binds.to.the.result.of |
| 29c0 | 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 | .evaluating.FORM.for.the.current |
| 29e0 | 20 4c 49 53 54 0a 65 6c 65 6d 65 6e 74 20 62 65 66 6f 72 65 20 70 72 6f 63 65 73 73 69 6e 67 20 | .LIST.element.before.processing. |
| 2a00 | 74 68 65 20 6e 65 78 74 20 65 6c 65 6d 65 6e 74 2e 20 20 46 6f 72 20 74 68 65 20 66 69 72 73 74 | the.next.element...For.the.first |
| 2a20 | 0a 65 6c 65 6d 65 6e 74 2c 20 60 61 63 63 27 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 77 | .element,.`acc'.is.initialized.w |
| 2a40 | 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 65 76 61 6c 75 61 74 69 6e 67 20 49 4e 49 | ith.the.result.of.evaluating.INI |
| 2a60 | 54 2e 0a 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 72 65 73 75 6c | T..The.return.value.is.the.resul |
| 2a80 | 74 69 6e 67 20 76 61 6c 75 65 20 6f 66 20 60 61 63 63 27 2e 20 20 49 66 20 4c 49 53 54 20 69 73 | ting.value.of.`acc'...If.LIST.is |
| 2aa0 | 0a 65 6d 70 74 79 2c 20 46 4f 52 4d 20 69 73 20 6e 6f 74 20 65 76 61 6c 75 61 74 65 64 2c 20 61 | .empty,.FORM.is.not.evaluated,.a |
| 2ac0 | 6e 64 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 72 65 73 75 6c | nd.the.return.value.is.the.resul |
| 2ae0 | 74 0a 6f 66 20 49 4e 49 54 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 | t.of.INIT..This.is.the.anaphoric |
| 2b00 | 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 65 64 75 63 65 2d 66 72 6f 6d 27 2e 22 | .counterpart.to.`-reduce-from'." |
| 2b20 | 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 20 66 6f | ...(declare.(debug.(form.form.fo |
| 2b40 | 72 6d 29 29 29 0a 20 20 60 28 6c 65 74 20 28 28 61 63 63 20 2c 69 6e 69 74 29 29 0a 20 20 20 20 | rm)))...`(let.((acc.,init))..... |
| 2b60 | 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 20 28 73 65 74 71 20 61 63 63 20 2c 66 6f 72 6d 29 29 | .(--each.,list.(setq.acc.,form)) |
| 2b80 | 0a 20 20 20 20 20 61 63 63 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 63 65 2d 66 72 6f 6d | ......acc))..(defun.-reduce-from |
| 2ba0 | 20 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 22 52 65 64 75 63 65 20 74 68 65 20 66 75 | .(fn.init.list)..."Reduce.the.fu |
| 2bc0 | 6e 63 74 69 6f 6e 20 46 4e 20 61 63 72 6f 73 73 20 4c 49 53 54 2c 20 73 74 61 72 74 69 6e 67 20 | nction.FN.across.LIST,.starting. |
| 2be0 | 77 69 74 68 20 49 4e 49 54 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 | with.INIT..Return.the.result.of. |
| 2c00 | 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 49 4e 49 54 20 61 6e 64 20 74 68 65 20 66 69 72 73 | applying.FN.to.INIT.and.the.firs |
| 2c20 | 74 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 4c 49 53 54 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 | t.element.of.LIST,.then.applying |
| 2c40 | 20 46 4e 20 74 6f 20 74 68 61 74 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 65 20 73 65 63 6f 6e | .FN.to.that.result.and.the.secon |
| 2c60 | 64 20 65 6c 65 6d 65 6e 74 2c 0a 65 74 63 2e 20 20 49 66 20 4c 49 53 54 20 69 73 20 65 6d 70 74 | d.element,.etc...If.LIST.is.empt |
| 2c80 | 79 2c 20 72 65 74 75 72 6e 20 49 4e 49 54 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 46 | y,.return.INIT.without.calling.F |
| 2ca0 | 4e 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f | N...This.function's.anaphoric.co |
| 2cc0 | 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 27 2e 0a 0a 46 | unterpart.is.`--reduce-from'...F |
| 2ce0 | 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 72 65 64 75 63 | or.other.folds,.see.also.`-reduc |
| 2d00 | 65 27 20 61 6e 64 20 60 2d 72 65 64 75 63 65 2d 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 | e'.and.`-reduce-r'."...(declare. |
| 2d20 | 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d | (important-return-value.t))...(- |
| 2d40 | 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 61 63 63 20 69 74 29 | -reduce-from.(funcall.fn.acc.it) |
| 2d60 | 20 69 6e 69 74 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 64 75 63 65 | .init.list))..(defmacro.--reduce |
| 2d80 | 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 63 63 75 6d 75 6c 61 74 65 20 61 20 76 61 6c | .(form.list)..."Accumulate.a.val |
| 2da0 | 75 65 20 62 79 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 20 61 63 72 6f 73 73 20 4c 49 53 | ue.by.evaluating.FORM.across.LIS |
| 2dc0 | 54 2e 0a 54 68 69 73 20 6d 61 63 72 6f 20 69 73 20 6c 69 6b 65 20 60 2d 2d 72 65 64 75 63 65 2d | T..This.macro.is.like.`--reduce- |
| 2de0 | 66 72 6f 6d 27 20 28 77 68 69 63 68 20 73 65 65 29 2c 20 65 78 63 65 70 74 20 74 68 65 20 66 69 | from'.(which.see),.except.the.fi |
| 2e00 | 72 73 74 0a 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 73 20 74 61 6b 65 6e 20 61 73 20 | rst.element.of.LIST.is.taken.as. |
| 2e20 | 49 4e 49 54 2e 20 20 54 68 75 73 20 69 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 | INIT...Thus.if.LIST.contains.a.s |
| 2e40 | 69 6e 67 6c 65 0a 69 74 65 6d 2c 20 69 74 20 69 73 20 72 65 74 75 72 6e 65 64 20 77 69 74 68 6f | ingle.item,.it.is.returned.witho |
| 2e60 | 75 74 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 20 20 49 66 20 4c 49 53 54 20 69 73 20 | ut.evaluating.FORM...If.LIST.is. |
| 2e80 | 65 6d 70 74 79 2c 0a 46 4f 52 4d 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 77 69 74 68 20 60 69 | empty,.FORM.is.evaluated.with.`i |
| 2ea0 | 74 27 20 61 6e 64 20 60 61 63 63 27 20 62 6f 75 6e 64 20 74 6f 20 6e 69 6c 2e 0a 54 68 69 73 20 | t'.and.`acc'.bound.to.nil..This. |
| 2ec0 | 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 | is.the.anaphoric.counterpart.to. |
| 2ee0 | 60 2d 72 65 64 75 63 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 | `-reduce'."...(declare.(debug.(f |
| 2f00 | 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 6c 76 20 28 6d 61 6b 65 2d 73 79 | orm.form)))...(let.((lv.(make-sy |
| 2f20 | 6d 62 6f 6c 20 22 6c 69 73 74 2d 76 61 6c 75 65 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 | mbol."list-value"))).....`(let.( |
| 2f40 | 28 2c 6c 76 20 2c 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 28 69 66 20 2c 6c 76 0a 20 20 20 20 | (,lv.,list))........(if.,lv..... |
| 2f60 | 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 2c 66 6f 72 6d 20 28 63 61 72 | .......(--reduce-from.,form.(car |
| 2f80 | 20 2c 6c 76 29 20 28 63 64 72 20 2c 6c 76 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 45 78 70 | .,lv).(cdr.,lv))..........;;.Exp |
| 2fa0 | 6c 69 63 69 74 20 6e 69 6c 20 62 69 6e 64 69 6e 67 20 70 61 63 69 66 69 65 73 20 6c 65 78 69 63 | licit.nil.binding.pacifies.lexic |
| 2fc0 | 61 6c 20 22 76 61 72 69 61 62 6c 65 20 6c 65 66 74 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 22 | al."variable.left.uninitialized" |
| 2fe0 | 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 77 61 72 6e 69 6e 67 2e 20 20 53 65 65 20 69 73 73 75 65 | ..........;;.warning...See.issue |
| 3000 | 20 23 33 37 37 20 61 6e 64 20 75 70 73 74 72 65 61 6d 20 68 74 74 70 73 3a 2f 2f 62 75 67 73 2e | .#377.and.upstream.https://bugs. |
| 3020 | 67 6e 75 2e 6f 72 67 2f 34 37 30 38 30 2e 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 61 | gnu.org/47080...........(let.((a |
| 3040 | 63 63 20 6e 69 6c 29 20 28 69 74 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 67 | cc.nil).(it.nil))............(ig |
| 3060 | 6e 6f 72 65 20 61 63 63 20 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 2c 66 6f 72 6d 29 29 29 | nore.acc.it)............,form))) |
| 3080 | 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 63 65 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 | ))..(defun.-reduce.(fn.list)..." |
| 30a0 | 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 61 63 72 6f 73 73 20 4c 49 | Reduce.the.function.FN.across.LI |
| 30c0 | 53 54 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e | ST..Return.the.result.of.applyin |
| 30e0 | 67 20 46 4e 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f | g.FN.to.the.first.two.elements.o |
| 3100 | 66 0a 4c 49 53 54 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 61 74 | f.LIST,.then.applying.FN.to.that |
| 3120 | 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 65 20 74 68 69 72 64 20 65 6c 65 6d 65 6e 74 2c 20 65 | .result.and.the.third.element,.e |
| 3140 | 74 63 2e 0a 49 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 69 6e 67 6c 65 20 65 6c | tc..If.LIST.contains.a.single.el |
| 3160 | 65 6d 65 6e 74 2c 20 72 65 74 75 72 6e 20 69 74 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 | ement,.return.it.without.calling |
| 3180 | 20 46 4e 2e 0a 49 66 20 4c 49 53 54 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 74 68 | .FN..If.LIST.is.empty,.return.th |
| 31a0 | 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 46 4e 20 77 69 74 68 20 6e 6f 0a 61 | e.result.of.calling.FN.with.no.a |
| 31c0 | 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 | rguments...This.function's.anaph |
| 31e0 | 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 65 27 2e 0a | oric.counterpart.is.`--reduce'.. |
| 3200 | 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 72 65 64 | .For.other.folds,.see.also.`-red |
| 3220 | 75 63 65 2d 66 72 6f 6d 27 20 61 6e 64 20 60 2d 72 65 64 75 63 65 2d 72 27 2e 22 0a 20 20 28 64 | uce-from'.and.`-reduce-r'."...(d |
| 3240 | 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 | eclare.(important-return-value.t |
| 3260 | 29 29 0a 20 20 28 69 66 20 6c 69 73 74 0a 20 20 20 20 20 20 28 2d 72 65 64 75 63 65 2d 66 72 6f | ))...(if.list.......(-reduce-fro |
| 3280 | 6d 20 66 6e 20 28 63 61 72 20 6c 69 73 74 29 20 28 63 64 72 20 6c 69 73 74 29 29 0a 20 20 20 20 | m.fn.(car.list).(cdr.list))..... |
| 32a0 | 28 66 75 6e 63 61 6c 6c 20 66 6e 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 64 75 | (funcall.fn)))..(defmacro.--redu |
| 32c0 | 63 65 2d 72 2d 66 72 6f 6d 20 28 66 6f 72 6d 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 22 41 63 | ce-r-from.(form.init.list)..."Ac |
| 32e0 | 63 75 6d 75 6c 61 74 65 20 61 20 76 61 6c 75 65 20 62 79 20 65 76 61 6c 75 61 74 69 6e 67 20 46 | cumulate.a.value.by.evaluating.F |
| 3300 | 4f 52 4d 20 61 63 72 6f 73 73 20 4c 49 53 54 20 69 6e 20 72 65 76 65 72 73 65 2e 0a 54 68 69 73 | ORM.across.LIST.in.reverse..This |
| 3320 | 20 6d 61 63 72 6f 20 69 73 20 6c 69 6b 65 20 60 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 27 2c 20 | .macro.is.like.`--reduce-from',. |
| 3340 | 65 78 63 65 70 74 20 69 74 20 73 74 61 72 74 73 20 66 72 6f 6d 20 74 68 65 20 65 6e 64 0a 6f 66 | except.it.starts.from.the.end.of |
| 3360 | 20 4c 49 53 54 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 | .LIST..This.is.the.anaphoric.cou |
| 3380 | 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 27 2e 22 0a 20 | nterpart.to.`-reduce-r-from'.".. |
| 33a0 | 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d | .(declare.(debug.(form.form.form |
| 33c0 | 29 29 29 0a 20 20 60 28 6c 65 74 20 28 28 61 63 63 20 2c 69 6e 69 74 29 29 0a 20 20 20 20 20 28 | )))...`(let.((acc.,init))......( |
| 33e0 | 2d 2d 65 61 63 68 2d 72 20 2c 6c 69 73 74 20 28 73 65 74 71 20 61 63 63 20 2c 66 6f 72 6d 29 29 | --each-r.,list.(setq.acc.,form)) |
| 3400 | 0a 20 20 20 20 20 61 63 63 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 | ......acc))..(defun.-reduce-r-fr |
| 3420 | 6f 6d 20 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 22 52 65 64 75 63 65 20 74 68 65 20 | om.(fn.init.list)..."Reduce.the. |
| 3440 | 66 75 6e 63 74 69 6f 6e 20 46 4e 20 61 63 72 6f 73 73 20 4c 49 53 54 20 69 6e 20 72 65 76 65 72 | function.FN.across.LIST.in.rever |
| 3460 | 73 65 2c 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 49 4e 49 54 2e 0a 52 65 74 75 72 6e 20 74 | se,.starting.with.INIT..Return.t |
| 3480 | 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 65 20 | he.result.of.applying.FN.to.the. |
| 34a0 | 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 61 6e 64 0a 49 4e 49 54 2c 20 74 | last.element.of.LIST.and.INIT,.t |
| 34c0 | 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 65 20 73 65 63 6f 6e 64 2d 74 6f | hen.applying.FN.to.the.second-to |
| 34e0 | 2d 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 61 6e 64 20 74 68 65 0a 70 72 65 76 69 6f 75 73 20 72 | -last.element.and.the.previous.r |
| 3500 | 65 73 75 6c 74 20 6f 66 20 46 4e 2c 20 65 74 63 2e 20 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 | esult.of.FN,.etc...That.is,.the. |
| 3520 | 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 46 4e 20 69 73 0a 74 68 65 20 63 75 72 72 | first.argument.of.FN.is.the.curr |
| 3540 | 65 6e 74 20 65 6c 65 6d 65 6e 74 2c 20 61 6e 64 20 69 74 73 20 73 65 63 6f 6e 64 20 61 72 67 75 | ent.element,.and.its.second.argu |
| 3560 | 6d 65 6e 74 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 65 64 0a 76 61 6c 75 65 2e 20 20 49 66 20 | ment.the.accumulated.value...If. |
| 3580 | 4c 49 53 54 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 49 4e 49 54 20 77 69 74 68 6f | LIST.is.empty,.return.INIT.witho |
| 35a0 | 75 74 20 63 61 6c 6c 69 6e 67 20 46 4e 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 | ut.calling.FN...This.function.is |
| 35c0 | 20 6c 69 6b 65 20 60 2d 72 65 64 75 63 65 2d 66 72 6f 6d 27 20 62 75 74 20 74 68 65 20 6f 70 65 | .like.`-reduce-from'.but.the.ope |
| 35e0 | 72 61 74 69 6f 6e 20 61 73 73 6f 63 69 61 74 65 73 0a 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 | ration.associates.from.the.right |
| 3600 | 20 72 61 74 68 65 72 20 74 68 61 6e 20 6c 65 66 74 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 | .rather.than.left...In.other.wor |
| 3620 | 64 73 2c 20 69 74 20 73 74 61 72 74 73 20 66 72 6f 6d 0a 74 68 65 20 65 6e 64 20 6f 66 20 4c 49 | ds,.it.starts.from.the.end.of.LI |
| 3640 | 53 54 20 61 6e 64 20 66 6c 69 70 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 46 4e | ST.and.flips.the.arguments.to.FN |
| 3660 | 2e 20 20 43 6f 6e 63 65 70 74 75 61 6c 6c 79 2c 20 69 74 0a 69 73 20 6c 69 6b 65 20 72 65 70 6c | ...Conceptually,.it.is.like.repl |
| 3680 | 61 63 69 6e 67 20 74 68 65 20 63 6f 6e 73 65 73 20 69 6e 20 4c 49 53 54 20 77 69 74 68 20 61 70 | acing.the.conses.in.LIST.with.ap |
| 36a0 | 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 46 4e 2c 20 61 6e 64 0a 69 74 73 20 6c 61 73 74 20 6c | plications.of.FN,.and.its.last.l |
| 36c0 | 69 6e 6b 20 77 69 74 68 20 49 4e 49 54 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6e 67 20 74 68 | ink.with.INIT,.and.evaluating.th |
| 36e0 | 65 20 72 65 73 75 6c 74 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 54 68 69 73 20 66 75 | e.resulting.expression...This.fu |
| 3700 | 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 | nction's.anaphoric.counterpart.i |
| 3720 | 73 20 60 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 27 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 | s.`--reduce-r-from'...For.other. |
| 3740 | 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 72 65 64 75 63 65 2d 72 27 20 61 6e 64 20 | folds,.see.also.`-reduce-r'.and. |
| 3760 | 60 2d 72 65 64 75 63 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e | `-reduce'."...(declare.(importan |
| 3780 | 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 72 65 64 75 63 65 2d 72 | t-return-value.t))...(--reduce-r |
| 37a0 | 2d 66 72 6f 6d 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 20 61 63 63 29 20 69 6e 69 74 20 6c | -from.(funcall.fn.it.acc).init.l |
| 37c0 | 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 64 75 63 65 2d 72 20 28 66 6f 72 | ist))..(defmacro.--reduce-r.(for |
| 37e0 | 6d 20 6c 69 73 74 29 0a 20 20 22 41 63 63 75 6d 75 6c 61 74 65 20 61 20 76 61 6c 75 65 20 62 79 | m.list)..."Accumulate.a.value.by |
| 3800 | 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 20 61 63 72 6f 73 73 20 4c 49 53 54 20 69 6e 20 | .evaluating.FORM.across.LIST.in. |
| 3820 | 72 65 76 65 72 73 65 20 6f 72 64 65 72 2e 0a 54 68 69 73 20 6d 61 63 72 6f 20 69 73 20 6c 69 6b | reverse.order..This.macro.is.lik |
| 3840 | 65 20 60 2d 2d 72 65 64 75 63 65 27 2c 20 65 78 63 65 70 74 20 69 74 20 73 74 61 72 74 73 20 66 | e.`--reduce',.except.it.starts.f |
| 3860 | 72 6f 6d 20 74 68 65 20 65 6e 64 20 6f 66 0a 4c 49 53 54 2e 0a 54 68 69 73 20 69 73 20 74 68 65 | rom.the.end.of.LIST..This.is.the |
| 3880 | 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 65 64 75 | .anaphoric.counterpart.to.`-redu |
| 38a0 | 63 65 2d 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 | ce-r'."...(declare.(debug.(form. |
| 38c0 | 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 2d 72 65 64 75 63 65 20 2c 66 6f 72 6d 20 28 72 65 76 65 | form)))...`(--reduce.,form.(reve |
| 38e0 | 72 73 65 20 2c 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 63 65 2d 72 20 28 | rse.,list)))..(defun.-reduce-r.( |
| 3900 | 66 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 | fn.list)..."Reduce.the.function. |
| 3920 | 46 4e 20 61 63 72 6f 73 73 20 4c 49 53 54 20 69 6e 20 72 65 76 65 72 73 65 2e 0a 52 65 74 75 72 | FN.across.LIST.in.reverse..Retur |
| 3940 | 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 | n.the.result.of.applying.FN.to.t |
| 3960 | 68 65 20 6c 61 73 74 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 0a 4c 49 53 54 2c 20 74 68 | he.last.two.elements.of.LIST,.th |
| 3980 | 65 6e 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 65 20 74 68 69 72 64 2d 74 6f 2d 6c | en.applying.FN.to.the.third-to-l |
| 39a0 | 61 73 74 20 65 6c 65 6d 65 6e 74 20 61 6e 64 20 74 68 65 0a 70 72 65 76 69 6f 75 73 20 72 65 73 | ast.element.and.the.previous.res |
| 39c0 | 75 6c 74 20 6f 66 20 46 4e 2c 20 65 74 63 2e 20 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 66 69 | ult.of.FN,.etc...That.is,.the.fi |
| 39e0 | 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 46 4e 20 69 73 0a 74 68 65 20 63 75 72 72 65 6e | rst.argument.of.FN.is.the.curren |
| 3a00 | 74 20 65 6c 65 6d 65 6e 74 2c 20 61 6e 64 20 69 74 73 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 | t.element,.and.its.second.argume |
| 3a20 | 6e 74 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 65 64 0a 76 61 6c 75 65 2e 20 20 49 66 20 4c 49 | nt.the.accumulated.value...If.LI |
| 3a40 | 53 54 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 69 6e 67 6c 65 20 65 6c 65 6d 65 6e 74 2c 20 72 65 | ST.contains.a.single.element,.re |
| 3a60 | 74 75 72 6e 20 69 74 20 77 69 74 68 6f 75 74 0a 63 61 6c 6c 69 6e 67 20 46 4e 2e 20 20 49 66 20 | turn.it.without.calling.FN...If. |
| 3a80 | 4c 49 53 54 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 | LIST.is.empty,.return.the.result |
| 3aa0 | 20 6f 66 20 63 61 6c 6c 69 6e 67 20 46 4e 0a 77 69 74 68 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 | .of.calling.FN.with.no.arguments |
| 3ac0 | 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 60 2d 72 65 64 75 63 | ...This.function.is.like.`-reduc |
| 3ae0 | 65 27 20 62 75 74 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 61 73 73 6f 63 69 61 74 65 73 20 | e'.but.the.operation.associates. |
| 3b00 | 66 72 6f 6d 0a 74 68 65 20 72 69 67 68 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 6c 65 66 74 2e | from.the.right.rather.than.left. |
| 3b20 | 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 69 74 20 73 74 61 72 74 73 20 66 72 6f 6d | ..In.other.words,.it.starts.from |
| 3b40 | 20 74 68 65 0a 65 6e 64 20 6f 66 20 4c 49 53 54 20 61 6e 64 20 66 6c 69 70 73 20 74 68 65 20 61 | .the.end.of.LIST.and.flips.the.a |
| 3b60 | 72 67 75 6d 65 6e 74 73 20 74 6f 20 46 4e 2e 20 20 43 6f 6e 63 65 70 74 75 61 6c 6c 79 2c 20 69 | rguments.to.FN...Conceptually,.i |
| 3b80 | 74 20 69 73 0a 6c 69 6b 65 20 72 65 70 6c 61 63 69 6e 67 20 74 68 65 20 63 6f 6e 73 65 73 20 69 | t.is.like.replacing.the.conses.i |
| 3ba0 | 6e 20 4c 49 53 54 20 77 69 74 68 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 46 4e 2c 0a | n.LIST.with.applications.of.FN,. |
| 3bc0 | 69 67 6e 6f 72 69 6e 67 20 69 74 73 20 6c 61 73 74 20 6c 69 6e 6b 2c 20 61 6e 64 20 65 76 61 6c | ignoring.its.last.link,.and.eval |
| 3be0 | 75 61 74 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 2e | uating.the.resulting.expression. |
| 3c00 | 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e | ..This.function's.anaphoric.coun |
| 3c20 | 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 65 2d 72 27 2e 0a 0a 46 6f 72 20 6f 74 | terpart.is.`--reduce-r'...For.ot |
| 3c40 | 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 72 65 64 75 63 65 2d 72 2d 66 | her.folds,.see.also.`-reduce-r-f |
| 3c60 | 72 6f 6d 27 20 61 6e 64 20 60 2d 72 65 64 75 63 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 | rom'.and.`-reduce'."...(declare. |
| 3c80 | 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 69 | (important-return-value.t))...(i |
| 3ca0 | 66 20 6c 69 73 74 0a 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 72 20 28 66 75 6e 63 61 6c | f.list.......(--reduce-r.(funcal |
| 3cc0 | 6c 20 66 6e 20 69 74 20 61 63 63 29 20 6c 69 73 74 29 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 | l.fn.it.acc).list).....(funcall. |
| 3ce0 | 66 6e 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 | fn)))..(defmacro.--reductions-fr |
| 3d00 | 6f 6d 20 28 66 6f 72 6d 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 | om.(form.init.list)..."Return.a. |
| 3d20 | 6c 69 73 74 20 6f 66 20 46 4f 52 4d 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 | list.of.FORM's.intermediate.redu |
| 3d40 | 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 4c 49 53 54 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c | ctions.across.LIST..That.is,.a.l |
| 3d60 | 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f | ist.of.the.intermediate.values.o |
| 3d80 | 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 60 2d 2d 72 65 64 75 63 65 | f.the.accumulator.when.`--reduce |
| 3da0 | 2d 66 72 6f 6d 27 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 | -from'.(which.see).is.called.wit |
| 3dc0 | 68 20 74 68 65 20 73 61 6d 65 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 54 68 69 73 20 69 73 20 74 68 | h.the.same.arguments..This.is.th |
| 3de0 | 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 65 64 | e.anaphoric.counterpart.to.`-red |
| 3e00 | 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 | uctions-from'."...(declare.(debu |
| 3e20 | 67 20 28 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 6e 72 65 76 65 72 73 | g.(form.form.form)))...`(nrevers |
| 3e40 | 65 0a 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 63 6f 6e 73 20 28 6c 65 74 20 | e.....(--reduce-from.(cons.(let. |
| 3e60 | 28 28 61 63 63 20 28 63 61 72 20 61 63 63 29 29 29 20 28 69 67 6e 6f 72 65 20 61 63 63 29 20 2c | ((acc.(car.acc))).(ignore.acc)., |
| 3e80 | 66 6f 72 6d 29 20 61 63 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c | form).acc)....................(l |
| 3ea0 | 69 73 74 20 2c 69 6e 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 6c | ist.,init)....................,l |
| 3ec0 | 69 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 | ist)))..(defun.-reductions-from. |
| 3ee0 | 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 | (fn.init.list)..."Return.a.list. |
| 3f00 | 6f 66 20 46 4e 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 | of.FN's.intermediate.reductions. |
| 3f20 | 61 63 72 6f 73 73 20 4c 49 53 54 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 | across.LIST..That.is,.a.list.of. |
| 3f40 | 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 | the.intermediate.values.of.the.a |
| 3f60 | 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 60 2d 72 65 64 75 63 65 2d 66 72 6f 6d 27 20 28 | ccumulator.when.`-reduce-from'.( |
| 3f80 | 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 | which.see).is.called.with.the.sa |
| 3fa0 | 6d 65 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 | me.arguments...This.function's.a |
| 3fc0 | 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 | naphoric.counterpart.is.`--reduc |
| 3fe0 | 74 69 6f 6e 73 2d 66 72 6f 6d 27 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 | tions-from'...For.other.folds,.s |
| 4000 | 65 65 20 61 6c 73 6f 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 27 20 61 6e 64 20 60 2d 72 65 64 75 | ee.also.`-reductions'.and.`-redu |
| 4020 | 63 74 69 6f 6e 73 2d 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e | ctions-r'."...(declare.(importan |
| 4040 | 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 72 65 64 75 63 74 69 6f | t-return-value.t))...(--reductio |
| 4060 | 6e 73 2d 66 72 6f 6d 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 61 63 63 20 69 74 29 20 69 6e 69 74 | ns-from.(funcall.fn.acc.it).init |
| 4080 | 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 64 75 63 74 69 6f 6e 73 20 | .list))..(defmacro.--reductions. |
| 40a0 | 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 | (form.list)..."Return.a.list.of. |
| 40c0 | 46 4f 52 4d 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 | FORM's.intermediate.reductions.a |
| 40e0 | 63 72 6f 73 73 20 4c 49 53 54 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 | cross.LIST..That.is,.a.list.of.t |
| 4100 | 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 | he.intermediate.values.of.the.ac |
| 4120 | 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 60 2d 2d 72 65 64 75 63 65 27 20 28 77 68 69 63 68 | cumulator.when.`--reduce'.(which |
| 4140 | 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 61 72 | .see).is.called.with.the.same.ar |
| 4160 | 67 75 6d 65 6e 74 73 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 | guments..This.is.the.anaphoric.c |
| 4180 | 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 27 2e 22 0a 20 20 | ounterpart.to.`-reductions'."... |
| 41a0 | 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 | (declare.(debug.(form.form)))... |
| 41c0 | 28 6c 65 74 20 28 28 6c 76 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 2d 76 61 6c | (let.((lv.(make-symbol."list-val |
| 41e0 | 75 65 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6c 76 20 2c 6c 69 73 74 29 29 0a 20 | ue"))).....`(let.((,lv.,list)).. |
| 4200 | 20 20 20 20 20 20 28 69 66 20 2c 6c 76 0a 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 | ......(if.,lv............(--redu |
| 4220 | 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 2c 66 6f 72 6d 20 28 63 61 72 20 2c 6c 76 29 20 28 63 64 72 | ctions-from.,form.(car.,lv).(cdr |
| 4240 | 20 2c 6c 76 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 45 78 70 6c 69 63 69 74 20 6e 69 6c 20 | .,lv))..........;;.Explicit.nil. |
| 4260 | 62 69 6e 64 69 6e 67 20 70 61 63 69 66 69 65 73 20 6c 65 78 69 63 61 6c 20 22 76 61 72 69 61 62 | binding.pacifies.lexical."variab |
| 4280 | 6c 65 20 6c 65 66 74 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 22 0a 20 20 20 20 20 20 20 20 20 | le.left.uninitialized".......... |
| 42a0 | 3b 3b 20 77 61 72 6e 69 6e 67 2e 20 20 53 65 65 20 69 73 73 75 65 20 23 33 37 37 20 61 6e 64 20 | ;;.warning...See.issue.#377.and. |
| 42c0 | 75 70 73 74 72 65 61 6d 20 68 74 74 70 73 3a 2f 2f 62 75 67 73 2e 67 6e 75 2e 6f 72 67 2f 34 37 | upstream.https://bugs.gnu.org/47 |
| 42e0 | 30 38 30 2e 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 61 63 63 20 6e 69 6c 29 20 28 69 | 080...........(let.((acc.nil).(i |
| 4300 | 74 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 20 61 63 63 20 69 | t.nil))............(ignore.acc.i |
| 4320 | 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 2c 66 6f 72 6d 29 29 29 29 29 29 0a | t)............(list.,form)))))). |
| 4340 | 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 63 74 69 6f 6e 73 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 | .(defun.-reductions.(fn.list)... |
| 4360 | 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 4e 27 73 20 69 6e 74 65 72 6d 65 64 69 | "Return.a.list.of.FN's.intermedi |
| 4380 | 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 4c 49 53 54 2e 0a 54 68 61 74 | ate.reductions.across.LIST..That |
| 43a0 | 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 | .is,.a.list.of.the.intermediate. |
| 43c0 | 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 60 | values.of.the.accumulator.when.` |
| 43e0 | 2d 72 65 64 75 63 65 27 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 | -reduce'.(which.see).is.called.w |
| 4400 | 69 74 68 20 74 68 65 20 73 61 6d 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 | ith.the.same.arguments...This.fu |
| 4420 | 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 | nction's.anaphoric.counterpart.i |
| 4440 | 73 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 27 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c | s.`--reductions'...For.other.fol |
| 4460 | 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 27 20 61 6e 64 20 60 | ds,.see.also.`-reductions'.and.` |
| 4480 | 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 | -reductions-r'."...(declare.(imp |
| 44a0 | 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 69 66 20 6c 69 | ortant-return-value.t))...(if.li |
| 44c0 | 73 74 0a 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 75 6e | st.......(--reductions-from.(fun |
| 44e0 | 63 61 6c 6c 20 66 6e 20 61 63 63 20 69 74 29 20 28 63 61 72 20 6c 69 73 74 29 20 28 63 64 72 20 | call.fn.acc.it).(car.list).(cdr. |
| 4500 | 6c 69 73 74 29 29 0a 20 20 20 20 28 6c 69 73 74 20 28 66 75 6e 63 61 6c 6c 20 66 6e 29 29 29 29 | list)).....(list.(funcall.fn)))) |
| 4520 | 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 | ..(defmacro.--reductions-r-from. |
| 4540 | 28 66 6f 72 6d 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 | (form.init.list)..."Return.a.lis |
| 4560 | 74 20 6f 66 20 46 4f 52 4d 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 | t.of.FORM's.intermediate.reducti |
| 4580 | 6f 6e 73 20 61 63 72 6f 73 73 20 72 65 76 65 72 73 65 64 20 4c 49 53 54 2e 0a 54 68 61 74 20 69 | ons.across.reversed.LIST..That.i |
| 45a0 | 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 | s,.a.list.of.the.intermediate.va |
| 45c0 | 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 60 2d 2d | lues.of.the.accumulator.when.`-- |
| 45e0 | 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 27 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 | reduce-r-from'.(which.see).is.ca |
| 4600 | 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 54 68 | lled.with.the.same.arguments..Th |
| 4620 | 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 | is.is.the.anaphoric.counterpart. |
| 4640 | 74 6f 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 27 2e 22 0a 20 20 28 64 65 63 | to.`-reductions-r-from'."...(dec |
| 4660 | 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 | lare.(debug.(form.form.form))).. |
| 4680 | 20 60 28 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 28 63 6f 6e 73 20 28 6c 65 74 20 28 28 | .`(--reduce-r-from.(cons.(let.(( |
| 46a0 | 61 63 63 20 28 63 61 72 20 61 63 63 29 29 29 20 28 69 67 6e 6f 72 65 20 61 63 63 29 20 2c 66 6f | acc.(car.acc))).(ignore.acc).,fo |
| 46c0 | 72 6d 29 20 61 63 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 | rm).acc).....................(li |
| 46e0 | 73 74 20 2c 69 6e 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 6c | st.,init).....................,l |
| 4700 | 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d | ist))..(defun.-reductions-r-from |
| 4720 | 20 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 | .(fn.init.list)..."Return.a.list |
| 4740 | 20 6f 66 20 46 4e 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 | .of.FN's.intermediate.reductions |
| 4760 | 20 61 63 72 6f 73 73 20 72 65 76 65 72 73 65 64 20 4c 49 53 54 2e 0a 54 68 61 74 20 69 73 2c 20 | .across.reversed.LIST..That.is,. |
| 4780 | 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 | a.list.of.the.intermediate.value |
| 47a0 | 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 60 2d 72 65 64 75 | s.of.the.accumulator.when.`-redu |
| 47c0 | 63 65 2d 72 2d 66 72 6f 6d 27 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 | ce-r-from'.(which.see).is.called |
| 47e0 | 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 | .with.the.same.arguments...This. |
| 4800 | 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 | function's.anaphoric.counterpart |
| 4820 | 20 69 73 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 27 2e 0a 0a 46 6f 72 20 | .is.`--reductions-r-from'...For. |
| 4840 | 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 72 65 64 75 63 74 69 6f | other.folds,.see.also.`-reductio |
| 4860 | 6e 73 27 20 61 6e 64 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 27 2e 22 0a 20 20 28 64 65 63 | ns'.and.`-reductions-r'."...(dec |
| 4880 | 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 | lare.(important-return-value.t)) |
| 48a0 | 0a 20 20 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 28 66 75 6e 63 61 6c 6c | ...(--reductions-r-from.(funcall |
| 48c0 | 20 66 6e 20 69 74 20 61 63 63 29 20 69 6e 69 74 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 | .fn.it.acc).init.list))..(defmac |
| 48e0 | 72 6f 20 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 | ro.--reductions-r.(form.list)... |
| 4900 | 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 4f 52 4d 27 73 20 69 6e 74 65 72 6d 65 | "Return.a.list.of.FORM's.interme |
| 4920 | 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 72 65 76 65 72 73 65 64 | diate.reductions.across.reversed |
| 4940 | 20 4c 49 53 54 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e | .LIST..That.is,.a.list.of.the.in |
| 4960 | 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c | termediate.values.of.the.accumul |
| 4980 | 61 74 6f 72 0a 77 68 65 6e 20 60 2d 2d 72 65 64 75 63 65 2d 72 65 27 20 28 77 68 69 63 68 20 73 | ator.when.`--reduce-re'.(which.s |
| 49a0 | 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 61 72 67 75 | ee).is.called.with.the.same.argu |
| 49c0 | 6d 65 6e 74 73 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 | ments..This.is.the.anaphoric.cou |
| 49e0 | 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 27 2e 22 0a 20 20 | nterpart.to.`-reductions-r'."... |
| 4a00 | 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 6c 69 73 74 29 29 29 0a 20 20 | (declare.(debug.(form.list)))... |
| 4a20 | 28 6c 65 74 20 28 28 6c 76 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 2d 76 61 6c | (let.((lv.(make-symbol."list-val |
| 4a40 | 75 65 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6c 76 20 28 72 65 76 65 72 73 65 20 | ue"))).....`(let.((,lv.(reverse. |
| 4a60 | 2c 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 28 69 66 20 2c 6c 76 0a 20 20 20 20 20 20 20 20 | ,list)))........(if.,lv......... |
| 4a80 | 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 63 6f 6e 73 20 28 6c 65 74 20 28 28 61 | ...(--reduce-from.(cons.(let.((a |
| 4aa0 | 63 63 20 28 63 61 72 20 61 63 63 29 29 29 20 28 69 67 6e 6f 72 65 20 61 63 63 29 20 2c 66 6f 72 | cc.(car.acc))).(ignore.acc).,for |
| 4ac0 | 6d 29 20 61 63 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | m).acc)......................... |
| 4ae0 | 20 20 28 6c 69 73 74 20 28 63 61 72 20 2c 6c 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..(list.(car.,lv)).............. |
| 4b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 2c 6c 76 29 29 0a 20 20 20 20 20 20 20 20 | .............(cdr.,lv))......... |
| 4b20 | 20 3b 3b 20 45 78 70 6c 69 63 69 74 20 6e 69 6c 20 62 69 6e 64 69 6e 67 20 70 61 63 69 66 69 65 | .;;.Explicit.nil.binding.pacifie |
| 4b40 | 73 20 6c 65 78 69 63 61 6c 20 22 76 61 72 69 61 62 6c 65 20 6c 65 66 74 20 75 6e 69 6e 69 74 69 | s.lexical."variable.left.uniniti |
| 4b60 | 61 6c 69 7a 65 64 22 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 77 61 72 6e 69 6e 67 2e 20 20 53 65 | alized"..........;;.warning...Se |
| 4b80 | 65 20 69 73 73 75 65 20 23 33 37 37 20 61 6e 64 20 75 70 73 74 72 65 61 6d 20 68 74 74 70 73 3a | e.issue.#377.and.upstream.https: |
| 4ba0 | 2f 2f 62 75 67 73 2e 67 6e 75 2e 6f 72 67 2f 34 37 30 38 30 2e 0a 20 20 20 20 20 20 20 20 20 28 | //bugs.gnu.org/47080...........( |
| 4bc0 | 6c 65 74 20 28 28 61 63 63 20 6e 69 6c 29 20 28 69 74 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 | let.((acc.nil).(it.nil))........ |
| 4be0 | 20 20 20 20 28 69 67 6e 6f 72 65 20 61 63 63 20 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 | ....(ignore.acc.it)............( |
| 4c00 | 6c 69 73 74 20 2c 66 6f 72 6d 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 63 74 | list.,form))))))..(defun.-reduct |
| 4c20 | 69 6f 6e 73 2d 72 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 | ions-r.(fn.list)..."Return.a.lis |
| 4c40 | 74 20 6f 66 20 46 4e 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e | t.of.FN's.intermediate.reduction |
| 4c60 | 73 20 61 63 72 6f 73 73 20 72 65 76 65 72 73 65 64 20 4c 49 53 54 2e 0a 54 68 61 74 20 69 73 2c | s.across.reversed.LIST..That.is, |
| 4c80 | 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 | .a.list.of.the.intermediate.valu |
| 4ca0 | 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 60 2d 72 65 64 | es.of.the.accumulator.when.`-red |
| 4cc0 | 75 63 65 2d 72 27 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 | uce-r'.(which.see).is.called.wit |
| 4ce0 | 68 20 74 68 65 20 73 61 6d 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 | h.the.same.arguments...This.func |
| 4d00 | 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 | tion's.anaphoric.counterpart.is. |
| 4d20 | 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 27 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c | `--reductions-r'...For.other.fol |
| 4d40 | 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d | ds,.see.also.`-reductions-r-from |
| 4d60 | 27 20 61 6e 64 0a 60 2d 72 65 64 75 63 74 69 6f 6e 73 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 | '.and.`-reductions'."...(declare |
| 4d80 | 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 | .(important-return-value.t))...( |
| 4da0 | 69 66 20 6c 69 73 74 0a 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 28 66 | if.list.......(--reductions-r.(f |
| 4dc0 | 75 6e 63 61 6c 6c 20 66 6e 20 69 74 20 61 63 63 29 20 6c 69 73 74 29 0a 20 20 20 20 28 6c 69 73 | uncall.fn.it.acc).list).....(lis |
| 4de0 | 74 20 28 66 75 6e 63 61 6c 6c 20 66 6e 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 66 | t.(funcall.fn))))..(defmacro.--f |
| 4e00 | 69 6c 74 65 72 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 | ilter.(form.list)..."Return.a.ne |
| 4e20 | 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 66 6f 72 20 | w.list.of.the.items.in.LIST.for. |
| 4e40 | 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 45 61 63 | which.FORM.evals.to.non-nil..Eac |
| 4e60 | 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 | h.element.of.LIST.in.turn.is.bou |
| 4e80 | 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 | nd.to.`it'.and.its.index.within. |
| 4ea0 | 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 | LIST.to.`it-index'.before.evalua |
| 4ec0 | 74 69 6e 67 20 46 4f 52 4d 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 | ting.FORM..This.is.the.anaphoric |
| 4ee0 | 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 66 69 6c 74 65 72 27 2e 0a 46 6f 72 20 74 | .counterpart.to.`-filter'..For.t |
| 4f00 | 68 65 20 6f 70 70 6f 73 69 74 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 73 65 65 20 61 6c 73 6f 20 | he.opposite.operation,.see.also. |
| 4f20 | 60 2d 2d 72 65 6d 6f 76 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 | `--remove'."...(declare.(debug.( |
| 4f40 | 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 20 28 6d 61 6b 65 2d 73 79 | form.form)))...(let.((r.(make-sy |
| 4f60 | 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c 72 29 0a | mbol."result"))).....`(let.(,r). |
| 4f80 | 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 20 28 77 68 65 6e 20 2c 66 6f 72 6d | .......(--each.,list.(when.,form |
| 4fa0 | 20 28 70 75 73 68 20 69 74 20 2c 72 29 29 29 0a 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 | .(push.it.,r)))........(nreverse |
| 4fc0 | 20 2c 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 6c 74 65 72 20 28 70 72 65 64 20 6c 69 | .,r))))..(defun.-filter.(pred.li |
| 4fe0 | 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 | st)..."Return.a.new.list.of.the. |
| 5000 | 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 | items.in.LIST.for.which.PRED.ret |
| 5020 | 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 73 65 6c 65 63 74 27 2e | urns.non-nil...Alias:.`-select'. |
| 5040 | 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e | ..This.function's.anaphoric.coun |
| 5060 | 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 66 69 6c 74 65 72 27 2e 0a 0a 46 6f 72 20 73 69 6d 69 | terpart.is.`--filter'...For.simi |
| 5080 | 6c 61 72 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 6b 65 65 70 27 | lar.operations,.see.also.`-keep' |
| 50a0 | 20 61 6e 64 20 60 2d 72 65 6d 6f 76 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 | .and.`-remove'."...(declare.(imp |
| 50c0 | 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 66 69 6c | ortant-return-value.t))...(--fil |
| 50e0 | 74 65 72 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 | ter.(funcall.pred.it).list))..(d |
| 5100 | 65 66 61 6c 69 61 73 20 27 2d 73 65 6c 65 63 74 20 27 2d 66 69 6c 74 65 72 29 0a 28 64 65 66 61 | efalias.'-select.'-filter).(defa |
| 5120 | 6c 69 61 73 20 27 2d 2d 73 65 6c 65 63 74 20 27 2d 2d 66 69 6c 74 65 72 29 0a 0a 28 64 65 66 6d | lias.'--select.'--filter)..(defm |
| 5140 | 61 63 72 6f 20 2d 2d 72 65 6d 6f 76 65 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 | acro.--remove.(form.list)..."Ret |
| 5160 | 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 4c | urn.a.new.list.of.the.items.in.L |
| 5180 | 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f 20 6e 69 6c 2e | IST.for.which.FORM.evals.to.nil. |
| 51a0 | 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 | .Each.element.of.LIST.in.turn.is |
| 51c0 | 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 | .bound.to.`it'.and.its.index.wit |
| 51e0 | 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 | hin.LIST.to.`it-index'.before.ev |
| 5200 | 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 | aluating.FORM..This.is.the.anaph |
| 5220 | 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 65 6d 6f 76 65 27 2e 0a 46 | oric.counterpart.to.`-remove'..F |
| 5240 | 6f 72 20 74 68 65 20 6f 70 70 6f 73 69 74 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 73 65 65 20 61 | or.the.opposite.operation,.see.a |
| 5260 | 6c 73 6f 20 60 2d 2d 66 69 6c 74 65 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 | lso.`--filter'."...(declare.(deb |
| 5280 | 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 2d 66 69 6c 74 65 72 20 28 6e | ug.(form.form)))...`(--filter.(n |
| 52a0 | 6f 74 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 6d 6f 76 | ot.,form).,list))..(defun.-remov |
| 52c0 | 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 | e.(pred.list)..."Return.a.new.li |
| 52e0 | 73 74 20 6f 66 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 | st.of.the.items.in.LIST.for.whic |
| 5300 | 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 72 65 | h.PRED.returns.nil...Alias:.`-re |
| 5320 | 6a 65 63 74 27 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 | ject'...This.function's.anaphori |
| 5340 | 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 6d 6f 76 65 27 2e 0a 0a 46 6f | c.counterpart.is.`--remove'...Fo |
| 5360 | 72 20 73 69 6d 69 6c 61 72 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 | r.similar.operations,.see.also.` |
| 5380 | 2d 6b 65 65 70 27 20 61 6e 64 20 60 2d 66 69 6c 74 65 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 | -keep'.and.`-filter'."...(declar |
| 53a0 | 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 | e.(important-return-value.t))... |
| 53c0 | 28 2d 2d 72 65 6d 6f 76 65 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 | (--remove.(funcall.pred.it).list |
| 53e0 | 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 72 65 6a 65 63 74 20 27 2d 72 65 6d 6f 76 65 29 | ))..(defalias.'-reject.'-remove) |
| 5400 | 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 72 65 6a 65 63 74 20 27 2d 2d 72 65 6d 6f 76 65 29 0a | .(defalias.'--reject.'--remove). |
| 5420 | 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 66 6f 72 6d 20 | .(defmacro.--remove-first.(form. |
| 5440 | 6c 69 73 74 29 0a 20 20 22 52 65 6d 6f 76 65 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 66 | list)..."Remove.the.first.item.f |
| 5460 | 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f | rom.LIST.for.which.FORM.evals.to |
| 5480 | 20 6e 6f 6e 2d 6e 69 6c 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 | .non-nil..Each.element.of.LIST.i |
| 54a0 | 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 | n.turn.is.bound.to.`it'.and.its. |
| 54c0 | 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 | index.within.LIST.to.`it-index'. |
| 54e0 | 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 20 20 54 68 69 73 20 69 73 | before.evaluating.FORM...This.is |
| 5500 | 20 61 0a 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 62 75 | .a.non-destructive.operation,.bu |
| 5520 | 74 20 6f 6e 6c 79 20 74 68 65 20 66 72 6f 6e 74 20 6f 66 20 4c 49 53 54 20 6c 65 61 64 69 6e 67 | t.only.the.front.of.LIST.leading |
| 5540 | 20 75 70 0a 74 6f 20 74 68 65 20 72 65 6d 6f 76 65 64 20 69 74 65 6d 20 69 73 20 61 20 63 6f 70 | .up.to.the.removed.item.is.a.cop |
| 5560 | 79 3b 20 74 68 65 20 72 65 73 74 20 69 73 20 4c 49 53 54 27 73 20 6f 72 69 67 69 6e 61 6c 20 74 | y;.the.rest.is.LIST's.original.t |
| 5580 | 61 69 6c 2e 0a 49 66 20 6e 6f 20 69 74 65 6d 20 69 73 20 72 65 6d 6f 76 65 64 2c 20 74 68 65 6e | ail..If.no.item.is.removed,.then |
| 55a0 | 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 63 6f 6d 70 6c 65 74 65 20 63 6f 70 79 2e 0a | .the.result.is.a.complete.copy.. |
| 55c0 | 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 | This.is.the.anaphoric.counterpar |
| 55e0 | 74 20 74 6f 20 60 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 | t.to.`-remove-first'."...(declar |
| 5600 | 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 | e.(debug.(form.form)))...(let.(( |
| 5620 | 66 72 6f 6e 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 66 72 6f 6e 74 22 29 29 0a 20 20 20 | front.(make-symbol."front")).... |
| 5640 | 20 20 20 20 20 28 74 61 69 6c 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 74 61 69 6c 22 29 29 | .....(tail.(make-symbol."tail")) |
| 5660 | 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 74 61 69 6c 20 2c 6c 69 73 74 29 20 2c 66 72 6f 6e | ).....`(let.((,tail.,list).,fron |
| 5680 | 74 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 2c 74 61 69 6c 20 28 6e | t)........(--each-while.,tail.(n |
| 56a0 | 6f 74 20 2c 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 70 6f 70 20 2c 74 | ot.,form)..........(push.(pop.,t |
| 56c0 | 61 69 6c 29 20 2c 66 72 6f 6e 74 29 29 0a 20 20 20 20 20 20 20 28 69 66 20 2c 74 61 69 6c 0a 20 | ail).,front))........(if.,tail.. |
| 56e0 | 20 20 20 20 20 20 20 20 20 20 28 6e 63 6f 6e 63 20 28 6e 72 65 76 65 72 73 65 20 2c 66 72 6f 6e | ..........(nconc.(nreverse.,fron |
| 5700 | 74 29 20 28 63 64 72 20 2c 74 61 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 | t).(cdr.,tail))..........(nrever |
| 5720 | 73 65 20 2c 66 72 6f 6e 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 2d 66 | se.,front)))))..(defun.-remove-f |
| 5740 | 69 72 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 6d 6f 76 65 20 74 68 65 20 66 | irst.(pred.list)..."Remove.the.f |
| 5760 | 69 72 73 74 20 69 74 65 6d 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 | irst.item.from.LIST.for.which.PR |
| 5780 | 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 54 68 69 73 20 69 73 20 61 20 6e 6f | ED.returns.non-nil..This.is.a.no |
| 57a0 | 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 62 75 74 20 6f 6e 6c | n-destructive.operation,.but.onl |
| 57c0 | 79 20 74 68 65 20 66 72 6f 6e 74 20 6f 66 20 4c 49 53 54 0a 6c 65 61 64 69 6e 67 20 75 70 20 74 | y.the.front.of.LIST.leading.up.t |
| 57e0 | 6f 20 74 68 65 20 72 65 6d 6f 76 65 64 20 69 74 65 6d 20 69 73 20 61 20 63 6f 70 79 3b 20 74 68 | o.the.removed.item.is.a.copy;.th |
| 5800 | 65 20 72 65 73 74 20 69 73 20 4c 49 53 54 27 73 0a 6f 72 69 67 69 6e 61 6c 20 74 61 69 6c 2e 20 | e.rest.is.LIST's.original.tail.. |
| 5820 | 20 49 66 20 6e 6f 20 69 74 65 6d 20 69 73 20 72 65 6d 6f 76 65 64 2c 20 74 68 65 6e 20 74 68 65 | .If.no.item.is.removed,.then.the |
| 5840 | 20 72 65 73 75 6c 74 20 69 73 20 61 0a 63 6f 6d 70 6c 65 74 65 20 63 6f 70 79 2e 0a 0a 41 6c 69 | .result.is.a.complete.copy...Ali |
| 5860 | 61 73 3a 20 60 2d 72 65 6a 65 63 74 2d 66 69 72 73 74 27 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 | as:.`-reject-first'...This.funct |
| 5880 | 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 | ion's.anaphoric.counterpart.is.` |
| 58a0 | 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 2d 6d 61 70 | --remove-first'...See.also.`-map |
| 58c0 | 2d 66 69 72 73 74 27 2c 20 60 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 27 2c 20 61 6e 64 20 60 2d 72 | -first',.`-remove-item',.and.`-r |
| 58e0 | 65 6d 6f 76 65 2d 6c 61 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 | emove-last'."...(declare.(import |
| 5900 | 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 72 65 6d 6f 76 65 | ant-return-value.t))...(--remove |
| 5920 | 2d 66 69 72 73 74 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a | -first.(funcall.pred.it).list)). |
| 5940 | 0a 3b 3b 20 54 4f 44 4f 3a 20 23 27 2d 71 75 6f 74 69 6e 67 20 74 68 65 20 6d 61 63 72 6f 20 75 | .;;.TODO:.#'-quoting.the.macro.u |
| 5960 | 70 73 65 74 73 20 45 6d 61 63 73 20 32 34 2e 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 72 65 6a 65 | psets.Emacs.24..(defalias.'-reje |
| 5980 | 63 74 2d 66 69 72 73 74 20 23 27 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 29 0a 28 64 65 66 61 6c | ct-first.#'-remove-first).(defal |
| 59a0 | 69 61 73 20 27 2d 2d 72 65 6a 65 63 74 2d 66 69 72 73 74 20 27 2d 2d 72 65 6d 6f 76 65 2d 66 69 | ias.'--reject-first.'--remove-fi |
| 59c0 | 72 73 74 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 28 66 | rst)..(defmacro.--remove-last.(f |
| 59e0 | 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 6d 6f 76 65 20 74 68 65 20 6c 61 73 74 20 69 74 65 | orm.list)..."Remove.the.last.ite |
| 5a00 | 6d 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 73 | m.from.LIST.for.which.FORM.evals |
| 5a20 | 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 | .to.non-nil..Each.element.of.LIS |
| 5a40 | 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 62 65 66 6f 72 | T.in.turn.is.bound.to.`it'.befor |
| 5a60 | 65 20 65 76 61 6c 75 61 74 69 6e 67 0a 46 4f 52 4d 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 | e.evaluating.FORM...The.result.i |
| 5a80 | 73 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 | s.a.copy.of.LIST.regardless.of.w |
| 5aa0 | 68 65 74 68 65 72 20 61 6e 0a 65 6c 65 6d 65 6e 74 20 69 73 20 72 65 6d 6f 76 65 64 2e 0a 54 68 | hether.an.element.is.removed..Th |
| 5ac0 | 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 | is.is.the.anaphoric.counterpart. |
| 5ae0 | 74 6f 20 60 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 | to.`-remove-last'."...(declare.( |
| 5b00 | 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 6e 72 65 76 65 72 73 65 | debug.(form.form)))...`(nreverse |
| 5b20 | 20 28 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 2c 66 6f 72 6d 20 28 72 65 76 65 72 73 65 20 | .(--remove-first.,form.(reverse. |
| 5b40 | 2c 6c 69 73 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 28 | ,list))))..(defun.-remove-last.( |
| 5b60 | 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 6d 6f 76 65 20 74 68 65 20 6c 61 73 74 20 69 74 | pred.list)..."Remove.the.last.it |
| 5b80 | 65 6d 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 | em.from.LIST.for.which.PRED.retu |
| 5ba0 | 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 63 6f 70 | rns.non-nil..The.result.is.a.cop |
| 5bc0 | 79 20 6f 66 20 4c 49 53 54 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 | y.of.LIST.regardless.of.whether. |
| 5be0 | 61 6e 20 65 6c 65 6d 65 6e 74 20 69 73 0a 72 65 6d 6f 76 65 64 2e 0a 0a 41 6c 69 61 73 3a 20 60 | an.element.is.removed...Alias:.` |
| 5c00 | 2d 72 65 6a 65 63 74 2d 6c 61 73 74 27 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 | -reject-last'...This.function's. |
| 5c20 | 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 6d 6f | anaphoric.counterpart.is.`--remo |
| 5c40 | 76 65 2d 6c 61 73 74 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 2d 6d 61 70 2d 6c 61 73 74 27 2c | ve-last'...See.also.`-map-last', |
| 5c60 | 20 60 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 27 2c 20 61 6e 64 20 60 2d 72 65 6d 6f 76 65 2d 66 69 | .`-remove-item',.and.`-remove-fi |
| 5c80 | 72 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 | rst'."...(declare.(important-ret |
| 5ca0 | 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 28 | urn-value.t))...(--remove-last.( |
| 5cc0 | 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 61 6c 69 | funcall.pred.it).list))..(defali |
| 5ce0 | 61 73 20 27 2d 72 65 6a 65 63 74 2d 6c 61 73 74 20 27 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 29 0a | as.'-reject-last.'-remove-last). |
| 5d00 | 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 72 65 6a 65 63 74 2d 6c 61 73 74 20 27 2d 2d 72 65 6d 6f | (defalias.'--reject-last.'--remo |
| 5d20 | 76 65 2d 6c 61 73 74 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 72 65 6d 6f 76 65 2d 69 74 65 | ve-last)..(defalias.'-remove-ite |
| 5d40 | 6d 20 23 27 72 65 6d 6f 76 65 0a 20 20 22 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c | m.#'remove..."Return.a.copy.of.L |
| 5d60 | 49 53 54 20 77 69 74 68 20 61 6c 6c 20 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 49 54 45 4d | IST.with.all.occurrences.of.ITEM |
| 5d80 | 20 72 65 6d 6f 76 65 64 2e 0a 54 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 69 73 20 64 6f 6e 65 | .removed..The.comparison.is.done |
| 5da0 | 20 77 69 74 68 20 60 65 71 75 61 6c 27 2e 0a 5c 6e 28 66 6e 20 49 54 45 4d 20 4c 49 53 54 29 22 | .with.`equal'..\n(fn.ITEM.LIST)" |
| 5dc0 | 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6b 65 65 70 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a | )..(defmacro.--keep.(form.list). |
| 5de0 | 20 20 22 45 76 61 6c 20 46 4f 52 4d 20 66 6f 72 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 | .."Eval.FORM.for.each.item.in.LI |
| 5e00 | 53 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 | ST.and.return.the.non-nil.result |
| 5e20 | 73 2e 0a 4c 69 6b 65 20 60 2d 2d 66 69 6c 74 65 72 27 2c 20 62 75 74 20 72 65 74 75 72 6e 73 20 | s..Like.`--filter',.but.returns. |
| 5e40 | 74 68 65 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 73 20 6f 66 20 46 4f 52 4d 20 69 6e 73 74 | the.non-nil.results.of.FORM.inst |
| 5e60 | 65 61 64 0a 6f 66 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c 65 6d 65 6e 74 | ead.of.the.corresponding.element |
| 5e80 | 73 20 6f 66 20 4c 49 53 54 2e 20 20 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 | s.of.LIST...Each.element.of.LIST |
| 5ea0 | 20 69 6e 0a 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 | .in.turn.is.bound.to.`it'.and.it |
| 5ec0 | 73 20 69 6e 64 65 78 20 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 | s.index.within.LIST.to.`it-index |
| 5ee0 | 27 0a 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 0a 54 68 69 73 20 69 | '.before.evaluating.FORM..This.i |
| 5f00 | 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 | s.the.anaphoric.counterpart.to.` |
| 5f20 | 2d 6b 65 65 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d | -keep'."...(declare.(debug.(form |
| 5f40 | 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c | .form)))...(let.((r.(make-symbol |
| 5f60 | 20 22 72 65 73 75 6c 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 6d 20 28 6d 61 6b 65 2d 73 79 6d | ."result")).........(m.(make-sym |
| 5f80 | 62 6f 6c 20 22 6d 61 70 70 65 64 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c 72 29 0a 20 | bol."mapped"))).....`(let.(,r).. |
| 5fa0 | 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 20 28 6c 65 74 20 28 28 2c 6d 20 2c 66 | ......(--each.,list.(let.((,m.,f |
| 5fc0 | 6f 72 6d 29 29 20 28 77 68 65 6e 20 2c 6d 20 28 70 75 73 68 20 2c 6d 20 2c 72 29 29 29 29 0a 20 | orm)).(when.,m.(push.,m.,r)))).. |
| 5fe0 | 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d | ......(nreverse.,r))))..(defun.- |
| 6000 | 6b 65 65 70 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c | keep.(fn.list)..."Return.a.new.l |
| 6020 | 69 73 74 20 6f 66 20 74 68 65 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 73 20 6f 66 20 61 70 | ist.of.the.non-nil.results.of.ap |
| 6040 | 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2e 0a | plying.FN.to.each.item.in.LIST.. |
| 6060 | 4c 69 6b 65 20 60 2d 66 69 6c 74 65 72 27 2c 20 62 75 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 | Like.`-filter',.but.returns.the. |
| 6080 | 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 73 20 6f 66 20 46 4e 20 69 6e 73 74 65 61 64 20 6f 66 | non-nil.results.of.FN.instead.of |
| 60a0 | 0a 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c | .the.corresponding.elements.of.L |
| 60c0 | 49 53 54 2e 0a 0a 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 | IST...Its.anaphoric.counterpart. |
| 60e0 | 69 73 20 60 2d 2d 6b 65 65 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 | is.`--keep'."...(declare.(import |
| 6100 | 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 6b 65 65 70 20 28 | ant-return-value.t))...(--keep.( |
| 6120 | 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6e | funcall.fn.it).list))..(defun.-n |
| 6140 | 6f 6e 2d 6e 69 6c 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f | on-nil.(list)..."Return.a.copy.o |
| 6160 | 66 20 4c 49 53 54 20 77 69 74 68 20 61 6c 6c 20 6e 69 6c 20 69 74 65 6d 73 20 72 65 6d 6f 76 65 | f.LIST.with.all.nil.items.remove |
| 6180 | 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 | d."...(declare.(side-effect-free |
| 61a0 | 20 74 29 29 0a 20 20 28 2d 2d 66 69 6c 74 65 72 20 69 74 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 | .t))...(--filter.it.list))..(def |
| 61c0 | 6d 61 63 72 6f 20 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a | macro.--map-indexed.(form.list). |
| 61e0 | 20 20 22 45 76 61 6c 20 46 4f 52 4d 20 66 6f 72 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 | .."Eval.FORM.for.each.item.in.LI |
| 6200 | 53 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 | ST.and.return.the.list.of.result |
| 6220 | 73 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 | s..Each.element.of.LIST.in.turn. |
| 6240 | 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 | is.bound.to.`it'.and.its.index.w |
| 6260 | 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 | ithin.LIST.to.`it-index'.before. |
| 6280 | 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 0a 60 | evaluating.FORM...This.is.like.` |
| 62a0 | 2d 2d 6d 61 70 27 2c 20 62 75 74 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 20 6d 61 6b 65 73 20 60 | --map',.but.additionally.makes.` |
| 62c0 | 69 74 2d 69 6e 64 65 78 27 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 46 4f 52 4d 2e 0a 0a 54 68 | it-index'.available.to.FORM...Th |
| 62e0 | 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 | is.is.the.anaphoric.counterpart. |
| 6300 | 74 6f 20 60 2d 6d 61 70 2d 69 6e 64 65 78 65 64 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 | to.`-map-indexed'."...(declare.( |
| 6320 | 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 20 28 | debug.(form.form)))...(let.((r.( |
| 6340 | 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 | make-symbol."result"))).....`(le |
| 6360 | 74 20 28 2c 72 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 0a 20 20 20 20 | t.(,r)........(--each.,list..... |
| 6380 | 20 20 20 20 20 28 70 75 73 68 20 2c 66 6f 72 6d 20 2c 72 29 29 0a 20 20 20 20 20 20 20 28 6e 72 | .....(push.,form.,r))........(nr |
| 63a0 | 65 76 65 72 73 65 20 2c 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 61 70 2d 69 6e 64 65 78 | everse.,r))))..(defun.-map-index |
| 63c0 | 65 64 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 | ed.(fn.list)..."Apply.FN.to.each |
| 63e0 | 20 69 6e 64 65 78 20 61 6e 64 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 | .index.and.item.in.LIST.and.retu |
| 6400 | 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 2e 0a 54 68 69 73 20 69 73 20 | rn.the.list.of.results..This.is. |
| 6420 | 6c 69 6b 65 20 60 2d 6d 61 70 27 2c 20 62 75 74 20 46 4e 20 74 61 6b 65 73 20 74 77 6f 20 61 72 | like.`-map',.but.FN.takes.two.ar |
| 6440 | 67 75 6d 65 6e 74 73 3a 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 0a 63 75 72 72 65 6e | guments:.the.index.of.the.curren |
| 6460 | 74 20 65 6c 65 6d 65 6e 74 20 77 69 74 68 69 6e 20 4c 49 53 54 2c 20 61 6e 64 20 74 68 65 20 65 | t.element.within.LIST,.and.the.e |
| 6480 | 6c 65 6d 65 6e 74 20 69 74 73 65 6c 66 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 | lement.itself...This.function's. |
| 64a0 | 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 6d 61 70 2d | anaphoric.counterpart.is.`--map- |
| 64c0 | 69 6e 64 65 78 65 64 27 2e 0a 0a 46 6f 72 20 61 20 73 69 64 65 2d 65 66 66 65 63 74 69 6e 67 20 | indexed'...For.a.side-effecting. |
| 64e0 | 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 | variant,.see.also.`-each-indexed |
| 6500 | 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e | '."...(declare.(important-return |
| 6520 | 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 66 75 6e | -value.t))...(--map-indexed.(fun |
| 6540 | 63 61 6c 6c 20 66 6e 20 69 74 2d 69 6e 64 65 78 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 | call.fn.it-index.it).list))..(de |
| 6560 | 66 6d 61 63 72 6f 20 2d 2d 6d 61 70 2d 77 68 65 6e 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 | fmacro.--map-when.(pred.rep.list |
| 6580 | 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 6d 61 70 2d 77 68 65 | )..."Anaphoric.form.of.`-map-whe |
| 65a0 | 6e 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 | n'."...(declare.(debug.(form.for |
| 65c0 | 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f | m.form)))...(let.((r.(make-symbo |
| 65e0 | 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c 72 29 0a 20 20 20 | l."result"))).....`(let.(,r).... |
| 6600 | 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 20 28 21 63 6f 6e 73 20 28 69 66 20 2c 70 72 | ....(--each.,list.(!cons.(if.,pr |
| 6620 | 65 64 20 2c 72 65 70 20 69 74 29 20 2c 72 29 29 0a 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 | ed.,rep.it).,r))........(nrevers |
| 6640 | 65 20 2c 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 61 70 2d 77 68 65 6e 20 28 70 72 65 64 | e.,r))))..(defun.-map-when.(pred |
| 6660 | 20 72 65 70 20 6c 69 73 74 29 0a 20 20 22 55 73 65 20 50 52 45 44 20 74 6f 20 63 6f 6e 64 69 74 | .rep.list)..."Use.PRED.to.condit |
| 6680 | 69 6f 6e 61 6c 6c 79 20 61 70 70 6c 79 20 52 45 50 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 | ionally.apply.REP.to.each.item.i |
| 66a0 | 6e 20 4c 49 53 54 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 77 68 | n.LIST..Return.a.copy.of.LIST.wh |
| 66c0 | 65 72 65 20 74 68 65 20 69 74 65 6d 73 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 | ere.the.items.for.which.PRED.ret |
| 66e0 | 75 72 6e 73 20 6e 69 6c 0a 61 72 65 20 75 6e 63 68 61 6e 67 65 64 2c 20 61 6e 64 20 74 68 65 20 | urns.nil.are.unchanged,.and.the. |
| 6700 | 72 65 73 74 20 61 72 65 20 6d 61 70 70 65 64 20 74 68 72 6f 75 67 68 20 74 68 65 20 52 45 50 20 | rest.are.mapped.through.the.REP. |
| 6720 | 66 75 6e 63 74 69 6f 6e 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 72 65 70 6c 61 63 65 2d 77 68 65 72 | function...Alias:.`-replace-wher |
| 6740 | 65 27 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 75 70 64 61 74 65 2d 61 74 27 22 0a 20 20 28 64 | e'..See.also:.`-update-at'"...(d |
| 6760 | 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 | eclare.(important-return-value.t |
| 6780 | 29 29 0a 20 20 28 2d 2d 6d 61 70 2d 77 68 65 6e 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 | ))...(--map-when.(funcall.pred.i |
| 67a0 | 74 29 20 28 66 75 6e 63 61 6c 6c 20 72 65 70 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 | t).(funcall.rep.it).list))..(def |
| 67c0 | 61 6c 69 61 73 20 27 2d 72 65 70 6c 61 63 65 2d 77 68 65 72 65 20 27 2d 6d 61 70 2d 77 68 65 6e | alias.'-replace-where.'-map-when |
| 67e0 | 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 72 65 70 6c 61 63 65 2d 77 68 65 72 65 20 27 2d 2d | ).(defalias.'--replace-where.'-- |
| 6800 | 6d 61 70 2d 77 68 65 6e 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 61 70 2d 66 69 72 73 74 20 28 70 72 | map-when)..(defun.-map-first.(pr |
| 6820 | 65 64 20 72 65 70 20 6c 69 73 74 29 0a 20 20 22 55 73 65 20 50 52 45 44 20 74 6f 20 64 65 74 65 | ed.rep.list)..."Use.PRED.to.dete |
| 6840 | 72 6d 69 6e 65 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 74 6f 20 | rmine.the.first.item.in.LIST.to. |
| 6860 | 63 61 6c 6c 20 52 45 50 20 6f 6e 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 | call.REP.on..Return.a.copy.of.LI |
| 6880 | 53 54 20 77 68 65 72 65 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 66 6f 72 20 77 68 69 63 | ST.where.the.first.item.for.whic |
| 68a0 | 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 0a 6e 6f 6e 2d 6e 69 6c 20 69 73 20 72 65 70 6c 61 63 | h.PRED.returns.non-nil.is.replac |
| 68c0 | 65 64 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 52 45 | ed.with.the.result.of.calling.RE |
| 68e0 | 50 20 6f 6e 20 74 68 61 74 20 69 74 65 6d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 6d 61 70 | P.on.that.item...See.also:.`-map |
| 6900 | 2d 77 68 65 6e 27 2c 20 60 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 27 22 0a 20 20 28 64 65 63 | -when',.`-replace-first'"...(dec |
| 6920 | 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 | lare.(important-return-value.t)) |
| 6940 | 0a 20 20 28 6c 65 74 20 28 66 72 6f 6e 74 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 | ...(let.(front).....(while.(and. |
| 6960 | 6c 69 73 74 20 28 6e 6f 74 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 28 63 61 72 20 6c 69 73 | list.(not.(funcall.pred.(car.lis |
| 6980 | 74 29 29 29 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 63 61 72 20 6c 69 73 74 29 20 66 72 6f | t)))).......(push.(car.list).fro |
| 69a0 | 6e 74 29 0a 20 20 20 20 20 20 28 21 63 64 72 20 6c 69 73 74 29 29 0a 20 20 20 20 28 69 66 20 6c | nt).......(!cdr.list)).....(if.l |
| 69c0 | 69 73 74 0a 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 63 61 74 20 28 6e 72 65 76 65 72 73 65 20 66 | ist.........(-concat.(nreverse.f |
| 69e0 | 72 6f 6e 74 29 20 28 63 6f 6e 73 20 28 66 75 6e 63 61 6c 6c 20 72 65 70 20 28 63 61 72 20 6c 69 | ront).(cons.(funcall.rep.(car.li |
| 6a00 | 73 74 29 29 20 28 63 64 72 20 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 | st)).(cdr.list))).......(nrevers |
| 6a20 | 65 20 66 72 6f 6e 74 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6d 61 70 2d 66 69 72 | e.front))))..(defmacro.--map-fir |
| 6a40 | 73 74 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 | st.(pred.rep.list)..."Anaphoric. |
| 6a60 | 66 6f 72 6d 20 6f 66 20 60 2d 6d 61 70 2d 66 69 72 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 | form.of.`-map-first'."...(declar |
| 6a80 | 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d | e.(debug.(def-form.def-form.form |
| 6aa0 | 29 29 29 0a 20 20 60 28 2d 6d 61 70 2d 66 69 72 73 74 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 | )))...`(-map-first.(lambda.(it). |
| 6ac0 | 28 69 67 6e 6f 72 65 20 69 74 29 20 2c 70 72 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | (ignore.it).,pred).............. |
| 6ae0 | 20 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 29 20 2c 72 65 70 29 | ..(lambda.(it).(ignore.it).,rep) |
| 6b00 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 | ................,list))..(defun. |
| 6b20 | 2d 6d 61 70 2d 6c 61 73 74 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 20 20 22 55 73 65 | -map-last.(pred.rep.list)..."Use |
| 6b40 | 20 50 52 45 44 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d | .PRED.to.determine.the.last.item |
| 6b60 | 20 69 6e 20 4c 49 53 54 20 74 6f 20 63 61 6c 6c 20 52 45 50 20 6f 6e 2e 0a 52 65 74 75 72 6e 20 | .in.LIST.to.call.REP.on..Return. |
| 6b80 | 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 77 68 65 72 65 20 74 68 65 20 6c 61 73 74 20 69 74 | a.copy.of.LIST.where.the.last.it |
| 6ba0 | 65 6d 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 0a 6e 6f 6e 2d 6e 69 | em.for.which.PRED.returns.non-ni |
| 6bc0 | 6c 20 69 73 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 | l.is.replaced.with.the.result.of |
| 6be0 | 20 63 61 6c 6c 69 6e 67 20 52 45 50 20 6f 6e 20 74 68 61 74 20 69 74 65 6d 2e 0a 0a 53 65 65 20 | .calling.REP.on.that.item...See. |
| 6c00 | 61 6c 73 6f 3a 20 60 2d 6d 61 70 2d 77 68 65 6e 27 2c 20 60 2d 72 65 70 6c 61 63 65 2d 6c 61 73 | also:.`-map-when',.`-replace-las |
| 6c20 | 74 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e | t'"...(declare.(important-return |
| 6c40 | 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 6e 72 65 76 65 72 73 65 20 28 2d 6d 61 70 2d 66 69 72 | -value.t))...(nreverse.(-map-fir |
| 6c60 | 73 74 20 70 72 65 64 20 72 65 70 20 28 72 65 76 65 72 73 65 20 6c 69 73 74 29 29 29 29 0a 0a 28 | st.pred.rep.(reverse.list))))..( |
| 6c80 | 64 65 66 6d 61 63 72 6f 20 2d 2d 6d 61 70 2d 6c 61 73 74 20 28 70 72 65 64 20 72 65 70 20 6c 69 | defmacro.--map-last.(pred.rep.li |
| 6ca0 | 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 6d 61 70 2d 6c | st)..."Anaphoric.form.of.`-map-l |
| 6cc0 | 61 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f | ast'."...(declare.(debug.(def-fo |
| 6ce0 | 72 6d 20 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 6d 61 70 2d 6c 61 73 | rm.def-form.form)))...`(-map-las |
| 6d00 | 74 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 29 20 2c 70 72 65 64 | t.(lambda.(it).(ignore.it).,pred |
| 6d20 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 | )...............(lambda.(it).(ig |
| 6d40 | 6e 6f 72 65 20 69 74 29 20 2c 72 65 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 6c 69 | nore.it).,rep)...............,li |
| 6d60 | 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 70 6c 61 63 65 20 28 6f 6c 64 20 6e 65 77 20 6c | st))..(defun.-replace.(old.new.l |
| 6d80 | 69 73 74 29 0a 20 20 22 52 65 70 6c 61 63 65 20 61 6c 6c 20 4f 4c 44 20 69 74 65 6d 73 20 69 6e | ist)..."Replace.all.OLD.items.in |
| 6da0 | 20 4c 49 53 54 20 77 69 74 68 20 4e 45 57 2e 0a 0a 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f | .LIST.with.NEW...Elements.are.co |
| 6dc0 | 6d 70 61 72 65 64 20 75 73 69 6e 67 20 60 65 71 75 61 6c 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a | mpared.using.`equal'...See.also: |
| 6de0 | 20 60 2d 72 65 70 6c 61 63 65 2d 61 74 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 | .`-replace-at'"...(declare.(pure |
| 6e00 | 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 2d 6d | .t).(side-effect-free.t))...(--m |
| 6e20 | 61 70 2d 77 68 65 6e 20 28 65 71 75 61 6c 20 69 74 20 6f 6c 64 29 20 6e 65 77 20 6c 69 73 74 29 | ap-when.(equal.it.old).new.list) |
| 6e40 | 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 28 6f 6c 64 20 6e 65 | )..(defun.-replace-first.(old.ne |
| 6e60 | 77 20 6c 69 73 74 29 0a 20 20 22 52 65 70 6c 61 63 65 20 74 68 65 20 66 69 72 73 74 20 6f 63 63 | w.list)..."Replace.the.first.occ |
| 6e80 | 75 72 72 65 6e 63 65 20 6f 66 20 4f 4c 44 20 77 69 74 68 20 4e 45 57 20 69 6e 20 4c 49 53 54 2e | urrence.of.OLD.with.NEW.in.LIST. |
| 6ea0 | 0a 0a 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 60 65 | ..Elements.are.compared.using.`e |
| 6ec0 | 71 75 61 6c 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 6d 61 70 2d 66 69 72 73 74 27 22 0a | qual'...See.also:.`-map-first'". |
| 6ee0 | 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 | ..(declare.(pure.t).(side-effect |
| 6f00 | 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 2d 6d 61 70 2d 66 69 72 73 74 20 28 65 71 75 61 6c 20 | -free.t))...(--map-first.(equal. |
| 6f20 | 6f 6c 64 20 69 74 29 20 6e 65 77 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 70 6c | old.it).new.list))..(defun.-repl |
| 6f40 | 61 63 65 2d 6c 61 73 74 20 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 0a 20 20 22 52 65 70 6c 61 | ace-last.(old.new.list)..."Repla |
| 6f60 | 63 65 20 74 68 65 20 6c 61 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 4f 4c 44 20 77 69 | ce.the.last.occurrence.of.OLD.wi |
| 6f80 | 74 68 20 4e 45 57 20 69 6e 20 4c 49 53 54 2e 0a 0a 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f | th.NEW.in.LIST...Elements.are.co |
| 6fa0 | 6d 70 61 72 65 64 20 75 73 69 6e 67 20 60 65 71 75 61 6c 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a | mpared.using.`equal'...See.also: |
| 6fc0 | 20 60 2d 6d 61 70 2d 6c 61 73 74 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 | .`-map-last'"...(declare.(pure.t |
| 6fe0 | 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 2d 6d 61 70 | ).(side-effect-free.t))...(--map |
| 7000 | 2d 6c 61 73 74 20 28 65 71 75 61 6c 20 6f 6c 64 20 69 74 29 20 6e 65 77 20 6c 69 73 74 29 29 0a | -last.(equal.old.it).new.list)). |
| 7020 | 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6d 61 70 63 61 74 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a | .(defmacro.--mapcat.(form.list). |
| 7040 | 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 6d 61 70 63 61 74 27 2e 22 | .."Anaphoric.form.of.`-mapcat'." |
| 7060 | 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 | ...(declare.(debug.(form.form))) |
| 7080 | 0a 20 20 60 28 61 70 70 6c 79 20 23 27 61 70 70 65 6e 64 20 28 2d 2d 6d 61 70 20 2c 66 6f 72 6d | ...`(apply.#'append.(--map.,form |
| 70a0 | 20 2c 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 61 70 63 61 74 20 28 66 6e 20 6c 69 | .,list)))..(defun.-mapcat.(fn.li |
| 70c0 | 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 | st)..."Return.the.concatenation. |
| 70e0 | 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 6d 61 70 70 69 6e 67 20 46 4e 20 6f 76 65 72 | of.the.result.of.mapping.FN.over |
| 7100 | 20 4c 49 53 54 2e 0a 54 68 75 73 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 73 68 6f 75 6c 64 20 72 | .LIST..Thus.function.FN.should.r |
| 7120 | 65 74 75 72 6e 20 61 20 6c 69 73 74 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 | eturn.a.list."...(declare.(impor |
| 7140 | 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 6d 61 70 63 61 | tant-return-value.t))...(--mapca |
| 7160 | 74 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 | t.(funcall.fn.it).list))..(defma |
| 7180 | 63 72 6f 20 2d 2d 69 74 65 72 61 74 65 20 28 66 6f 72 6d 20 69 6e 69 74 20 6e 29 0a 20 20 22 41 | cro.--iterate.(form.init.n)..."A |
| 71a0 | 6e 61 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 2d 69 74 65 72 61 74 65 27 2e 22 | naphoric.version.of.`-iterate'." |
| 71c0 | 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 20 66 6f | ...(declare.(debug.(form.form.fo |
| 71e0 | 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 65 73 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 | rm)))...(let.((res.(make-symbol. |
| 7200 | 22 72 65 73 75 6c 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 6e 20 28 6d 61 6b 65 2d 73 79 | "result")).........(len.(make-sy |
| 7220 | 6d 62 6f 6c 20 22 6e 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6c 65 6e 20 2c 6e 29 | mbol."n"))).....`(let.((,len.,n) |
| 7240 | 29 0a 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 3e 20 2c 6c 65 6e 20 30 29 0a 20 20 20 20 20 20 | )........(when.(>.,len.0)....... |
| 7260 | 20 20 20 28 6c 65 74 2a 20 28 28 69 74 20 2c 69 6e 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ...(let*.((it.,init)............ |
| 7280 | 20 20 20 20 20 28 2c 72 65 73 20 28 6c 69 73 74 20 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 | .....(,res.(list.it))).......... |
| 72a0 | 20 20 28 64 6f 74 69 6d 65 73 20 28 5f 20 28 31 2d 20 2c 6c 65 6e 29 29 0a 20 20 20 20 20 20 20 | ..(dotimes.(_.(1-.,len))........ |
| 72c0 | 20 20 20 20 20 20 28 70 75 73 68 20 28 73 65 74 71 20 69 74 20 2c 66 6f 72 6d 29 20 2c 72 65 73 | ......(push.(setq.it.,form).,res |
| 72e0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c 72 65 73 29 29 29 29 | ))............(nreverse.,res)))) |
| 7300 | 29 29 0a 0a 28 64 65 66 75 6e 20 2d 69 74 65 72 61 74 65 20 28 66 75 6e 20 69 6e 69 74 20 6e 29 | ))..(defun.-iterate.(fun.init.n) |
| 7320 | 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 69 74 65 72 61 74 65 64 20 61 70 | ..."Return.a.list.of.iterated.ap |
| 7340 | 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 46 55 4e 20 74 6f 20 49 4e 49 54 2e 0a 0a 54 68 69 73 | plications.of.FUN.to.INIT...This |
| 7360 | 20 6d 65 61 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 6f 72 6d 3a 0a 0a 20 20 28 49 | .means.a.list.of.the.form:....(I |
| 7380 | 4e 49 54 20 28 46 55 4e 20 49 4e 49 54 29 20 28 46 55 4e 20 28 46 55 4e 20 49 4e 49 54 29 29 20 | NIT.(FUN.INIT).(FUN.(FUN.INIT)). |
| 73a0 | 2e 2e 2e 29 0a 0a 4e 20 69 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 72 65 74 | ...)..N.is.the.length.of.the.ret |
| 73c0 | 75 72 6e 65 64 20 6c 69 73 74 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 | urned.list."...(declare.(importa |
| 73e0 | 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 69 74 65 72 61 74 65 | nt-return-value.t))...(--iterate |
| 7400 | 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 20 69 74 29 20 69 6e 69 74 20 6e 29 29 0a 0a 28 64 65 66 | .(funcall.fun.it).init.n))..(def |
| 7420 | 75 6e 20 2d 66 6c 61 74 74 65 6e 20 28 6c 29 0a 20 20 22 54 61 6b 65 20 61 20 6e 65 73 74 65 64 | un.-flatten.(l)..."Take.a.nested |
| 7440 | 20 6c 69 73 74 20 4c 20 61 6e 64 20 72 65 74 75 72 6e 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 20 | .list.L.and.return.its.contents. |
| 7460 | 61 73 20 61 20 73 69 6e 67 6c 65 2c 20 66 6c 61 74 20 6c 69 73 74 2e 0a 0a 4e 6f 74 65 20 74 68 | as.a.single,.flat.list...Note.th |
| 7480 | 61 74 20 62 65 63 61 75 73 65 20 6e 69 6c 20 72 65 70 72 65 73 65 6e 74 73 20 61 20 6c 69 73 74 | at.because.nil.represents.a.list |
| 74a0 | 20 6f 66 20 7a 65 72 6f 20 65 6c 65 6d 65 6e 74 73 20 28 61 6e 0a 65 6d 70 74 79 20 6c 69 73 74 | .of.zero.elements.(an.empty.list |
| 74c0 | 29 2c 20 61 6e 79 20 6d 65 6e 74 69 6f 6e 20 6f 66 20 6e 69 6c 20 69 6e 20 4c 20 77 69 6c 6c 20 | ),.any.mention.of.nil.in.L.will. |
| 74e0 | 64 69 73 61 70 70 65 61 72 20 61 66 74 65 72 0a 66 6c 61 74 74 65 6e 69 6e 67 2e 20 20 49 66 20 | disappear.after.flattening...If. |
| 7500 | 79 6f 75 20 6e 65 65 64 20 74 6f 20 70 72 65 73 65 72 76 65 20 6e 69 6c 73 2c 20 63 6f 6e 73 69 | you.need.to.preserve.nils,.consi |
| 7520 | 64 65 72 20 60 2d 66 6c 61 74 74 65 6e 2d 6e 27 0a 6f 72 20 6d 61 70 20 74 68 65 6d 20 74 6f 20 | der.`-flatten-n'.or.map.them.to. |
| 7540 | 73 6f 6d 65 20 75 6e 69 71 75 65 20 73 79 6d 62 6f 6c 20 61 6e 64 20 74 68 65 6e 20 6d 61 70 20 | some.unique.symbol.and.then.map. |
| 7560 | 74 68 65 6d 20 62 61 63 6b 2e 0a 0a 43 6f 6e 73 65 73 20 6f 66 20 74 77 6f 20 61 74 6f 6d 73 20 | them.back...Conses.of.two.atoms. |
| 7580 | 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 5c 22 74 65 72 6d 69 6e 61 6c 73 5c 22 2c 20 74 68 | are.considered.\"terminals\",.th |
| 75a0 | 61 74 20 69 73 2c 20 74 68 65 79 0a 61 72 65 6e 27 74 20 66 6c 61 74 74 65 6e 65 64 20 66 75 72 | at.is,.they.aren't.flattened.fur |
| 75c0 | 74 68 65 72 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 66 6c 61 74 74 65 6e 2d 6e 27 22 0a 20 | ther...See.also:.`-flatten-n'".. |
| 75e0 | 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d | .(declare.(pure.t).(side-effect- |
| 7600 | 66 72 65 65 20 74 29 29 0a 20 20 28 69 66 20 28 61 6e 64 20 28 6c 69 73 74 70 20 6c 29 20 28 6c | free.t))...(if.(and.(listp.l).(l |
| 7620 | 69 73 74 70 20 28 63 64 72 20 6c 29 29 29 0a 20 20 20 20 20 20 28 2d 6d 61 70 63 61 74 20 27 2d | istp.(cdr.l))).......(-mapcat.'- |
| 7640 | 66 6c 61 74 74 65 6e 20 6c 29 0a 20 20 20 20 28 6c 69 73 74 20 6c 29 29 29 0a 0a 28 64 65 66 75 | flatten.l).....(list.l)))..(defu |
| 7660 | 6e 20 2d 66 6c 61 74 74 65 6e 2d 6e 20 28 6e 75 6d 20 6c 69 73 74 29 0a 20 20 22 46 6c 61 74 74 | n.-flatten-n.(num.list)..."Flatt |
| 7680 | 65 6e 20 4e 55 4d 20 6c 65 76 65 6c 73 20 6f 66 20 61 20 6e 65 73 74 65 64 20 4c 49 53 54 2e 0a | en.NUM.levels.of.a.nested.LIST.. |
| 76a0 | 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 66 6c 61 74 74 65 6e 27 22 0a 20 20 28 64 65 63 6c 61 72 | .See.also:.`-flatten'"...(declar |
| 76c0 | 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 | e.(pure.t).(side-effect-free.t)) |
| 76e0 | 0a 20 20 28 64 6f 74 69 6d 65 73 20 28 5f 20 6e 75 6d 29 0a 20 20 20 20 28 73 65 74 71 20 6c 69 | ...(dotimes.(_.num).....(setq.li |
| 7700 | 73 74 20 28 61 70 70 6c 79 20 23 27 61 70 70 65 6e 64 20 28 6d 61 70 63 61 72 20 23 27 2d 6c 69 | st.(apply.#'append.(mapcar.#'-li |
| 7720 | 73 74 20 6c 69 73 74 29 29 29 29 0a 20 20 6c 69 73 74 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 | st.list))))...list)..(defalias.' |
| 7740 | 2d 63 6f 6e 63 61 74 20 23 27 61 70 70 65 6e 64 0a 20 20 22 43 6f 6e 63 61 74 65 6e 61 74 65 20 | -concat.#'append..."Concatenate. |
| 7760 | 61 6c 6c 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 6d 61 6b 65 20 74 68 65 20 72 | all.the.arguments.and.make.the.r |
| 7780 | 65 73 75 6c 74 20 61 20 6c 69 73 74 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 6c 69 | esult.a.list..The.result.is.a.li |
| 77a0 | 73 74 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 74 68 65 20 65 6c 65 6d 65 6e | st.whose.elements.are.the.elemen |
| 77c0 | 74 73 20 6f 66 20 61 6c 6c 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 45 61 63 68 20 61 72 | ts.of.all.the.arguments..Each.ar |
| 77e0 | 67 75 6d 65 6e 74 20 6d 61 79 20 62 65 20 61 20 6c 69 73 74 2c 20 76 65 63 74 6f 72 20 6f 72 20 | gument.may.be.a.list,.vector.or. |
| 7800 | 73 74 72 69 6e 67 2e 0a 0a 41 6c 6c 20 61 72 67 75 6d 65 6e 74 73 20 65 78 63 65 70 74 20 74 68 | string...All.arguments.except.th |
| 7820 | 65 20 6c 61 73 74 20 61 72 67 75 6d 65 6e 74 20 61 72 65 20 63 6f 70 69 65 64 2e 20 20 54 68 65 | e.last.argument.are.copied...The |
| 7840 | 20 6c 61 73 74 20 61 72 67 75 6d 65 6e 74 0a 69 73 20 6a 75 73 74 20 75 73 65 64 20 61 73 20 74 | .last.argument.is.just.used.as.t |
| 7860 | 68 65 20 74 61 69 6c 20 6f 66 20 74 68 65 20 6e 65 77 20 6c 69 73 74 2e 0a 0a 5c 28 66 6e 20 26 | he.tail.of.the.new.list...\(fn.& |
| 7880 | 72 65 73 74 20 53 45 51 55 45 4e 43 45 53 29 22 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 63 | rest.SEQUENCES)")..(defalias.'-c |
| 78a0 | 6f 70 79 20 23 27 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 0a 20 20 22 43 72 65 61 74 65 20 61 20 | opy.#'copy-sequence..."Create.a. |
| 78c0 | 73 68 61 6c 6c 6f 77 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 2e 0a 0a 5c 28 66 6e 20 4c 49 53 54 | shallow.copy.of.LIST...\(fn.LIST |
| 78e0 | 29 22 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 73 70 6c 69 63 65 20 28 70 72 65 64 20 66 6f | )")..(defmacro.--splice.(pred.fo |
| 7900 | 72 6d 20 6c 69 73 74 29 0a 20 20 22 53 70 6c 69 63 65 20 6c 69 73 74 73 20 67 65 6e 65 72 61 74 | rm.list)..."Splice.lists.generat |
| 7920 | 65 64 20 62 79 20 46 4f 52 4d 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 69 74 65 6d 73 20 73 61 74 | ed.by.FORM.in.place.of.items.sat |
| 7940 | 69 73 66 79 69 6e 67 20 50 52 45 44 20 69 6e 20 4c 49 53 54 2e 0a 0a 45 76 61 6c 75 61 74 65 20 | isfying.PRED.in.LIST...Evaluate. |
| 7960 | 50 52 45 44 20 66 6f 72 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e | PRED.for.each.element.of.LIST.in |
| 7980 | 20 74 75 72 6e 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 2e 0a 57 68 65 6e 65 76 65 72 20 74 68 | .turn.bound.to.`it'..Whenever.th |
| 79a0 | 65 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 20 69 73 20 6e 69 6c 2c 20 6c 65 61 76 65 20 74 | e.result.of.PRED.is.nil,.leave.t |
| 79c0 | 68 61 74 20 60 69 74 27 20 69 73 2d 69 73 2e 0a 4f 74 68 65 72 77 69 73 65 2c 20 65 76 61 6c 75 | hat.`it'.is-is..Otherwise,.evalu |
| 79e0 | 61 74 65 20 46 4f 52 4d 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 60 69 74 27 20 62 69 6e 64 | ate.FORM.with.the.same.`it'.bind |
| 7a00 | 69 6e 67 20 73 74 69 6c 6c 20 69 6e 0a 70 6c 61 63 65 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 | ing.still.in.place...The.result. |
| 7a20 | 73 68 6f 75 6c 64 20 62 65 20 61 20 28 70 6f 73 73 69 62 6c 79 20 65 6d 70 74 79 29 20 6c 69 73 | should.be.a.(possibly.empty).lis |
| 7a40 | 74 20 6f 66 20 69 74 65 6d 73 20 74 6f 0a 73 70 6c 69 63 65 20 69 6e 20 70 6c 61 63 65 20 6f 66 | t.of.items.to.splice.in.place.of |
| 7a60 | 20 60 69 74 27 20 69 6e 20 4c 49 53 54 2e 0a 0a 54 68 69 73 20 63 61 6e 20 62 65 20 75 73 65 66 | .`it'.in.LIST...This.can.be.usef |
| 7a80 | 75 6c 20 61 73 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 20 74 6f 20 74 68 65 20 60 2c 40 27 | ul.as.an.alternative.to.the.`,@' |
| 7aa0 | 20 63 6f 6e 73 74 72 75 63 74 20 69 6e 20 61 0a 60 5c 5c 3d 60 27 20 73 74 72 75 63 74 75 72 65 | .construct.in.a.`\\=`'.structure |
| 7ac0 | 2c 20 69 6e 20 63 61 73 65 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 73 70 6c 69 63 65 20 73 65 76 | ,.in.case.you.need.to.splice.sev |
| 7ae0 | 65 72 61 6c 20 6c 69 73 74 73 20 61 74 0a 6d 61 72 6b 65 64 20 70 6f 73 69 74 69 6f 6e 73 20 28 | eral.lists.at.marked.positions.( |
| 7b00 | 66 6f 72 20 65 78 61 6d 70 6c 65 20 77 69 74 68 20 6b 65 79 77 6f 72 64 73 29 2e 0a 0a 54 68 69 | for.example.with.keywords)...Thi |
| 7b20 | 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 | s.is.the.anaphoric.counterpart.t |
| 7b40 | 6f 20 60 2d 73 70 6c 69 63 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 | o.`-splice'."...(declare.(debug. |
| 7b60 | 28 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 20 28 6d | (form.form.form)))...(let.((r.(m |
| 7b80 | 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 | ake-symbol."result"))).....`(let |
| 7ba0 | 20 28 2c 72 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 0a 20 20 20 20 20 | .(,r)........(--each.,list...... |
| 7bc0 | 20 20 20 20 28 69 66 20 2c 70 72 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 65 61 | ....(if.,pred..............(--ea |
| 7be0 | 63 68 20 2c 66 6f 72 6d 20 28 70 75 73 68 20 69 74 20 2c 72 29 29 0a 20 20 20 20 20 20 20 20 20 | ch.,form.(push.it.,r)).......... |
| 7c00 | 20 20 28 70 75 73 68 20 69 74 20 2c 72 29 29 29 0a 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 | ..(push.it.,r)))........(nrevers |
| 7c20 | 65 20 2c 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 70 6c 69 63 65 20 28 70 72 65 64 20 66 | e.,r))))..(defun.-splice.(pred.f |
| 7c40 | 75 6e 20 6c 69 73 74 29 0a 20 20 22 53 70 6c 69 63 65 20 6c 69 73 74 73 20 67 65 6e 65 72 61 74 | un.list)..."Splice.lists.generat |
| 7c60 | 65 64 20 62 79 20 46 55 4e 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 69 74 65 6d 73 20 73 61 74 69 | ed.by.FUN.in.place.of.items.sati |
| 7c80 | 73 66 79 69 6e 67 20 50 52 45 44 20 69 6e 20 4c 49 53 54 2e 0a 0a 43 61 6c 6c 20 50 52 45 44 20 | sfying.PRED.in.LIST...Call.PRED. |
| 7ca0 | 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 20 20 57 68 65 6e 65 76 | on.each.element.of.LIST...Whenev |
| 7cc0 | 65 72 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 0a 69 73 20 6e 69 6c 2c 20 6c 65 | er.the.result.of.PRED.is.nil,.le |
| 7ce0 | 61 76 65 20 74 68 61 74 20 60 69 74 27 20 61 73 2d 69 73 2e 20 20 4f 74 68 65 72 77 69 73 65 2c | ave.that.`it'.as-is...Otherwise, |
| 7d00 | 20 63 61 6c 6c 20 46 55 4e 20 6f 6e 20 74 68 65 20 73 61 6d 65 0a 60 69 74 27 20 74 68 61 74 20 | .call.FUN.on.the.same.`it'.that. |
| 7d20 | 73 61 74 69 73 66 69 65 64 20 50 52 45 44 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 73 68 6f 75 | satisfied.PRED...The.result.shou |
| 7d40 | 6c 64 20 62 65 20 61 20 28 70 6f 73 73 69 62 6c 79 0a 65 6d 70 74 79 29 20 6c 69 73 74 20 6f 66 | ld.be.a.(possibly.empty).list.of |
| 7d60 | 20 69 74 65 6d 73 20 74 6f 20 73 70 6c 69 63 65 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 60 69 74 | .items.to.splice.in.place.of.`it |
| 7d80 | 27 20 69 6e 20 4c 49 53 54 2e 0a 0a 54 68 69 73 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 61 | '.in.LIST...This.can.be.useful.a |
| 7da0 | 73 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 20 74 6f 20 74 68 65 20 60 2c 40 27 20 63 6f 6e | s.an.alternative.to.the.`,@'.con |
| 7dc0 | 73 74 72 75 63 74 20 69 6e 20 61 0a 60 5c 5c 3d 60 27 20 73 74 72 75 63 74 75 72 65 2c 20 69 6e | struct.in.a.`\\=`'.structure,.in |
| 7de0 | 20 63 61 73 65 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 73 70 6c 69 63 65 20 73 65 76 65 72 61 6c | .case.you.need.to.splice.several |
| 7e00 | 20 6c 69 73 74 73 20 61 74 0a 6d 61 72 6b 65 64 20 70 6f 73 69 74 69 6f 6e 73 20 28 66 6f 72 20 | .lists.at.marked.positions.(for. |
| 7e20 | 65 78 61 6d 70 6c 65 20 77 69 74 68 20 6b 65 79 77 6f 72 64 73 29 2e 0a 0a 54 68 69 73 20 66 75 | example.with.keywords)...This.fu |
| 7e40 | 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 | nction's.anaphoric.counterpart.i |
| 7e60 | 73 20 60 2d 2d 73 70 6c 69 63 65 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 73 70 6c 69 63 | s.`--splice'...See.also:.`-splic |
| 7e80 | 65 2d 6c 69 73 74 27 2c 20 60 2d 69 6e 73 65 72 74 2d 61 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 | e-list',.`-insert-at'."...(decla |
| 7ea0 | 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 | re.(important-return-value.t)).. |
| 7ec0 | 20 28 2d 2d 73 70 6c 69 63 65 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 28 66 75 | .(--splice.(funcall.pred.it).(fu |
| 7ee0 | 6e 63 61 6c 6c 20 66 75 6e 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 70 | ncall.fun.it).list))..(defun.-sp |
| 7f00 | 6c 69 63 65 2d 6c 69 73 74 20 28 70 72 65 64 20 6e 65 77 2d 6c 69 73 74 20 6c 69 73 74 29 0a 20 | lice-list.(pred.new-list.list).. |
| 7f20 | 20 22 53 70 6c 69 63 65 20 4e 45 57 2d 4c 49 53 54 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 65 6c | ."Splice.NEW-LIST.in.place.of.el |
| 7f40 | 65 6d 65 6e 74 73 20 6d 61 74 63 68 69 6e 67 20 50 52 45 44 20 69 6e 20 4c 49 53 54 2e 0a 0a 53 | ements.matching.PRED.in.LIST...S |
| 7f60 | 65 65 20 61 6c 73 6f 3a 20 60 2d 73 70 6c 69 63 65 27 2c 20 60 2d 69 6e 73 65 72 74 2d 61 74 27 | ee.also:.`-splice',.`-insert-at' |
| 7f80 | 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 | "...(declare.(important-return-v |
| 7fa0 | 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 73 70 6c 69 63 65 20 70 72 65 64 20 28 6c 61 6d 62 64 61 | alue.t))...(-splice.pred.(lambda |
| 7fc0 | 20 28 5f 29 20 6e 65 77 2d 6c 69 73 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f | .(_).new-list).list))..(defmacro |
| 7fe0 | 20 2d 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 28 70 72 65 64 20 6e 65 77 2d 6c 69 73 74 20 6c 69 | .--splice-list.(pred.new-list.li |
| 8000 | 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 73 70 6c 69 63 | st)..."Anaphoric.form.of.`-splic |
| 8020 | 65 2d 6c 69 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 | e-list'."...(declare.(debug.(def |
| 8040 | 2d 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 73 70 6c 69 63 65 2d 6c | -form.form.form)))...`(-splice-l |
| 8060 | 69 73 74 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 29 20 2c 70 72 | ist.(lambda.(it).(ignore.it).,pr |
| 8080 | 65 64 29 20 2c 6e 65 77 2d 6c 69 73 74 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 | ed).,new-list.,list))..(defun.-c |
| 80a0 | 6f 6e 73 2a 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 22 4d 61 6b 65 20 61 20 6e 65 77 20 | ons*.(&rest.args)..."Make.a.new. |
| 80c0 | 6c 69 73 74 20 66 72 6f 6d 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 41 52 47 53 2e 0a | list.from.the.elements.of.ARGS.. |
| 80e0 | 54 68 65 20 6c 61 73 74 20 32 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 41 52 47 53 20 61 72 65 20 | The.last.2.elements.of.ARGS.are. |
| 8100 | 75 73 65 64 20 61 73 20 74 68 65 20 66 69 6e 61 6c 20 63 6f 6e 73 20 6f 66 20 74 68 65 0a 72 65 | used.as.the.final.cons.of.the.re |
| 8120 | 73 75 6c 74 2c 20 73 6f 20 69 66 20 74 68 65 20 66 69 6e 61 6c 20 65 6c 65 6d 65 6e 74 20 6f 66 | sult,.so.if.the.final.element.of |
| 8140 | 20 41 52 47 53 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2c 20 74 68 65 20 72 65 73 75 6c 74 0a | .ARGS.is.not.a.list,.the.result. |
| 8160 | 69 73 20 61 20 64 6f 74 74 65 64 20 6c 69 73 74 2e 20 20 57 69 74 68 20 6e 6f 20 41 52 47 53 2c | is.a.dotted.list...With.no.ARGS, |
| 8180 | 20 72 65 74 75 72 6e 20 6e 69 6c 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 | .return.nil."...(declare.(side-e |
| 81a0 | 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 6c 65 6e 20 28 6c 65 | ffect-free.t))...(let*.((len.(le |
| 81c0 | 6e 67 74 68 20 61 72 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 61 69 6c 20 28 6e 74 68 63 | ngth.args))..........(tail.(nthc |
| 81e0 | 64 72 20 28 2d 20 6c 65 6e 20 32 29 20 61 72 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 61 | dr.(-.len.2).args))..........(la |
| 8200 | 73 74 20 28 63 64 72 20 74 61 69 6c 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 6c 61 | st.(cdr.tail))).....(if.(null.la |
| 8220 | 73 74 29 0a 20 20 20 20 20 20 20 20 28 63 61 72 20 61 72 67 73 29 0a 20 20 20 20 20 20 28 73 65 | st).........(car.args).......(se |
| 8240 | 74 63 64 72 20 74 61 69 6c 20 28 63 61 72 20 6c 61 73 74 29 29 0a 20 20 20 20 20 20 61 72 67 73 | tcdr.tail.(car.last)).......args |
| 8260 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 6e 6f 63 20 28 6c 69 73 74 20 65 6c 65 6d 20 26 72 65 | )))..(defun.-snoc.(list.elem.&re |
| 8280 | 73 74 20 65 6c 65 6d 65 6e 74 73 29 0a 20 20 22 41 70 70 65 6e 64 20 45 4c 45 4d 20 74 6f 20 74 | st.elements)..."Append.ELEM.to.t |
| 82a0 | 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 0a 0a 54 68 69 73 20 69 73 20 6c 69 6b | he.end.of.the.list...This.is.lik |
| 82c0 | 65 20 60 63 6f 6e 73 27 2c 20 62 75 74 20 6f 70 65 72 61 74 65 73 20 6f 6e 20 74 68 65 20 65 6e | e.`cons',.but.operates.on.the.en |
| 82e0 | 64 20 6f 66 20 6c 69 73 74 2e 0a 0a 49 66 20 61 6e 79 20 45 4c 45 4d 45 4e 54 53 20 61 72 65 20 | d.of.list...If.any.ELEMENTS.are. |
| 8300 | 67 69 76 65 6e 2c 20 61 70 70 65 6e 64 20 74 68 65 6d 20 74 6f 20 74 68 65 20 6c 69 73 74 20 61 | given,.append.them.to.the.list.a |
| 8320 | 73 20 77 65 6c 6c 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 | s.well."...(declare.(side-effect |
| 8340 | 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 63 6f 6e 63 61 74 20 6c 69 73 74 20 28 6c 69 73 74 20 | -free.t))...(-concat.list.(list. |
| 8360 | 65 6c 65 6d 29 20 65 6c 65 6d 65 6e 74 73 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 66 69 | elem).elements))..(defmacro.--fi |
| 8380 | 72 73 74 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 69 | rst.(form.list)..."Return.the.fi |
| 83a0 | 72 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 | rst.item.in.LIST.for.which.FORM. |
| 83c0 | 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 | evals.to.non-nil..Return.nil.if. |
| 83e0 | 6e 6f 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 66 6f 75 6e 64 2e 0a 45 61 63 68 20 65 | no.such.element.is.found..Each.e |
| 8400 | 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 | lement.of.LIST.in.turn.is.bound. |
| 8420 | 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 | to.`it'.and.its.index.within.LIS |
| 8440 | 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e | T.to.`it-index'.before.evaluatin |
| 8460 | 67 20 46 4f 52 4d 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f | g.FORM..This.is.the.anaphoric.co |
| 8480 | 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 66 69 72 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 | unterpart.to.`-first'."...(decla |
| 84a0 | 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 | re.(debug.(form.form)))...(let.( |
| 84c0 | 28 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6e 65 65 64 6c 65 22 29 29 29 0a 20 20 20 20 | (n.(make-symbol."needle")))..... |
| 84e0 | 60 28 6c 65 74 20 28 2c 6e 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 | `(let.(,n)........(--each-while. |
| 8500 | 2c 6c 69 73 74 20 28 6f 72 20 28 6e 6f 74 20 2c 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 | ,list.(or.(not.,form)........... |
| 8520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 20 28 73 65 | .....................(ignore.(se |
| 8540 | 74 71 20 2c 6e 20 69 74 29 29 29 29 0a 20 20 20 20 20 20 20 2c 6e 29 29 29 0a 0a 28 64 65 66 75 | tq.,n.it))))........,n)))..(defu |
| 8560 | 6e 20 2d 66 69 72 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 | n.-first.(pred.list)..."Return.t |
| 8580 | 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 | he.first.item.in.LIST.for.which. |
| 85a0 | 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 52 65 74 75 72 6e 20 6e 69 6c | PRED.returns.non-nil..Return.nil |
| 85c0 | 20 69 66 20 6e 6f 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 66 6f 75 6e 64 2e 0a 0a 54 | .if.no.such.element.is.found...T |
| 85e0 | 6f 20 67 65 74 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 74 68 65 20 6c 69 73 74 | o.get.the.first.item.in.the.list |
| 8600 | 20 6e 6f 20 71 75 65 73 74 69 6f 6e 73 20 61 73 6b 65 64 2c 0a 75 73 65 20 60 2d 66 69 72 73 74 | .no.questions.asked,.use.`-first |
| 8620 | 2d 69 74 65 6d 27 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 66 69 6e 64 27 2e 0a 0a 54 68 69 73 20 66 | -item'...Alias:.`-find'...This.f |
| 8640 | 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 | unction's.anaphoric.counterpart. |
| 8660 | 69 73 20 60 2d 2d 66 69 72 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 | is.`--first'."...(declare.(impor |
| 8680 | 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 66 69 72 73 74 | tant-return-value.t))...(--first |
| 86a0 | 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 61 | .(funcall.pred.it).list))..(defa |
| 86c0 | 6c 69 61 73 20 27 2d 66 69 6e 64 20 23 27 2d 66 69 72 73 74 29 0a 28 64 65 66 61 6c 69 61 73 20 | lias.'-find.#'-first).(defalias. |
| 86e0 | 27 2d 2d 66 69 6e 64 20 27 2d 2d 66 69 72 73 74 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 73 | '--find.'--first)..(defmacro.--s |
| 8700 | 6f 6d 65 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 | ome.(form.list)..."Return.non-ni |
| 8720 | 6c 20 69 66 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 | l.if.FORM.evals.to.non-nil.for.a |
| 8740 | 74 20 6c 65 61 73 74 20 6f 6e 65 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2e 0a 49 66 20 73 6f 2c | t.least.one.item.in.LIST..If.so, |
| 8760 | 20 72 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 73 75 63 68 20 72 65 73 75 6c 74 20 6f 66 | .return.the.first.such.result.of |
| 8780 | 20 46 4f 52 4d 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 | .FORM..Each.element.of.LIST.in.t |
| 87a0 | 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 | urn.is.bound.to.`it'.and.its.ind |
| 87c0 | 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 | ex.within.LIST.to.`it-index'.bef |
| 87e0 | 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 0a 54 68 69 73 20 69 73 20 74 68 65 | ore.evaluating.FORM..This.is.the |
| 8800 | 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 73 6f 6d 65 | .anaphoric.counterpart.to.`-some |
| 8820 | 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d | '."...(declare.(debug.(form.form |
| 8840 | 29 29 29 0a 20 20 28 6c 65 74 20 28 28 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6e 65 65 | )))...(let.((n.(make-symbol."nee |
| 8860 | 64 6c 65 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c 6e 29 0a 20 20 20 20 20 20 20 28 2d | dle"))).....`(let.(,n)........(- |
| 8880 | 2d 65 61 63 68 2d 77 68 69 6c 65 20 2c 6c 69 73 74 20 28 6e 6f 74 20 28 73 65 74 71 20 2c 6e 20 | -each-while.,list.(not.(setq.,n. |
| 88a0 | 2c 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 20 20 2c 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 | ,form)))........,n)))..(defun.-s |
| 88c0 | 6f 6d 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 28 50 52 45 44 20 | ome.(pred.list)..."Return.(PRED. |
| 88e0 | 78 29 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20 4c 49 53 54 20 69 74 65 6d 20 77 68 65 72 65 | x).for.the.first.LIST.item.where |
| 8900 | 20 28 50 52 45 44 20 78 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a | .(PRED.x).is.non-nil,.else.nil.. |
| 8920 | 0a 41 6c 69 61 73 3a 20 60 2d 61 6e 79 27 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 | .Alias:.`-any'...This.function's |
| 8940 | 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 73 6f 6d | .anaphoric.counterpart.is.`--som |
| 8960 | 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 | e'."...(declare.(important-retur |
| 8980 | 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 73 6f 6d 65 20 28 66 75 6e 63 61 6c 6c 20 70 | n-value.t))...(--some.(funcall.p |
| 89a0 | 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 61 6e 79 20 | red.it).list))..(defalias.'-any. |
| 89c0 | 27 2d 73 6f 6d 65 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 61 6e 79 20 27 2d 2d 73 6f 6d 65 | '-some).(defalias.'--any.'--some |
| 89e0 | 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 65 76 65 72 79 20 28 66 6f 72 6d 20 6c 69 73 74 29 | )..(defmacro.--every.(form.list) |
| 8a00 | 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 46 4f 52 4d 20 65 76 61 6c 73 | ..."Return.non-nil.if.FORM.evals |
| 8a20 | 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6c 6c 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 | .to.non-nil.for.all.items.in.LIS |
| 8a40 | 54 2e 0a 49 66 20 73 6f 2c 20 72 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 73 75 63 68 20 72 | T..If.so,.return.the.last.such.r |
| 8a60 | 65 73 75 6c 74 20 6f 66 20 46 4f 52 4d 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 6f 6e 63 65 20 | esult.of.FORM...Otherwise,.once. |
| 8a80 | 61 6e 0a 69 74 65 6d 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 | an.item.is.reached.for.which.FOR |
| 8aa0 | 4d 20 79 69 65 6c 64 73 20 6e 69 6c 2c 20 72 65 74 75 72 6e 20 6e 69 6c 20 77 69 74 68 6f 75 74 | M.yields.nil,.return.nil.without |
| 8ac0 | 0a 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 20 66 6f 72 20 61 6e 79 20 66 75 72 74 68 65 72 | .evaluating.FORM.for.any.further |
| 8ae0 | 20 4c 49 53 54 20 65 6c 65 6d 65 6e 74 73 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 | .LIST.elements..Each.element.of. |
| 8b00 | 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e | LIST.in.turn.is.bound.to.`it'.an |
| 8b20 | 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 | d.its.index.within.LIST.to.`it-i |
| 8b40 | 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 0a 0a 54 | ndex'.before.evaluating.FORM...T |
| 8b60 | 68 69 73 20 6d 61 63 72 6f 20 69 73 20 6c 69 6b 65 20 60 2d 2d 65 76 65 72 79 2d 70 27 2c 20 62 | his.macro.is.like.`--every-p',.b |
| 8b80 | 75 74 20 6f 6e 20 73 75 63 63 65 73 73 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 0a 6e | ut.on.success.returns.the.last.n |
| 8ba0 | 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 46 4f 52 4d 20 69 6e 73 74 65 61 64 20 6f 66 | on-nil.result.of.FORM.instead.of |
| 8bc0 | 20 6a 75 73 74 20 74 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 | .just.t...This.is.the.anaphoric. |
| 8be0 | 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 65 76 65 72 79 27 2e 22 0a 20 20 28 64 65 63 | counterpart.to.`-every'."...(dec |
| 8c00 | 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 | lare.(debug.(form.form)))...(let |
| 8c20 | 20 28 28 61 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 61 6c 6c 22 29 29 29 0a 20 20 20 20 60 | .((a.(make-symbol."all"))).....` |
| 8c40 | 28 6c 65 74 20 28 28 2c 61 20 74 29 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 | (let.((,a.t))........(--each-whi |
| 8c60 | 6c 65 20 2c 6c 69 73 74 20 28 73 65 74 71 20 2c 61 20 2c 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 | le.,list.(setq.,a.,form))....... |
| 8c80 | 20 2c 61 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 65 76 65 72 79 20 28 70 72 65 64 20 6c 69 73 74 | .,a)))..(defun.-every.(pred.list |
| 8ca0 | 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 50 52 45 44 20 72 65 74 75 | )..."Return.non-nil.if.PRED.retu |
| 8cc0 | 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6c 6c 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 | rns.non-nil.for.all.items.in.LIS |
| 8ce0 | 54 2e 0a 49 66 20 73 6f 2c 20 72 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 73 75 63 68 20 72 | T..If.so,.return.the.last.such.r |
| 8d00 | 65 73 75 6c 74 20 6f 66 20 50 52 45 44 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 6f 6e 63 65 20 | esult.of.PRED...Otherwise,.once. |
| 8d20 | 61 6e 0a 69 74 65 6d 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 | an.item.is.reached.for.which.PRE |
| 8d40 | 44 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 72 65 74 75 72 6e 20 6e 69 6c 20 77 69 74 68 6f 75 | D.returns.nil,.return.nil.withou |
| 8d60 | 74 0a 63 61 6c 6c 69 6e 67 20 50 52 45 44 20 6f 6e 20 61 6e 79 20 66 75 72 74 68 65 72 20 4c 49 | t.calling.PRED.on.any.further.LI |
| 8d80 | 53 54 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c | ST.elements...This.function.is.l |
| 8da0 | 69 6b 65 20 60 2d 65 76 65 72 79 2d 70 27 2c 20 62 75 74 20 6f 6e 20 73 75 63 63 65 73 73 20 72 | ike.`-every-p',.but.on.success.r |
| 8dc0 | 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 0a 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f | eturns.the.last.non-nil.result.o |
| 8de0 | 66 20 50 52 45 44 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 74 2e 0a 0a 54 68 69 73 20 | f.PRED.instead.of.just.t...This. |
| 8e00 | 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 | function's.anaphoric.counterpart |
| 8e20 | 20 69 73 20 60 2d 2d 65 76 65 72 79 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f | .is.`--every'."...(declare.(impo |
| 8e40 | 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 65 76 65 72 | rtant-return-value.t))...(--ever |
| 8e60 | 79 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 | y.(funcall.pred.it).list))..(def |
| 8e80 | 6d 61 63 72 6f 20 2d 2d 6c 61 73 74 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 | macro.--last.(form.list)..."Anap |
| 8ea0 | 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 6c 61 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 | horic.form.of.`-last'."...(decla |
| 8ec0 | 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 | re.(debug.(form.form)))...(let.( |
| 8ee0 | 28 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6e 65 65 64 6c 65 22 29 29 29 0a 20 20 20 20 | (n.(make-symbol."needle")))..... |
| 8f00 | 60 28 6c 65 74 20 28 2c 6e 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 0a | `(let.(,n)........(--each.,list. |
| 8f20 | 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 2c 66 6f 72 6d 20 28 73 65 74 71 20 2c 6e 20 69 74 | .........(when.,form.(setq.,n.it |
| 8f40 | 29 29 29 0a 20 20 20 20 20 20 20 2c 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6c 61 73 74 20 28 | )))........,n)))..(defun.-last.( |
| 8f60 | 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 78 20 | pred.list)..."Return.the.last.x. |
| 8f80 | 69 6e 20 4c 49 53 54 20 77 68 65 72 65 20 28 50 52 45 44 20 78 29 20 69 73 20 6e 6f 6e 2d 6e 69 | in.LIST.where.(PRED.x).is.non-ni |
| 8fa0 | 6c 2c 20 65 6c 73 65 20 6e 69 6c 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 | l,.else.nil."...(declare.(import |
| 8fc0 | 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 6c 61 73 74 20 28 | ant-return-value.t))...(--last.( |
| 8fe0 | 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 61 6c 69 | funcall.pred.it).list))..(defali |
| 9000 | 61 73 20 27 2d 66 69 72 73 74 2d 69 74 65 6d 20 23 27 63 61 72 0a 20 20 22 52 65 74 75 72 6e 20 | as.'-first-item.#'car..."Return. |
| 9020 | 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 6e 69 6c 20 6f | the.first.item.of.LIST,.or.nil.o |
| 9040 | 6e 20 61 6e 20 65 6d 70 74 79 20 6c 69 73 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 73 65 | n.an.empty.list...See.also:.`-se |
| 9060 | 63 6f 6e 64 2d 69 74 65 6d 27 2c 20 60 2d 6c 61 73 74 2d 69 74 65 6d 27 2c 20 65 74 63 2e 0a 0a | cond-item',.`-last-item',.etc... |
| 9080 | 5c 28 66 6e 20 4c 49 53 54 29 22 29 0a 0a 3b 3b 20 45 6e 73 75 72 65 20 74 68 61 74 20 63 61 6c | \(fn.LIST)")..;;.Ensure.that.cal |
| 90a0 | 6c 73 20 74 6f 20 60 2d 66 69 72 73 74 2d 69 74 65 6d 27 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 | ls.to.`-first-item'.are.compiled |
| 90c0 | 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 6f 70 63 6f 64 65 2c 0a 3b 3b 20 6a 75 73 74 20 6c 69 6b | .to.a.single.opcode,.;;.just.lik |
| 90e0 | 65 20 60 63 61 72 27 2e 0a 28 70 75 74 20 27 2d 66 69 72 73 74 2d 69 74 65 6d 20 27 62 79 74 65 | e.`car'..(put.'-first-item.'byte |
| 9100 | 2d 6f 70 63 6f 64 65 20 27 62 79 74 65 2d 63 61 72 29 0a 28 70 75 74 20 27 2d 66 69 72 73 74 2d | -opcode.'byte-car).(put.'-first- |
| 9120 | 69 74 65 6d 20 27 62 79 74 65 2d 63 6f 6d 70 69 6c 65 20 27 62 79 74 65 2d 63 6f 6d 70 69 6c 65 | item.'byte-compile.'byte-compile |
| 9140 | 2d 6f 6e 65 2d 61 72 67 29 0a 28 70 75 74 20 27 2d 66 69 72 73 74 2d 69 74 65 6d 20 27 70 75 72 | -one-arg).(put.'-first-item.'pur |
| 9160 | 65 20 74 29 0a 28 70 75 74 20 27 2d 66 69 72 73 74 2d 69 74 65 6d 20 27 73 69 64 65 2d 65 66 66 | e.t).(put.'-first-item.'side-eff |
| 9180 | 65 63 74 2d 66 72 65 65 20 74 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 73 65 63 6f 6e 64 2d | ect-free.t)..(defalias.'-second- |
| 91a0 | 69 74 65 6d 20 23 27 63 61 64 72 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 73 65 63 6f 6e 64 | item.#'cadr..."Return.the.second |
| 91c0 | 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 6e 69 6c 20 69 66 20 4c 49 53 54 20 69 73 | .item.of.LIST,.or.nil.if.LIST.is |
| 91e0 | 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 66 69 72 73 74 2d 69 | .too.short...See.also:.`-first-i |
| 9200 | 74 65 6d 27 2c 20 60 2d 74 68 69 72 64 2d 69 74 65 6d 27 2c 20 65 74 63 2e 0a 0a 5c 28 66 6e 20 | tem',.`-third-item',.etc...\(fn. |
| 9220 | 4c 49 53 54 29 22 29 0a 0a 28 70 75 74 20 27 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 27 70 75 72 | LIST)")..(put.'-second-item.'pur |
| 9240 | 65 20 74 29 0a 28 70 75 74 20 27 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 27 73 69 64 65 2d 65 66 | e.t).(put.'-second-item.'side-ef |
| 9260 | 66 65 63 74 2d 66 72 65 65 20 74 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 74 68 69 72 64 2d | fect-free.t)..(defalias.'-third- |
| 9280 | 69 74 65 6d 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 63 61 64 64 72 29 0a 20 20 20 20 | item...(if.(fboundp.'caddr)..... |
| 92a0 | 20 20 23 27 63 61 64 64 72 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 6c 69 73 74 29 20 28 63 61 | ..#'caddr.....(lambda.(list).(ca |
| 92c0 | 72 20 28 63 64 64 72 20 6c 69 73 74 29 29 29 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 74 | r.(cddr.list))))..."Return.the.t |
| 92e0 | 68 69 72 64 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 6e 69 6c 20 69 66 20 4c 49 53 | hird.item.of.LIST,.or.nil.if.LIS |
| 9300 | 54 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 73 65 63 | T.is.too.short...See.also:.`-sec |
| 9320 | 6f 6e 64 2d 69 74 65 6d 27 2c 20 60 2d 66 6f 75 72 74 68 2d 69 74 65 6d 27 2c 20 65 74 63 2e 0a | ond-item',.`-fourth-item',.etc.. |
| 9340 | 0a 5c 28 66 6e 20 4c 49 53 54 29 22 29 0a 0a 28 70 75 74 20 27 2d 74 68 69 72 64 2d 69 74 65 6d | .\(fn.LIST)")..(put.'-third-item |
| 9360 | 20 27 70 75 72 65 20 74 29 0a 28 70 75 74 20 27 2d 74 68 69 72 64 2d 69 74 65 6d 20 27 73 69 64 | .'pure.t).(put.'-third-item.'sid |
| 9380 | 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 66 6f | e-effect-free.t)..(defalias.'-fo |
| 93a0 | 75 72 74 68 2d 69 74 65 6d 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 63 61 64 64 64 72 | urth-item...(if.(fboundp.'cadddr |
| 93c0 | 29 0a 20 20 20 20 20 20 23 27 63 61 64 64 64 72 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 6c 69 | ).......#'cadddr.....(lambda.(li |
| 93e0 | 73 74 29 20 28 63 61 64 72 20 28 63 64 64 72 20 6c 69 73 74 29 29 29 29 0a 20 20 22 52 65 74 75 | st).(cadr.(cddr.list))))..."Retu |
| 9400 | 72 6e 20 74 68 65 20 66 6f 75 72 74 68 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 6e | rn.the.fourth.item.of.LIST,.or.n |
| 9420 | 69 6c 20 69 66 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c | il.if.LIST.is.too.short...See.al |
| 9440 | 73 6f 3a 20 60 2d 74 68 69 72 64 2d 69 74 65 6d 27 2c 20 60 2d 66 69 66 74 68 2d 69 74 65 6d 27 | so:.`-third-item',.`-fifth-item' |
| 9460 | 2c 20 65 74 63 2e 0a 0a 5c 28 66 6e 20 4c 49 53 54 29 22 29 0a 0a 28 70 75 74 20 27 2d 66 6f 75 | ,.etc...\(fn.LIST)")..(put.'-fou |
| 9480 | 72 74 68 2d 69 74 65 6d 20 27 70 75 72 65 20 74 29 0a 28 70 75 74 20 27 2d 66 6f 75 72 74 68 2d | rth-item.'pure.t).(put.'-fourth- |
| 94a0 | 69 74 65 6d 20 27 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 0a 0a 28 64 65 66 75 | item.'side-effect-free.t)..(defu |
| 94c0 | 6e 20 2d 66 69 66 74 68 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 | n.-fifth-item.(list)..."Return.t |
| 94e0 | 68 65 20 66 69 66 74 68 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 6e 69 6c 20 69 66 | he.fifth.item.of.LIST,.or.nil.if |
| 9500 | 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 | .LIST.is.too.short...See.also:.` |
| 9520 | 2d 66 6f 75 72 74 68 2d 69 74 65 6d 27 2c 20 60 2d 6c 61 73 74 2d 69 74 65 6d 27 2c 20 65 74 63 | -fourth-item',.`-last-item',.etc |
| 9540 | 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 | ."...(declare.(pure.t).(side-eff |
| 9560 | 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 63 61 72 20 28 63 64 64 72 20 28 63 64 64 72 20 | ect-free.t))...(car.(cddr.(cddr. |
| 9580 | 6c 69 73 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6c 61 73 74 2d 69 74 65 6d 20 28 6c 69 73 | list))))..(defun.-last-item.(lis |
| 95a0 | 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 6f 66 20 4c 49 | t)..."Return.the.last.item.of.LI |
| 95c0 | 53 54 2c 20 6f 72 20 6e 69 6c 20 6f 6e 20 61 6e 20 65 6d 70 74 79 20 6c 69 73 74 2e 0a 0a 53 65 | ST,.or.nil.on.an.empty.list...Se |
| 95e0 | 65 20 61 6c 73 6f 3a 20 60 2d 66 69 72 73 74 2d 69 74 65 6d 27 2c 20 65 74 63 2e 22 0a 20 20 28 | e.also:.`-first-item',.etc."...( |
| 9600 | 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 | declare.(pure.t).(side-effect-fr |
| 9620 | 65 65 20 74 29 29 0a 20 20 28 63 61 72 20 28 6c 61 73 74 20 6c 69 73 74 29 29 29 0a 0a 3b 3b 20 | ee.t))...(car.(last.list)))..;;. |
| 9640 | 55 73 65 20 60 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 27 20 74 6f 20 73 75 70 70 72 65 | Use.`with-no-warnings'.to.suppre |
| 9660 | 73 73 20 75 6e 62 6f 75 6e 64 20 60 2d 6c 61 73 74 2d 69 74 65 6d 27 20 6f 72 0a 3b 3b 20 75 6e | ss.unbound.`-last-item'.or.;;.un |
| 9680 | 64 65 66 69 6e 65 64 20 60 67 76 2d 2d 64 65 66 73 65 74 74 65 72 27 20 77 61 72 6e 69 6e 67 73 | defined.`gv--defsetter'.warnings |
| 96a0 | 20 61 72 69 73 69 6e 67 20 66 72 6f 6d 20 62 6f 74 68 0a 3b 3b 20 60 67 76 2d 64 65 66 69 6e 65 | .arising.from.both.;;.`gv-define |
| 96c0 | 2d 73 65 74 74 65 72 27 20 61 6e 64 20 60 64 65 66 73 65 74 66 27 20 69 6e 20 63 65 72 74 61 69 | -setter'.and.`defsetf'.in.certai |
| 96e0 | 6e 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 2e 0a 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 | n.Emacs.versions..(with-no-warni |
| 9700 | 6e 67 73 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 67 76 2d 64 65 66 69 6e 65 2d 73 65 | ngs...(if.(fboundp.'gv-define-se |
| 9720 | 74 74 65 72 29 0a 20 20 20 20 20 20 28 67 76 2d 64 65 66 69 6e 65 2d 73 65 74 74 65 72 20 2d 6c | tter).......(gv-define-setter.-l |
| 9740 | 61 73 74 2d 69 74 65 6d 20 28 76 61 6c 20 78 29 20 60 28 73 65 74 63 61 72 20 28 6c 61 73 74 20 | ast-item.(val.x).`(setcar.(last. |
| 9760 | 2c 78 29 20 2c 76 61 6c 29 29 0a 20 20 20 20 28 64 65 66 73 65 74 66 20 2d 6c 61 73 74 2d 69 74 | ,x).,val)).....(defsetf.-last-it |
| 9780 | 65 6d 20 28 78 29 20 28 76 61 6c 29 20 60 28 73 65 74 63 61 72 20 28 6c 61 73 74 20 2c 78 29 20 | em.(x).(val).`(setcar.(last.,x). |
| 97a0 | 2c 76 61 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 62 75 74 6c 61 73 74 20 28 6c 69 73 74 29 | ,val))))..(defun.-butlast.(list) |
| 97c0 | 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 69 74 65 6d 73 20 69 | ..."Return.a.list.of.all.items.i |
| 97e0 | 6e 20 6c 69 73 74 20 65 78 63 65 70 74 20 66 6f 72 20 74 68 65 20 6c 61 73 74 2e 22 0a 20 20 3b | n.list.except.for.the.last."...; |
| 9800 | 3b 20 6e 6f 20 61 6c 69 61 73 20 61 73 20 77 65 20 64 6f 6e 27 74 20 77 61 6e 74 20 6d 61 67 69 | ;.no.alias.as.we.don't.want.magi |
| 9820 | 63 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 0a 20 20 28 64 65 63 6c 61 72 65 20 28 | c.optional.argument...(declare.( |
| 9840 | 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 | pure.t).(side-effect-free.t))... |
| 9860 | 28 62 75 74 6c 61 73 74 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 63 6f 75 | (butlast.list))..(defmacro.--cou |
| 9880 | 6e 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d | nt.(pred.list)..."Anaphoric.form |
| 98a0 | 20 6f 66 20 60 2d 63 6f 75 6e 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 | .of.`-count'."...(declare.(debug |
| 98c0 | 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 20 28 6d 61 6b 65 2d | .(form.form)))...(let.((r.(make- |
| 98e0 | 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c | symbol."result"))).....`(let.((, |
| 9900 | 72 20 30 29 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 20 28 77 68 65 6e | r.0))........(--each.,list.(when |
| 9920 | 20 2c 70 72 65 64 20 28 73 65 74 71 20 2c 72 20 28 31 2b 20 2c 72 29 29 29 29 0a 20 20 20 20 20 | .,pred.(setq.,r.(1+.,r))))...... |
| 9940 | 20 20 2c 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 75 6e 74 20 28 70 72 65 64 20 6c 69 73 | ..,r)))..(defun.-count.(pred.lis |
| 9960 | 74 29 0a 20 20 22 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 74 65 6d 73 | t)..."Counts.the.number.of.items |
| 9980 | 20 69 6e 20 4c 49 53 54 20 77 68 65 72 65 20 28 50 52 45 44 20 69 74 65 6d 29 20 69 73 20 6e 6f | .in.LIST.where.(PRED.item).is.no |
| 99a0 | 6e 2d 6e 69 6c 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 | n-nil."...(declare.(important-re |
| 99c0 | 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 63 6f 75 6e 74 20 28 66 75 6e 63 61 | turn-value.t))...(--count.(funca |
| 99e0 | 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 2d 2d 74 72 | ll.pred.it).list))..(defun.---tr |
| 9a00 | 75 74 68 79 3f 20 28 6f 62 6a 29 0a 20 20 22 52 65 74 75 72 6e 20 4f 42 4a 20 61 73 20 61 20 62 | uthy?.(obj)..."Return.OBJ.as.a.b |
| 9a20 | 6f 6f 6c 65 61 6e 20 76 61 6c 75 65 20 28 74 20 6f 72 20 6e 69 6c 29 2e 22 0a 20 20 28 64 65 63 | oolean.value.(t.or.nil)."...(dec |
| 9a40 | 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 | lare.(pure.t).(side-effect-free. |
| 9a60 | 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 28 61 6e 64 20 6f 62 6a 20 74 29 29 0a 0a 28 64 65 | error-free))...(and.obj.t))..(de |
| 9a80 | 66 6d 61 63 72 6f 20 2d 2d 61 6e 79 3f 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 | fmacro.--any?.(form.list)..."Ana |
| 9aa0 | 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 61 6e 79 3f 27 2e 22 0a 20 20 28 64 65 63 6c | phoric.form.of.`-any?'."...(decl |
| 9ac0 | 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 61 6e 64 | are.(debug.(form.form)))...`(and |
| 9ae0 | 20 28 2d 2d 73 6f 6d 65 20 2c 66 6f 72 6d 20 2c 6c 69 73 74 29 20 74 29 29 0a 0a 28 64 65 66 75 | .(--some.,form.,list).t))..(defu |
| 9b00 | 6e 20 2d 61 6e 79 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 | n.-any?.(pred.list)..."Return.t. |
| 9b20 | 69 66 20 28 50 52 45 44 20 58 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6e 79 20 58 | if.(PRED.X).is.non-nil.for.any.X |
| 9b40 | 20 69 6e 20 4c 49 53 54 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 61 6e | .in.LIST,.else.nil...Alias:.`-an |
| 9b60 | 79 2d 70 27 2c 20 60 2d 73 6f 6d 65 3f 27 2c 20 60 2d 73 6f 6d 65 2d 70 27 22 0a 20 20 28 64 65 | y-p',.`-some?',.`-some-p'"...(de |
| 9b80 | 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 | clare.(important-return-value.t) |
| 9ba0 | 29 0a 20 20 28 2d 2d 61 6e 79 3f 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 | )...(--any?.(funcall.pred.it).li |
| 9bc0 | 73 74 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 73 6f 6d 65 3f 20 27 2d 61 6e 79 3f 29 0a | st))..(defalias.'-some?.'-any?). |
| 9be0 | 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 73 6f 6d 65 3f 20 27 2d 2d 61 6e 79 3f 29 0a 28 64 65 66 | (defalias.'--some?.'--any?).(def |
| 9c00 | 61 6c 69 61 73 20 27 2d 61 6e 79 2d 70 20 27 2d 61 6e 79 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 | alias.'-any-p.'-any?).(defalias. |
| 9c20 | 27 2d 2d 61 6e 79 2d 70 20 27 2d 2d 61 6e 79 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 73 6f | '--any-p.'--any?).(defalias.'-so |
| 9c40 | 6d 65 2d 70 20 27 2d 61 6e 79 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 73 6f 6d 65 2d 70 | me-p.'-any?).(defalias.'--some-p |
| 9c60 | 20 27 2d 2d 61 6e 79 3f 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 61 6c 6c 3f 20 28 66 6f 72 | .'--any?)..(defmacro.--all?.(for |
| 9c80 | 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 46 4f 52 4d 20 65 76 61 6c | m.list)..."Return.t.if.FORM.eval |
| 9ca0 | 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6c 6c 20 69 74 65 6d 73 20 69 6e 20 4c 49 | s.to.non-nil.for.all.items.in.LI |
| 9cc0 | 53 54 2e 0a 4f 74 68 65 72 77 69 73 65 2c 20 6f 6e 63 65 20 61 6e 20 69 74 65 6d 20 69 73 20 72 | ST..Otherwise,.once.an.item.is.r |
| 9ce0 | 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 79 69 65 6c 64 73 20 6e 69 6c | eached.for.which.FORM.yields.nil |
| 9d00 | 2c 0a 72 65 74 75 72 6e 20 6e 69 6c 20 77 69 74 68 6f 75 74 20 65 76 61 6c 75 61 74 69 6e 67 20 | ,.return.nil.without.evaluating. |
| 9d20 | 46 4f 52 4d 20 66 6f 72 20 61 6e 79 20 66 75 72 74 68 65 72 20 4c 49 53 54 20 65 6c 65 6d 65 6e | FORM.for.any.further.LIST.elemen |
| 9d40 | 74 73 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e | ts..Each.element.of.LIST.in.turn |
| 9d60 | 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a | .is.bound.to.`it'.and.its.index. |
| 9d80 | 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 | within.LIST.to.`it-index'.before |
| 9da0 | 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 0a 0a 54 68 65 20 73 69 6d 69 6c 61 72 20 6d | .evaluating.FORM...The.similar.m |
| 9dc0 | 61 63 72 6f 20 60 2d 2d 65 76 65 72 79 27 20 69 73 20 6d 6f 72 65 20 77 69 64 65 6c 79 20 75 73 | acro.`--every'.is.more.widely.us |
| 9de0 | 65 66 75 6c 2c 20 73 69 6e 63 65 20 69 74 0a 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 20 | eful,.since.it.returns.the.last. |
| 9e00 | 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 46 4f 52 4d 20 69 6e 73 74 65 61 64 20 6f | non-nil.result.of.FORM.instead.o |
| 9e20 | 66 20 6a 75 73 74 20 74 20 6f 6e 0a 73 75 63 63 65 73 73 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 2d | f.just.t.on.success...Alias:.`-- |
| 9e40 | 61 6c 6c 2d 70 27 2c 20 60 2d 2d 65 76 65 72 79 2d 70 27 2c 20 60 2d 2d 65 76 65 72 79 3f 27 2e | all-p',.`--every-p',.`--every?'. |
| 9e60 | 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 | ..This.is.the.anaphoric.counterp |
| 9e80 | 61 72 74 20 74 6f 20 60 2d 61 6c 6c 3f 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 | art.to.`-all?'."...(declare.(deb |
| 9ea0 | 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 61 6e 64 20 28 2d 2d 65 76 65 72 | ug.(form.form)))...`(and.(--ever |
| 9ec0 | 79 20 2c 66 6f 72 6d 20 2c 6c 69 73 74 29 20 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 61 6c 6c 3f | y.,form.,list).t))..(defun.-all? |
| 9ee0 | 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 28 50 52 45 | .(pred.list)..."Return.t.if.(PRE |
| 9f00 | 44 20 58 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6c 6c 20 58 20 69 6e 20 4c 49 53 | D.X).is.non-nil.for.all.X.in.LIS |
| 9f20 | 54 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 49 6e 20 74 68 65 20 6c 61 74 74 65 72 20 63 61 73 65 2c | T,.else.nil..In.the.latter.case, |
| 9f40 | 20 73 74 6f 70 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 58 20 66 6f 72 20 77 68 69 63 | .stop.after.the.first.X.for.whic |
| 9f60 | 68 20 28 50 52 45 44 20 58 29 20 69 73 0a 6e 69 6c 2c 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 | h.(PRED.X).is.nil,.without.calli |
| 9f80 | 6e 67 20 50 52 45 44 20 6f 6e 20 61 6e 79 20 73 75 62 73 65 71 75 65 6e 74 20 65 6c 65 6d 65 6e | ng.PRED.on.any.subsequent.elemen |
| 9fa0 | 74 73 20 6f 66 20 4c 49 53 54 2e 0a 0a 54 68 65 20 73 69 6d 69 6c 61 72 20 66 75 6e 63 74 69 6f | ts.of.LIST...The.similar.functio |
| 9fc0 | 6e 20 60 2d 65 76 65 72 79 27 20 69 73 20 6d 6f 72 65 20 77 69 64 65 6c 79 20 75 73 65 66 75 6c | n.`-every'.is.more.widely.useful |
| 9fe0 | 2c 20 73 69 6e 63 65 20 69 74 0a 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 20 6e 6f 6e 2d | ,.since.it.returns.the.last.non- |
| a000 | 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 | nil.result.of.PRED.instead.of.ju |
| a020 | 73 74 20 74 20 6f 6e 0a 73 75 63 63 65 73 73 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 61 6c 6c 2d 70 | st.t.on.success...Alias:.`-all-p |
| a040 | 27 2c 20 60 2d 65 76 65 72 79 2d 70 27 2c 20 60 2d 65 76 65 72 79 3f 27 2e 0a 0a 54 68 69 73 20 | ',.`-every-p',.`-every?'...This. |
| a060 | 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 | function's.anaphoric.counterpart |
| a080 | 20 69 73 20 60 2d 2d 61 6c 6c 3f 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 | .is.`--all?'."...(declare.(impor |
| a0a0 | 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 61 6c 6c 3f 20 | tant-return-value.t))...(--all?. |
| a0c0 | 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 61 6c | (funcall.pred.it).list))..(defal |
| a0e0 | 69 61 73 20 27 2d 65 76 65 72 79 3f 20 27 2d 61 6c 6c 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 | ias.'-every?.'-all?).(defalias.' |
| a100 | 2d 2d 65 76 65 72 79 3f 20 27 2d 2d 61 6c 6c 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 61 6c | --every?.'--all?).(defalias.'-al |
| a120 | 6c 2d 70 20 27 2d 61 6c 6c 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 61 6c 6c 2d 70 20 27 | l-p.'-all?).(defalias.'--all-p.' |
| a140 | 2d 2d 61 6c 6c 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 65 76 65 72 79 2d 70 20 27 2d 61 6c | --all?).(defalias.'-every-p.'-al |
| a160 | 6c 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 65 76 65 72 79 2d 70 20 27 2d 2d 61 6c 6c 3f | l?).(defalias.'--every-p.'--all? |
| a180 | 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6e 6f 6e 65 3f 20 28 66 6f 72 6d 20 6c 69 73 74 29 | )..(defmacro.--none?.(form.list) |
| a1a0 | 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 6e 6f 6e 65 3f 27 2e 22 | ..."Anaphoric.form.of.`-none?'." |
| a1c0 | 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 | ...(declare.(debug.(form.form))) |
| a1e0 | 0a 20 20 60 28 2d 2d 61 6c 6c 3f 20 28 6e 6f 74 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a | ...`(--all?.(not.,form).,list)). |
| a200 | 0a 28 64 65 66 75 6e 20 2d 6e 6f 6e 65 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 | .(defun.-none?.(pred.list)..."Re |
| a220 | 74 75 72 6e 20 74 20 69 66 20 28 50 52 45 44 20 58 29 20 69 73 20 6e 69 6c 20 66 6f 72 20 61 6c | turn.t.if.(PRED.X).is.nil.for.al |
| a240 | 6c 20 58 20 69 6e 20 4c 49 53 54 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 | l.X.in.LIST,.else.nil...Alias:.` |
| a260 | 2d 6e 6f 6e 65 2d 70 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d | -none-p'"...(declare.(important- |
| a280 | 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 6e 6f 6e 65 3f 20 28 66 75 6e | return-value.t))...(--none?.(fun |
| a2a0 | 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 | call.pred.it).list))..(defalias. |
| a2c0 | 27 2d 6e 6f 6e 65 2d 70 20 27 2d 6e 6f 6e 65 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 6e | '-none-p.'-none?).(defalias.'--n |
| a2e0 | 6f 6e 65 2d 70 20 27 2d 2d 6e 6f 6e 65 3f 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6f 6e 6c | one-p.'--none?)..(defmacro.--onl |
| a300 | 79 2d 73 6f 6d 65 3f 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 | y-some?.(form.list)..."Anaphoric |
| a320 | 20 66 6f 72 6d 20 6f 66 20 60 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 27 2e 22 0a 20 20 28 64 65 63 6c | .form.of.`-only-some?'."...(decl |
| a340 | 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 | are.(debug.(form.form)))...(let. |
| a360 | 28 28 79 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 79 65 73 22 29 29 0a 20 20 20 20 20 20 20 | ((y.(make-symbol."yes"))........ |
| a380 | 20 28 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6e 6f 22 29 29 29 0a 20 20 20 20 60 28 6c | .(n.(make-symbol."no"))).....`(l |
| a3a0 | 65 74 20 28 2c 79 20 2c 6e 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 | et.(,y.,n)........(--each-while. |
| a3c0 | 2c 6c 69 73 74 20 28 6e 6f 74 20 28 61 6e 64 20 2c 79 20 2c 6e 29 29 0a 20 20 20 20 20 20 20 20 | ,list.(not.(and.,y.,n))......... |
| a3e0 | 20 28 69 66 20 2c 66 6f 72 6d 20 28 73 65 74 71 20 2c 79 20 74 29 20 28 73 65 74 71 20 2c 6e 20 | .(if.,form.(setq.,y.t).(setq.,n. |
| a400 | 74 29 29 29 0a 20 20 20 20 20 20 20 28 2d 2d 2d 74 72 75 74 68 79 3f 20 28 61 6e 64 20 2c 79 20 | t)))........(---truthy?.(and.,y. |
| a420 | 2c 6e 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 28 70 72 65 | ,n)))))..(defun.-only-some?.(pre |
| a440 | 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 64 69 66 66 65 72 65 6e 74 | d.list)..."Return.t.if.different |
| a460 | 20 4c 49 53 54 20 69 74 65 6d 73 20 62 6f 74 68 20 73 61 74 69 73 66 79 20 61 6e 64 20 64 6f 20 | .LIST.items.both.satisfy.and.do. |
| a480 | 6e 6f 74 20 73 61 74 69 73 66 79 20 50 52 45 44 2e 0a 54 68 61 74 20 69 73 2c 20 69 66 20 50 52 | not.satisfy.PRED..That.is,.if.PR |
| a4a0 | 45 44 20 72 65 74 75 72 6e 73 20 62 6f 74 68 20 6e 69 6c 20 66 6f 72 20 61 74 20 6c 65 61 73 74 | ED.returns.both.nil.for.at.least |
| a4c0 | 20 6f 6e 65 20 69 74 65 6d 2c 20 61 6e 64 0a 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 74 20 6c 65 | .one.item,.and.non-nil.for.at.le |
| a4e0 | 61 73 74 20 6f 6e 65 20 6f 74 68 65 72 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2e 20 20 52 65 74 | ast.one.other.item.in.LIST...Ret |
| a500 | 75 72 6e 20 6e 69 6c 20 69 66 20 61 6c 6c 0a 69 74 65 6d 73 20 73 61 74 69 73 66 79 20 74 68 65 | urn.nil.if.all.items.satisfy.the |
| a520 | 20 70 72 65 64 69 63 61 74 65 20 6f 72 20 6e 6f 6e 65 20 6f 66 20 74 68 65 6d 20 64 6f 2e 0a 0a | .predicate.or.none.of.them.do... |
| a540 | 41 6c 69 61 73 3a 20 60 2d 6f 6e 6c 79 2d 73 6f 6d 65 2d 70 27 22 0a 20 20 28 64 65 63 6c 61 72 | Alias:.`-only-some-p'"...(declar |
| a560 | 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 | e.(important-return-value.t))... |
| a580 | 28 2d 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 | (--only-some?.(funcall.pred.it). |
| a5a0 | 6c 69 73 74 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 6f 6e 6c 79 2d 73 6f 6d 65 2d 70 20 | list))..(defalias.'-only-some-p. |
| a5c0 | 27 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 6f 6e 6c 79 2d | '-only-some?).(defalias.'--only- |
| a5e0 | 73 6f 6d 65 2d 70 20 27 2d 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 29 0a 0a 28 64 65 66 75 6e 20 2d 73 | some-p.'--only-some?)..(defun.-s |
| a600 | 6c 69 63 65 20 28 6c 69 73 74 20 66 72 6f 6d 20 26 6f 70 74 69 6f 6e 61 6c 20 74 6f 20 73 74 65 | lice.(list.from.&optional.to.ste |
| a620 | 70 29 0a 20 20 22 52 65 74 75 72 6e 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 2c 20 73 74 61 72 74 | p)..."Return.copy.of.LIST,.start |
| a640 | 69 6e 67 20 66 72 6f 6d 20 69 6e 64 65 78 20 46 52 4f 4d 20 74 6f 20 69 6e 64 65 78 20 54 4f 2e | ing.from.index.FROM.to.index.TO. |
| a660 | 0a 0a 46 52 4f 4d 20 6f 72 20 54 4f 20 6d 61 79 20 62 65 20 6e 65 67 61 74 69 76 65 2e 20 20 54 | ..FROM.or.TO.may.be.negative...T |
| a680 | 68 65 73 65 20 76 61 6c 75 65 73 20 61 72 65 20 74 68 65 6e 20 69 6e 74 65 72 70 72 65 74 65 64 | hese.values.are.then.interpreted |
| a6a0 | 0a 6d 6f 64 75 6c 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 0a | .modulo.the.length.of.the.list.. |
| a6c0 | 0a 49 66 20 53 54 45 50 20 69 73 20 61 20 6e 75 6d 62 65 72 2c 20 6f 6e 6c 79 20 65 61 63 68 20 | .If.STEP.is.a.number,.only.each. |
| a6e0 | 53 54 45 50 74 68 20 69 74 65 6d 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 0a 73 65 63 | STEPth.item.in.the.resulting.sec |
| a700 | 74 69 6f 6e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 44 65 66 61 75 6c 74 73 20 74 6f 20 31 | tion.is.returned...Defaults.to.1 |
| a720 | 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 | ."...(declare.(side-effect-free. |
| a740 | 74 29 29 0a 20 20 28 6c 65 74 20 28 28 6c 65 6e 67 74 68 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 | t))...(let.((length.(length.list |
| a760 | 29 29 0a 20 20 20 20 20 20 20 20 28 6e 65 77 2d 6c 69 73 74 20 6e 69 6c 29 29 0a 20 20 20 20 3b | )).........(new-list.nil)).....; |
| a780 | 3b 20 74 6f 20 64 65 66 61 75 6c 74 73 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 | ;.to.defaults.to.the.end.of.the. |
| a7a0 | 6c 69 73 74 0a 20 20 20 20 28 73 65 74 71 20 74 6f 20 28 6f 72 20 74 6f 20 6c 65 6e 67 74 68 29 | list.....(setq.to.(or.to.length) |
| a7c0 | 29 0a 20 20 20 20 28 73 65 74 71 20 73 74 65 70 20 28 6f 72 20 73 74 65 70 20 31 29 29 0a 20 20 | ).....(setq.step.(or.step.1))... |
| a7e0 | 20 20 3b 3b 20 68 61 6e 64 6c 65 20 6e 65 67 61 74 69 76 65 20 69 6e 64 69 63 65 73 0a 20 20 20 | ..;;.handle.negative.indices.... |
| a800 | 20 28 77 68 65 6e 20 28 3c 20 66 72 6f 6d 20 30 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 66 72 | .(when.(<.from.0).......(setq.fr |
| a820 | 6f 6d 20 28 6d 6f 64 20 66 72 6f 6d 20 6c 65 6e 67 74 68 29 29 29 0a 20 20 20 20 28 77 68 65 6e | om.(mod.from.length))).....(when |
| a840 | 20 28 3c 20 74 6f 20 30 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 74 6f 20 28 6d 6f 64 20 74 6f | .(<.to.0).......(setq.to.(mod.to |
| a860 | 20 6c 65 6e 67 74 68 29 29 29 0a 0a 20 20 20 20 3b 3b 20 69 74 65 72 61 74 65 20 74 68 72 6f 75 | .length)))......;;.iterate.throu |
| a880 | 67 68 20 74 68 65 20 6c 69 73 74 2c 20 6b 65 65 70 69 6e 67 20 74 68 65 20 65 6c 65 6d 65 6e 74 | gh.the.list,.keeping.the.element |
| a8a0 | 73 20 77 65 20 77 61 6e 74 0a 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 6c 69 73 74 | s.we.want.....(--each-while.list |
| a8c0 | 20 28 3c 20 69 74 2d 69 6e 64 65 78 20 74 6f 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e | .(<.it-index.to).......(when.(an |
| a8e0 | 64 20 28 3e 3d 20 69 74 2d 69 6e 64 65 78 20 66 72 6f 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 | d.(>=.it-index.from)............ |
| a900 | 20 20 20 20 20 20 28 3d 20 28 6d 6f 64 20 28 2d 20 66 72 6f 6d 20 69 74 2d 69 6e 64 65 78 29 20 | ......(=.(mod.(-.from.it-index). |
| a920 | 73 74 65 70 29 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 69 74 20 6e 65 77 2d 6c | step).0)).........(push.it.new-l |
| a940 | 69 73 74 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 6e 65 77 2d 6c 69 73 74 29 29 29 | ist))).....(nreverse.new-list))) |
| a960 | 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 66 6f 72 6d 20 6c | ..(defmacro.--take-while.(form.l |
| a980 | 69 73 74 29 0a 20 20 22 54 61 6b 65 20 73 75 63 63 65 73 73 69 76 65 20 69 74 65 6d 73 20 66 72 | ist)..."Take.successive.items.fr |
| a9a0 | 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f 20 | om.LIST.for.which.FORM.evals.to. |
| a9c0 | 6e 6f 6e 2d 6e 69 6c 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e | non-nil..Each.element.of.LIST.in |
| a9e0 | 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 | .turn.is.bound.to.`it'.and.its.i |
| aa00 | 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 | ndex.within.LIST.to.`it-index'.b |
| aa20 | 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 20 20 52 65 74 75 72 6e 20 61 | efore.evaluating.FORM...Return.a |
| aa40 | 20 6e 65 77 0a 6c 69 73 74 20 6f 66 20 74 68 65 20 73 75 63 63 65 73 73 69 76 65 20 65 6c 65 6d | .new.list.of.the.successive.elem |
| aa60 | 65 6e 74 73 20 66 72 6f 6d 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 4c 49 53 54 20 66 6f 72 20 | ents.from.the.start.of.LIST.for. |
| aa80 | 77 68 69 63 68 0a 46 4f 52 4d 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e | which.FORM.evaluates.to.non-nil. |
| aaa0 | 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 | .This.is.the.anaphoric.counterpa |
| aac0 | 72 74 20 74 6f 20 60 2d 74 61 6b 65 2d 77 68 69 6c 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 | rt.to.`-take-while'."...(declare |
| aae0 | 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 | .(debug.(form.form)))...(let.((r |
| ab00 | 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 60 28 | .(make-symbol."result"))).....`( |
| ab20 | 6c 65 74 20 28 2c 72 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 2c 6c | let.(,r)........(--each-while.,l |
| ab40 | 69 73 74 20 2c 66 6f 72 6d 20 28 70 75 73 68 20 69 74 20 2c 72 29 29 0a 20 20 20 20 20 20 20 28 | ist.,form.(push.it.,r))........( |
| ab60 | 6e 72 65 76 65 72 73 65 20 2c 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 61 6b 65 2d 77 68 | nreverse.,r))))..(defun.-take-wh |
| ab80 | 69 6c 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 54 61 6b 65 20 73 75 63 63 65 73 73 69 | ile.(pred.list)..."Take.successi |
| aba0 | 76 65 20 69 74 65 6d 73 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 | ve.items.from.LIST.for.which.PRE |
| abc0 | 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 50 52 45 44 20 69 73 20 61 20 66 75 6e | D.returns.non-nil..PRED.is.a.fun |
| abe0 | 63 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 52 65 74 75 72 6e 20 61 | ction.of.one.argument...Return.a |
| ac00 | 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 0a 73 75 63 63 65 73 73 69 76 65 20 65 6c 65 6d | .new.list.of.the.successive.elem |
| ac20 | 65 6e 74 73 20 66 72 6f 6d 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 4c 49 53 54 20 66 6f 72 20 | ents.from.the.start.of.LIST.for. |
| ac40 | 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 0a 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 54 68 69 | which.PRED.returns.non-nil...Thi |
| ac60 | 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 | s.function's.anaphoric.counterpa |
| ac80 | 72 74 20 69 73 20 60 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 27 2e 0a 0a 46 6f 72 20 61 6e 6f 74 68 | rt.is.`--take-while'...For.anoth |
| aca0 | 65 72 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 64 72 6f 70 2d 77 68 69 6c | er.variant,.see.also.`-drop-whil |
| acc0 | 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 | e'."...(declare.(important-retur |
| ace0 | 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 66 75 6e | n-value.t))...(--take-while.(fun |
| ad00 | 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 | call.pred.it).list))..(defmacro. |
| ad20 | 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 44 72 6f 70 | --drop-while.(form.list)..."Drop |
| ad40 | 20 73 75 63 63 65 73 73 69 76 65 20 69 74 65 6d 73 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 | .successive.items.from.LIST.for. |
| ad60 | 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 45 61 63 | which.FORM.evals.to.non-nil..Eac |
| ad80 | 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 | h.element.of.LIST.in.turn.is.bou |
| ada0 | 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 | nd.to.`it'.and.its.index.within. |
| adc0 | 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 | LIST.to.`it-index'.before.evalua |
| ade0 | 74 69 6e 67 20 46 4f 52 4d 2e 20 20 52 65 74 75 72 6e 20 74 68 65 0a 74 61 69 6c 20 28 6e 6f 74 | ting.FORM...Return.the.tail.(not |
| ae00 | 20 61 20 63 6f 70 79 29 20 6f 66 20 4c 49 53 54 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 69 | .a.copy).of.LIST.starting.from.i |
| ae20 | 74 73 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 66 6f 72 0a 77 68 69 63 68 20 46 4f 52 4d 20 | ts.first.element.for.which.FORM. |
| ae40 | 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 69 6c 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e | evaluates.to.nil..This.is.the.an |
| ae60 | 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 64 72 6f 70 2d 77 68 | aphoric.counterpart.to.`-drop-wh |
| ae80 | 69 6c 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 | ile'."...(declare.(debug.(form.f |
| aea0 | 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 6c 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 | orm)))...(let.((l.(make-symbol." |
| aec0 | 6c 69 73 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6c 20 2c 6c 69 73 74 29 29 0a | list"))).....`(let.((,l.,list)). |
| aee0 | 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 2c 6c 20 2c 66 6f 72 6d 20 28 70 | .......(--each-while.,l.,form.(p |
| af00 | 6f 70 20 2c 6c 29 29 0a 20 20 20 20 20 20 20 2c 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 64 72 | op.,l))........,l)))..(defun.-dr |
| af20 | 6f 70 2d 77 68 69 6c 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 44 72 6f 70 20 73 75 63 | op-while.(pred.list)..."Drop.suc |
| af40 | 63 65 73 73 69 76 65 20 69 74 65 6d 73 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 | cessive.items.from.LIST.for.whic |
| af60 | 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 50 52 45 44 20 69 73 20 | h.PRED.returns.non-nil..PRED.is. |
| af80 | 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 52 65 74 | a.function.of.one.argument...Ret |
| afa0 | 75 72 6e 20 74 68 65 20 74 61 69 6c 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 0a 6f 66 20 4c 49 53 | urn.the.tail.(not.a.copy).of.LIS |
| afc0 | 54 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 69 74 73 20 66 69 72 73 74 20 65 6c 65 6d 65 6e | T.starting.from.its.first.elemen |
| afe0 | 74 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 0a 6e 69 6c 2e 0a 0a 54 | t.for.which.PRED.returns.nil...T |
| b000 | 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 | his.function's.anaphoric.counter |
| b020 | 70 61 72 74 20 69 73 20 60 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 27 2e 0a 0a 46 6f 72 20 61 6e 6f | part.is.`--drop-while'...For.ano |
| b040 | 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 74 61 6b 65 2d 77 68 | ther.variant,.see.also.`-take-wh |
| b060 | 69 6c 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 | ile'."...(declare.(important-ret |
| b080 | 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 66 | urn-value.t))...(--drop-while.(f |
| b0a0 | 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d | uncall.pred.it).list))..(defun.- |
| b0c0 | 74 61 6b 65 20 28 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f | take.(n.list)..."Return.a.copy.o |
| b0e0 | 66 20 74 68 65 20 66 69 72 73 74 20 4e 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 0a 52 65 74 | f.the.first.N.items.in.LIST..Ret |
| b100 | 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 69 66 20 69 74 20 63 6f 6e 74 61 69 6e | urn.a.copy.of.LIST.if.it.contain |
| b120 | 73 20 4e 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 | s.N.items.or.fewer..Return.nil.i |
| b140 | 66 20 4e 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 | f.N.is.zero.or.less...See.also:. |
| b160 | 60 2d 74 61 6b 65 2d 6c 61 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d | `-take-last'."...(declare.(side- |
| b180 | 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 | effect-free.t))...(--take-while. |
| b1a0 | 28 3c 20 69 74 2d 69 6e 64 65 78 20 6e 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 | (<.it-index.n).list))..(defun.-t |
| b1c0 | 61 6b 65 2d 6c 61 73 74 20 28 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 63 6f | ake-last.(n.list)..."Return.a.co |
| b1e0 | 70 79 20 6f 66 20 74 68 65 20 6c 61 73 74 20 4e 20 69 74 65 6d 73 20 6f 66 20 4c 49 53 54 20 69 | py.of.the.last.N.items.of.LIST.i |
| b200 | 6e 20 6f 72 64 65 72 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 69 | n.order..Return.a.copy.of.LIST.i |
| b220 | 66 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 4e 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 0a | f.it.contains.N.items.or.fewer.. |
| b240 | 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 4e 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e | Return.nil.if.N.is.zero.or.less. |
| b260 | 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 74 61 6b 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 | ..See.also:.`-take'."...(declare |
| b280 | 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 63 6f 70 79 2d 73 | .(side-effect-free.t))...(copy-s |
| b2a0 | 65 71 75 65 6e 63 65 20 28 6c 61 73 74 20 6c 69 73 74 20 6e 29 29 29 0a 0a 28 64 65 66 61 6c 69 | equence.(last.list.n)))..(defali |
| b2c0 | 61 73 20 27 2d 64 72 6f 70 20 23 27 6e 74 68 63 64 72 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 | as.'-drop.#'nthcdr..."Return.the |
| b2e0 | 20 74 61 69 6c 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 20 6f 66 20 4c 49 53 54 20 77 69 74 68 6f | .tail.(not.a.copy).of.LIST.witho |
| b300 | 75 74 20 74 68 65 20 66 69 72 73 74 20 4e 20 69 74 65 6d 73 2e 0a 52 65 74 75 72 6e 20 6e 69 6c | ut.the.first.N.items..Return.nil |
| b320 | 20 69 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 4e 20 69 74 65 6d 73 20 6f 72 20 66 65 77 | .if.LIST.contains.N.items.or.few |
| b340 | 65 72 2e 0a 52 65 74 75 72 6e 20 4c 49 53 54 20 69 66 20 4e 20 69 73 20 7a 65 72 6f 20 6f 72 20 | er..Return.LIST.if.N.is.zero.or. |
| b360 | 6c 65 73 73 2e 0a 0a 46 6f 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 | less...For.another.variant,.see. |
| b380 | 61 6c 73 6f 20 60 2d 64 72 6f 70 2d 6c 61 73 74 27 2e 0a 5c 6e 28 66 6e 20 4e 20 4c 49 53 54 29 | also.`-drop-last'..\n(fn.N.LIST) |
| b3a0 | 22 29 0a 0a 28 64 65 66 75 6e 20 2d 64 72 6f 70 2d 6c 61 73 74 20 28 6e 20 6c 69 73 74 29 0a 20 | ")..(defun.-drop-last.(n.list).. |
| b3c0 | 20 22 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 77 69 74 68 6f 75 74 20 | ."Return.a.copy.of.LIST.without. |
| b3e0 | 69 74 73 20 6c 61 73 74 20 4e 20 69 74 65 6d 73 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 | its.last.N.items..Return.a.copy. |
| b400 | 6f 66 20 4c 49 53 54 20 69 66 20 4e 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 52 65 | of.LIST.if.N.is.zero.or.less..Re |
| b420 | 74 75 72 6e 20 6e 69 6c 20 69 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 4e 20 69 74 65 6d | turn.nil.if.LIST.contains.N.item |
| b440 | 73 20 6f 72 20 66 65 77 65 72 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 64 72 6f 70 27 2e 22 | s.or.fewer...See.also:.`-drop'." |
| b460 | 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 | ...(declare.(side-effect-free.t) |
| b480 | 29 0a 20 20 28 6e 62 75 74 6c 61 73 74 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6c 69 73 | )...(nbutlast.(copy-sequence.lis |
| b4a0 | 74 29 20 6e 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 70 6c 69 74 2d 61 74 20 28 6e 20 6c 69 73 74 | t).n))..(defun.-split-at.(n.list |
| b4c0 | 29 0a 20 20 22 53 70 6c 69 74 20 4c 49 53 54 20 69 6e 74 6f 20 74 77 6f 20 73 75 62 6c 69 73 74 | )..."Split.LIST.into.two.sublist |
| b4e0 | 73 20 61 66 74 65 72 20 74 68 65 20 4e 74 68 20 65 6c 65 6d 65 6e 74 2e 0a 54 68 65 20 72 65 73 | s.after.the.Nth.element..The.res |
| b500 | 75 6c 74 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 28 54 | ult.is.a.list.of.two.elements.(T |
| b520 | 41 4b 45 20 44 52 4f 50 29 20 77 68 65 72 65 20 54 41 4b 45 20 69 73 20 61 0a 6e 65 77 20 6c 69 | AKE.DROP).where.TAKE.is.a.new.li |
| b540 | 73 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 4e 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 | st.of.the.first.N.elements.of.LI |
| b560 | 53 54 2c 20 61 6e 64 20 44 52 4f 50 20 69 73 20 74 68 65 0a 72 65 6d 61 69 6e 69 6e 67 20 65 6c | ST,.and.DROP.is.the.remaining.el |
| b580 | 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 2e 20 20 54 41 | ements.of.LIST.(not.a.copy)...TA |
| b5a0 | 4b 45 20 61 6e 64 20 44 52 4f 50 20 61 72 65 20 6c 69 6b 65 0a 74 68 65 20 72 65 73 75 6c 74 73 | KE.and.DROP.are.like.the.results |
| b5c0 | 20 6f 66 20 60 2d 74 61 6b 65 27 20 61 6e 64 20 60 2d 64 72 6f 70 27 2c 20 72 65 73 70 65 63 74 | .of.`-take'.and.`-drop',.respect |
| b5e0 | 69 76 65 6c 79 2c 20 62 75 74 20 74 68 65 20 73 70 6c 69 74 0a 69 73 20 64 6f 6e 65 20 69 6e 20 | ively,.but.the.split.is.done.in. |
| b600 | 61 20 73 69 6e 67 6c 65 20 6c 69 73 74 20 74 72 61 76 65 72 73 61 6c 2e 22 0a 20 20 28 64 65 63 | a.single.list.traversal."...(dec |
| b620 | 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 | lare.(side-effect-free.t))...(le |
| b640 | 74 20 28 72 65 73 75 6c 74 29 0a 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 6c 69 73 | t.(result).....(--each-while.lis |
| b660 | 74 20 28 3c 20 69 74 2d 69 6e 64 65 78 20 6e 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 70 6f | t.(<.it-index.n).......(push.(po |
| b680 | 70 20 6c 69 73 74 29 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 28 6c 69 73 74 20 28 6e 72 65 76 | p.list).result)).....(list.(nrev |
| b6a0 | 65 72 73 65 20 72 65 73 75 6c 74 29 20 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 6f | erse.result).list)))..(defun.-ro |
| b6c0 | 74 61 74 65 20 28 6e 20 6c 69 73 74 29 0a 20 20 22 52 6f 74 61 74 65 20 4c 49 53 54 20 4e 20 70 | tate.(n.list)..."Rotate.LIST.N.p |
| b6e0 | 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 67 68 74 20 28 6c 65 66 74 20 69 66 20 4e 20 69 73 | laces.to.the.right.(left.if.N.is |
| b700 | 20 6e 65 67 61 74 69 76 65 29 2e 0a 54 68 65 20 74 69 6d 65 20 63 6f 6d 70 6c 65 78 69 74 79 20 | .negative)..The.time.complexity. |
| b720 | 69 73 20 4f 28 6e 29 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 | is.O(n)."...(declare.(pure.t).(s |
| b740 | 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 63 6f 6e 64 20 28 28 6e 75 | ide-effect-free.t))...(cond.((nu |
| b760 | 6c 6c 20 6c 69 73 74 29 20 28 29 29 0a 20 20 20 20 20 20 20 20 28 28 7a 65 72 6f 70 20 6e 29 20 | ll.list).()).........((zerop.n). |
| b780 | 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 28 28 | (copy-sequence.list)).........(( |
| b7a0 | 6c 65 74 2a 20 28 28 6c 65 6e 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 | let*.((len.(length.list))....... |
| b7c0 | 20 20 20 20 20 20 20 20 20 20 28 6e 2d 6d 6f 64 2d 6c 65 6e 20 28 6d 6f 64 20 6e 20 6c 65 6e 29 | ..........(n-mod-len.(mod.n.len) |
| b7e0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 2d 74 61 69 6c 2d 6c 65 6e 20 | ).................(new-tail-len. |
| b800 | 28 2d 20 6c 65 6e 20 6e 2d 6d 6f 64 2d 6c 65 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 | (-.len.n-mod-len)))............( |
| b820 | 61 70 70 65 6e 64 20 28 6e 74 68 63 64 72 20 6e 65 77 2d 74 61 69 6c 2d 6c 65 6e 20 6c 69 73 74 | append.(nthcdr.new-tail-len.list |
| b840 | 29 20 28 2d 74 61 6b 65 20 6e 65 77 2d 74 61 69 6c 2d 6c 65 6e 20 6c 69 73 74 29 29 29 29 29 29 | ).(-take.new-tail-len.list)))))) |
| b860 | 0a 0a 28 64 65 66 75 6e 20 2d 69 6e 73 65 72 74 2d 61 74 20 28 6e 20 78 20 6c 69 73 74 29 0a 20 | ..(defun.-insert-at.(n.x.list).. |
| b880 | 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 58 20 69 6e 73 65 72 74 65 64 20 | ."Return.a.list.with.X.inserted. |
| b8a0 | 69 6e 74 6f 20 4c 49 53 54 20 61 74 20 70 6f 73 69 74 69 6f 6e 20 4e 2e 0a 0a 53 65 65 20 61 6c | into.LIST.at.position.N...See.al |
| b8c0 | 73 6f 3a 20 60 2d 73 70 6c 69 63 65 27 2c 20 60 2d 73 70 6c 69 63 65 2d 6c 69 73 74 27 22 0a 20 | so:.`-splice',.`-splice-list'".. |
| b8e0 | 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d | .(declare.(pure.t).(side-effect- |
| b900 | 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 73 70 6c 69 74 2d 6c 69 73 74 20 28 2d 73 | free.t))...(let.((split-list.(-s |
| b920 | 70 6c 69 74 2d 61 74 20 6e 20 6c 69 73 74 29 29 29 0a 20 20 20 20 28 6e 63 6f 6e 63 20 28 63 61 | plit-at.n.list))).....(nconc.(ca |
| b940 | 72 20 73 70 6c 69 74 2d 6c 69 73 74 29 20 28 63 6f 6e 73 20 78 20 28 63 61 64 72 20 73 70 6c 69 | r.split-list).(cons.x.(cadr.spli |
| b960 | 74 2d 6c 69 73 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 70 6c 61 63 65 2d 61 74 20 | t-list)))))..(defun.-replace-at. |
| b980 | 28 6e 20 78 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 | (n.x.list)..."Return.a.list.with |
| b9a0 | 20 65 6c 65 6d 65 6e 74 20 61 74 20 4e 74 68 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 4c 49 53 54 | .element.at.Nth.position.in.LIST |
| b9c0 | 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 58 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 72 | .replaced.with.X...See.also:.`-r |
| b9e0 | 65 70 6c 61 63 65 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 | eplace'"...(declare.(pure.t).(si |
| ba00 | 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 73 70 6c 69 | de-effect-free.t))...(let.((spli |
| ba20 | 74 2d 6c 69 73 74 20 28 2d 73 70 6c 69 74 2d 61 74 20 6e 20 6c 69 73 74 29 29 29 0a 20 20 20 20 | t-list.(-split-at.n.list)))..... |
| ba40 | 28 6e 63 6f 6e 63 20 28 63 61 72 20 73 70 6c 69 74 2d 6c 69 73 74 29 20 28 63 6f 6e 73 20 78 20 | (nconc.(car.split-list).(cons.x. |
| ba60 | 28 63 64 72 20 28 63 61 64 72 20 73 70 6c 69 74 2d 6c 69 73 74 29 29 29 29 29 29 0a 0a 28 64 65 | (cdr.(cadr.split-list))))))..(de |
| ba80 | 66 75 6e 20 2d 75 70 64 61 74 65 2d 61 74 20 28 6e 20 66 75 6e 63 20 6c 69 73 74 29 0a 20 20 22 | fun.-update-at.(n.func.list)..." |
| baa0 | 55 73 65 20 46 55 4e 43 20 74 6f 20 75 70 64 61 74 65 20 74 68 65 20 4e 74 68 20 65 6c 65 6d 65 | Use.FUNC.to.update.the.Nth.eleme |
| bac0 | 6e 74 20 6f 66 20 4c 49 53 54 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 | nt.of.LIST..Return.a.copy.of.LIS |
| bae0 | 54 20 77 68 65 72 65 20 74 68 65 20 4e 74 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 72 65 70 6c 61 | T.where.the.Nth.element.is.repla |
| bb00 | 63 65 64 20 77 69 74 68 20 74 68 65 0a 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 46 | ced.with.the.result.of.calling.F |
| bb20 | 55 4e 43 20 6f 6e 20 69 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 6d 61 70 2d 77 68 65 6e | UNC.on.it...See.also:.`-map-when |
| bb40 | 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d | '"...(declare.(important-return- |
| bb60 | 76 61 6c 75 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 73 70 6c 69 74 2d 6c 69 73 74 20 28 2d | value.t))...(let.((split-list.(- |
| bb80 | 73 70 6c 69 74 2d 61 74 20 6e 20 6c 69 73 74 29 29 29 0a 20 20 20 20 28 6e 63 6f 6e 63 20 28 63 | split-at.n.list))).....(nconc.(c |
| bba0 | 61 72 20 73 70 6c 69 74 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 | ar.split-list)............(cons. |
| bbc0 | 28 66 75 6e 63 61 6c 6c 20 66 75 6e 63 20 28 63 61 72 20 28 63 61 64 72 20 73 70 6c 69 74 2d 6c | (funcall.func.(car.(cadr.split-l |
| bbe0 | 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 28 63 61 | ist)))..................(cdr.(ca |
| bc00 | 64 72 20 73 70 6c 69 74 2d 6c 69 73 74 29 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d | dr.split-list))))))..(defmacro.- |
| bc20 | 2d 75 70 64 61 74 65 2d 61 74 20 28 6e 20 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 | -update-at.(n.form.list)..."Anap |
| bc40 | 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 2d 75 70 64 61 74 65 2d 61 74 27 2e 22 0a | horic.version.of.`-update-at'.". |
| bc60 | 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 64 65 66 2d 66 6f 72 6d | ..(declare.(debug.(form.def-form |
| bc80 | 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 75 70 64 61 74 65 2d 61 74 20 2c 6e 20 28 6c 61 6d 62 | .form)))...`(-update-at.,n.(lamb |
| bca0 | 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 29 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 | da.(it).(ignore.it).,form).,list |
| bcc0 | 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 2d 61 74 20 28 6e 20 6c 69 73 74 29 0a 20 | ))..(defun.-remove-at.(n.list).. |
| bce0 | 20 22 52 65 74 75 72 6e 20 4c 49 53 54 20 77 69 74 68 20 69 74 73 20 65 6c 65 6d 65 6e 74 20 61 | ."Return.LIST.with.its.element.a |
| bd00 | 74 20 69 6e 64 65 78 20 4e 20 72 65 6d 6f 76 65 64 2e 0a 54 68 61 74 20 69 73 2c 20 72 65 6d 6f | t.index.N.removed..That.is,.remo |
| bd20 | 76 65 20 61 6e 79 20 65 6c 65 6d 65 6e 74 20 73 65 6c 65 63 74 65 64 20 61 73 20 28 6e 74 68 20 | ve.any.element.selected.as.(nth. |
| bd40 | 4e 20 4c 49 53 54 29 20 66 72 6f 6d 20 4c 49 53 54 0a 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 | N.LIST).from.LIST.and.return.the |
| bd60 | 20 72 65 73 75 6c 74 2e 0a 0a 54 68 69 73 20 69 73 20 61 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 | .result...This.is.a.non-destruct |
| bd80 | 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 3a 20 70 61 72 74 73 20 6f 66 20 4c 49 53 54 20 28 62 75 | ive.operation:.parts.of.LIST.(bu |
| bda0 | 74 20 6e 6f 74 0a 6e 65 63 65 73 73 61 72 69 6c 79 20 61 6c 6c 20 6f 66 20 69 74 29 20 61 72 65 | t.not.necessarily.all.of.it).are |
| bdc0 | 20 63 6f 70 69 65 64 20 61 73 20 6e 65 65 64 65 64 20 74 6f 20 61 76 6f 69 64 0a 64 65 73 74 72 | .copied.as.needed.to.avoid.destr |
| bde0 | 75 63 74 69 76 65 6c 79 20 6d 6f 64 69 66 79 69 6e 67 20 69 74 2e 0a 0a 53 65 65 20 61 6c 73 6f | uctively.modifying.it...See.also |
| be00 | 3a 20 60 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 27 2c 20 60 2d 72 65 6d 6f 76 65 | :.`-remove-at-indices',.`-remove |
| be20 | 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 | '."...(declare.(pure.t).(side-ef |
| be40 | 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 69 66 20 28 7a 65 72 6f 70 20 6e 29 0a 20 20 | fect-free.t))...(if.(zerop.n)... |
| be60 | 20 20 20 20 28 63 64 72 20 6c 69 73 74 29 0a 20 20 20 20 28 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 | ....(cdr.list).....(--remove-fir |
| be80 | 73 74 20 28 3d 20 69 74 2d 69 6e 64 65 78 20 6e 29 20 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 75 | st.(=.it-index.n).list)))..(defu |
| bea0 | 6e 20 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 28 69 6e 64 69 63 65 73 20 6c 69 | n.-remove-at-indices.(indices.li |
| bec0 | 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 4c 49 53 54 20 77 69 74 68 20 69 74 73 20 65 6c 65 6d | st)..."Return.LIST.with.its.elem |
| bee0 | 65 6e 74 73 20 61 74 20 49 4e 44 49 43 45 53 20 72 65 6d 6f 76 65 64 2e 0a 54 68 61 74 20 69 73 | ents.at.INDICES.removed..That.is |
| bf00 | 2c 20 66 6f 72 20 65 61 63 68 20 69 6e 64 65 78 20 49 20 69 6e 20 49 4e 44 49 43 45 53 2c 20 72 | ,.for.each.index.I.in.INDICES,.r |
| bf20 | 65 6d 6f 76 65 20 61 6e 79 20 65 6c 65 6d 65 6e 74 20 73 65 6c 65 63 74 65 64 0a 61 73 20 28 6e | emove.any.element.selected.as.(n |
| bf40 | 74 68 20 49 20 4c 49 53 54 29 20 66 72 6f 6d 20 4c 49 53 54 2e 0a 0a 54 68 69 73 20 69 73 20 61 | th.I.LIST).from.LIST...This.is.a |
| bf60 | 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 3a 20 70 61 72 74 | .non-destructive.operation:.part |
| bf80 | 73 20 6f 66 20 4c 49 53 54 20 28 62 75 74 20 6e 6f 74 0a 6e 65 63 65 73 73 61 72 69 6c 79 20 61 | s.of.LIST.(but.not.necessarily.a |
| bfa0 | 6c 6c 20 6f 66 20 69 74 29 20 61 72 65 20 63 6f 70 69 65 64 20 61 73 20 6e 65 65 64 65 64 20 74 | ll.of.it).are.copied.as.needed.t |
| bfc0 | 6f 20 61 76 6f 69 64 0a 64 65 73 74 72 75 63 74 69 76 65 6c 79 20 6d 6f 64 69 66 79 69 6e 67 20 | o.avoid.destructively.modifying. |
| bfe0 | 69 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 72 65 6d 6f 76 65 2d 61 74 27 2c 20 60 2d 72 | it...See.also:.`-remove-at',.`-r |
| c000 | 65 6d 6f 76 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 | emove'."...(declare.(pure.t).(si |
| c020 | 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 73 65 74 71 20 69 6e 64 69 63 | de-effect-free.t))...(setq.indic |
| c040 | 65 73 20 28 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 3c 20 69 74 20 30 29 20 28 2d 73 6f 72 74 | es.(--drop-while.(<.it.0).(-sort |
| c060 | 20 23 27 3c 20 69 6e 64 69 63 65 73 29 29 29 0a 20 20 28 6c 65 74 20 28 28 69 20 28 70 6f 70 20 | .#'<.indices)))...(let.((i.(pop. |
| c080 | 69 6e 64 69 63 65 73 29 29 20 72 65 73 29 0a 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 | indices)).res).....(--each-while |
| c0a0 | 20 6c 69 73 74 20 69 0a 20 20 20 20 20 20 28 70 6f 70 20 6c 69 73 74 29 0a 20 20 20 20 20 20 28 | .list.i.......(pop.list).......( |
| c0c0 | 69 66 20 28 2f 3d 20 69 74 2d 69 6e 64 65 78 20 69 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 | if.(/=.it-index.i)...........(pu |
| c0e0 | 73 68 20 69 74 20 72 65 73 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 69 | sh.it.res).........(while.(and.i |
| c100 | 6e 64 69 63 65 73 20 28 3d 20 28 63 61 72 20 69 6e 64 69 63 65 73 29 20 69 29 29 0a 20 20 20 20 | ndices.(=.(car.indices).i))..... |
| c120 | 20 20 20 20 20 20 28 70 6f 70 20 69 6e 64 69 63 65 73 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 | ......(pop.indices)).........(se |
| c140 | 74 71 20 69 20 28 70 6f 70 20 69 6e 64 69 63 65 73 29 29 29 29 0a 20 20 20 20 28 6e 63 6f 6e 63 | tq.i.(pop.indices)))).....(nconc |
| c160 | 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 29 20 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 6d 61 63 | .(nreverse.res).list)))..(defmac |
| c180 | 72 6f 20 2d 2d 73 70 6c 69 74 2d 77 69 74 68 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 41 | ro.--split-with.(pred.list)..."A |
| c1a0 | 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 73 70 6c 69 74 2d 77 69 74 68 27 2e 22 | naphoric.form.of.`-split-with'." |
| c1c0 | 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 | ...(declare.(debug.(form.form))) |
| c1e0 | 0a 20 20 28 6c 65 74 20 28 28 6c 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 22 29 | ...(let.((l.(make-symbol."list") |
| c200 | 29 0a 20 20 20 20 20 20 20 20 28 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c | ).........(r.(make-symbol."resul |
| c220 | 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 63 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 63 6f | t")).........(c.(make-symbol."co |
| c240 | 6e 74 69 6e 75 65 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6c 20 2c 6c 69 73 74 29 | ntinue"))).....`(let.((,l.,list) |
| c260 | 0a 20 20 20 20 20 20 20 20 20 20 20 28 2c 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ............(,r.nil)............ |
| c280 | 28 2c 63 20 74 29 29 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 2c 6c 20 2c 63 | (,c.t))........(while.(and.,l.,c |
| c2a0 | 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 74 20 28 63 61 72 20 2c 6c 29 29 29 0a | )..........(let.((it.(car.,l))). |
| c2c0 | 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e 6f 74 20 2c 70 72 65 64 29 0a 20 20 20 20 20 | ...........(if.(not.,pred)...... |
| c2e0 | 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 63 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 | ..........(setq.,c.nil)......... |
| c300 | 20 20 20 20 20 28 21 63 6f 6e 73 20 69 74 20 2c 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .....(!cons.it.,r).............. |
| c320 | 28 21 63 64 72 20 2c 6c 29 29 29 29 0a 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 6e 72 65 76 65 | (!cdr.,l))))........(list.(nreve |
| c340 | 72 73 65 20 2c 72 29 20 2c 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 70 6c 69 74 2d 77 69 | rse.,r).,l))))..(defun.-split-wi |
| c360 | 74 68 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 53 70 6c 69 74 20 4c 49 53 54 20 69 6e 74 | th.(pred.list)..."Split.LIST.int |
| c380 | 6f 20 61 20 70 72 65 66 69 78 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 2c 20 61 6e 64 20 | o.a.prefix.satisfying.PRED,.and. |
| c3a0 | 74 68 65 20 72 65 73 74 2e 0a 54 68 65 20 66 69 72 73 74 20 73 75 62 6c 69 73 74 20 69 73 20 74 | the.rest..The.first.sublist.is.t |
| c3c0 | 68 65 20 70 72 65 66 69 78 20 6f 66 20 4c 49 53 54 20 77 69 74 68 20 73 75 63 63 65 73 73 69 76 | he.prefix.of.LIST.with.successiv |
| c3e0 | 65 20 65 6c 65 6d 65 6e 74 73 0a 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 2c 20 61 6e 64 20 | e.elements.satisfying.PRED,.and. |
| c400 | 74 68 65 20 73 65 63 6f 6e 64 20 73 75 62 6c 69 73 74 20 69 73 20 74 68 65 20 72 65 6d 61 69 6e | the.second.sublist.is.the.remain |
| c420 | 69 6e 67 20 65 6c 65 6d 65 6e 74 73 0a 74 68 61 74 20 64 6f 20 6e 6f 74 2e 20 20 54 68 65 20 72 | ing.elements.that.do.not...The.r |
| c440 | 65 73 75 6c 74 20 69 73 20 6c 69 6b 65 20 70 65 72 66 6f 72 6d 69 6e 67 0a 0a 20 20 28 28 2d 74 | esult.is.like.performing....((-t |
| c460 | 61 6b 65 2d 77 68 69 6c 65 20 50 52 45 44 20 4c 49 53 54 29 20 28 2d 64 72 6f 70 2d 77 68 69 6c | ake-while.PRED.LIST).(-drop-whil |
| c480 | 65 20 50 52 45 44 20 4c 49 53 54 29 29 0a 0a 62 75 74 20 69 6e 20 6e 6f 20 6d 6f 72 65 20 74 68 | e.PRED.LIST))..but.in.no.more.th |
| c4a0 | 61 6e 20 61 20 73 69 6e 67 6c 65 20 70 61 73 73 20 74 68 72 6f 75 67 68 20 4c 49 53 54 2e 22 0a | an.a.single.pass.through.LIST.". |
| c4c0 | 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c | ..(declare.(important-return-val |
| c4e0 | 75 65 20 74 29 29 0a 20 20 28 2d 2d 73 70 6c 69 74 2d 77 69 74 68 20 28 66 75 6e 63 61 6c 6c 20 | ue.t))...(--split-with.(funcall. |
| c500 | 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 73 70 6c 69 | pred.it).list))..(defmacro.-spli |
| c520 | 74 2d 6f 6e 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 20 20 22 53 70 6c 69 74 20 74 68 65 20 4c 49 | t-on.(item.list)..."Split.the.LI |
| c540 | 53 54 20 65 61 63 68 20 74 69 6d 65 20 49 54 45 4d 20 69 73 20 66 6f 75 6e 64 2e 0a 0a 55 6e 6c | ST.each.time.ITEM.is.found...Unl |
| c560 | 69 6b 65 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 27 2c 20 74 68 65 20 49 54 45 4d 20 69 73 | ike.`-partition-by',.the.ITEM.is |
| c580 | 20 64 69 73 63 61 72 64 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 45 6d 70 | .discarded.from.the.results..Emp |
| c5a0 | 74 79 20 6c 69 73 74 73 20 61 72 65 20 61 6c 73 6f 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 | ty.lists.are.also.removed.from.t |
| c5c0 | 68 65 20 72 65 73 75 6c 74 2e 0a 0a 43 6f 6d 70 61 72 69 73 6f 6e 20 69 73 20 64 6f 6e 65 20 62 | he.result...Comparison.is.done.b |
| c5e0 | 79 20 60 65 71 75 61 6c 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 2d 73 70 6c 69 74 2d 77 68 65 | y.`equal'...See.also.`-split-whe |
| c600 | 6e 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 | n'"...(declare.(debug.(def-form. |
| c620 | 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 73 70 6c 69 74 2d 77 68 65 6e 20 28 6c 61 6d 62 64 61 20 | form)))...`(-split-when.(lambda. |
| c640 | 28 69 74 29 20 28 65 71 75 61 6c 20 69 74 20 2c 69 74 65 6d 29 29 20 2c 6c 69 73 74 29 29 0a 0a | (it).(equal.it.,item)).,list)).. |
| c660 | 28 64 65 66 6d 61 63 72 6f 20 2d 2d 73 70 6c 69 74 2d 77 68 65 6e 20 28 66 6f 72 6d 20 6c 69 73 | (defmacro.--split-when.(form.lis |
| c680 | 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 2d 73 70 6c | t)..."Anaphoric.version.of.`-spl |
| c6a0 | 69 74 2d 77 68 65 6e 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 | it-when'."...(declare.(debug.(de |
| c6c0 | 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 73 70 6c 69 74 2d 77 68 65 6e 20 28 | f-form.form)))...`(-split-when.( |
| c6e0 | 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 29 20 2c 66 6f 72 6d 29 20 2c | lambda.(it).(ignore.it).,form)., |
| c700 | 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 70 6c 69 74 2d 77 68 65 6e 20 28 66 6e 20 6c | list))..(defun.-split-when.(fn.l |
| c720 | 69 73 74 29 0a 20 20 22 53 70 6c 69 74 20 74 68 65 20 4c 49 53 54 20 6f 6e 20 65 61 63 68 20 65 | ist)..."Split.the.LIST.on.each.e |
| c740 | 6c 65 6d 65 6e 74 20 77 68 65 72 65 20 46 4e 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e | lement.where.FN.returns.non-nil. |
| c760 | 0a 0a 55 6e 6c 69 6b 65 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 27 2c 20 74 68 65 20 5c 22 | ..Unlike.`-partition-by',.the.\" |
| c780 | 6d 61 74 63 68 65 64 5c 22 20 65 6c 65 6d 65 6e 74 20 69 73 20 64 69 73 63 61 72 64 65 64 20 66 | matched\".element.is.discarded.f |
| c7a0 | 72 6f 6d 0a 74 68 65 20 72 65 73 75 6c 74 73 2e 20 20 45 6d 70 74 79 20 6c 69 73 74 73 20 61 72 | rom.the.results...Empty.lists.ar |
| c7c0 | 65 20 61 6c 73 6f 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 2e 0a | e.also.removed.from.the.result.. |
| c7e0 | 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 74 68 6f 75 67 68 74 20 6f 66 | .This.function.can.be.thought.of |
| c800 | 20 61 73 20 61 20 67 65 6e 65 72 61 6c 69 7a 61 74 69 6f 6e 20 6f 66 0a 60 73 70 6c 69 74 2d 73 | .as.a.generalization.of.`split-s |
| c820 | 74 72 69 6e 67 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 | tring'."...(declare.(important-r |
| c840 | 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 72 20 73 29 0a 20 20 20 | eturn-value.t))...(let.(r.s).... |
| c860 | 20 28 77 68 69 6c 65 20 6c 69 73 74 0a 20 20 20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 66 75 6e | .(while.list.......(if.(not.(fun |
| c880 | 63 61 6c 6c 20 66 6e 20 28 63 61 72 20 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 | call.fn.(car.list)))...........( |
| c8a0 | 70 75 73 68 20 28 63 61 72 20 6c 69 73 74 29 20 73 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e | push.(car.list).s).........(when |
| c8c0 | 20 73 20 28 70 75 73 68 20 28 6e 72 65 76 65 72 73 65 20 73 29 20 72 29 29 0a 20 20 20 20 20 20 | .s.(push.(nreverse.s).r))....... |
| c8e0 | 20 20 28 73 65 74 71 20 73 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 21 63 64 72 20 6c 69 73 74 | ..(setq.s.nil)).......(!cdr.list |
| c900 | 29 29 0a 20 20 20 20 28 77 68 65 6e 20 73 20 28 70 75 73 68 20 28 6e 72 65 76 65 72 73 65 20 73 | )).....(when.s.(push.(nreverse.s |
| c920 | 29 20 72 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 29 29 29 0a 0a 28 64 65 66 6d 61 | ).r)).....(nreverse.r)))..(defma |
| c940 | 63 72 6f 20 2d 2d 73 65 70 61 72 61 74 65 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e | cro.--separate.(form.list)..."An |
| c960 | 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 73 65 70 61 72 61 74 65 27 2e 22 0a 20 20 | aphoric.form.of.`-separate'."... |
| c980 | 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 | (declare.(debug.(form.form)))... |
| c9a0 | 28 6c 65 74 20 28 28 79 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 79 65 73 22 29 29 0a 20 20 | (let.((y.(make-symbol."yes"))... |
| c9c0 | 20 20 20 20 20 20 28 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6e 6f 22 29 29 29 0a 20 20 | ......(n.(make-symbol."no")))... |
| c9e0 | 20 20 60 28 6c 65 74 20 28 2c 79 20 2c 6e 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c | ..`(let.(,y.,n)........(--each., |
| ca00 | 6c 69 73 74 20 28 69 66 20 2c 66 6f 72 6d 20 28 21 63 6f 6e 73 20 69 74 20 2c 79 29 20 28 21 63 | list.(if.,form.(!cons.it.,y).(!c |
| ca20 | 6f 6e 73 20 69 74 20 2c 6e 29 29 29 0a 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 6e 72 65 76 65 | ons.it.,n)))........(list.(nreve |
| ca40 | 72 73 65 20 2c 79 29 20 28 6e 72 65 76 65 72 73 65 20 2c 6e 29 29 29 29 29 0a 0a 28 64 65 66 75 | rse.,y).(nreverse.,n)))))..(defu |
| ca60 | 6e 20 2d 73 65 70 61 72 61 74 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 53 70 6c 69 74 | n.-separate.(pred.list)..."Split |
| ca80 | 20 4c 49 53 54 20 69 6e 74 6f 20 74 77 6f 20 73 75 62 6c 69 73 74 73 20 62 61 73 65 64 20 6f 6e | .LIST.into.two.sublists.based.on |
| caa0 | 20 77 68 65 74 68 65 72 20 69 74 65 6d 73 20 73 61 74 69 73 66 79 20 50 52 45 44 2e 0a 54 68 65 | .whether.items.satisfy.PRED..The |
| cac0 | 20 72 65 73 75 6c 74 20 69 73 20 6c 69 6b 65 20 70 65 72 66 6f 72 6d 69 6e 67 0a 0a 20 20 28 28 | .result.is.like.performing....(( |
| cae0 | 2d 66 69 6c 74 65 72 20 50 52 45 44 20 4c 49 53 54 29 20 28 2d 72 65 6d 6f 76 65 20 50 52 45 44 | -filter.PRED.LIST).(-remove.PRED |
| cb00 | 20 4c 49 53 54 29 29 0a 0a 62 75 74 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 70 61 73 73 20 74 68 | .LIST))..but.in.a.single.pass.th |
| cb20 | 72 6f 75 67 68 20 4c 49 53 54 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 | rough.LIST."...(declare.(importa |
| cb40 | 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 73 65 70 61 72 61 74 | nt-return-value.t))...(--separat |
| cb60 | 65 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 | e.(funcall.pred.it).list))..(def |
| cb80 | 75 6e 20 64 61 73 68 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 2d | un.dash--partition-all-in-steps- |
| cba0 | 72 65 76 65 72 73 65 64 20 28 6e 20 73 74 65 70 20 6c 69 73 74 29 0a 20 20 22 4c 69 6b 65 20 60 | reversed.(n.step.list)..."Like.` |
| cbc0 | 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 27 2c 20 62 75 74 20 74 68 | -partition-all-in-steps',.but.th |
| cbe0 | 65 20 72 65 73 75 6c 74 20 69 73 20 72 65 76 65 72 73 65 64 2e 22 0a 20 20 28 77 68 65 6e 20 28 | e.result.is.reversed."...(when.( |
| cc00 | 3c 20 73 74 65 70 20 31 29 0a 20 20 20 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 | <.step.1).....(signal.'wrong-typ |
| cc20 | 65 2d 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 60 28 22 53 74 65 70 20 73 | e-argument.............`("Step.s |
| cc40 | 69 7a 65 20 3c 20 31 20 72 65 73 75 6c 74 73 20 69 6e 20 6a 75 69 63 79 20 69 6e 66 69 6e 69 74 | ize.<.1.results.in.juicy.infinit |
| cc60 | 65 20 6c 6f 6f 70 73 22 20 2c 73 74 65 70 29 29 29 0a 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 | e.loops".,step)))...(let.(result |
| cc80 | 29 0a 20 20 20 20 28 77 68 69 6c 65 20 6c 69 73 74 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 2d | ).....(while.list.......(push.(- |
| cca0 | 74 61 6b 65 20 6e 20 6c 69 73 74 29 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 28 73 65 74 71 | take.n.list).result).......(setq |
| ccc0 | 20 6c 69 73 74 20 28 6e 74 68 63 64 72 20 73 74 65 70 20 6c 69 73 74 29 29 29 0a 20 20 20 20 72 | .list.(nthcdr.step.list))).....r |
| cce0 | 65 73 75 6c 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 | esult))..(defun.-partition-all-i |
| cd00 | 6e 2d 73 74 65 70 73 20 28 6e 20 73 74 65 70 20 6c 69 73 74 29 0a 20 20 22 50 61 72 74 69 74 69 | n-steps.(n.step.list)..."Partiti |
| cd20 | 6f 6e 20 4c 49 53 54 20 69 6e 74 6f 20 73 75 62 6c 69 73 74 73 20 6f 66 20 6c 65 6e 67 74 68 20 | on.LIST.into.sublists.of.length. |
| cd40 | 4e 20 74 68 61 74 20 61 72 65 20 53 54 45 50 20 69 74 65 6d 73 20 61 70 61 72 74 2e 0a 41 64 6a | N.that.are.STEP.items.apart..Adj |
| cd60 | 61 63 65 6e 74 20 67 72 6f 75 70 73 20 6d 61 79 20 6f 76 65 72 6c 61 70 20 69 66 20 4e 20 65 78 | acent.groups.may.overlap.if.N.ex |
| cd80 | 63 65 65 64 73 20 74 68 65 20 53 54 45 50 20 73 74 72 69 64 65 2e 0a 54 72 61 69 6c 69 6e 67 20 | ceeds.the.STEP.stride..Trailing. |
| cda0 | 67 72 6f 75 70 73 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 4e 20 69 | groups.may.contain.less.than.N.i |
| cdc0 | 74 65 6d 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 | tems."...(declare.(pure.t).(side |
| cde0 | 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6e 72 65 76 65 72 73 65 20 28 64 61 | -effect-free.t))...(nreverse.(da |
| ce00 | 73 68 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 2d 72 65 76 65 72 | sh--partition-all-in-steps-rever |
| ce20 | 73 65 64 20 6e 20 73 74 65 70 20 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 61 72 74 | sed.n.step.list)))..(defun.-part |
| ce40 | 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 20 28 6e 20 73 74 65 70 20 6c 69 73 74 29 0a 20 20 22 | ition-in-steps.(n.step.list)..." |
| ce60 | 50 61 72 74 69 74 69 6f 6e 20 4c 49 53 54 20 69 6e 74 6f 20 73 75 62 6c 69 73 74 73 20 6f 66 20 | Partition.LIST.into.sublists.of. |
| ce80 | 6c 65 6e 67 74 68 20 4e 20 74 68 61 74 20 61 72 65 20 53 54 45 50 20 69 74 65 6d 73 20 61 70 61 | length.N.that.are.STEP.items.apa |
| cea0 | 72 74 2e 0a 4c 69 6b 65 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 | rt..Like.`-partition-all-in-step |
| cec0 | 73 27 2c 20 62 75 74 20 69 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 74 20 65 6e 6f 75 67 68 20 | s',.but.if.there.are.not.enough. |
| cee0 | 69 74 65 6d 73 0a 74 6f 20 6d 61 6b 65 20 74 68 65 20 6c 61 73 74 20 67 72 6f 75 70 20 4e 2d 73 | items.to.make.the.last.group.N-s |
| cf00 | 69 7a 65 64 2c 20 74 68 6f 73 65 20 69 74 65 6d 73 20 61 72 65 20 64 69 73 63 61 72 64 65 64 2e | ized,.those.items.are.discarded. |
| cf20 | 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 | "...(declare.(pure.t).(side-effe |
| cf40 | 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 20 28 64 61 73 | ct-free.t))...(let.((result.(das |
| cf60 | 68 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 2d 72 65 76 65 72 73 | h--partition-all-in-steps-revers |
| cf80 | 65 64 20 6e 20 73 74 65 70 20 6c 69 73 74 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e | ed.n.step.list))).....(while.(an |
| cfa0 | 64 20 72 65 73 75 6c 74 20 28 3c 20 28 6c 65 6e 67 74 68 20 28 63 61 72 20 72 65 73 75 6c 74 29 | d.result.(<.(length.(car.result) |
| cfc0 | 29 20 6e 29 29 0a 20 20 20 20 20 20 28 70 6f 70 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 28 6e | ).n)).......(pop.result)).....(n |
| cfe0 | 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 61 72 74 69 | reverse.result)))..(defun.-parti |
| d000 | 74 69 6f 6e 2d 61 6c 6c 20 28 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 | tion-all.(n.list)..."Return.a.ne |
| d020 | 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 67 72 | w.list.with.the.items.in.LIST.gr |
| d040 | 6f 75 70 65 64 20 69 6e 74 6f 20 4e 2d 73 69 7a 65 64 20 73 75 62 6c 69 73 74 73 2e 0a 54 68 65 | ouped.into.N-sized.sublists..The |
| d060 | 20 6c 61 73 74 20 67 72 6f 75 70 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 6c 65 73 73 20 74 68 61 | .last.group.may.contain.less.tha |
| d080 | 6e 20 4e 20 69 74 65 6d 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 | n.N.items."...(declare.(pure.t). |
| d0a0 | 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 70 61 72 74 69 74 | (side-effect-free.t))...(-partit |
| d0c0 | 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 6e 20 6e 20 6c 69 73 74 29 29 0a 0a 28 64 65 | ion-all-in-steps.n.n.list))..(de |
| d0e0 | 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 20 28 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 | fun.-partition.(n.list)..."Retur |
| d100 | 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 4c | n.a.new.list.with.the.items.in.L |
| d120 | 49 53 54 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 4e 2d 73 69 7a 65 64 20 73 75 62 6c 69 73 74 | IST.grouped.into.N-sized.sublist |
| d140 | 73 2e 0a 49 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 74 20 65 6e 6f 75 67 68 20 69 74 65 6d 73 | s..If.there.are.not.enough.items |
| d160 | 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 6c 61 73 74 20 67 72 6f 75 70 20 4e 2d 73 69 7a 65 64 2c | .to.make.the.last.group.N-sized, |
| d180 | 0a 74 68 6f 73 65 20 69 74 65 6d 73 20 61 72 65 20 64 69 73 63 61 72 64 65 64 2e 22 0a 20 20 28 | .those.items.are.discarded."...( |
| d1a0 | 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 | declare.(pure.t).(side-effect-fr |
| d1c0 | 65 65 20 74 29 29 0a 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 20 6e 20 | ee.t))...(-partition-in-steps.n. |
| d1e0 | 6e 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 70 61 72 74 69 74 69 6f 6e 2d | n.list))..(defmacro.--partition- |
| d200 | 62 79 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d | by.(form.list)..."Anaphoric.form |
| d220 | 20 6f 66 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 | .of.`-partition-by'."...(declare |
| d240 | 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 | .(debug.(form.form)))...(let.((r |
| d260 | 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 0a 20 20 20 20 20 20 20 | .(make-symbol."result"))........ |
| d280 | 20 28 73 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 73 75 62 6c 69 73 74 22 29 29 0a 20 20 20 | .(s.(make-symbol."sublist")).... |
| d2a0 | 20 20 20 20 20 28 76 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 76 61 6c 75 65 22 29 29 0a 20 | .....(v.(make-symbol."value")).. |
| d2c0 | 20 20 20 20 20 20 20 28 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6e 65 77 2d 76 61 6c 75 | .......(n.(make-symbol."new-valu |
| d2e0 | 65 22 29 29 0a 20 20 20 20 20 20 20 20 28 6c 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 | e")).........(l.(make-symbol."li |
| d300 | 73 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6c 20 2c 6c 69 73 74 29 29 0a 20 20 | st"))).....`(let.((,l.,list))... |
| d320 | 20 20 20 20 20 28 77 68 65 6e 20 2c 6c 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 2c | .....(when.,l..........(let*.((, |
| d340 | 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 74 20 28 63 61 72 20 | r.nil).................(it.(car. |
| d360 | 2c 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 73 20 28 6c 69 73 74 20 69 | ,l)).................(,s.(list.i |
| d380 | 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 76 20 2c 66 6f 72 6d 29 0a 20 | t)).................(,v.,form).. |
| d3a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 6c 20 28 63 64 72 20 2c 6c 29 29 29 0a 20 20 | ...............(,l.(cdr.,l)))... |
| d3c0 | 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 2c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .........(while.,l.............. |
| d3e0 | 28 6c 65 74 2a 20 28 28 69 74 20 28 63 61 72 20 2c 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | (let*.((it.(car.,l))............ |
| d400 | 20 20 20 20 20 20 20 20 20 28 2c 6e 20 2c 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | .........(,n.,form))............ |
| d420 | 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 2c 76 20 2c 6e 29 0a 20 20 20 20 20 20 | ....(unless.(equal.,v.,n)....... |
| d440 | 20 20 20 20 20 20 20 20 20 20 20 28 21 63 6f 6e 73 20 28 6e 72 65 76 65 72 73 65 20 2c 73 29 20 | ...........(!cons.(nreverse.,s). |
| d460 | 2c 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 73 20 6e 69 | ,r)..................(setq.,s.ni |
| d480 | 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 76 20 2c 6e 29 | l)..................(setq.,v.,n) |
| d4a0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 21 63 6f 6e 73 20 69 74 20 2c 73 29 0a 20 | )................(!cons.it.,s).. |
| d4c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 21 63 64 72 20 2c 6c 29 29 29 0a 20 20 20 20 20 20 | ..............(!cdr.,l)))....... |
| d4e0 | 20 20 20 20 20 28 21 63 6f 6e 73 20 28 6e 72 65 76 65 72 73 65 20 2c 73 29 20 2c 72 29 0a 20 20 | .....(!cons.(nreverse.,s).,r)... |
| d500 | 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c 72 29 29 29 29 29 29 0a 0a 28 64 65 | .........(nreverse.,r))))))..(de |
| d520 | 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 41 | fun.-partition-by.(fn.list)..."A |
| d540 | 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2c 20 73 70 | pply.FN.to.each.item.in.LIST,.sp |
| d560 | 6c 69 74 74 69 6e 67 20 69 74 20 65 61 63 68 20 74 69 6d 65 20 46 4e 20 72 65 74 75 72 6e 73 20 | litting.it.each.time.FN.returns. |
| d580 | 61 20 6e 65 77 20 76 61 6c 75 65 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 | a.new.value."...(declare.(import |
| d5a0 | 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 70 61 72 74 69 74 | ant-return-value.t))...(--partit |
| d5c0 | 69 6f 6e 2d 62 79 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 | ion-by.(funcall.fn.it).list))..( |
| d5e0 | 64 65 66 6d 61 63 72 6f 20 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 | defmacro.--partition-by-header.( |
| d600 | 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 | form.list)..."Anaphoric.form.of. |
| d620 | 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 27 2e 22 0a 20 20 28 64 65 63 6c | `-partition-by-header'."...(decl |
| d640 | 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 | are.(debug.(form.form)))...(let. |
| d660 | 28 28 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 0a 20 20 20 20 | ((r.(make-symbol."result"))..... |
| d680 | 20 20 20 20 28 73 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 73 75 62 6c 69 73 74 22 29 29 0a | ....(s.(make-symbol."sublist")). |
| d6a0 | 20 20 20 20 20 20 20 20 28 68 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 68 65 61 64 65 72 2d | ........(h.(make-symbol."header- |
| d6c0 | 76 61 6c 75 65 22 29 29 0a 20 20 20 20 20 20 20 20 28 62 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c | value")).........(b.(make-symbol |
| d6e0 | 20 22 73 65 65 6e 2d 62 6f 64 79 3f 22 29 29 0a 20 20 20 20 20 20 20 20 28 6e 20 28 6d 61 6b 65 | ."seen-body?")).........(n.(make |
| d700 | 2d 73 79 6d 62 6f 6c 20 22 6e 65 77 2d 76 61 6c 75 65 22 29 29 0a 20 20 20 20 20 20 20 20 28 6c | -symbol."new-value")).........(l |
| d720 | 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 | .(make-symbol."list"))).....`(le |
| d740 | 74 20 28 28 2c 6c 20 2c 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 28 77 68 65 6e 20 2c 6c 0a 20 | t.((,l.,list))........(when.,l.. |
| d760 | 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 2c 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 | ........(let*.((,r.nil)......... |
| d780 | 20 20 20 20 20 20 20 20 28 69 74 20 28 63 61 72 20 2c 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ........(it.(car.,l))........... |
| d7a0 | 20 20 20 20 20 20 28 2c 73 20 28 6c 69 73 74 20 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ......(,s.(list.it))............ |
| d7c0 | 20 20 20 20 20 28 2c 68 20 2c 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .....(,h.,form)................. |
| d7e0 | 28 2c 62 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 6c 20 28 63 64 | (,b.nil).................(,l.(cd |
| d800 | 72 20 2c 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 2c 6c 0a 20 20 20 | r.,l)))............(while.,l.... |
| d820 | 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 74 20 28 63 61 72 20 2c 6c 29 29 0a 20 | ..........(let*.((it.(car.,l)).. |
| d840 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 6e 20 2c 66 6f 72 6d 29 29 0a 20 | ...................(,n.,form)).. |
| d860 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 75 61 6c 20 2c 68 20 2c 6e 29 0a | ..............(if.(equal.,h.,n). |
| d880 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 2c 62 0a 20 20 20 20 | ...................(when.,b..... |
| d8a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 21 63 6f 6e 73 20 28 6e 72 65 76 65 72 73 | .................(!cons.(nrevers |
| d8c0 | 65 20 2c 73 29 20 2c 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | e.,s).,r)......................( |
| d8e0 | 73 65 74 71 20 2c 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | setq.,s.nil).................... |
| d900 | 20 20 28 73 65 74 71 20 2c 62 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..(setq.,b.nil))................ |
| d920 | 20 20 28 73 65 74 71 20 2c 62 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 21 | ..(setq.,b.t))................(! |
| d940 | 63 6f 6e 73 20 69 74 20 2c 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 21 63 64 72 | cons.it.,s)................(!cdr |
| d960 | 20 2c 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 21 63 6f 6e 73 20 28 6e 72 65 76 65 72 | .,l)))............(!cons.(nrever |
| d980 | 73 65 20 2c 73 29 20 2c 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 | se.,s).,r)............(nreverse. |
| d9a0 | 2c 72 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 | ,r))))))..(defun.-partition-by-h |
| d9c0 | 65 61 64 65 72 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 41 70 70 6c 79 20 46 4e 20 74 6f 20 74 | eader.(fn.list)..."Apply.FN.to.t |
| d9e0 | 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2e 20 54 68 61 74 20 69 73 20 74 | he.first.item.in.LIST..That.is.t |
| da00 | 68 65 20 68 65 61 64 65 72 0a 76 61 6c 75 65 2e 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 | he.header.value..Apply.FN.to.eac |
| da20 | 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2c 20 73 70 6c 69 74 74 69 6e 67 20 69 74 20 65 61 63 | h.item.in.LIST,.splitting.it.eac |
| da40 | 68 20 74 69 6d 65 20 46 4e 0a 72 65 74 75 72 6e 73 20 74 68 65 20 68 65 61 64 65 72 20 76 61 6c | h.time.FN.returns.the.header.val |
| da60 | 75 65 2c 20 62 75 74 20 6f 6e 6c 79 20 61 66 74 65 72 20 73 65 65 69 6e 67 20 61 74 20 6c 65 61 | ue,.but.only.after.seeing.at.lea |
| da80 | 73 74 20 6f 6e 65 0a 6f 74 68 65 72 20 76 61 6c 75 65 20 28 74 68 65 20 62 6f 64 79 29 2e 22 0a | st.one.other.value.(the.body).". |
| daa0 | 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c | ..(declare.(important-return-val |
| dac0 | 75 65 20 74 29 29 0a 20 20 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 | ue.t))...(--partition-by-header. |
| dae0 | 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 | (funcall.fn.it).list))..(defmacr |
| db00 | 6f 20 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 28 66 6f 72 6d 20 6c | o.--partition-after-pred.(form.l |
| db20 | 69 73 74 29 0a 20 20 22 50 61 72 74 69 74 69 6f 6e 20 4c 49 53 54 20 61 66 74 65 72 20 65 61 63 | ist)..."Partition.LIST.after.eac |
| db40 | 68 20 65 6c 65 6d 65 6e 74 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 75 61 74 | h.element.for.which.FORM.evaluat |
| db60 | 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c | es.to.non-nil..Each.element.of.L |
| db80 | 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 62 65 66 | IST.in.turn.is.bound.to.`it'.bef |
| dba0 | 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 0a 46 4f 52 4d 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 | ore.evaluating.FORM...This.is.th |
| dbc0 | 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 70 61 72 | e.anaphoric.counterpart.to.`-par |
| dbe0 | 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 20 | tition-after-pred'."...(let.((l. |
| dc00 | 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 72 | (make-symbol."list")).........(r |
| dc20 | 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 0a 20 20 20 20 20 20 20 | .(make-symbol."result"))........ |
| dc40 | 20 28 73 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 73 75 62 6c 69 73 74 22 29 29 29 0a 20 20 | .(s.(make-symbol."sublist")))... |
| dc60 | 20 20 60 28 6c 65 74 20 28 28 2c 6c 20 2c 6c 69 73 74 29 20 2c 72 20 2c 73 29 0a 20 20 20 20 20 | ..`(let.((,l.,list).,r.,s)...... |
| dc80 | 20 20 28 77 68 65 6e 20 2c 6c 0a 20 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 0a 20 | ..(when.,l..........(--each.,l.. |
| dca0 | 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 69 74 20 2c 73 29 0a 20 20 20 20 20 20 20 20 20 | ..........(push.it.,s).......... |
| dcc0 | 20 20 28 77 68 65 6e 20 2c 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 | ..(when.,form..............(push |
| dce0 | 20 28 6e 72 65 76 65 72 73 65 20 2c 73 29 20 2c 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(nreverse.,s).,r).............. |
| dd00 | 28 73 65 74 71 20 2c 73 20 28 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 2c 73 | (setq.,s.())))..........(when.,s |
| dd20 | 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 6e 72 65 76 65 72 73 65 20 2c 73 29 20 | ............(push.(nreverse.,s). |
| dd40 | 2c 72 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c 72 29 29 29 29 29 0a | ,r))..........(nreverse.,r))))). |
| dd60 | 0a 28 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 28 70 | .(defun.-partition-after-pred.(p |
| dd80 | 72 65 64 20 6c 69 73 74 29 0a 20 20 22 50 61 72 74 69 74 69 6f 6e 20 4c 49 53 54 20 61 66 74 65 | red.list)..."Partition.LIST.afte |
| dda0 | 72 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 | r.each.element.for.which.PRED.re |
| ddc0 | 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 | turns.non-nil...This.function's. |
| dde0 | 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 70 61 72 74 | anaphoric.counterpart.is.`--part |
| de00 | 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 | ition-after-pred'."...(declare.( |
| de20 | 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d | important-return-value.t))...(-- |
| de40 | 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 28 66 75 6e 63 61 6c 6c 20 70 72 | partition-after-pred.(funcall.pr |
| de60 | 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e | ed.it).list))..(defun.-partition |
| de80 | 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 50 61 72 74 | -before-pred.(pred.list)..."Part |
| dea0 | 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 62 65 66 6f 72 65 20 65 61 63 68 20 74 69 6d 65 20 | ition.directly.before.each.time. |
| dec0 | 50 52 45 44 20 69 73 20 74 72 75 65 20 6f 6e 20 61 6e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 | PRED.is.true.on.an.element.of.LI |
| dee0 | 53 54 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 | ST."...(declare.(important-retur |
| df00 | 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 6e 72 65 76 65 72 73 65 20 28 2d 6d 61 70 20 23 27 | n-value.t))...(nreverse.(-map.#' |
| df20 | 72 65 76 65 72 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 | reverse...................(-part |
| df40 | 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 70 72 65 64 20 28 72 65 76 65 72 73 65 20 6c | ition-after-pred.pred.(reverse.l |
| df60 | 69 73 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 | ist)))))..(defun.-partition-afte |
| df80 | 72 2d 69 74 65 6d 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 20 20 22 50 61 72 74 69 74 69 6f 6e 20 | r-item.(item.list)..."Partition. |
| dfa0 | 64 69 72 65 63 74 6c 79 20 61 66 74 65 72 20 65 61 63 68 20 74 69 6d 65 20 49 54 45 4d 20 61 70 | directly.after.each.time.ITEM.ap |
| dfc0 | 70 65 61 72 73 20 69 6e 20 4c 49 53 54 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 | pears.in.LIST."...(declare.(pure |
| dfe0 | 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 70 61 | .t).(side-effect-free.t))...(-pa |
| e000 | 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 28 6c 61 6d 62 64 61 20 28 65 6c 65 29 | rtition-after-pred.(lambda.(ele) |
| e020 | 20 28 65 71 75 61 6c 20 65 6c 65 20 69 74 65 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(equal.ele.item)).............. |
| e040 | 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 61 72 74 | ............list))..(defun.-part |
| e060 | 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 20 20 | ition-before-item.(item.list)... |
| e080 | 22 50 61 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 62 65 66 6f 72 65 20 65 61 63 68 20 | "Partition.directly.before.each. |
| e0a0 | 74 69 6d 65 20 49 54 45 4d 20 61 70 70 65 61 72 73 20 69 6e 20 4c 49 53 54 2e 22 0a 20 20 28 64 | time.ITEM.appears.in.LIST."...(d |
| e0c0 | 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 | eclare.(pure.t).(side-effect-fre |
| e0e0 | 65 20 74 29 29 0a 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 | e.t))...(-partition-before-pred. |
| e100 | 28 6c 61 6d 62 64 61 20 28 65 6c 65 29 20 28 65 71 75 61 6c 20 65 6c 65 20 69 74 65 6d 29 29 0a | (lambda.(ele).(equal.ele.item)). |
| e120 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 29 29 | ..........................list)) |
| e140 | 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 67 72 6f 75 70 2d 62 79 20 28 66 6f 72 6d 20 6c 69 73 | ..(defmacro.--group-by.(form.lis |
| e160 | 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 67 72 6f 75 70 2d | t)..."Anaphoric.form.of.`-group- |
| e180 | 62 79 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 74 29 29 0a 20 20 28 6c | by'."...(declare.(debug.t))...(l |
| e1a0 | 65 74 20 28 28 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6e 22 29 29 0a 20 20 20 20 20 20 | et.((n.(make-symbol."n"))....... |
| e1c0 | 20 20 28 6b 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6b 22 29 29 0a 20 20 20 20 20 20 20 20 | ..(k.(make-symbol."k"))......... |
| e1e0 | 28 67 72 70 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 67 72 70 22 29 29 29 0a 20 20 20 20 60 | (grp.(make-symbol."grp"))).....` |
| e200 | 28 6e 72 65 76 65 72 73 65 0a 20 20 20 20 20 20 28 2d 6d 61 70 0a 20 20 20 20 20 20 20 28 6c 61 | (nreverse.......(-map........(la |
| e220 | 6d 62 64 61 20 28 2c 6e 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 63 61 72 20 2c 6e | mbda.(,n)..........(cons.(car.,n |
| e240 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 28 63 64 72 20 | )................(nreverse.(cdr. |
| e260 | 2c 6e 29 29 29 29 0a 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 0a 20 20 20 | ,n))))........(--reduce-from.... |
| e280 | 20 20 20 20 20 28 6c 65 74 2a 20 28 28 2c 6b 20 28 2c 40 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 | .....(let*.((,k.(,@form))....... |
| e2a0 | 20 20 20 20 20 20 20 20 20 28 2c 67 72 70 20 28 61 73 73 6f 63 20 2c 6b 20 61 63 63 29 29 29 0a | .........(,grp.(assoc.,k.acc))). |
| e2c0 | 20 20 20 20 20 20 20 20 20 20 28 69 66 20 2c 67 72 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..........(if.,grp.............. |
| e2e0 | 20 28 73 65 74 63 64 72 20 2c 67 72 70 20 28 63 6f 6e 73 20 69 74 20 28 63 64 72 20 2c 67 72 70 | .(setcdr.,grp.(cons.it.(cdr.,grp |
| e300 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 0a 20 20 20 20 20 20 20 20 20 20 | ))).............(push........... |
| e320 | 20 20 20 28 6c 69 73 74 20 2c 6b 20 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 63 | ...(list.,k.it)..............acc |
| e340 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 61 63 63 29 0a 20 20 20 20 20 20 20 20 6e 69 6c 20 2c 6c | ))...........acc).........nil.,l |
| e360 | 69 73 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 67 72 6f 75 70 2d 62 79 20 28 66 6e 20 6c | ist)))))..(defun.-group-by.(fn.l |
| e380 | 69 73 74 29 0a 20 20 22 53 65 70 61 72 61 74 65 20 4c 49 53 54 20 69 6e 74 6f 20 61 6e 20 61 6c | ist)..."Separate.LIST.into.an.al |
| e3a0 | 69 73 74 20 77 68 6f 73 65 20 6b 65 79 73 20 61 72 65 20 46 4e 20 61 70 70 6c 69 65 64 20 74 6f | ist.whose.keys.are.FN.applied.to |
| e3c0 | 20 74 68 65 0a 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2e 20 20 4b 65 79 73 20 61 72 65 | .the.elements.of.LIST...Keys.are |
| e3e0 | 20 63 6f 6d 70 61 72 65 64 20 62 79 20 60 65 71 75 61 6c 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 | .compared.by.`equal'."...(declar |
| e400 | 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 | e.(important-return-value.t))... |
| e420 | 28 2d 2d 67 72 6f 75 70 2d 62 79 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 29 20 6c 69 73 74 | (--group-by.(funcall.fn.it).list |
| e440 | 29 29 0a 0a 28 64 65 66 75 6e 20 2d 69 6e 74 65 72 70 6f 73 65 20 28 73 65 70 20 6c 69 73 74 29 | ))..(defun.-interpose.(sep.list) |
| e460 | 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 65 6c 65 | ..."Return.a.new.list.of.all.ele |
| e480 | 6d 65 6e 74 73 20 69 6e 20 4c 49 53 54 20 73 65 70 61 72 61 74 65 64 20 62 79 20 53 45 50 2e 22 | ments.in.LIST.separated.by.SEP." |
| e4a0 | 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 | ...(declare.(side-effect-free.t) |
| e4c0 | 29 0a 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 29 0a 20 20 20 20 28 77 68 65 6e 20 6c 69 73 74 | )...(let.(result).....(when.list |
| e4e0 | 0a 20 20 20 20 20 20 28 21 63 6f 6e 73 20 28 63 61 72 20 6c 69 73 74 29 20 72 65 73 75 6c 74 29 | .......(!cons.(car.list).result) |
| e500 | 0a 20 20 20 20 20 20 28 21 63 64 72 20 6c 69 73 74 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 6c | .......(!cdr.list)).....(while.l |
| e520 | 69 73 74 0a 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 28 63 6f 6e 73 20 28 63 61 | ist.......(setq.result.(cons.(ca |
| e540 | 72 20 6c 69 73 74 29 20 28 63 6f 6e 73 20 73 65 70 20 72 65 73 75 6c 74 29 29 29 0a 20 20 20 20 | r.list).(cons.sep.result)))..... |
| e560 | 20 20 28 21 63 64 72 20 6c 69 73 74 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 | ..(!cdr.list)).....(nreverse.res |
| e580 | 75 6c 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 69 6e 74 65 72 6c 65 61 76 65 20 28 26 72 65 73 | ult)))..(defun.-interleave.(&res |
| e5a0 | 74 20 6c 69 73 74 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 | t.lists)..."Return.a.new.list.of |
| e5c0 | 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 65 61 63 68 20 6c 69 73 74 2c 20 74 68 | .the.first.item.in.each.list,.th |
| e5e0 | 65 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 65 74 63 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 | en.the.second.etc."...(declare.( |
| e600 | 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 77 68 65 6e 20 6c 69 73 | side-effect-free.t))...(when.lis |
| e620 | 74 73 0a 20 20 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 28 77 68 69 6c | ts.....(let.(result).......(whil |
| e640 | 65 20 28 2d 6e 6f 6e 65 3f 20 27 6e 75 6c 6c 20 6c 69 73 74 73 29 0a 20 20 20 20 20 20 20 20 28 | e.(-none?.'null.lists).........( |
| e660 | 2d 2d 65 61 63 68 20 6c 69 73 74 73 20 28 21 63 6f 6e 73 20 28 63 61 72 20 69 74 29 20 72 65 73 | --each.lists.(!cons.(car.it).res |
| e680 | 75 6c 74 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 69 73 74 73 20 28 2d 6d 61 70 20 | ult)).........(setq.lists.(-map. |
| e6a0 | 27 63 64 72 20 6c 69 73 74 73 29 29 29 0a 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 | 'cdr.lists))).......(nreverse.re |
| e6c0 | 73 75 6c 74 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 7a 69 70 2d 77 69 74 68 20 28 | sult))))..(defmacro.--zip-with.( |
| e6e0 | 66 6f 72 6d 20 6c 69 73 74 31 20 6c 69 73 74 32 29 0a 20 20 22 5a 69 70 20 4c 49 53 54 31 20 61 | form.list1.list2)..."Zip.LIST1.a |
| e700 | 6e 64 20 4c 49 53 54 32 20 69 6e 74 6f 20 61 20 6e 65 77 20 6c 69 73 74 20 61 63 63 6f 72 64 69 | nd.LIST2.into.a.new.list.accordi |
| e720 | 6e 67 20 74 6f 20 46 4f 52 4d 2e 0a 54 68 61 74 20 69 73 2c 20 65 76 61 6c 75 61 74 65 20 46 4f | ng.to.FORM..That.is,.evaluate.FO |
| e740 | 52 4d 20 66 6f 72 20 65 61 63 68 20 69 74 65 6d 20 70 61 69 72 20 66 72 6f 6d 20 74 68 65 20 74 | RM.for.each.item.pair.from.the.t |
| e760 | 77 6f 20 6c 69 73 74 73 2c 20 61 6e 64 0a 72 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 | wo.lists,.and.return.the.list.of |
| e780 | 20 72 65 73 75 6c 74 73 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 73 20 6c 6f 6e 67 | .results...The.result.is.as.long |
| e7a0 | 20 61 73 20 74 68 65 20 73 68 6f 72 74 65 72 0a 6c 69 73 74 2e 0a 0a 45 61 63 68 20 65 6c 65 6d | .as.the.shorter.list...Each.elem |
| e7c0 | 65 6e 74 20 6f 66 20 4c 49 53 54 31 20 61 6e 64 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 | ent.of.LIST1.and.each.element.of |
| e7e0 | 20 4c 49 53 54 32 20 69 6e 20 74 75 72 6e 20 61 72 65 20 62 6f 75 6e 64 0a 70 61 69 72 77 69 73 | .LIST2.in.turn.are.bound.pairwis |
| e800 | 65 20 74 6f 20 60 69 74 27 20 61 6e 64 20 60 6f 74 68 65 72 27 2c 20 72 65 73 70 65 63 74 69 76 | e.to.`it'.and.`other',.respectiv |
| e820 | 65 6c 79 2c 20 61 6e 64 20 74 68 65 69 72 20 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 74 68 65 20 | ely,.and.their.index.within.the. |
| e840 | 6c 69 73 74 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 2c 20 62 65 66 6f 72 65 20 65 76 61 6c 75 | list.to.`it-index',.before.evalu |
| e860 | 61 74 69 6e 67 20 46 4f 52 4d 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 | ating.FORM...This.is.the.anaphor |
| e880 | 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 7a 69 70 2d 77 69 74 68 27 2e 22 0a | ic.counterpart.to.`-zip-with'.". |
| e8a0 | 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 | ..(declare.(debug.(form.form.for |
| e8c0 | 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 | m)))...(let.((r.(make-symbol."re |
| e8e0 | 73 75 6c 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 6c 32 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c | sult")).........(l2.(make-symbol |
| e900 | 20 22 6c 69 73 74 32 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6c 32 20 2c 6c 69 73 | ."list2"))).....`(let.((,l2.,lis |
| e920 | 74 32 29 20 2c 72 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 2c 6c 69 | t2).,r)........(--each-while.,li |
| e940 | 73 74 31 20 2c 6c 32 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6f 74 68 65 72 20 28 70 | st1.,l2..........(let.((other.(p |
| e960 | 6f 70 20 2c 6c 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 20 6f 74 68 | op.,l2)))............(ignore.oth |
| e980 | 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 2c 66 6f 72 6d 20 2c 72 29 29 29 | er)............(push.,form.,r))) |
| e9a0 | 0a 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c 72 29 29 29 29 0a 0a 28 64 65 66 75 6e | ........(nreverse.,r))))..(defun |
| e9c0 | 20 2d 7a 69 70 2d 77 69 74 68 20 28 66 6e 20 6c 69 73 74 31 20 6c 69 73 74 32 29 0a 20 20 22 5a | .-zip-with.(fn.list1.list2)..."Z |
| e9e0 | 69 70 20 4c 49 53 54 31 20 61 6e 64 20 4c 49 53 54 32 20 69 6e 74 6f 20 61 20 6e 65 77 20 6c 69 | ip.LIST1.and.LIST2.into.a.new.li |
| ea00 | 73 74 20 75 73 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 2e 0a 54 68 61 74 20 69 | st.using.the.function.FN..That.i |
| ea20 | 73 2c 20 61 70 70 6c 79 20 46 4e 20 70 61 69 72 77 69 73 65 20 74 61 6b 69 6e 67 20 61 73 20 66 | s,.apply.FN.pairwise.taking.as.f |
| ea40 | 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 6e 65 78 74 0a 65 6c 65 6d 65 6e 74 20 6f | irst.argument.the.next.element.o |
| ea60 | 66 20 4c 49 53 54 31 20 61 6e 64 20 61 73 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 | f.LIST1.and.as.second.argument.t |
| ea80 | 68 65 20 6e 65 78 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 32 0a 61 74 20 74 68 65 20 | he.next.element.of.LIST2.at.the. |
| eaa0 | 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 70 6f 73 69 74 69 6f 6e 2e 20 20 54 68 65 20 72 65 73 | corresponding.position...The.res |
| eac0 | 75 6c 74 20 69 73 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 0a 73 68 6f 72 74 65 72 20 6c 69 | ult.is.as.long.as.the.shorter.li |
| eae0 | 73 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 | st...This.function's.anaphoric.c |
| eb00 | 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 7a 69 70 2d 77 69 74 68 27 2e 0a 0a 46 6f 72 | ounterpart.is.`--zip-with'...For |
| eb20 | 20 6f 74 68 65 72 20 7a 69 70 73 2c 20 73 65 65 20 61 6c 73 6f 20 60 2d 7a 69 70 2d 6c 69 73 74 | .other.zips,.see.also.`-zip-list |
| eb40 | 73 27 20 61 6e 64 20 60 2d 7a 69 70 2d 66 69 6c 6c 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 | s'.and.`-zip-fill'."...(declare. |
| eb60 | 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d | (important-return-value.t))...(- |
| eb80 | 2d 7a 69 70 2d 77 69 74 68 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 20 6f 74 68 65 72 29 20 | -zip-with.(funcall.fn.it.other). |
| eba0 | 6c 69 73 74 31 20 6c 69 73 74 32 29 29 0a 0a 28 64 65 66 75 6e 20 2d 7a 69 70 2d 6c 69 73 74 73 | list1.list2))..(defun.-zip-lists |
| ebc0 | 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 22 5a 69 70 20 4c 49 53 54 53 20 74 6f 67 65 | .(&rest.lists)..."Zip.LISTS.toge |
| ebe0 | 74 68 65 72 2e 0a 0a 47 72 6f 75 70 20 74 68 65 20 68 65 61 64 20 6f 66 20 65 61 63 68 20 6c 69 | ther...Group.the.head.of.each.li |
| ec00 | 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 | st,.followed.by.the.second.eleme |
| ec20 | 6e 74 20 6f 66 0a 65 61 63 68 20 6c 69 73 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 20 54 68 65 | nt.of.each.list,.and.so.on...The |
| ec40 | 20 6e 75 6d 62 65 72 20 6f 66 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 69 73 | .number.of.returned.groupings.is |
| ec60 | 20 65 71 75 61 6c 0a 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 | .equal.to.the.length.of.the.shor |
| ec80 | 74 65 73 74 20 69 6e 70 75 74 20 6c 69 73 74 2c 20 61 6e 64 20 74 68 65 20 6c 65 6e 67 74 68 20 | test.input.list,.and.the.length. |
| eca0 | 6f 66 20 65 61 63 68 0a 67 72 6f 75 70 69 6e 67 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 | of.each.grouping.is.equal.to.the |
| ecc0 | 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e 70 75 74 20 4c 49 53 54 53 2e 0a 0a 54 68 65 20 72 65 74 | .number.of.input.LISTS...The.ret |
| ece0 | 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 6c 77 61 79 73 20 61 20 6c 69 73 74 20 6f 66 20 70 72 | urn.value.is.always.a.list.of.pr |
| ed00 | 6f 70 65 72 20 6c 69 73 74 73 2c 20 69 6e 20 63 6f 6e 74 72 61 73 74 20 74 6f 0a 60 2d 7a 69 70 | oper.lists,.in.contrast.to.`-zip |
| ed20 | 27 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 64 6f 74 74 65 64 | '.which.returns.a.list.of.dotted |
| ed40 | 20 70 61 69 72 73 20 77 68 65 6e 20 6f 6e 6c 79 20 74 77 6f 20 69 6e 70 75 74 0a 4c 49 53 54 53 | .pairs.when.only.two.input.LISTS |
| ed60 | 20 61 72 65 20 70 72 6f 76 69 64 65 64 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 7a 69 70 2d | .are.provided...See.also:.`-zip- |
| ed80 | 70 61 69 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 | pair'."...(declare.(pure.t).(sid |
| eda0 | 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 77 68 65 6e 20 6c 69 73 74 73 0a | e-effect-free.t))...(when.lists. |
| edc0 | 20 20 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 73 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 | ....(let.(results).......(while. |
| ede0 | 28 2d 2d 65 76 65 72 79 20 69 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 | (--every.it.lists).........(push |
| ee00 | 20 28 6d 61 70 63 61 72 20 23 27 63 61 72 20 6c 69 73 74 73 29 20 72 65 73 75 6c 74 73 29 0a 20 | .(mapcar.#'car.lists).results).. |
| ee20 | 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 69 73 74 73 20 28 6d 61 70 63 61 72 20 23 27 63 64 72 | .......(setq.lists.(mapcar.#'cdr |
| ee40 | 20 6c 69 73 74 73 29 29 29 0a 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 | .lists))).......(nreverse.result |
| ee60 | 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c 6c 20 28 66 | s))))..(defun.-zip-lists-fill.(f |
| ee80 | 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 22 5a 69 70 20 4c 49 | ill-value.&rest.lists)..."Zip.LI |
| eea0 | 53 54 53 20 74 6f 67 65 74 68 65 72 2c 20 70 61 64 64 69 6e 67 20 73 68 6f 72 74 65 72 20 6c 69 | STS.together,.padding.shorter.li |
| eec0 | 73 74 73 20 77 69 74 68 20 46 49 4c 4c 2d 56 41 4c 55 45 2e 0a 54 68 69 73 20 69 73 20 6c 69 6b | sts.with.FILL-VALUE..This.is.lik |
| eee0 | 65 20 60 2d 7a 69 70 2d 6c 69 73 74 73 27 20 28 77 68 69 63 68 20 73 65 65 29 2c 20 65 78 63 65 | e.`-zip-lists'.(which.see),.exce |
| ef00 | 70 74 20 69 74 20 72 65 74 61 69 6e 73 20 61 6c 6c 0a 65 6c 65 6d 65 6e 74 73 20 61 74 20 70 6f | pt.it.retains.all.elements.at.po |
| ef20 | 73 69 74 69 6f 6e 73 20 62 65 79 6f 6e 64 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 68 | sitions.beyond.the.end.of.the.sh |
| ef40 | 6f 72 74 65 73 74 20 6c 69 73 74 2e 20 20 54 68 65 0a 6e 75 6d 62 65 72 20 6f 66 20 72 65 74 75 | ortest.list...The.number.of.retu |
| ef60 | 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c | rned.groupings.is.equal.to.the.l |
| ef80 | 65 6e 67 74 68 20 6f 66 20 74 68 65 0a 6c 6f 6e 67 65 73 74 20 69 6e 70 75 74 20 6c 69 73 74 2c | ength.of.the.longest.input.list, |
| efa0 | 20 61 6e 64 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 65 61 63 68 20 67 72 6f 75 70 69 6e 67 | .and.the.length.of.each.grouping |
| efc0 | 20 69 73 20 65 71 75 61 6c 20 74 6f 0a 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e 70 75 74 | .is.equal.to.the.number.of.input |
| efe0 | 20 4c 49 53 54 53 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 | .LISTS."...(declare.(pure.t).(si |
| f000 | 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 77 68 65 6e 20 6c 69 73 74 73 | de-effect-free.t))...(when.lists |
| f020 | 0a 20 20 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 73 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 | .....(let.(results).......(while |
| f040 | 20 28 2d 2d 73 6f 6d 65 20 69 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 | .(--some.it.lists).........(push |
| f060 | 20 28 2d 2d 6d 61 70 20 28 69 66 20 69 74 20 28 63 61 72 20 69 74 29 20 66 69 6c 6c 2d 76 61 6c | .(--map.(if.it.(car.it).fill-val |
| f080 | 75 65 29 20 6c 69 73 74 73 29 20 72 65 73 75 6c 74 73 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 | ue).lists).results).........(set |
| f0a0 | 71 20 6c 69 73 74 73 20 28 6d 61 70 63 61 72 20 23 27 63 64 72 20 6c 69 73 74 73 29 29 29 0a 20 | q.lists.(mapcar.#'cdr.lists))).. |
| f0c0 | 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 73 29 29 29 29 0a 0a 28 64 65 66 | .....(nreverse.results))))..(def |
| f0e0 | 75 6e 20 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 20 28 6c 69 73 74 73 29 0a 20 20 22 55 6e 7a 69 70 | un.-unzip-lists.(lists)..."Unzip |
| f100 | 20 4c 49 53 54 53 2e 0a 0a 54 68 69 73 20 77 6f 72 6b 73 20 6a 75 73 74 20 6c 69 6b 65 20 60 2d | .LISTS...This.works.just.like.`- |
| f120 | 7a 69 70 2d 6c 69 73 74 73 27 20 28 77 68 69 63 68 20 73 65 65 29 2c 20 62 75 74 20 74 61 6b 65 | zip-lists'.(which.see),.but.take |
| f140 | 73 20 61 20 6c 69 73 74 0a 6f 66 20 6c 69 73 74 73 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 76 | s.a.list.of.lists.instead.of.a.v |
| f160 | 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 73 75 63 | ariable.number.of.arguments,.suc |
| f180 | 68 20 74 68 61 74 0a 0a 20 20 28 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 20 28 2d 7a 69 70 2d 6c 69 | h.that....(-unzip-lists.(-zip-li |
| f1a0 | 73 74 73 20 41 52 47 53 2e 2e 2e 29 29 0a 0a 69 73 20 69 64 65 6e 74 69 74 79 20 28 67 69 76 65 | sts.ARGS...))..is.identity.(give |
| f1c0 | 6e 20 74 68 61 74 20 74 68 65 20 6c 69 73 74 73 20 63 6f 6d 70 72 69 73 69 6e 67 20 41 52 47 53 | n.that.the.lists.comprising.ARGS |
| f1e0 | 20 61 72 65 20 6f 66 20 74 68 65 20 73 61 6d 65 0a 6c 65 6e 67 74 68 29 2e 22 0a 20 20 28 64 65 | .are.of.the.same.length)."...(de |
| f200 | 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 | clare.(pure.t).(side-effect-free |
| f220 | 20 74 29 29 0a 20 20 28 61 70 70 6c 79 20 23 27 2d 7a 69 70 2d 6c 69 73 74 73 20 6c 69 73 74 73 | .t))...(apply.#'-zip-lists.lists |
| f240 | 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 64 61 73 68 2d 2d 6c 65 6e 67 74 68 3d 0a 20 20 28 | ))..(defalias.'dash--length=...( |
| f260 | 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6c 65 6e 67 74 68 3d 29 0a 20 20 20 20 20 20 23 27 6c 65 | if.(fboundp.'length=).......#'le |
| f280 | 6e 67 74 68 3d 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 6c 69 73 74 20 6c 65 6e 67 74 68 29 0a | ngth=.....(lambda.(list.length). |
| f2a0 | 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 3c 20 6c 65 6e 67 74 68 20 30 29 20 6e 69 6c 29 0a 20 | ......(cond.((<.length.0).nil).. |
| f2c0 | 20 20 20 20 20 20 20 20 20 20 20 28 28 7a 65 72 6f 70 20 6c 65 6e 67 74 68 29 20 28 6e 75 6c 6c | ...........((zerop.length).(null |
| f2e0 | 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6c 65 74 20 28 28 6c 61 73 74 | .list)).............((let.((last |
| f300 | 20 28 6e 74 68 63 64 72 20 28 31 2d 20 6c 65 6e 67 74 68 29 20 6c 69 73 74 29 29 29 0a 20 20 20 | .(nthcdr.(1-.length).list))).... |
| f320 | 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 6c 61 73 74 20 28 6e 75 6c 6c 20 28 63 64 72 | ............(and.last.(null.(cdr |
| f340 | 20 6c 61 73 74 29 29 29 29 29 29 29 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 | .last))))))))..."Return.non-nil. |
| f360 | 69 66 20 4c 49 53 54 20 69 73 20 6f 66 20 4c 45 4e 47 54 48 2e 0a 54 68 69 73 20 69 73 20 61 20 | if.LIST.is.of.LENGTH..This.is.a. |
| f380 | 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 73 68 69 6d 20 66 6f 72 20 60 6c 65 6e 67 74 68 3d 27 | compatibility.shim.for.`length=' |
| f3a0 | 20 69 6e 20 45 6d 61 63 73 20 32 38 2e 0a 5c 6e 28 66 6e 20 4c 49 53 54 20 4c 45 4e 47 54 48 29 | .in.Emacs.28..\n(fn.LIST.LENGTH) |
| f3c0 | 22 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 7a 69 70 2d 6c 69 73 74 73 2d 6f 72 2d 70 61 | ")..(defun.dash--zip-lists-or-pa |
| f3e0 | 69 72 20 28 5f 66 6f 72 6d 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 22 52 65 74 75 72 6e | ir.(_form.&rest.lists)..."Return |
| f400 | 20 61 20 66 6f 72 6d 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 70 70 6c 79 69 6e 67 20 60 | .a.form.equivalent.to.applying.` |
| f420 | 2d 7a 69 70 27 20 74 6f 20 4c 49 53 54 53 2e 0a 54 68 69 73 20 60 63 6f 6d 70 69 6c 65 72 2d 6d | -zip'.to.LISTS..This.`compiler-m |
| f440 | 61 63 72 6f 27 20 77 61 72 6e 73 20 61 62 6f 75 74 20 64 69 73 63 6f 75 72 61 67 65 64 20 60 2d | acro'.warns.about.discouraged.`- |
| f460 | 7a 69 70 27 20 75 73 61 67 65 20 61 6e 64 0a 64 65 6c 65 67 61 74 65 73 20 74 6f 20 60 2d 7a 69 | zip'.usage.and.delegates.to.`-zi |
| f480 | 70 2d 6c 69 73 74 73 27 20 6f 72 20 60 2d 7a 69 70 2d 70 61 69 72 27 20 64 65 70 65 6e 64 69 6e | p-lists'.or.`-zip-pair'.dependin |
| f4a0 | 67 20 6f 6e 20 74 68 65 20 6e 75 6d 62 65 72 0a 6f 66 20 4c 49 53 54 53 2e 22 0a 20 20 28 69 66 | g.on.the.number.of.LISTS."...(if |
| f4c0 | 20 28 6e 6f 74 20 28 64 61 73 68 2d 2d 6c 65 6e 67 74 68 3d 20 6c 69 73 74 73 20 32 29 29 0a 20 | .(not.(dash--length=.lists.2)).. |
| f4e0 | 20 20 20 20 20 28 63 6f 6e 73 20 23 27 2d 7a 69 70 2d 6c 69 73 74 73 20 6c 69 73 74 73 29 0a 20 | .....(cons.#'-zip-lists.lists).. |
| f500 | 20 20 20 28 6c 65 74 20 28 28 70 61 69 72 20 28 63 6f 6e 73 20 23 27 2d 7a 69 70 2d 70 61 69 72 | ...(let.((pair.(cons.#'-zip-pair |
| f520 | 20 6c 69 73 74 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 73 67 20 22 55 73 65 20 2d 7a 69 | .lists))...........(msg."Use.-zi |
| f540 | 70 2d 70 61 69 72 20 69 6e 73 74 65 61 64 20 6f 66 20 2d 7a 69 70 20 74 6f 20 67 65 74 20 61 20 | p-pair.instead.of.-zip.to.get.a. |
| f560 | 6c 69 73 74 20 6f 66 20 70 61 69 72 73 22 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 66 62 6f 75 | list.of.pairs")).......(if.(fbou |
| f580 | 6e 64 70 20 27 6d 61 63 72 6f 65 78 70 2d 77 61 72 6e 2d 61 6e 64 2d 72 65 74 75 72 6e 29 0a 20 | ndp.'macroexp-warn-and-return).. |
| f5a0 | 20 20 20 20 20 20 20 20 20 28 6d 61 63 72 6f 65 78 70 2d 77 61 72 6e 2d 61 6e 64 2d 72 65 74 75 | .........(macroexp-warn-and-retu |
| f5c0 | 72 6e 20 6d 73 67 20 70 61 69 72 29 0a 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 6d 73 | rn.msg.pair).........(message.ms |
| f5e0 | 67 29 0a 20 20 20 20 20 20 20 20 70 61 69 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 7a 69 70 | g).........pair))))..(defun.-zip |
| f600 | 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 22 5a 69 70 20 4c 49 53 54 53 20 74 6f 67 65 | .(&rest.lists)..."Zip.LISTS.toge |
| f620 | 74 68 65 72 2e 0a 0a 47 72 6f 75 70 20 74 68 65 20 68 65 61 64 20 6f 66 20 65 61 63 68 20 6c 69 | ther...Group.the.head.of.each.li |
| f640 | 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 | st,.followed.by.the.second.eleme |
| f660 | 6e 74 20 6f 66 0a 65 61 63 68 20 6c 69 73 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 20 54 68 65 | nt.of.each.list,.and.so.on...The |
| f680 | 20 6e 75 6d 62 65 72 20 6f 66 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 69 73 | .number.of.returned.groupings.is |
| f6a0 | 20 65 71 75 61 6c 0a 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 | .equal.to.the.length.of.the.shor |
| f6c0 | 74 65 73 74 20 69 6e 70 75 74 20 6c 69 73 74 2c 20 61 6e 64 20 74 68 65 20 6e 75 6d 62 65 72 20 | test.input.list,.and.the.number. |
| f6e0 | 6f 66 20 69 74 65 6d 73 0a 69 6e 20 65 61 63 68 20 67 72 6f 75 70 69 6e 67 20 69 73 20 65 71 75 | of.items.in.each.grouping.is.equ |
| f700 | 61 6c 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e 70 75 74 20 4c 49 53 54 53 2e | al.to.the.number.of.input.LISTS. |
| f720 | 0a 0a 49 66 20 6f 6e 6c 79 20 74 77 6f 20 4c 49 53 54 53 20 61 72 65 20 70 72 6f 76 69 64 65 64 | ..If.only.two.LISTS.are.provided |
| f740 | 20 61 73 20 61 72 67 75 6d 65 6e 74 73 2c 20 72 65 74 75 72 6e 20 74 68 65 20 67 72 6f 75 70 69 | .as.arguments,.return.the.groupi |
| f760 | 6e 67 73 0a 61 73 20 61 20 6c 69 73 74 20 6f 66 20 64 6f 74 74 65 64 20 70 61 69 72 73 2e 20 20 | ngs.as.a.list.of.dotted.pairs... |
| f780 | 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 20 74 68 65 20 67 72 6f 75 70 69 6e 67 73 20 | Otherwise,.return.the.groupings. |
| f7a0 | 61 73 20 61 0a 6c 69 73 74 20 6f 66 20 70 72 6f 70 65 72 20 6c 69 73 74 73 2e 0a 0a 53 69 6e 63 | as.a.list.of.proper.lists...Sinc |
| f7c0 | 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 63 68 61 6e 67 65 73 20 66 6f 72 6d 20 | e.the.return.value.changes.form. |
| f7e0 | 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 61 72 67 75 6d | depending.on.the.number.of.argum |
| f800 | 65 6e 74 73 2c 20 69 74 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 | ents,.it.is.generally.recommende |
| f820 | 64 20 74 6f 20 75 73 65 20 60 2d 7a 69 70 2d 6c 69 73 74 73 27 0a 69 6e 73 74 65 61 64 2c 20 6f | d.to.use.`-zip-lists'.instead,.o |
| f840 | 72 20 60 2d 7a 69 70 2d 70 61 69 72 27 20 69 66 20 61 20 6c 69 73 74 20 6f 66 20 64 6f 74 74 65 | r.`-zip-pair'.if.a.list.of.dotte |
| f860 | 64 20 70 61 69 72 73 20 69 73 20 64 65 73 69 72 65 64 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 | d.pairs.is.desired...See.also:.` |
| f880 | 2d 75 6e 7a 69 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 63 6f 6d 70 69 6c 65 72 2d 6d | -unzip'."...(declare.(compiler-m |
| f8a0 | 61 63 72 6f 20 64 61 73 68 2d 2d 7a 69 70 2d 6c 69 73 74 73 2d 6f 72 2d 70 61 69 72 29 0a 20 20 | acro.dash--zip-lists-or-pair)... |
| f8c0 | 20 20 20 20 20 20 20 20 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 | .........(pure.t).(side-effect-f |
| f8e0 | 72 65 65 20 74 29 29 0a 20 20 3b 3b 20 46 6f 72 20 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 | ree.t))...;;.For.backward.compat |
| f900 | 69 62 69 6c 69 74 79 2c 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 64 6f 74 74 65 64 | ibility,.return.a.list.of.dotted |
| f920 | 20 70 61 69 72 73 20 69 66 20 74 77 6f 0a 20 20 3b 3b 20 61 72 67 75 6d 65 6e 74 73 20 77 65 72 | .pairs.if.two...;;.arguments.wer |
| f940 | 65 20 70 72 6f 76 69 64 65 64 2e 0a 20 20 28 61 70 70 6c 79 20 28 69 66 20 28 64 61 73 68 2d 2d | e.provided....(apply.(if.(dash-- |
| f960 | 6c 65 6e 67 74 68 3d 20 6c 69 73 74 73 20 32 29 20 23 27 2d 7a 69 70 2d 70 61 69 72 20 23 27 2d | length=.lists.2).#'-zip-pair.#'- |
| f980 | 7a 69 70 2d 6c 69 73 74 73 29 20 6c 69 73 74 73 29 29 0a 0a 28 64 65 66 75 6e 20 2d 7a 69 70 2d | zip-lists).lists))..(defun.-zip- |
| f9a0 | 70 61 69 72 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 22 5a 69 70 20 4c 49 53 54 31 20 | pair.(&rest.lists)..."Zip.LIST1. |
| f9c0 | 61 6e 64 20 4c 49 53 54 32 20 74 6f 67 65 74 68 65 72 2e 0a 0a 4d 61 6b 65 20 61 20 70 61 69 72 | and.LIST2.together...Make.a.pair |
| f9e0 | 20 77 69 74 68 20 74 68 65 20 68 65 61 64 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 66 6f 6c | .with.the.head.of.each.list,.fol |
| fa00 | 6c 6f 77 65 64 20 62 79 20 61 20 70 61 69 72 20 77 69 74 68 0a 74 68 65 20 73 65 63 6f 6e 64 20 | lowed.by.a.pair.with.the.second. |
| fa20 | 65 6c 65 6d 65 6e 74 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e | element.of.each.list,.and.so.on. |
| fa40 | 20 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 70 61 69 72 73 0a 72 65 74 75 72 6e 65 64 20 69 | ..The.number.of.pairs.returned.i |
| fa60 | 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f | s.equal.to.the.length.of.the.sho |
| fa80 | 72 74 65 72 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 7a 69 | rter.input.list...See.also:.`-zi |
| faa0 | 70 2d 6c 69 73 74 73 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 61 64 76 65 72 74 69 73 65 | p-lists'."...(declare.(advertise |
| fac0 | 64 2d 63 61 6c 6c 69 6e 67 2d 63 6f 6e 76 65 6e 74 69 6f 6e 20 28 6c 69 73 74 31 20 6c 69 73 74 | d-calling-convention.(list1.list |
| fae0 | 32 29 20 22 32 2e 32 30 2e 30 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 75 72 65 20 74 29 | 2)."2.20.0")............(pure.t) |
| fb00 | 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 69 66 20 28 64 61 | .(side-effect-free.t))...(if.(da |
| fb20 | 73 68 2d 2d 6c 65 6e 67 74 68 3d 20 6c 69 73 74 73 20 32 29 0a 20 20 20 20 20 20 28 2d 2d 7a 69 | sh--length=.lists.2).......(--zi |
| fb40 | 70 2d 77 69 74 68 20 28 63 6f 6e 73 20 69 74 20 6f 74 68 65 72 29 20 28 63 61 72 20 6c 69 73 74 | p-with.(cons.it.other).(car.list |
| fb60 | 73 29 20 28 63 61 64 72 20 6c 69 73 74 73 29 29 0a 20 20 20 20 28 61 70 70 6c 79 20 23 27 2d 7a | s).(cadr.lists)).....(apply.#'-z |
| fb80 | 69 70 2d 6c 69 73 74 73 20 6c 69 73 74 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 7a 69 70 2d 66 | ip-lists.lists)))..(defun.-zip-f |
| fba0 | 69 6c 6c 20 28 66 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 22 | ill.(fill-value.&rest.lists)..." |
| fbc0 | 5a 69 70 20 4c 49 53 54 53 20 74 6f 67 65 74 68 65 72 2c 20 70 61 64 64 69 6e 67 20 73 68 6f 72 | Zip.LISTS.together,.padding.shor |
| fbe0 | 74 65 72 20 6c 69 73 74 73 20 77 69 74 68 20 46 49 4c 4c 2d 56 41 4c 55 45 2e 0a 54 68 69 73 20 | ter.lists.with.FILL-VALUE..This. |
| fc00 | 69 73 20 6c 69 6b 65 20 60 2d 7a 69 70 27 20 28 77 68 69 63 68 20 73 65 65 29 2c 20 65 78 63 65 | is.like.`-zip'.(which.see),.exce |
| fc20 | 70 74 20 69 74 20 72 65 74 61 69 6e 73 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 0a 61 74 20 70 6f | pt.it.retains.all.elements.at.po |
| fc40 | 73 69 74 69 6f 6e 73 20 62 65 79 6f 6e 64 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 68 | sitions.beyond.the.end.of.the.sh |
| fc60 | 6f 72 74 65 73 74 20 6c 69 73 74 2e 20 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 72 65 74 75 | ortest.list...The.number.of.retu |
| fc80 | 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c | rned.groupings.is.equal.to.the.l |
| fca0 | 65 6e 67 74 68 20 6f 66 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 69 6e 70 75 74 0a 6c 69 73 74 2c | ength.of.the.longest.input.list, |
| fcc0 | 20 61 6e 64 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 65 61 63 68 20 67 72 6f 75 70 69 6e 67 | .and.the.length.of.each.grouping |
| fce0 | 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 69 6e 70 75 74 | .is.equal.to.the.number.of.input |
| fd00 | 20 4c 49 53 54 53 2e 0a 0a 53 69 6e 63 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 | .LISTS...Since.the.return.value. |
| fd20 | 63 68 61 6e 67 65 73 20 66 6f 72 6d 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 6e 75 | changes.form.depending.on.the.nu |
| fd40 | 6d 62 65 72 20 6f 66 0a 61 72 67 75 6d 65 6e 74 73 2c 20 69 74 20 69 73 20 67 65 6e 65 72 61 6c | mber.of.arguments,.it.is.general |
| fd60 | 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 60 2d 7a 69 70 2d 6c 69 73 74 | ly.recommended.to.use.`-zip-list |
| fd80 | 73 2d 66 69 6c 6c 27 0a 69 6e 73 74 65 61 64 2c 20 75 6e 6c 65 73 73 20 61 20 6c 69 73 74 20 6f | s-fill'.instead,.unless.a.list.o |
| fda0 | 66 20 64 6f 74 74 65 64 20 70 61 69 72 73 20 69 73 20 65 78 70 6c 69 63 69 74 6c 79 20 64 65 73 | f.dotted.pairs.is.explicitly.des |
| fdc0 | 69 72 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 | ired."...(declare.(pure.t).(side |
| fde0 | 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 | -effect-free.t))...(cond.((null. |
| fe00 | 6c 69 73 74 73 29 20 28 29 29 0a 20 20 20 20 20 20 20 20 28 28 64 61 73 68 2d 2d 6c 65 6e 67 74 | lists).()).........((dash--lengt |
| fe20 | 68 3d 20 6c 69 73 74 73 20 32 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 69 73 74 | h=.lists.2)..........(let.((list |
| fe40 | 31 20 28 63 61 72 20 6c 69 73 74 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c | 1.(car.lists))................(l |
| fe60 | 69 73 74 32 20 28 63 61 64 72 20 6c 69 73 74 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ist2.(cadr.lists)).............. |
| fe80 | 20 20 72 65 73 75 6c 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 6f 72 | ..results)............(while.(or |
| fea0 | 20 6c 69 73 74 31 20 6c 69 73 74 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 | .list1.list2)..............(push |
| fec0 | 20 28 63 6f 6e 73 20 28 69 66 20 6c 69 73 74 31 20 28 70 6f 70 20 6c 69 73 74 31 29 20 66 69 6c | .(cons.(if.list1.(pop.list1).fil |
| fee0 | 6c 2d 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | l-value)........................ |
| ff00 | 20 20 28 69 66 20 6c 69 73 74 32 20 28 70 6f 70 20 6c 69 73 74 32 29 20 66 69 6c 6c 2d 76 61 6c | ..(if.list2.(pop.list2).fill-val |
| ff20 | 75 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 73 29 | ue))....................results) |
| ff40 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 73 29 29 | )............(nreverse.results)) |
| ff60 | 29 0a 20 20 20 20 20 20 20 20 28 28 61 70 70 6c 79 20 23 27 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 | ).........((apply.#'-zip-lists-f |
| ff80 | 69 6c 6c 20 66 69 6c 6c 2d 76 61 6c 75 65 20 6c 69 73 74 73 29 29 29 29 0a 0a 28 64 65 66 75 6e | ill.fill-value.lists))))..(defun |
| ffa0 | 20 2d 75 6e 7a 69 70 20 28 6c 69 73 74 73 29 0a 20 20 22 55 6e 7a 69 70 20 4c 49 53 54 53 2e 0a | .-unzip.(lists)..."Unzip.LISTS.. |
| ffc0 | 0a 54 68 69 73 20 77 6f 72 6b 73 20 6a 75 73 74 20 6c 69 6b 65 20 60 2d 7a 69 70 27 20 28 77 68 | .This.works.just.like.`-zip'.(wh |
| ffe0 | 69 63 68 20 73 65 65 29 2c 20 62 75 74 20 74 61 6b 65 73 20 61 20 6c 69 73 74 20 6f 66 0a 6c 69 | ich.see),.but.takes.a.list.of.li |
| 10000 | 73 74 73 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 | sts.instead.of.a.variable.number |
| 10020 | 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 73 75 63 68 20 74 68 61 74 0a 0a 20 20 28 2d 75 6e | .of.arguments,.such.that....(-un |
| 10040 | 7a 69 70 20 28 2d 7a 69 70 20 4c 31 20 4c 32 20 4c 33 20 2e 2e 2e 29 29 0a 0a 69 73 20 69 64 65 | zip.(-zip.L1.L2.L3....))..is.ide |
| 10060 | 6e 74 69 74 79 20 28 67 69 76 65 6e 20 74 68 61 74 20 74 68 65 20 6c 69 73 74 73 20 61 72 65 20 | ntity.(given.that.the.lists.are. |
| 10080 | 6f 66 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2c 20 61 6e 64 0a 74 68 61 74 20 60 2d 7a | of.the.same.length,.and.that.`-z |
| 100a0 | 69 70 27 20 69 73 20 6e 6f 74 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 77 6f 20 61 72 67 75 6d | ip'.is.not.called.with.two.argum |
| 100c0 | 65 6e 74 73 2c 20 62 65 63 61 75 73 65 20 6f 66 20 74 68 65 0a 63 61 76 65 61 74 20 64 65 73 63 | ents,.because.of.the.caveat.desc |
| 100e0 | 72 69 62 65 64 20 69 6e 20 69 74 73 20 64 6f 63 73 74 72 69 6e 67 29 2e 0a 0a 4e 6f 74 65 20 69 | ribed.in.its.docstring)...Note.i |
| 10100 | 6e 20 70 61 72 74 69 63 75 6c 61 72 20 74 68 61 74 20 63 61 6c 6c 69 6e 67 20 60 2d 75 6e 7a 69 | n.particular.that.calling.`-unzi |
| 10120 | 70 27 20 6f 6e 20 61 20 6c 69 73 74 20 6f 66 20 74 77 6f 20 6c 69 73 74 73 0a 77 69 6c 6c 20 72 | p'.on.a.list.of.two.lists.will.r |
| 10140 | 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 64 6f 74 74 65 64 20 70 61 69 72 73 2e 0a 0a 53 | eturn.a.list.of.dotted.pairs...S |
| 10160 | 69 6e 63 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 63 68 61 6e 67 65 73 20 66 6f | ince.the.return.value.changes.fo |
| 10180 | 72 6d 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 4c 49 | rm.depending.on.the.number.of.LI |
| 101a0 | 53 54 53 2c 20 69 74 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 | STS,.it.is.generally.recommended |
| 101c0 | 20 74 6f 20 75 73 65 20 60 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 27 20 69 6e 73 74 65 61 64 2e 22 | .to.use.`-unzip-lists'.instead." |
| 101e0 | 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 | ...(declare.(pure.t).(side-effec |
| 10200 | 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 61 70 70 6c 79 20 23 27 2d 7a 69 70 20 6c 69 73 74 73 | t-free.t))...(apply.#'-zip.lists |
| 10220 | 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 79 63 6c 65 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 | ))..(defun.-cycle.(list)..."Retu |
| 10240 | 72 6e 20 61 6e 20 69 6e 66 69 6e 69 74 65 20 63 69 72 63 75 6c 61 72 20 63 6f 70 79 20 6f 66 20 | rn.an.infinite.circular.copy.of. |
| 10260 | 4c 49 53 54 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 6c 69 73 74 20 63 79 63 6c 65 73 20 74 | LIST..The.returned.list.cycles.t |
| 10280 | 68 72 6f 75 67 68 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 61 6e 64 20 | hrough.the.elements.of.LIST.and. |
| 102a0 | 72 65 70 65 61 74 73 0a 66 72 6f 6d 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 2e 22 0a 20 20 28 | repeats.from.the.beginning."...( |
| 102c0 | 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 | declare.(pure.t).(side-effect-fr |
| 102e0 | 65 65 20 74 29 29 0a 20 20 3b 3b 20 41 6c 73 6f 20 77 6f 72 6b 73 20 77 69 74 68 20 73 65 71 75 | ee.t))...;;.Also.works.with.sequ |
| 10300 | 65 6e 63 65 73 20 74 68 61 74 20 61 72 65 6e 27 74 20 6c 69 73 74 73 2e 0a 20 20 28 6c 65 74 20 | ences.that.aren't.lists....(let. |
| 10320 | 28 28 6e 65 77 6c 69 73 74 20 28 61 70 70 65 6e 64 20 6c 69 73 74 20 28 29 29 29 29 0a 20 20 20 | ((newlist.(append.list.()))).... |
| 10340 | 20 28 6e 63 6f 6e 63 20 6e 65 77 6c 69 73 74 20 6e 65 77 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 | .(nconc.newlist.newlist)))..(def |
| 10360 | 75 6e 20 2d 70 61 64 20 28 66 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 74 73 29 | un.-pad.(fill-value.&rest.lists) |
| 10380 | 0a 20 20 22 50 61 64 20 65 61 63 68 20 6f 66 20 4c 49 53 54 53 20 77 69 74 68 20 46 49 4c 4c 2d | ..."Pad.each.of.LISTS.with.FILL- |
| 103a0 | 56 41 4c 55 45 20 75 6e 74 69 6c 20 74 68 65 79 20 61 6c 6c 20 68 61 76 65 20 65 71 75 61 6c 20 | VALUE.until.they.all.have.equal. |
| 103c0 | 6c 65 6e 67 74 68 73 2e 0a 0a 45 6e 73 75 72 65 20 61 6c 6c 20 4c 49 53 54 53 20 61 72 65 20 61 | lengths...Ensure.all.LISTS.are.a |
| 103e0 | 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 6f 6e 65 20 62 79 20 72 65 70 | s.long.as.the.longest.one.by.rep |
| 10400 | 65 61 74 65 64 6c 79 0a 61 70 70 65 6e 64 69 6e 67 20 46 49 4c 4c 2d 56 41 4c 55 45 20 74 6f 20 | eatedly.appending.FILL-VALUE.to. |
| 10420 | 74 68 65 20 73 68 6f 72 74 65 72 20 6c 69 73 74 73 2c 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 | the.shorter.lists,.and.return.th |
| 10440 | 65 0a 72 65 73 75 6c 74 69 6e 67 20 4c 49 53 54 53 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 | e.resulting.LISTS."...(declare.( |
| 10460 | 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 | pure.t).(side-effect-free.t))... |
| 10480 | 28 6c 65 74 2a 20 28 28 6c 65 6e 73 20 28 6d 61 70 63 61 72 20 23 27 6c 65 6e 67 74 68 20 6c 69 | (let*.((lens.(mapcar.#'length.li |
| 104a0 | 73 74 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 78 6c 65 6e 20 28 61 70 70 6c 79 20 23 27 | sts))..........(maxlen.(apply.#' |
| 104c0 | 6d 61 78 20 30 20 6c 65 6e 73 29 29 29 0a 20 20 20 20 28 2d 2d 6d 61 70 20 28 61 70 70 65 6e 64 | max.0.lens))).....(--map.(append |
| 104e0 | 20 69 74 20 28 6d 61 6b 65 2d 6c 69 73 74 20 28 2d 20 6d 61 78 6c 65 6e 20 28 70 6f 70 20 6c 65 | .it.(make-list.(-.maxlen.(pop.le |
| 10500 | 6e 73 29 29 20 66 69 6c 6c 2d 76 61 6c 75 65 29 29 20 6c 69 73 74 73 29 29 29 0a 0a 28 64 65 66 | ns)).fill-value)).lists)))..(def |
| 10520 | 6d 61 63 72 6f 20 2d 2d 61 6e 6e 6f 74 61 74 65 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 | macro.--annotate.(form.list)..." |
| 10540 | 50 61 69 72 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 77 69 74 68 20 74 68 65 20 | Pair.each.item.in.LIST.with.the. |
| 10560 | 72 65 73 75 6c 74 20 6f 66 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 0a 0a 52 65 74 75 | result.of.evaluating.FORM...Retu |
| 10580 | 72 6e 20 61 6e 20 61 6c 69 73 74 20 6f 66 20 28 52 45 53 55 4c 54 20 2e 20 49 54 45 4d 29 2c 20 | rn.an.alist.of.(RESULT...ITEM),. |
| 105a0 | 77 68 65 72 65 20 65 61 63 68 20 49 54 45 4d 20 69 73 20 74 68 65 0a 63 6f 72 72 65 73 70 6f 6e | where.each.ITEM.is.the.correspon |
| 105c0 | 64 69 6e 67 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2c 20 61 6e 64 20 52 45 53 55 4c 54 | ding.element.of.LIST,.and.RESULT |
| 105e0 | 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 6f 62 74 61 69 6e 65 64 0a 62 79 20 65 76 61 6c 75 61 | .is.the.value.obtained.by.evalua |
| 10600 | 74 69 6e 67 20 46 4f 52 4d 20 77 69 74 68 20 49 54 45 4d 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 | ting.FORM.with.ITEM.bound.to.`it |
| 10620 | 27 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 | '...This.is.the.anaphoric.counte |
| 10640 | 72 70 61 72 74 20 74 6f 20 60 2d 61 6e 6e 6f 74 61 74 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 | rpart.to.`-annotate'."...(declar |
| 10660 | 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 2d 6d 61 70 | e.(debug.(form.form)))...`(--map |
| 10680 | 20 28 63 6f 6e 73 20 2c 66 6f 72 6d 20 69 74 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e | .(cons.,form.it).,list))..(defun |
| 106a0 | 20 2d 61 6e 6e 6f 74 61 74 65 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 50 61 69 72 20 65 61 63 | .-annotate.(fn.list)..."Pair.eac |
| 106c0 | 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 6f | h.item.in.LIST.with.the.result.o |
| 106e0 | 66 20 70 61 73 73 69 6e 67 20 69 74 20 74 6f 20 46 4e 2e 0a 0a 52 65 74 75 72 6e 20 61 6e 20 61 | f.passing.it.to.FN...Return.an.a |
| 10700 | 6c 69 73 74 20 6f 66 20 28 52 45 53 55 4c 54 20 2e 20 49 54 45 4d 29 2c 20 77 68 65 72 65 20 65 | list.of.(RESULT...ITEM),.where.e |
| 10720 | 61 63 68 20 49 54 45 4d 20 69 73 20 74 68 65 0a 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c | ach.ITEM.is.the.corresponding.el |
| 10740 | 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2c 20 61 6e 64 20 52 45 53 55 4c 54 20 69 73 20 74 68 65 | ement.of.LIST,.and.RESULT.is.the |
| 10760 | 20 76 61 6c 75 65 20 6f 62 74 61 69 6e 65 64 0a 62 79 20 63 61 6c 6c 69 6e 67 20 46 4e 20 6f 6e | .value.obtained.by.calling.FN.on |
| 10780 | 20 49 54 45 4d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 | .ITEM...This.function's.anaphori |
| 107a0 | 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 61 6e 6e 6f 74 61 74 65 27 2e 22 0a | c.counterpart.is.`--annotate'.". |
| 107c0 | 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c | ..(declare.(important-return-val |
| 107e0 | 75 65 20 74 29 29 0a 20 20 28 2d 2d 61 6e 6e 6f 74 61 74 65 20 28 66 75 6e 63 61 6c 6c 20 66 6e | ue.t))...(--annotate.(funcall.fn |
| 10800 | 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 74 61 62 6c 65 2d | .it).list))..(defun.dash--table- |
| 10820 | 63 61 72 72 79 20 28 6c 69 73 74 73 20 72 65 73 74 6f 72 65 2d 6c 69 73 74 73 20 26 6f 70 74 69 | carry.(lists.restore-lists.&opti |
| 10840 | 6f 6e 61 6c 20 72 65 29 0a 20 20 22 48 65 6c 70 65 72 20 66 6f 72 20 60 2d 74 61 62 6c 65 27 20 | onal.re)..."Helper.for.`-table'. |
| 10860 | 61 6e 64 20 60 2d 74 61 62 6c 65 2d 66 6c 61 74 27 2e 0a 0a 49 66 20 61 20 6c 69 73 74 20 6f 76 | and.`-table-flat'...If.a.list.ov |
| 10880 | 65 72 66 6c 6f 77 73 2c 20 63 61 72 72 79 20 74 6f 20 74 68 65 20 72 69 67 68 74 20 61 6e 64 20 | erflows,.carry.to.the.right.and. |
| 108a0 | 72 65 73 65 74 20 74 68 65 20 6c 69 73 74 2e 22 0a 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 | reset.the.list."...(while.(not.( |
| 108c0 | 6f 72 20 28 63 61 72 20 6c 69 73 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | or.(car.lists).................. |
| 108e0 | 20 28 65 71 75 61 6c 20 6c 69 73 74 73 20 27 28 6e 69 6c 29 29 29 29 0a 20 20 20 20 28 73 65 74 | .(equal.lists.'(nil)))).....(set |
| 10900 | 63 61 72 20 6c 69 73 74 73 20 28 63 61 72 20 72 65 73 74 6f 72 65 2d 6c 69 73 74 73 29 29 0a 20 | car.lists.(car.restore-lists)).. |
| 10920 | 20 20 20 28 70 6f 70 20 28 63 61 64 72 20 6c 69 73 74 73 29 29 0a 20 20 20 20 28 21 63 64 72 20 | ...(pop.(cadr.lists)).....(!cdr. |
| 10940 | 6c 69 73 74 73 29 0a 20 20 20 20 28 21 63 64 72 20 72 65 73 74 6f 72 65 2d 6c 69 73 74 73 29 0a | lists).....(!cdr.restore-lists). |
| 10960 | 20 20 20 20 28 77 68 65 6e 20 72 65 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 6e 72 65 76 65 72 | ....(when.re.......(push.(nrever |
| 10980 | 73 65 20 28 63 61 72 20 72 65 29 29 20 28 63 61 64 72 20 72 65 29 29 0a 20 20 20 20 20 20 28 73 | se.(car.re)).(cadr.re)).......(s |
| 109a0 | 65 74 63 61 72 20 72 65 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 21 63 64 72 20 72 65 29 29 29 29 | etcar.re.nil).......(!cdr.re)))) |
| 109c0 | 0a 0a 28 64 65 66 75 6e 20 2d 74 61 62 6c 65 20 28 66 6e 20 26 72 65 73 74 20 6c 69 73 74 73 29 | ..(defun.-table.(fn.&rest.lists) |
| 109e0 | 0a 20 20 22 43 6f 6d 70 75 74 65 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 6f 66 20 4c 49 53 | ..."Compute.outer.product.of.LIS |
| 10a00 | 54 53 20 75 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 46 4e 2e 0a 0a 54 68 65 20 66 75 6e 63 74 | TS.using.function.FN...The.funct |
| 10a20 | 69 6f 6e 20 46 4e 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 61 72 69 74 | ion.FN.should.have.the.same.arit |
| 10a40 | 79 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 73 75 70 70 6c 69 65 64 20 6c 69 73 74 | y.as.the.number.of.supplied.list |
| 10a60 | 73 2e 0a 0a 54 68 65 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 69 73 20 63 6f 6d 70 75 74 65 | s...The.outer.product.is.compute |
| 10a80 | 64 20 62 79 20 61 70 70 6c 79 69 6e 67 20 66 6e 20 74 6f 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 | d.by.applying.fn.to.all.possible |
| 10aa0 | 0a 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 63 72 65 61 74 65 64 20 62 79 20 74 61 6b 69 6e 67 20 | .combinations.created.by.taking. |
| 10ac0 | 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 65 61 63 68 20 6c 69 73 74 20 69 6e 0a 6f 72 | one.element.from.each.list.in.or |
| 10ae0 | 64 65 72 2e 20 20 54 68 65 20 64 69 6d 65 6e 73 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 73 75 6c | der...The.dimension.of.the.resul |
| 10b00 | 74 20 69 73 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 | t.is.(length.lists)...See.also:. |
| 10b20 | 60 2d 74 61 62 6c 65 2d 66 6c 61 74 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 | `-table-flat'"...(declare.(impor |
| 10b40 | 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 72 | tant-return-value.t))...(let.((r |
| 10b60 | 65 73 74 6f 72 65 2d 6c 69 73 74 73 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6c 69 73 74 | estore-lists.(copy-sequence.list |
| 10b80 | 73 29 29 0a 20 20 20 20 20 20 20 20 28 6c 61 73 74 2d 6c 69 73 74 20 28 6c 61 73 74 20 6c 69 73 | s)).........(last-list.(last.lis |
| 10ba0 | 74 73 29 29 0a 20 20 20 20 20 20 20 20 28 72 65 20 28 6d 61 6b 65 2d 6c 69 73 74 20 28 6c 65 6e | ts)).........(re.(make-list.(len |
| 10bc0 | 67 74 68 20 6c 69 73 74 73 29 20 6e 69 6c 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 63 61 | gth.lists).nil))).....(while.(ca |
| 10be0 | 72 20 6c 61 73 74 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 74 65 6d 20 28 | r.last-list).......(let.((item.( |
| 10c00 | 61 70 70 6c 79 20 66 6e 20 28 2d 6d 61 70 20 27 63 61 72 20 6c 69 73 74 73 29 29 29 29 0a 20 20 | apply.fn.(-map.'car.lists))))... |
| 10c20 | 20 20 20 20 20 20 28 70 75 73 68 20 69 74 65 6d 20 28 63 61 72 20 72 65 29 29 0a 20 20 20 20 20 | ......(push.item.(car.re))...... |
| 10c40 | 20 20 20 28 73 65 74 63 61 72 20 6c 69 73 74 73 20 28 63 64 61 72 20 6c 69 73 74 73 29 29 20 3b | ...(setcar.lists.(cdar.lists)).; |
| 10c60 | 3b 20 73 69 6c 65 6e 63 65 20 62 79 74 65 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 20 20 | ;.silence.byte.compiler......... |
| 10c80 | 28 64 61 73 68 2d 2d 74 61 62 6c 65 2d 63 61 72 72 79 20 6c 69 73 74 73 20 72 65 73 74 6f 72 65 | (dash--table-carry.lists.restore |
| 10ca0 | 2d 6c 69 73 74 73 20 72 65 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 28 63 61 72 20 | -lists.re))).....(nreverse.(car. |
| 10cc0 | 28 6c 61 73 74 20 72 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 61 62 6c 65 2d 66 6c 61 | (last.re)))))..(defun.-table-fla |
| 10ce0 | 74 20 28 66 6e 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 22 43 6f 6d 70 75 74 65 20 66 6c | t.(fn.&rest.lists)..."Compute.fl |
| 10d00 | 61 74 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 6f 66 20 4c 49 53 54 53 20 75 73 69 6e 67 20 | at.outer.product.of.LISTS.using. |
| 10d20 | 66 75 6e 63 74 69 6f 6e 20 46 4e 2e 0a 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 73 68 | function.FN...The.function.FN.sh |
| 10d40 | 6f 75 6c 64 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 61 72 69 74 79 20 61 73 20 74 68 65 20 | ould.have.the.same.arity.as.the. |
| 10d60 | 6e 75 6d 62 65 72 20 6f 66 0a 73 75 70 70 6c 69 65 64 20 6c 69 73 74 73 2e 0a 0a 54 68 65 20 6f | number.of.supplied.lists...The.o |
| 10d80 | 75 74 65 72 20 70 72 6f 64 75 63 74 20 69 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 61 70 70 6c | uter.product.is.computed.by.appl |
| 10da0 | 79 69 6e 67 20 66 6e 20 74 6f 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 0a 63 6f 6d 62 69 6e 61 74 | ying.fn.to.all.possible.combinat |
| 10dc0 | 69 6f 6e 73 20 63 72 65 61 74 65 64 20 62 79 20 74 61 6b 69 6e 67 20 6f 6e 65 20 65 6c 65 6d 65 | ions.created.by.taking.one.eleme |
| 10de0 | 6e 74 20 66 72 6f 6d 20 65 61 63 68 20 6c 69 73 74 20 69 6e 0a 6f 72 64 65 72 2e 20 20 54 68 65 | nt.from.each.list.in.order...The |
| 10e00 | 20 72 65 73 75 6c 74 73 20 61 72 65 20 66 6c 61 74 74 65 6e 65 64 2c 20 69 67 6e 6f 72 69 6e 67 | .results.are.flattened,.ignoring |
| 10e20 | 20 74 68 65 20 74 65 6e 73 6f 72 20 73 74 72 75 63 74 75 72 65 0a 6f 66 20 74 68 65 20 72 65 73 | .the.tensor.structure.of.the.res |
| 10e40 | 75 6c 74 2e 20 20 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 63 61 6c 6c | ult...This.is.equivalent.to.call |
| 10e60 | 69 6e 67 3a 0a 0a 20 20 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 | ing:....(-flatten-n.(1-.(length. |
| 10e80 | 6c 69 73 74 73 29 29 20 28 61 70 70 6c 79 20 5c 5c 3d 27 2d 74 61 62 6c 65 20 66 6e 20 6c 69 73 | lists)).(apply.\\='-table.fn.lis |
| 10ea0 | 74 73 29 29 0a 0a 62 75 74 20 74 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 68 65 72 | ts))..but.the.implementation.her |
| 10ec0 | 65 20 69 73 20 6d 75 63 68 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 2e 0a 0a 53 65 65 20 61 | e.is.much.more.efficient...See.a |
| 10ee0 | 6c 73 6f 3a 20 60 2d 66 6c 61 74 74 65 6e 2d 6e 27 2c 20 60 2d 74 61 62 6c 65 27 22 0a 20 20 28 | lso:.`-flatten-n',.`-table'"...( |
| 10f00 | 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 | declare.(important-return-value. |
| 10f20 | 74 29 29 0a 20 20 28 6c 65 74 20 28 28 72 65 73 74 6f 72 65 2d 6c 69 73 74 73 20 28 63 6f 70 79 | t))...(let.((restore-lists.(copy |
| 10f40 | 2d 73 65 71 75 65 6e 63 65 20 6c 69 73 74 73 29 29 0a 20 20 20 20 20 20 20 20 28 6c 61 73 74 2d | -sequence.lists)).........(last- |
| 10f60 | 6c 69 73 74 20 28 6c 61 73 74 20 6c 69 73 74 73 29 29 0a 20 20 20 20 20 20 20 20 72 65 29 0a 20 | list.(last.lists)).........re).. |
| 10f80 | 20 20 20 28 77 68 69 6c 65 20 28 63 61 72 20 6c 61 73 74 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 | ...(while.(car.last-list)....... |
| 10fa0 | 28 6c 65 74 20 28 28 69 74 65 6d 20 28 61 70 70 6c 79 20 66 6e 20 28 2d 6d 61 70 20 27 63 61 72 | (let.((item.(apply.fn.(-map.'car |
| 10fc0 | 20 6c 69 73 74 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 69 74 65 6d 20 72 65 | .lists)))).........(push.item.re |
| 10fe0 | 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 63 61 72 20 6c 69 73 74 73 20 28 63 64 61 72 20 6c 69 | ).........(setcar.lists.(cdar.li |
| 11000 | 73 74 73 29 29 20 3b 3b 20 73 69 6c 65 6e 63 65 20 62 79 74 65 20 63 6f 6d 70 69 6c 65 72 0a 20 | sts)).;;.silence.byte.compiler.. |
| 11020 | 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 74 61 62 6c 65 2d 63 61 72 72 79 20 6c 69 73 74 73 20 | .......(dash--table-carry.lists. |
| 11040 | 72 65 73 74 6f 72 65 2d 6c 69 73 74 73 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 | restore-lists))).....(nreverse.r |
| 11060 | 65 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 66 69 6e 64 2d 69 6e 64 65 78 20 28 66 6f | e)))..(defmacro.--find-index.(fo |
| 11080 | 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 6e 64 | rm.list)..."Return.the.first.ind |
| 110a0 | 65 78 20 69 6e 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 73 20 | ex.in.LIST.for.which.FORM.evals. |
| 110c0 | 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 6e 6f 20 73 75 63 | to.non-nil..Return.nil.if.no.suc |
| 110e0 | 68 20 69 6e 64 65 78 20 69 73 20 66 6f 75 6e 64 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f | h.index.is.found..Each.element.o |
| 11100 | 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 | f.LIST.in.turn.is.bound.to.`it'. |
| 11120 | 61 6e 64 20 69 74 73 20 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 | and.its.index.within.LIST.to.`it |
| 11140 | 2d 69 6e 64 65 78 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 0a | -index'.before.evaluating.FORM.. |
| 11160 | 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 | This.is.the.anaphoric.counterpar |
| 11180 | 74 20 74 6f 20 60 2d 66 69 6e 64 2d 69 6e 64 65 78 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 | t.to.`-find-index'."...(declare. |
| 111a0 | 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 2d 73 6f 6d 65 20 | (debug.(form.form)))...`(--some. |
| 111c0 | 28 61 6e 64 20 2c 66 6f 72 6d 20 69 74 2d 69 6e 64 65 78 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 | (and.,form.it-index).,list))..(d |
| 111e0 | 65 66 75 6e 20 2d 66 69 6e 64 2d 69 6e 64 65 78 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 | efun.-find-index.(pred.list)..." |
| 11200 | 52 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 69 74 | Return.the.index.of.the.first.it |
| 11220 | 65 6d 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 69 6e 20 4c 49 53 54 2e 0a 52 65 74 75 | em.satisfying.PRED.in.LIST..Retu |
| 11240 | 72 6e 20 6e 69 6c 20 69 66 20 6e 6f 20 73 75 63 68 20 69 74 65 6d 20 69 73 20 66 6f 75 6e 64 2e | rn.nil.if.no.such.item.is.found. |
| 11260 | 0a 0a 50 52 45 44 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 6f 6e 65 20 61 72 67 75 6d 65 | ..PRED.is.called.with.one.argume |
| 11280 | 6e 74 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 20 65 6c 65 6d 65 6e 74 2c 20 75 6e | nt,.the.current.list.element,.un |
| 112a0 | 74 69 6c 0a 69 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 61 74 20 77 68 69 63 68 | til.it.returns.non-nil,.at.which |
| 112c0 | 20 70 6f 69 6e 74 20 74 68 65 20 73 65 61 72 63 68 20 74 65 72 6d 69 6e 61 74 65 73 2e 0a 0a 54 | .point.the.search.terminates...T |
| 112e0 | 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 | his.function's.anaphoric.counter |
| 11300 | 70 61 72 74 20 69 73 20 60 2d 2d 66 69 6e 64 2d 69 6e 64 65 78 27 2e 0a 0a 53 65 65 20 61 6c 73 | part.is.`--find-index'...See.als |
| 11320 | 6f 3a 20 60 2d 66 69 72 73 74 27 2c 20 60 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 27 2e | o:.`-first',.`-find-last-index'. |
| 11340 | 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 | "...(declare.(important-return-v |
| 11360 | 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 66 69 6e 64 2d 69 6e 64 65 78 20 28 66 75 6e 63 61 6c | alue.t))...(--find-index.(funcal |
| 11380 | 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 65 6c 65 6d 2d | l.pred.it).list))..(defun.-elem- |
| 113a0 | 69 6e 64 65 78 20 28 65 6c 65 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 | index.(elem.list)..."Return.the. |
| 113c0 | 66 69 72 73 74 20 69 6e 64 65 78 20 6f 66 20 45 4c 45 4d 20 69 6e 20 4c 49 53 54 2e 0a 54 68 61 | first.index.of.ELEM.in.LIST..Tha |
| 113e0 | 74 20 69 73 2c 20 74 68 65 20 69 6e 64 65 78 20 77 69 74 68 69 6e 20 4c 49 53 54 20 6f 66 20 74 | t.is,.the.index.within.LIST.of.t |
| 11400 | 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 74 68 61 74 20 69 73 0a 60 65 71 75 61 6c 27 | he.first.element.that.is.`equal' |
| 11420 | 20 74 6f 20 45 4c 45 4d 2e 20 20 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 74 68 65 72 65 20 69 | .to.ELEM...Return.nil.if.there.i |
| 11440 | 73 20 6e 6f 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d | s.no.such.element...See.also:.`- |
| 11460 | 66 69 6e 64 2d 69 6e 64 65 78 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 | find-index'."...(declare.(pure.t |
| 11480 | 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 2d 66 69 6e | ).(side-effect-free.t))...(--fin |
| 114a0 | 64 2d 69 6e 64 65 78 20 28 65 71 75 61 6c 20 65 6c 65 6d 20 69 74 29 20 6c 69 73 74 29 29 0a 0a | d-index.(equal.elem.it).list)).. |
| 114c0 | 28 64 65 66 6d 61 63 72 6f 20 2d 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 28 66 6f 72 6d 20 6c | (defmacro.--find-indices.(form.l |
| 114e0 | 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 69 6e 64 69 63 | ist)..."Return.the.list.of.indic |
| 11500 | 65 73 20 69 6e 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 73 20 | es.in.LIST.for.which.FORM.evals. |
| 11520 | 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 | to.non-nil..Each.element.of.LIST |
| 11540 | 20 69 6e 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 | .in.turn.is.bound.to.`it'.and.it |
| 11560 | 73 20 69 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 | s.index.within.LIST.to.`it-index |
| 11580 | 27 20 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 0a 54 68 69 73 20 69 | '.before.evaluating.FORM..This.i |
| 115a0 | 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 | s.the.anaphoric.counterpart.to.` |
| 115c0 | 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 | -find-indices'."...(declare.(deb |
| 115e0 | 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 2d 6b 65 65 70 20 28 61 6e 64 | ug.(form.form)))...`(--keep.(and |
| 11600 | 20 2c 66 6f 72 6d 20 69 74 2d 69 6e 64 65 78 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e | .,form.it-index).,list))..(defun |
| 11620 | 20 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 | .-find-indices.(pred.list)..."Re |
| 11640 | 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 69 6e 64 69 63 65 73 20 69 6e 20 4c 49 53 54 | turn.the.list.of.indices.in.LIST |
| 11660 | 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 2e 0a 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 | .satisfying.PRED...Each.element. |
| 11680 | 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 70 61 73 73 65 64 20 74 6f 20 50 52 45 | of.LIST.in.turn.is.passed.to.PRE |
| 116a0 | 44 2e 20 20 49 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 0a 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 | D...If.the.result.is.non-nil,.th |
| 116c0 | 65 20 69 6e 64 65 78 20 6f 66 20 74 68 61 74 20 65 6c 65 6d 65 6e 74 20 69 6e 20 4c 49 53 54 20 | e.index.of.that.element.in.LIST. |
| 116e0 | 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 0a 72 65 73 75 6c 74 2e 20 20 54 68 65 20 | is.included.in.the.result...The. |
| 11700 | 72 65 74 75 72 6e 65 64 20 69 6e 64 69 63 65 73 20 61 72 65 20 69 6e 20 61 73 63 65 6e 64 69 6e | returned.indices.are.in.ascendin |
| 11720 | 67 20 6f 72 64 65 72 2c 20 69 2e 65 2e 2c 20 69 6e 0a 74 68 65 20 73 61 6d 65 20 6f 72 64 65 72 | g.order,.i.e.,.in.the.same.order |
| 11740 | 20 61 73 20 74 68 65 79 20 61 70 70 65 61 72 20 69 6e 20 4c 49 53 54 2e 0a 0a 54 68 69 73 20 66 | .as.they.appear.in.LIST...This.f |
| 11760 | 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 | unction's.anaphoric.counterpart. |
| 11780 | 69 73 20 60 2d 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 | is.`--find-indices'...See.also:. |
| 117a0 | 60 2d 66 69 6e 64 2d 69 6e 64 65 78 27 2c 20 60 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 27 2e 22 | `-find-index',.`-elem-indices'." |
| 117c0 | 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 | ...(declare.(important-return-va |
| 117e0 | 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 28 66 75 6e 63 61 | lue.t))...(--find-indices.(funca |
| 11800 | 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 65 6c 65 6d | ll.pred.it).list))..(defun.-elem |
| 11820 | 2d 69 6e 64 69 63 65 73 20 28 65 6c 65 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 | -indices.(elem.list)..."Return.t |
| 11840 | 68 65 20 6c 69 73 74 20 6f 66 20 69 6e 64 69 63 65 73 20 61 74 20 77 68 69 63 68 20 45 4c 45 4d | he.list.of.indices.at.which.ELEM |
| 11860 | 20 61 70 70 65 61 72 73 20 69 6e 20 4c 49 53 54 2e 0a 54 68 61 74 20 69 73 2c 20 74 68 65 20 69 | .appears.in.LIST..That.is,.the.i |
| 11880 | 6e 64 69 63 65 73 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 60 | ndices.of.all.elements.of.LIST.` |
| 118a0 | 65 71 75 61 6c 27 20 74 6f 20 45 4c 45 4d 2c 20 69 6e 0a 74 68 65 20 73 61 6d 65 20 61 73 63 65 | equal'.to.ELEM,.in.the.same.asce |
| 118c0 | 6e 64 69 6e 67 20 6f 72 64 65 72 20 61 73 20 74 68 65 79 20 61 70 70 65 61 72 20 69 6e 20 4c 49 | nding.order.as.they.appear.in.LI |
| 118e0 | 53 54 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 | ST."...(declare.(pure.t).(side-e |
| 11900 | 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 | ffect-free.t))...(--find-indices |
| 11920 | 20 28 65 71 75 61 6c 20 65 6c 65 6d 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 | .(equal.elem.it).list))..(defmac |
| 11940 | 72 6f 20 2d 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 66 6f 72 6d 20 6c 69 73 74 29 | ro.--find-last-index.(form.list) |
| 11960 | 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 69 6e 64 65 78 20 69 6e 20 4c 49 53 | ..."Return.the.last.index.in.LIS |
| 11980 | 54 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 | T.for.which.FORM.evals.to.non-ni |
| 119a0 | 6c 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 6e 6f 20 73 75 63 68 20 69 6e 64 65 78 20 69 | l..Return.nil.if.no.such.index.i |
| 119c0 | 73 20 66 6f 75 6e 64 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e | s.found..Each.element.of.LIST.in |
| 119e0 | 20 74 75 72 6e 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 | .turn.is.bound.to.`it'.and.its.i |
| 11a00 | 6e 64 65 78 0a 77 69 74 68 69 6e 20 4c 49 53 54 20 74 6f 20 60 69 74 2d 69 6e 64 65 78 27 20 62 | ndex.within.LIST.to.`it-index'.b |
| 11a20 | 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 0a 54 68 69 73 20 69 73 20 74 | efore.evaluating.FORM..This.is.t |
| 11a40 | 68 65 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 66 69 | he.anaphoric.counterpart.to.`-fi |
| 11a60 | 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 | nd-last-index'."...(declare.(deb |
| 11a80 | 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 69 20 28 6d 61 6b | ug.(form.form)))...(let.((i.(mak |
| 11aa0 | 65 2d 73 79 6d 62 6f 6c 20 22 69 6e 64 65 78 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c | e-symbol."index"))).....`(let.(, |
| 11ac0 | 69 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 0a 20 20 20 20 20 20 20 20 | i)........(--each.,list......... |
| 11ae0 | 20 28 77 68 65 6e 20 2c 66 6f 72 6d 20 28 73 65 74 71 20 2c 69 20 69 74 2d 69 6e 64 65 78 29 29 | .(when.,form.(setq.,i.it-index)) |
| 11b00 | 29 0a 20 20 20 20 20 20 20 2c 69 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 6e 64 2d 6c 61 73 | )........,i)))..(defun.-find-las |
| 11b20 | 74 2d 69 6e 64 65 78 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 | t-index.(pred.list)..."Return.th |
| 11b40 | 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 73 61 74 69 73 66 79 | e.index.of.the.last.item.satisfy |
| 11b60 | 69 6e 67 20 50 52 45 44 20 69 6e 20 4c 49 53 54 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 | ing.PRED.in.LIST..Return.nil.if. |
| 11b80 | 6e 6f 20 73 75 63 68 20 69 74 65 6d 20 69 73 20 66 6f 75 6e 64 2e 0a 0a 50 72 65 64 69 63 61 74 | no.such.item.is.found...Predicat |
| 11ba0 | 65 20 50 52 45 44 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 6f 6e 65 20 61 72 67 75 6d 65 | e.PRED.is.called.with.one.argume |
| 11bc0 | 6e 74 20 65 61 63 68 20 74 69 6d 65 2c 20 6e 61 6d 65 6c 79 20 74 68 65 0a 63 75 72 72 65 6e 74 | nt.each.time,.namely.the.current |
| 11be0 | 20 6c 69 73 74 20 65 6c 65 6d 65 6e 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 | .list.element...This.function's. |
| 11c00 | 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 66 69 6e 64 | anaphoric.counterpart.is.`--find |
| 11c20 | 2d 6c 61 73 74 2d 69 6e 64 65 78 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 6c 61 73 74 27 | -last-index'...See.also:.`-last' |
| 11c40 | 2c 20 60 2d 66 69 6e 64 2d 69 6e 64 65 78 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d | ,.`-find-index'."...(declare.(im |
| 11c60 | 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 66 69 | portant-return-value.t))...(--fi |
| 11c80 | 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 | nd-last-index.(funcall.pred.it). |
| 11ca0 | 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 | list))..(defun.-select-by-indice |
| 11cc0 | 73 20 28 69 6e 64 69 63 65 73 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 | s.(indices.list)..."Return.a.lis |
| 11ce0 | 74 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 | t.whose.elements.are.elements.fr |
| 11d00 | 6f 6d 20 4c 49 53 54 20 73 65 6c 65 63 74 65 64 0a 61 73 20 60 28 6e 74 68 20 69 20 6c 69 73 74 | om.LIST.selected.as.`(nth.i.list |
| 11d20 | 29 60 20 66 6f 72 20 61 6c 6c 20 69 20 66 72 6f 6d 20 49 4e 44 49 43 45 53 2e 22 0a 20 20 28 64 | )`.for.all.i.from.INDICES."...(d |
| 11d40 | 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 | eclare.(pure.t).(side-effect-fre |
| 11d60 | 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 72 29 0a 20 20 20 20 28 2d 2d 65 61 63 68 20 69 6e 64 | e.t))...(let.(r).....(--each.ind |
| 11d80 | 69 63 65 73 0a 20 20 20 20 20 20 28 21 63 6f 6e 73 20 28 6e 74 68 20 69 74 20 6c 69 73 74 29 20 | ices.......(!cons.(nth.it.list). |
| 11da0 | 72 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d | r)).....(nreverse.r)))..(defun.- |
| 11dc0 | 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 28 63 6f 6c 75 6d 6e 73 20 74 61 62 6c 65 29 0a 20 | select-columns.(columns.table).. |
| 11de0 | 20 22 53 65 6c 65 63 74 20 43 4f 4c 55 4d 4e 53 20 66 72 6f 6d 20 54 41 42 4c 45 2e 0a 0a 54 41 | ."Select.COLUMNS.from.TABLE...TA |
| 11e00 | 42 4c 45 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 77 68 65 72 65 20 65 61 63 | BLE.is.a.list.of.lists.where.eac |
| 11e20 | 68 20 65 6c 65 6d 65 6e 74 20 72 65 70 72 65 73 65 6e 74 73 20 6f 6e 65 20 72 6f 77 2e 0a 49 74 | h.element.represents.one.row..It |
| 11e40 | 20 69 73 20 61 73 73 75 6d 65 64 20 65 61 63 68 20 72 6f 77 20 68 61 73 20 74 68 65 20 73 61 6d | .is.assumed.each.row.has.the.sam |
| 11e60 | 65 20 6c 65 6e 67 74 68 2e 0a 0a 45 61 63 68 20 72 6f 77 20 69 73 20 74 72 61 6e 73 66 6f 72 6d | e.length...Each.row.is.transform |
| 11e80 | 65 64 20 73 75 63 68 20 74 68 61 74 20 6f 6e 6c 79 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 | ed.such.that.only.the.specified. |
| 11ea0 | 43 4f 4c 55 4d 4e 53 20 61 72 65 0a 73 65 6c 65 63 74 65 64 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a | COLUMNS.are.selected...See.also: |
| 11ec0 | 20 60 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 27 2c 20 60 2d 73 65 6c 65 63 74 2d 62 79 2d 69 | .`-select-column',.`-select-by-i |
| 11ee0 | 6e 64 69 63 65 73 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 | ndices'"...(declare.(pure.t).(si |
| 11f00 | 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 2d 6d 61 70 20 28 2d 73 65 | de-effect-free.t))...(--map.(-se |
| 11f20 | 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 63 6f 6c 75 6d 6e 73 20 69 74 29 20 74 61 62 6c | lect-by-indices.columns.it).tabl |
| 11f40 | 65 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 20 28 63 6f 6c 75 | e))..(defun.-select-column.(colu |
| 11f60 | 6d 6e 20 74 61 62 6c 65 29 0a 20 20 22 53 65 6c 65 63 74 20 43 4f 4c 55 4d 4e 20 66 72 6f 6d 20 | mn.table)..."Select.COLUMN.from. |
| 11f80 | 54 41 42 4c 45 2e 0a 0a 54 41 42 4c 45 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 | TABLE...TABLE.is.a.list.of.lists |
| 11fa0 | 20 77 68 65 72 65 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 72 65 70 72 65 73 65 6e 74 73 20 6f | .where.each.element.represents.o |
| 11fc0 | 6e 65 20 72 6f 77 2e 0a 49 74 20 69 73 20 61 73 73 75 6d 65 64 20 65 61 63 68 20 72 6f 77 20 68 | ne.row..It.is.assumed.each.row.h |
| 11fe0 | 61 73 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 54 68 65 20 73 69 6e 67 6c 65 20 | as.the.same.length...The.single. |
| 12000 | 73 65 6c 65 63 74 65 64 20 63 6f 6c 75 6d 6e 20 69 73 20 72 65 74 75 72 6e 65 64 20 61 73 20 61 | selected.column.is.returned.as.a |
| 12020 | 20 6c 69 73 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d | .list...See.also:.`-select-colum |
| 12040 | 6e 73 27 2c 20 60 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 27 22 0a 20 20 28 64 65 | ns',.`-select-by-indices'"...(de |
| 12060 | 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 | clare.(pure.t).(side-effect-free |
| 12080 | 20 74 29 29 0a 20 20 28 2d 2d 6d 61 70 63 61 74 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 | .t))...(--mapcat.(-select-by-ind |
| 120a0 | 69 63 65 73 20 28 6c 69 73 74 20 63 6f 6c 75 6d 6e 29 20 69 74 29 20 74 61 62 6c 65 29 29 0a 0a | ices.(list.column).it).table)).. |
| 120c0 | 28 64 65 66 6d 61 63 72 6f 20 2d 3e 20 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 | (defmacro.->.(x.&optional.form.& |
| 120e0 | 72 65 73 74 20 6d 6f 72 65 29 0a 20 20 22 54 68 72 65 61 64 20 74 68 65 20 65 78 70 72 20 74 68 | rest.more)..."Thread.the.expr.th |
| 12100 | 72 6f 75 67 68 20 74 68 65 20 66 6f 72 6d 73 2e 20 49 6e 73 65 72 74 20 58 20 61 73 20 74 68 65 | rough.the.forms..Insert.X.as.the |
| 12120 | 20 73 65 63 6f 6e 64 20 69 74 65 6d 0a 69 6e 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 | .second.item.in.the.first.form,. |
| 12140 | 6d 61 6b 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 69 74 20 69 66 20 69 74 20 69 73 20 6e 6f 74 | making.a.list.of.it.if.it.is.not |
| 12160 | 20 61 20 6c 69 73 74 0a 61 6c 72 65 61 64 79 2e 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f | .a.list.already..If.there.are.mo |
| 12180 | 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 74 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 | re.forms,.insert.the.first.form. |
| 121a0 | 61 73 20 74 68 65 0a 73 65 63 6f 6e 64 20 69 74 65 6d 20 69 6e 20 73 65 63 6f 6e 64 20 66 6f 72 | as.the.second.item.in.second.for |
| 121c0 | 6d 2c 20 65 74 63 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d | m,.etc."...(declare.(debug.(form |
| 121e0 | 20 26 72 65 73 74 20 5b 26 6f 72 20 73 79 6d 62 6f 6c 70 20 28 73 65 78 70 20 26 72 65 73 74 20 | .&rest.[&or.symbolp.(sexp.&rest. |
| 12200 | 66 6f 72 6d 29 5d 29 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 75 6c 6c 20 66 6f 72 6d | form)])))...(cond....((null.form |
| 12220 | 29 20 78 29 0a 20 20 20 28 28 6e 75 6c 6c 20 6d 6f 72 65 29 20 28 69 66 20 28 6c 69 73 74 70 20 | ).x)....((null.more).(if.(listp. |
| 12240 | 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 2c 28 63 61 | form).....................`(,(ca |
| 12260 | 72 20 66 6f 72 6d 29 20 2c 78 20 2c 40 28 63 64 72 20 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 | r.form).,x.,@(cdr.form))........ |
| 12280 | 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 66 6f 72 6d 20 78 29 29 29 0a 20 20 20 28 3a | ...........(list.form.x)))....(: |
| 122a0 | 65 6c 73 65 20 60 28 2d 3e 20 28 2d 3e 20 2c 78 20 2c 66 6f 72 6d 29 20 2c 40 6d 6f 72 65 29 29 | else.`(->.(->.,x.,form).,@more)) |
| 122c0 | 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 3e 3e 20 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 | ))..(defmacro.->>.(x.&optional.f |
| 122e0 | 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a 20 20 22 54 68 72 65 61 64 20 74 68 65 20 65 78 | orm.&rest.more)..."Thread.the.ex |
| 12300 | 70 72 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 6f 72 6d 73 2e 20 49 6e 73 65 72 74 20 58 20 61 | pr.through.the.forms..Insert.X.a |
| 12320 | 73 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 0a 69 6e 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 | s.the.last.item.in.the.first.for |
| 12340 | 6d 2c 20 6d 61 6b 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 69 74 20 69 66 20 69 74 20 69 73 20 | m,.making.a.list.of.it.if.it.is. |
| 12360 | 6e 6f 74 20 61 20 6c 69 73 74 0a 61 6c 72 65 61 64 79 2e 20 49 66 20 74 68 65 72 65 20 61 72 65 | not.a.list.already..If.there.are |
| 12380 | 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 74 20 74 68 65 20 66 69 72 73 74 20 66 6f | .more.forms,.insert.the.first.fo |
| 123a0 | 72 6d 20 61 73 20 74 68 65 0a 6c 61 73 74 20 69 74 65 6d 20 69 6e 20 73 65 63 6f 6e 64 20 66 6f | rm.as.the.last.item.in.second.fo |
| 123c0 | 72 6d 2c 20 65 74 63 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 2d 3e 29 29 | rm,.etc."...(declare.(debug.->)) |
| 123e0 | 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 75 6c 6c 20 66 6f 72 6d 29 20 78 29 0a 20 20 20 28 | ...(cond....((null.form).x)....( |
| 12400 | 28 6e 75 6c 6c 20 6d 6f 72 65 29 20 28 69 66 20 28 6c 69 73 74 70 20 66 6f 72 6d 29 0a 20 20 20 | (null.more).(if.(listp.form).... |
| 12420 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 2c 40 66 6f 72 6d 20 2c 78 29 0a 20 20 | .................`(,@form.,x)... |
| 12440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 66 6f 72 6d 20 78 29 29 29 0a | ................(list.form.x))). |
| 12460 | 20 20 20 28 3a 65 6c 73 65 20 60 28 2d 3e 3e 20 28 2d 3e 3e 20 2c 78 20 2c 66 6f 72 6d 29 20 2c | ...(:else.`(->>.(->>.,x.,form)., |
| 12480 | 40 6d 6f 72 65 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 3e 20 28 78 20 26 72 65 73 | @more))))..(defmacro.-->.(x.&res |
| 124a0 | 74 20 66 6f 72 6d 73 29 0a 20 20 22 53 74 61 72 74 69 6e 67 20 77 69 74 68 20 74 68 65 20 76 61 | t.forms)..."Starting.with.the.va |
| 124c0 | 6c 75 65 20 6f 66 20 58 2c 20 74 68 72 65 61 64 20 65 61 63 68 20 65 78 70 72 65 73 73 69 6f 6e | lue.of.X,.thread.each.expression |
| 124e0 | 20 74 68 72 6f 75 67 68 20 46 4f 52 4d 53 2e 0a 0a 49 6e 73 65 72 74 20 58 20 61 74 20 74 68 65 | .through.FORMS...Insert.X.at.the |
| 12500 | 20 70 6f 73 69 74 69 6f 6e 20 73 69 67 6e 69 66 69 65 64 20 62 79 20 74 68 65 20 73 79 6d 62 6f | .position.signified.by.the.symbo |
| 12520 | 6c 20 60 69 74 27 20 69 6e 20 74 68 65 20 66 69 72 73 74 0a 66 6f 72 6d 2e 20 20 49 66 20 74 68 | l.`it'.in.the.first.form...If.th |
| 12540 | 65 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 74 20 74 68 65 20 66 | ere.are.more.forms,.insert.the.f |
| 12560 | 69 72 73 74 20 66 6f 72 6d 20 61 74 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 0a 73 69 67 6e 69 66 | irst.form.at.the.position.signif |
| 12580 | 69 65 64 20 62 79 20 60 69 74 27 20 69 6e 20 69 6e 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 | ied.by.`it'.in.in.second.form,.e |
| 125a0 | 74 63 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 62 6f 64 | tc."...(declare.(debug.(form.bod |
| 125c0 | 79 29 29 29 0a 20 20 60 28 2d 61 73 2d 3e 20 2c 78 20 69 74 20 2c 40 66 6f 72 6d 73 29 29 0a 0a | y)))...`(-as->.,x.it.,@forms)).. |
| 125e0 | 28 64 65 66 6d 61 63 72 6f 20 2d 61 73 2d 3e 20 28 76 61 6c 75 65 20 76 61 72 69 61 62 6c 65 20 | (defmacro.-as->.(value.variable. |
| 12600 | 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 22 53 74 61 72 74 69 6e 67 20 77 69 74 68 20 56 41 | &rest.forms)..."Starting.with.VA |
| 12620 | 4c 55 45 2c 20 74 68 72 65 61 64 20 56 41 52 49 41 42 4c 45 20 74 68 72 6f 75 67 68 20 46 4f 52 | LUE,.thread.VARIABLE.through.FOR |
| 12640 | 4d 53 2e 0a 0a 49 6e 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 62 69 6e 64 20 56 41 52 | MS...In.the.first.form,.bind.VAR |
| 12660 | 49 41 42 4c 45 20 74 6f 20 56 41 4c 55 45 2e 20 20 49 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 66 | IABLE.to.VALUE...In.the.second.f |
| 12680 | 6f 72 6d 2c 20 62 69 6e 64 0a 56 41 52 49 41 42 4c 45 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 | orm,.bind.VARIABLE.to.the.result |
| 126a0 | 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 61 6e 64 20 73 6f 20 66 6f 72 74 68 | .of.the.first.form,.and.so.forth |
| 126c0 | 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 73 79 6d 62 6f | ."...(declare.(debug.(form.symbo |
| 126e0 | 6c 70 20 62 6f 64 79 29 29 29 0a 20 20 28 69 66 20 28 6e 75 6c 6c 20 66 6f 72 6d 73 29 0a 20 20 | lp.body)))...(if.(null.forms)... |
| 12700 | 20 20 20 20 60 2c 76 61 6c 75 65 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 76 61 72 69 61 62 6c | ....`,value.....`(let.((,variabl |
| 12720 | 65 20 2c 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 28 2d 61 73 2d 3e 20 2c 28 69 66 20 28 73 | e.,value))........(-as->.,(if.(s |
| 12740 | 79 6d 62 6f 6c 70 20 28 63 61 72 20 66 6f 72 6d 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ymbolp.(car.forms))............. |
| 12760 | 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 63 61 72 20 66 6f 72 6d 73 29 20 76 61 72 69 61 62 6c | .......(list.(car.forms).variabl |
| 12780 | 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 72 20 66 6f 72 6d 73 29 29 | e)..................(car.forms)) |
| 127a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 | ...............,variable........ |
| 127c0 | 20 20 20 20 20 20 20 2c 40 28 63 64 72 20 66 6f 72 6d 73 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 | .......,@(cdr.forms)))))..(defma |
| 127e0 | 63 72 6f 20 2d 73 6f 6d 65 2d 3e 20 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 | cro.-some->.(x.&optional.form.&r |
| 12800 | 65 73 74 20 6d 6f 72 65 29 0a 20 20 22 57 68 65 6e 20 65 78 70 72 20 69 73 20 6e 6f 6e 2d 6e 69 | est.more)..."When.expr.is.non-ni |
| 12820 | 6c 2c 20 74 68 72 65 61 64 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 69 72 73 74 20 66 | l,.thread.it.through.the.first.f |
| 12840 | 6f 72 6d 20 28 76 69 61 20 60 2d 3e 27 29 2c 0a 61 6e 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 | orm.(via.`->'),.and.when.that.re |
| 12860 | 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 6f 75 67 68 20 74 68 65 20 6e 65 78 | sult.is.non-nil,.through.the.nex |
| 12880 | 74 20 66 6f 72 6d 2c 20 65 74 63 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 | t.form,.etc."...(declare.(debug. |
| 128a0 | 2d 3e 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 69 66 | ->)............(indent.1))...(if |
| 128c0 | 20 28 6e 75 6c 6c 20 66 6f 72 6d 29 20 78 0a 20 20 20 20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 | .(null.form).x.....(let.((result |
| 128e0 | 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 20 20 | .(make-symbol."result")))....... |
| 12900 | 60 28 2d 73 6f 6d 65 2d 3e 20 28 2d 77 68 65 6e 2d 6c 65 74 20 28 2c 72 65 73 75 6c 74 20 2c 78 | `(-some->.(-when-let.(,result.,x |
| 12920 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 3e 20 2c 72 65 73 75 6c 74 20 | )...................(->.,result. |
| 12940 | 2c 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 2c 40 6d 6f 72 65 29 29 29 29 0a 0a 28 64 65 | ,form))..........,@more))))..(de |
| 12960 | 66 6d 61 63 72 6f 20 2d 73 6f 6d 65 2d 3e 3e 20 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 | fmacro.-some->>.(x.&optional.for |
| 12980 | 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a 20 20 22 57 68 65 6e 20 65 78 70 72 20 69 73 20 6e 6f | m.&rest.more)..."When.expr.is.no |
| 129a0 | 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 69 72 | n-nil,.thread.it.through.the.fir |
| 129c0 | 73 74 20 66 6f 72 6d 20 28 76 69 61 20 60 2d 3e 3e 27 29 2c 0a 61 6e 64 20 77 68 65 6e 20 74 68 | st.form.(via.`->>'),.and.when.th |
| 129e0 | 61 74 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 6f 75 67 68 20 74 68 | at.result.is.non-nil,.through.th |
| 12a00 | 65 20 6e 65 78 74 20 66 6f 72 6d 2c 20 65 74 63 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 | e.next.form,.etc."...(declare.(d |
| 12a20 | 65 62 75 67 20 2d 3e 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20 31 29 29 0a | ebug.->)............(indent.1)). |
| 12a40 | 20 20 28 69 66 20 28 6e 75 6c 6c 20 66 6f 72 6d 29 20 78 0a 20 20 20 20 28 6c 65 74 20 28 28 72 | ..(if.(null.form).x.....(let.((r |
| 12a60 | 65 73 75 6c 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 | esult.(make-symbol."result"))).. |
| 12a80 | 20 20 20 20 20 60 28 2d 73 6f 6d 65 2d 3e 3e 20 28 2d 77 68 65 6e 2d 6c 65 74 20 28 2c 72 65 73 | .....`(-some->>.(-when-let.(,res |
| 12aa0 | 75 6c 74 20 2c 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 3e 3e 20 | ult.,x)....................(->>. |
| 12ac0 | 2c 72 65 73 75 6c 74 20 2c 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 2c 40 6d 6f 72 65 29 | ,result.,form))..........,@more) |
| 12ae0 | 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 73 6f 6d 65 2d 2d 3e 20 28 65 78 70 72 20 26 72 | )))..(defmacro.-some-->.(expr.&r |
| 12b00 | 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 22 54 68 72 65 61 64 20 45 58 50 52 20 74 68 72 6f 75 67 | est.forms)..."Thread.EXPR.throug |
| 12b20 | 68 20 46 4f 52 4d 53 20 76 69 61 20 60 2d 2d 3e 27 2c 20 77 68 69 6c 65 20 74 68 65 20 72 65 73 | h.FORMS.via.`-->',.while.the.res |
| 12b40 | 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 57 68 65 6e 20 45 58 50 52 20 65 76 61 6c 75 61 | ult.is.non-nil..When.EXPR.evalua |
| 12b60 | 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 20 74 68 65 20 72 65 73 75 6c | tes.to.non-nil,.thread.the.resul |
| 12b80 | 74 20 74 68 72 6f 75 67 68 20 74 68 65 0a 66 69 72 73 74 20 6f 66 20 46 4f 52 4d 53 2c 20 61 6e | t.through.the.first.of.FORMS,.an |
| 12ba0 | 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 | d.when.that.result.is.non-nil,.t |
| 12bc0 | 68 72 65 61 64 20 69 74 0a 74 68 72 6f 75 67 68 20 74 68 65 20 6e 65 78 74 20 66 6f 72 6d 2c 20 | hread.it.through.the.next.form,. |
| 12be0 | 65 74 63 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 26 72 | etc."...(declare.(debug.(form.&r |
| 12c00 | 65 73 74 20 26 6f 72 20 73 79 6d 62 6f 6c 70 20 63 6f 6e 73 70 29 29 20 28 69 6e 64 65 6e 74 20 | est.&or.symbolp.consp)).(indent. |
| 12c20 | 31 29 29 0a 20 20 28 69 66 20 28 6e 75 6c 6c 20 66 6f 72 6d 73 29 20 65 78 70 72 0a 20 20 20 20 | 1))...(if.(null.forms).expr..... |
| 12c40 | 28 6c 65 74 20 28 28 72 65 73 75 6c 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 | (let.((result.(make-symbol."resu |
| 12c60 | 6c 74 22 29 29 29 0a 20 20 20 20 20 20 60 28 2d 73 6f 6d 65 2d 2d 3e 20 28 2d 77 68 65 6e 2d 6c | lt"))).......`(-some-->.(-when-l |
| 12c80 | 65 74 20 28 2c 72 65 73 75 6c 74 20 2c 65 78 70 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | et.(,result.,expr).............. |
| 12ca0 | 20 20 20 20 20 20 28 2d 2d 3e 20 2c 72 65 73 75 6c 74 20 2c 28 63 61 72 20 66 6f 72 6d 73 29 29 | ......(-->.,result.,(car.forms)) |
| 12cc0 | 29 0a 20 20 20 20 20 20 20 20 20 2c 40 28 63 64 72 20 66 6f 72 6d 73 29 29 29 29 29 0a 0a 28 64 | )..........,@(cdr.forms)))))..(d |
| 12ce0 | 65 66 6d 61 63 72 6f 20 2d 64 6f 74 6f 20 28 69 6e 69 74 20 26 72 65 73 74 20 66 6f 72 6d 73 29 | efmacro.-doto.(init.&rest.forms) |
| 12d00 | 0a 20 20 22 45 76 61 6c 75 61 74 65 20 49 4e 49 54 20 61 6e 64 20 70 61 73 73 20 69 74 20 61 73 | ..."Evaluate.INIT.and.pass.it.as |
| 12d20 | 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 46 4f 52 4d 53 20 77 69 74 68 20 60 2d 3e 27 2e 0a 54 68 | .argument.to.FORMS.with.`->'..Th |
| 12d40 | 65 20 52 45 53 55 4c 54 20 6f 66 20 65 76 61 6c 75 61 74 69 6e 67 20 49 4e 49 54 20 69 73 20 74 | e.RESULT.of.evaluating.INIT.is.t |
| 12d60 | 68 72 65 61 64 65 64 20 74 68 72 6f 75 67 68 20 65 61 63 68 20 6f 66 20 46 4f 52 4d 53 0a 69 6e | hreaded.through.each.of.FORMS.in |
| 12d80 | 64 69 76 69 64 75 61 6c 6c 79 20 75 73 69 6e 67 20 60 2d 3e 27 2c 20 77 68 69 63 68 20 73 65 65 | dividually.using.`->',.which.see |
| 12da0 | 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 52 45 53 55 4c 54 2c 0a 77 | ...The.return.value.is.RESULT,.w |
| 12dc0 | 68 69 63 68 20 46 4f 52 4d 53 20 6d 61 79 20 68 61 76 65 20 6d 6f 64 69 66 69 65 64 20 62 79 20 | hich.FORMS.may.have.modified.by. |
| 12de0 | 73 69 64 65 20 65 66 66 65 63 74 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 | side.effect."...(declare.(debug. |
| 12e00 | 28 66 6f 72 6d 20 26 72 65 73 74 20 26 6f 72 20 73 79 6d 62 6f 6c 70 20 63 6f 6e 73 70 29 29 20 | (form.&rest.&or.symbolp.consp)). |
| 12e20 | 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 6c 65 74 20 28 28 72 65 74 76 61 6c 20 28 6d 61 6b | (indent.1))...(let.((retval.(mak |
| 12e40 | 65 2d 73 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 | e-symbol."result"))).....`(let.( |
| 12e60 | 28 2c 72 65 74 76 61 6c 20 2c 69 6e 69 74 29 29 0a 20 20 20 20 20 20 20 2c 40 28 6d 61 70 63 61 | (,retval.,init))........,@(mapca |
| 12e80 | 72 20 28 6c 61 6d 62 64 61 20 28 66 6f 72 6d 29 20 60 28 2d 3e 20 2c 72 65 74 76 61 6c 20 2c 66 | r.(lambda.(form).`(->.,retval.,f |
| 12ea0 | 6f 72 6d 29 29 20 66 6f 72 6d 73 29 0a 20 20 20 20 20 20 20 2c 72 65 74 76 61 6c 29 29 29 0a 0a | orm)).forms)........,retval))).. |
| 12ec0 | 28 64 65 66 6d 61 63 72 6f 20 2d 2d 64 6f 74 6f 20 28 69 6e 69 74 20 26 72 65 73 74 20 66 6f 72 | (defmacro.--doto.(init.&rest.for |
| 12ee0 | 6d 73 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 64 6f 74 6f 27 | ms)..."Anaphoric.form.of.`-doto' |
| 12f00 | 2e 0a 54 68 69 73 20 6a 75 73 74 20 65 76 61 6c 75 61 74 65 73 20 49 4e 49 54 2c 20 62 69 6e 64 | ..This.just.evaluates.INIT,.bind |
| 12f20 | 73 20 74 68 65 20 72 65 73 75 6c 74 20 74 6f 20 60 69 74 27 2c 20 65 76 61 6c 75 61 74 65 73 0a | s.the.result.to.`it',.evaluates. |
| 12f40 | 46 4f 52 4d 53 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 69 6e 61 6c 20 76 61 6c | FORMS,.and.returns.the.final.val |
| 12f60 | 75 65 20 6f 66 20 60 69 74 27 2e 0a 4e 6f 74 65 3a 20 60 69 74 27 20 6e 65 65 64 20 6e 6f 74 20 | ue.of.`it'..Note:.`it'.need.not. |
| 12f80 | 62 65 20 75 73 65 64 20 69 6e 20 65 61 63 68 20 66 6f 72 6d 2e 22 0a 20 20 28 64 65 63 6c 61 72 | be.used.in.each.form."...(declar |
| 12fa0 | 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 62 6f 64 79 29 29 20 28 69 6e 64 65 6e 74 20 31 29 | e.(debug.(form.body)).(indent.1) |
| 12fc0 | 29 0a 20 20 60 28 6c 65 74 20 28 28 69 74 20 2c 69 6e 69 74 29 29 0a 20 20 20 20 20 2c 40 66 6f | )...`(let.((it.,init))......,@fo |
| 12fe0 | 72 6d 73 0a 20 20 20 20 20 69 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 67 72 61 64 65 2d 75 70 20 | rms......it))..(defun.-grade-up. |
| 13000 | 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 22 47 72 61 64 65 20 65 6c 65 6d 65 | (comparator.list)..."Grade.eleme |
| 13020 | 6e 74 73 20 6f 66 20 4c 49 53 54 20 75 73 69 6e 67 20 43 4f 4d 50 41 52 41 54 4f 52 20 72 65 6c | nts.of.LIST.using.COMPARATOR.rel |
| 13040 | 61 74 69 6f 6e 2e 0a 54 68 69 73 20 79 69 65 6c 64 73 20 61 20 70 65 72 6d 75 74 61 74 69 6f 6e | ation..This.yields.a.permutation |
| 13060 | 20 76 65 63 74 6f 72 20 73 75 63 68 20 74 68 61 74 20 61 70 70 6c 79 69 6e 67 20 74 68 69 73 0a | .vector.such.that.applying.this. |
| 13080 | 70 65 72 6d 75 74 61 74 69 6f 6e 20 74 6f 20 4c 49 53 54 20 73 6f 72 74 73 20 69 74 20 69 6e 20 | permutation.to.LIST.sorts.it.in. |
| 130a0 | 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d | ascending.order."...(declare.(im |
| 130c0 | 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 3e 3e 20 | portant-return-value.t))...(->>. |
| 130e0 | 28 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 63 6f 6e 73 20 69 74 20 69 74 2d 69 6e 64 65 78 | (--map-indexed.(cons.it.it-index |
| 13100 | 29 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 28 6c 61 6d 62 64 61 20 28 69 | ).list)........(-sort.(lambda.(i |
| 13120 | 74 20 6f 74 68 65 72 29 20 28 66 75 6e 63 61 6c 6c 20 63 6f 6d 70 61 72 61 74 6f 72 20 28 63 61 | t.other).(funcall.comparator.(ca |
| 13140 | 72 20 69 74 29 20 28 63 61 72 20 6f 74 68 65 72 29 29 29 29 0a 20 20 20 20 20 20 20 28 6d 61 70 | r.it).(car.other))))........(map |
| 13160 | 63 61 72 20 23 27 63 64 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 67 72 61 64 65 2d 64 6f 77 6e | car.#'cdr)))..(defun.-grade-down |
| 13180 | 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 22 47 72 61 64 65 20 65 6c 65 6d | .(comparator.list)..."Grade.elem |
| 131a0 | 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 75 73 69 6e 67 20 43 4f 4d 50 41 52 41 54 4f 52 20 72 65 | ents.of.LIST.using.COMPARATOR.re |
| 131c0 | 6c 61 74 69 6f 6e 2e 0a 54 68 69 73 20 79 69 65 6c 64 73 20 61 20 70 65 72 6d 75 74 61 74 69 6f | lation..This.yields.a.permutatio |
| 131e0 | 6e 20 76 65 63 74 6f 72 20 73 75 63 68 20 74 68 61 74 20 61 70 70 6c 79 69 6e 67 20 74 68 69 73 | n.vector.such.that.applying.this |
| 13200 | 0a 70 65 72 6d 75 74 61 74 69 6f 6e 20 74 6f 20 4c 49 53 54 20 73 6f 72 74 73 20 69 74 20 69 6e | .permutation.to.LIST.sorts.it.in |
| 13220 | 20 64 65 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 | .descending.order."...(declare.( |
| 13240 | 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 3e | important-return-value.t))...(-> |
| 13260 | 3e 20 28 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 63 6f 6e 73 20 69 74 20 69 74 2d 69 6e 64 | >.(--map-indexed.(cons.it.it-ind |
| 13280 | 65 78 29 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 28 6c 61 6d 62 64 61 20 | ex).list)........(-sort.(lambda. |
| 132a0 | 28 69 74 20 6f 74 68 65 72 29 20 28 66 75 6e 63 61 6c 6c 20 63 6f 6d 70 61 72 61 74 6f 72 20 28 | (it.other).(funcall.comparator.( |
| 132c0 | 63 61 72 20 6f 74 68 65 72 29 20 28 63 61 72 20 69 74 29 29 29 29 0a 20 20 20 20 20 20 20 28 6d | car.other).(car.it))))........(m |
| 132e0 | 61 70 63 61 72 20 23 27 63 64 72 29 29 29 0a 0a 28 64 65 66 76 61 72 20 64 61 73 68 2d 2d 73 6f | apcar.#'cdr)))..(defvar.dash--so |
| 13300 | 75 72 63 65 2d 63 6f 75 6e 74 65 72 20 30 0a 20 20 22 4d 6f 6e 6f 74 6f 6e 69 63 20 63 6f 75 6e | urce-counter.0..."Monotonic.coun |
| 13320 | 74 65 72 20 66 6f 72 20 67 65 6e 65 72 61 74 65 64 20 73 79 6d 62 6f 6c 73 2e 22 29 0a 0a 28 64 | ter.for.generated.symbols.")..(d |
| 13340 | 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6d 61 6b 65 2d 73 6f 75 72 63 65 2d 73 79 6d | efun.dash--match-make-source-sym |
| 13360 | 62 6f 6c 20 28 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 61 20 6e 65 77 20 64 61 73 68 2d 73 6f | bol.()..."Generate.a.new.dash-so |
| 13380 | 75 72 63 65 20 73 79 6d 62 6f 6c 2e 0a 0a 41 6c 6c 20 72 65 74 75 72 6e 65 64 20 73 79 6d 62 6f | urce.symbol...All.returned.symbo |
| 133a0 | 6c 73 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 75 6e 69 71 75 65 2e 22 | ls.are.guaranteed.to.be.unique." |
| 133c0 | 0a 20 20 28 70 72 6f 67 31 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 28 66 6f 72 6d 61 74 20 22 | ...(prog1.(make-symbol.(format." |
| 133e0 | 2d 2d 64 61 73 68 2d 73 6f 75 72 63 65 2d 25 64 2d 2d 22 20 64 61 73 68 2d 2d 73 6f 75 72 63 65 | --dash-source-%d--".dash--source |
| 13400 | 2d 63 6f 75 6e 74 65 72 29 29 0a 20 20 20 20 28 73 65 74 71 20 64 61 73 68 2d 2d 73 6f 75 72 63 | -counter)).....(setq.dash--sourc |
| 13420 | 65 2d 63 6f 75 6e 74 65 72 20 28 31 2b 20 64 61 73 68 2d 2d 73 6f 75 72 63 65 2d 63 6f 75 6e 74 | e-counter.(1+.dash--source-count |
| 13440 | 65 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 69 67 6e 6f 72 | er))))..(defun.dash--match-ignor |
| 13460 | 65 2d 70 6c 61 63 65 2d 70 20 28 73 79 6d 62 6f 6c 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e | e-place-p.(symbol)..."Return.non |
| 13480 | 2d 6e 69 6c 20 69 66 20 53 59 4d 42 4f 4c 20 69 73 20 61 20 73 79 6d 62 6f 6c 20 61 6e 64 20 73 | -nil.if.SYMBOL.is.a.symbol.and.s |
| 134a0 | 74 61 72 74 73 20 77 69 74 68 20 5f 2e 22 0a 20 20 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20 73 | tarts.with._."...(and.(symbolp.s |
| 134c0 | 79 6d 62 6f 6c 29 0a 20 20 20 20 20 20 20 28 65 71 20 28 61 72 65 66 20 28 73 79 6d 62 6f 6c 2d | ymbol)........(eq.(aref.(symbol- |
| 134e0 | 6e 61 6d 65 20 73 79 6d 62 6f 6c 29 20 30 29 20 3f 5f 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 | name.symbol).0).?_)))..(defun.da |
| 13500 | 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 73 6b 69 70 2d 63 64 72 20 28 73 6b 69 70 2d 63 64 | sh--match-cons-skip-cdr.(skip-cd |
| 13520 | 72 20 73 6f 75 72 63 65 29 0a 20 20 22 48 65 6c 70 65 72 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e | r.source)..."Helper.function.gen |
| 13540 | 65 72 61 74 69 6e 67 20 69 64 69 6f 6d 61 74 69 63 20 73 68 69 66 74 69 6e 67 20 63 6f 64 65 2e | erating.idiomatic.shifting.code. |
| 13560 | 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 3d 20 73 6b 69 70 2d 63 64 72 20 30 29 0a 20 20 20 | "...(cond....((=.skip-cdr.0).... |
| 13580 | 20 60 28 70 6f 70 20 2c 73 6f 75 72 63 65 29 29 0a 20 20 20 28 74 0a 20 20 20 20 60 28 70 72 6f | .`(pop.,source))....(t.....`(pro |
| 135a0 | 67 31 20 2c 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 67 65 74 2d 63 61 72 20 73 6b | g1.,(dash--match-cons-get-car.sk |
| 135c0 | 69 70 2d 63 64 72 20 73 6f 75 72 63 65 29 0a 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 73 6f 75 | ip-cdr.source)........(setq.,sou |
| 135e0 | 72 63 65 20 2c 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 67 65 74 2d 63 64 72 20 28 | rce.,(dash--match-cons-get-cdr.( |
| 13600 | 31 2b 20 73 6b 69 70 2d 63 64 72 29 20 73 6f 75 72 63 65 29 29 29 29 29 29 0a 0a 28 64 65 66 75 | 1+.skip-cdr).source))))))..(defu |
| 13620 | 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 67 65 74 2d 63 61 72 20 28 73 6b 69 70 | n.dash--match-cons-get-car.(skip |
| 13640 | 2d 63 64 72 20 73 6f 75 72 63 65 29 0a 20 20 22 48 65 6c 70 65 72 20 66 75 6e 63 74 69 6f 6e 20 | -cdr.source)..."Helper.function. |
| 13660 | 67 65 6e 65 72 61 74 69 6e 67 20 69 64 69 6f 6d 61 74 69 63 20 63 6f 64 65 20 74 6f 20 67 65 74 | generating.idiomatic.code.to.get |
| 13680 | 20 6e 74 68 20 63 61 72 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 3d 20 73 6b 69 70 2d 63 | .nth.car."...(cond....((=.skip-c |
| 136a0 | 64 72 20 30 29 0a 20 20 20 20 60 28 63 61 72 20 2c 73 6f 75 72 63 65 29 29 0a 20 20 20 28 28 3d | dr.0).....`(car.,source))....((= |
| 136c0 | 20 73 6b 69 70 2d 63 64 72 20 31 29 0a 20 20 20 20 60 28 63 61 64 72 20 2c 73 6f 75 72 63 65 29 | .skip-cdr.1).....`(cadr.,source) |
| 136e0 | 29 0a 20 20 20 28 74 0a 20 20 20 20 60 28 6e 74 68 20 2c 73 6b 69 70 2d 63 64 72 20 2c 73 6f 75 | )....(t.....`(nth.,skip-cdr.,sou |
| 13700 | 72 63 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 | rce))))..(defun.dash--match-cons |
| 13720 | 2d 67 65 74 2d 63 64 72 20 28 73 6b 69 70 2d 63 64 72 20 73 6f 75 72 63 65 29 0a 20 20 22 48 65 | -get-cdr.(skip-cdr.source)..."He |
| 13740 | 6c 70 65 72 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 69 6e 67 20 69 64 69 6f 6d 61 74 | lper.function.generating.idiomat |
| 13760 | 69 63 20 63 6f 64 65 20 74 6f 20 67 65 74 20 6e 74 68 20 63 64 72 2e 22 0a 20 20 28 63 6f 6e 64 | ic.code.to.get.nth.cdr."...(cond |
| 13780 | 0a 20 20 20 28 28 3d 20 73 6b 69 70 2d 63 64 72 20 30 29 0a 20 20 20 20 73 6f 75 72 63 65 29 0a | ....((=.skip-cdr.0).....source). |
| 137a0 | 20 20 20 28 28 3d 20 73 6b 69 70 2d 63 64 72 20 31 29 0a 20 20 20 20 60 28 63 64 72 20 2c 73 6f | ...((=.skip-cdr.1).....`(cdr.,so |
| 137c0 | 75 72 63 65 29 29 0a 20 20 20 28 74 0a 20 20 20 20 60 28 6e 74 68 63 64 72 20 2c 73 6b 69 70 2d | urce))....(t.....`(nthcdr.,skip- |
| 137e0 | 63 64 72 20 2c 73 6f 75 72 63 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 | cdr.,source))))..(defun.dash--ma |
| 13800 | 74 63 68 2d 63 6f 6e 73 20 28 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 0a 20 20 22 | tch-cons.(match-form.source)..." |
| 13820 | 53 65 74 75 70 20 61 20 63 6f 6e 73 20 6d 61 74 63 68 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e | Setup.a.cons.matching.environmen |
| 13840 | 74 20 61 6e 64 20 63 61 6c 6c 20 74 68 65 20 72 65 61 6c 20 6d 61 74 63 68 65 72 2e 22 0a 20 20 | t.and.call.the.real.matcher."... |
| 13860 | 28 6c 65 74 20 28 28 73 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6d 61 6b 65 2d 73 6f 75 72 63 | (let.((s.(dash--match-make-sourc |
| 13880 | 65 2d 73 79 6d 62 6f 6c 29 29 0a 20 20 20 20 20 20 20 20 28 6e 20 30 29 0a 20 20 20 20 20 20 20 | e-symbol)).........(n.0)........ |
| 138a0 | 20 28 6d 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 | .(m.match-form)).....(while.(and |
| 138c0 | 20 28 63 6f 6e 73 70 20 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 61 73 68 | .(consp.m).................(dash |
| 138e0 | 2d 2d 6d 61 74 63 68 2d 69 67 6e 6f 72 65 2d 70 6c 61 63 65 2d 70 20 28 63 61 72 20 6d 29 29 29 | --match-ignore-place-p.(car.m))) |
| 13900 | 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 20 28 31 2b 20 6e 29 29 20 28 21 63 64 72 20 6d 29 29 | .......(setq.n.(1+.n)).(!cdr.m)) |
| 13920 | 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 3b 3b 20 77 68 65 6e 20 77 65 20 6f 6e 6c 79 20 | .....(cond......;;.when.we.only. |
| 13940 | 68 61 76 65 20 6f 6e 65 20 70 61 74 74 65 72 6e 20 69 6e 20 74 68 65 20 6c 69 73 74 2c 20 77 65 | have.one.pattern.in.the.list,.we |
| 13960 | 20 64 6f 6e 27 74 20 68 61 76 65 20 74 6f 0a 20 20 20 20 20 3b 3b 20 63 72 65 61 74 65 20 61 20 | .don't.have.to......;;.create.a. |
| 13980 | 74 65 6d 70 6f 72 61 72 79 20 62 69 6e 64 69 6e 67 20 28 2d 2d 64 61 73 68 2d 73 6f 75 72 63 65 | temporary.binding.(--dash-source |
| 139a0 | 2d 2d 29 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 0a 20 20 20 20 20 3b 3b 20 61 6e 64 20 6a | --).for.the.source......;;.and.j |
| 139c0 | 75 73 74 20 75 73 65 20 74 68 65 20 69 6e 70 75 74 20 64 69 72 65 63 74 6c 79 0a 20 20 20 20 20 | ust.use.the.input.directly...... |
| 139e0 | 28 28 61 6e 64 20 28 63 6f 6e 73 70 20 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 | ((and.(consp.m)............(not. |
| 13a00 | 28 63 64 72 20 6d 29 29 29 0a 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 63 61 | (cdr.m))).......(dash--match.(ca |
| 13a20 | 72 20 6d 29 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 67 65 74 2d 63 61 72 20 6e | r.m).(dash--match-cons-get-car.n |
| 13a40 | 20 73 6f 75 72 63 65 29 29 29 0a 20 20 20 20 20 3b 3b 20 68 61 6e 64 6c 65 20 6f 74 68 65 72 20 | .source)))......;;.handle.other. |
| 13a60 | 73 70 65 63 69 61 6c 20 74 79 70 65 73 0a 20 20 20 20 20 28 28 3e 20 6e 20 30 29 0a 20 20 20 20 | special.types......((>.n.0)..... |
| 13a80 | 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 6d 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f | ..(dash--match.m.(dash--match-co |
| 13aa0 | 6e 73 2d 67 65 74 2d 63 64 72 20 6e 20 73 6f 75 72 63 65 29 29 29 0a 20 20 20 20 20 3b 3b 20 74 | ns-get-cdr.n.source)))......;;.t |
| 13ac0 | 68 69 73 20 69 73 20 74 68 65 20 6f 6e 6c 79 20 65 6e 74 72 79 2d 70 6f 69 6e 74 20 66 6f 72 20 | his.is.the.only.entry-point.for. |
| 13ae0 | 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 31 2c 20 74 68 61 74 27 73 0a 20 20 20 20 20 | dash--match-cons-1,.that's...... |
| 13b00 | 3b 3b 20 77 68 79 20 77 65 20 63 61 6e 27 74 20 73 69 6d 70 6c 79 20 75 73 65 20 74 68 65 20 61 | ;;.why.we.can't.simply.use.the.a |
| 13b20 | 62 6f 76 65 20 62 72 61 6e 63 68 2c 20 69 74 20 77 6f 75 6c 64 20 70 72 6f 64 75 63 65 0a 20 20 | bove.branch,.it.would.produce... |
| 13b40 | 20 20 20 3b 3b 20 69 6e 66 69 6e 69 74 65 20 72 65 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 28 74 | ...;;.infinite.recursion......(t |
| 13b60 | 0a 20 20 20 20 20 20 28 63 6f 6e 73 20 28 6c 69 73 74 20 73 20 73 6f 75 72 63 65 29 20 28 64 61 | .......(cons.(list.s.source).(da |
| 13b80 | 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 31 20 6d 61 74 63 68 2d 66 6f 72 6d 20 73 29 29 29 | sh--match-cons-1.match-form.s))) |
| 13ba0 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 67 65 74 2d 65 78 70 61 6e 64 2d 66 75 6e | )))..(defun.dash--get-expand-fun |
| 13bc0 | 63 74 69 6f 6e 20 28 74 79 70 65 29 0a 20 20 22 47 65 74 20 65 78 70 61 6e 64 20 66 75 6e 63 74 | ction.(type)..."Get.expand.funct |
| 13be0 | 69 6f 6e 20 6e 61 6d 65 20 66 6f 72 20 54 59 50 45 2e 22 0a 20 20 28 69 6e 74 65 72 6e 2d 73 6f | ion.name.for.TYPE."...(intern-so |
| 13c00 | 66 74 20 28 66 6f 72 6d 61 74 20 22 64 61 73 68 2d 65 78 70 61 6e 64 3a 25 73 22 20 74 79 70 65 | ft.(format."dash-expand:%s".type |
| 13c20 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 31 20 28 | )))..(defun.dash--match-cons-1.( |
| 13c40 | 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 20 26 6f 70 74 69 6f 6e 61 6c 20 70 72 6f 70 | match-form.source.&optional.prop |
| 13c60 | 73 29 0a 20 20 22 4d 61 74 63 68 20 4d 41 54 43 48 2d 46 4f 52 4d 20 61 67 61 69 6e 73 74 20 53 | s)..."Match.MATCH-FORM.against.S |
| 13c80 | 4f 55 52 43 45 2e 0a 0a 4d 41 54 43 48 2d 46 4f 52 4d 20 69 73 20 61 20 70 72 6f 70 65 72 20 6f | OURCE...MATCH-FORM.is.a.proper.o |
| 13ca0 | 72 20 69 6d 70 72 6f 70 65 72 20 6c 69 73 74 2e 20 20 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f | r.improper.list...Each.element.o |
| 13cc0 | 66 0a 4d 41 54 43 48 2d 46 4f 52 4d 20 69 73 20 65 69 74 68 65 72 20 61 20 73 79 6d 62 6f 6c 2c | f.MATCH-FORM.is.either.a.symbol, |
| 13ce0 | 20 77 68 69 63 68 20 67 65 74 73 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 72 65 73 70 65 63 74 | .which.gets.bound.to.the.respect |
| 13d00 | 69 76 65 0a 76 61 6c 75 65 20 69 6e 20 73 6f 75 72 63 65 20 6f 72 20 61 6e 6f 74 68 65 72 20 6d | ive.value.in.source.or.another.m |
| 13d20 | 61 74 63 68 20 66 6f 72 6d 20 77 68 69 63 68 20 67 65 74 73 20 64 65 73 74 72 75 63 74 75 72 65 | atch.form.which.gets.destructure |
| 13d40 | 64 0a 72 65 63 75 72 73 69 76 65 6c 79 2e 0a 0a 49 66 20 74 68 65 20 63 64 72 20 6f 66 20 6c 61 | d.recursively...If.the.cdr.of.la |
| 13d60 | 73 74 20 63 6f 6e 73 20 63 65 6c 6c 20 69 6e 20 74 68 65 20 6c 69 73 74 20 69 73 20 6e 69 6c 2c | st.cons.cell.in.the.list.is.nil, |
| 13d80 | 20 6d 61 74 63 68 69 6e 67 20 73 74 6f 70 73 0a 74 68 65 72 65 2e 0a 0a 53 4f 55 52 43 45 20 69 | .matching.stops.there...SOURCE.i |
| 13da0 | 73 20 61 20 70 72 6f 70 65 72 20 6f 72 20 69 6d 70 72 6f 70 65 72 20 6c 69 73 74 2e 22 0a 20 20 | s.a.proper.or.improper.list."... |
| 13dc0 | 28 6c 65 74 20 28 28 73 6b 69 70 2d 63 64 72 20 28 6f 72 20 28 70 6c 69 73 74 2d 67 65 74 20 70 | (let.((skip-cdr.(or.(plist-get.p |
| 13de0 | 72 6f 70 73 20 3a 73 6b 69 70 2d 63 64 72 29 20 30 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 | rops.:skip-cdr).0))).....(cond.. |
| 13e00 | 20 20 20 20 28 28 63 6f 6e 73 70 20 6d 61 74 63 68 2d 66 6f 72 6d 29 0a 20 20 20 20 20 20 28 63 | ....((consp.match-form).......(c |
| 13e20 | 6f 6e 64 0a 20 20 20 20 20 20 20 28 28 63 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 0a 20 20 20 | ond........((cdr.match-form).... |
| 13e40 | 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 73 79 6d 62 6f | .....(cond..........((and.(symbo |
| 13e60 | 6c 70 20 28 63 61 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | lp.(car.match-form))............ |
| 13e80 | 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 70 20 28 64 61 73 68 2d 2d 67 65 74 2d 65 78 70 61 6e 64 | ....(functionp.(dash--get-expand |
| 13ea0 | 2d 66 75 6e 63 74 69 6f 6e 20 28 63 61 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 29 0a 20 20 | -function.(car.match-form))))... |
| 13ec0 | 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 20 28 64 61 73 68 2d 2d 6d | ........(dash--match-kv.(dash--m |
| 13ee0 | 61 74 63 68 2d 6b 76 2d 6e 6f 72 6d 61 6c 69 7a 65 2d 6d 61 74 63 68 2d 66 6f 72 6d 20 6d 61 74 | atch-kv-normalize-match-form.mat |
| 13f00 | 63 68 2d 66 6f 72 6d 29 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 67 65 74 2d 63 | ch-form).(dash--match-cons-get-c |
| 13f20 | 64 72 20 73 6b 69 70 2d 63 64 72 20 73 6f 75 72 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 | dr.skip-cdr.source)))..........( |
| 13f40 | 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 69 67 6e 6f 72 65 2d 70 6c 61 63 65 2d 70 20 28 63 61 72 | (dash--match-ignore-place-p.(car |
| 13f60 | 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d | .match-form))...........(dash--m |
| 13f80 | 61 74 63 68 2d 63 6f 6e 73 2d 31 20 28 63 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 73 6f 75 | atch-cons-1.(cdr.match-form).sou |
| 13fa0 | 72 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rce............................. |
| 13fc0 | 20 20 28 70 6c 69 73 74 2d 70 75 74 20 70 72 6f 70 73 20 3a 73 6b 69 70 2d 63 64 72 20 28 31 2b | ..(plist-put.props.:skip-cdr.(1+ |
| 13fe0 | 20 73 6b 69 70 2d 63 64 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 | .skip-cdr))))..........(t....... |
| 14000 | 20 20 20 20 28 2d 63 6f 6e 63 61 74 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 63 61 72 20 6d | ....(-concat.(dash--match.(car.m |
| 14020 | 61 74 63 68 2d 66 6f 72 6d 29 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 73 6b 69 | atch-form).(dash--match-cons-ski |
| 14040 | 70 2d 63 64 72 20 73 6b 69 70 2d 63 64 72 20 73 6f 75 72 63 65 29 29 0a 20 20 20 20 20 20 20 20 | p-cdr.skip-cdr.source))......... |
| 14060 | 20 20 20 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 2d 31 20 28 | ...........(dash--match-cons-1.( |
| 14080 | 63 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 73 6f 75 72 63 65 29 29 29 29 29 0a 20 20 20 20 | cdr.match-form).source)))))..... |
| 140a0 | 20 20 20 28 74 20 3b 3b 20 4c 61 73 74 20 6d 61 74 63 68 69 6e 67 20 70 6c 61 63 65 2c 20 6e 6f | ...(t.;;.Last.matching.place,.no |
| 140c0 | 20 6e 65 65 64 20 66 6f 72 20 73 68 69 66 74 0a 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d | .need.for.shift.........(dash--m |
| 140e0 | 61 74 63 68 20 28 63 61 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 28 64 61 73 68 2d 2d 6d 61 74 | atch.(car.match-form).(dash--mat |
| 14100 | 63 68 2d 63 6f 6e 73 2d 67 65 74 2d 63 61 72 20 73 6b 69 70 2d 63 64 72 20 73 6f 75 72 63 65 29 | ch-cons-get-car.skip-cdr.source) |
| 14120 | 29 29 29 29 0a 20 20 20 20 20 28 28 65 71 20 6d 61 74 63 68 2d 66 6f 72 6d 20 6e 69 6c 29 0a 20 | ))))......((eq.match-form.nil).. |
| 14140 | 20 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 28 74 20 3b 3b 20 48 61 6e 64 6c 65 20 69 6d 70 72 | .....nil)......(t.;;.Handle.impr |
| 14160 | 6f 70 65 72 20 6c 69 73 74 73 2e 20 20 4c 61 73 74 20 6d 61 74 63 68 69 6e 67 20 70 6c 61 63 65 | oper.lists...Last.matching.place |
| 14180 | 2c 20 6e 6f 20 6e 65 65 64 20 66 6f 72 20 73 68 69 66 74 0a 20 20 20 20 20 20 28 64 61 73 68 2d | ,.no.need.for.shift.......(dash- |
| 141a0 | 2d 6d 61 74 63 68 20 6d 61 74 63 68 2d 66 6f 72 6d 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 | -match.match-form.(dash--match-c |
| 141c0 | 6f 6e 73 2d 67 65 74 2d 63 64 72 20 73 6b 69 70 2d 63 64 72 20 73 6f 75 72 63 65 29 29 29 29 29 | ons-get-cdr.skip-cdr.source))))) |
| 141e0 | 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 76 65 63 74 6f 72 20 28 6d 61 | )..(defun.dash--match-vector.(ma |
| 14200 | 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 0a 20 20 22 53 65 74 75 70 20 61 20 76 65 63 74 | tch-form.source)..."Setup.a.vect |
| 14220 | 6f 72 20 6d 61 74 63 68 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 61 6e 64 20 63 61 6c 6c | or.matching.environment.and.call |
| 14240 | 20 74 68 65 20 72 65 61 6c 20 6d 61 74 63 68 65 72 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 20 28 | .the.real.matcher."...(let.((s.( |
| 14260 | 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6d 61 6b 65 2d 73 6f 75 72 63 65 2d 73 79 6d 62 6f 6c 29 29 | dash--match-make-source-symbol)) |
| 14280 | 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 3b 3b 20 64 6f 6e 27 74 20 62 69 6e 64 20 60 | ).....(cond......;;.don't.bind.` |
| 142a0 | 73 27 20 69 66 20 77 65 20 6f 6e 6c 79 20 68 61 76 65 20 6f 6e 65 20 73 75 62 2d 70 61 74 74 65 | s'.if.we.only.have.one.sub-patte |
| 142c0 | 72 6e 0a 20 20 20 20 20 28 28 3d 20 28 6c 65 6e 67 74 68 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 | rn......((=.(length.match-form). |
| 142e0 | 31 29 0a 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 61 72 65 66 20 6d 61 74 63 | 1).......(dash--match.(aref.matc |
| 14300 | 68 2d 66 6f 72 6d 20 30 29 20 60 28 61 72 65 66 20 2c 73 6f 75 72 63 65 20 30 29 29 29 0a 20 20 | h-form.0).`(aref.,source.0)))... |
| 14320 | 20 20 20 3b 3b 20 69 66 20 74 68 65 20 73 6f 75 72 63 65 20 69 73 20 61 20 73 79 6d 62 6f 6c 2c | ...;;.if.the.source.is.a.symbol, |
| 14340 | 20 77 65 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 72 65 2d 62 69 6e 64 20 69 74 0a 20 20 20 | .we.don't.need.to.re-bind.it.... |
| 14360 | 20 20 28 28 73 79 6d 62 6f 6c 70 20 73 6f 75 72 63 65 29 0a 20 20 20 20 20 20 28 64 61 73 68 2d | ..((symbolp.source).......(dash- |
| 14380 | 2d 6d 61 74 63 68 2d 76 65 63 74 6f 72 2d 31 20 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 | -match-vector-1.match-form.sourc |
| 143a0 | 65 29 29 0a 20 20 20 20 20 3b 3b 20 64 6f 6e 27 74 20 62 69 6e 64 20 60 73 27 20 69 66 20 77 65 | e))......;;.don't.bind.`s'.if.we |
| 143c0 | 20 6f 6e 6c 79 20 68 61 76 65 20 6f 6e 65 20 73 75 62 2d 70 61 74 74 65 72 6e 20 77 68 69 63 68 | .only.have.one.sub-pattern.which |
| 143e0 | 20 69 73 20 6e 6f 74 20 69 67 6e 6f 72 65 64 0a 20 20 20 20 20 28 28 6c 65 74 2a 20 28 28 69 67 | .is.not.ignored......((let*.((ig |
| 14400 | 6e 6f 72 65 64 2d 70 6c 61 63 65 73 20 28 6d 61 70 63 61 72 20 27 64 61 73 68 2d 2d 6d 61 74 63 | nored-places.(mapcar.'dash--matc |
| 14420 | 68 2d 69 67 6e 6f 72 65 2d 70 6c 61 63 65 2d 70 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 0a 20 20 | h-ignore-place-p.match-form))... |
| 14440 | 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 64 2d 70 6c 61 63 65 73 2d 6e 20 28 6c 65 | ...........(ignored-places-n.(le |
| 14460 | 6e 67 74 68 20 28 2d 72 65 6d 6f 76 65 20 27 6e 75 6c 6c 20 69 67 6e 6f 72 65 64 2d 70 6c 61 63 | ngth.(-remove.'null.ignored-plac |
| 14480 | 65 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 3d 20 69 67 6e 6f 72 65 64 2d | es)))).........(when.(=.ignored- |
| 144a0 | 70 6c 61 63 65 73 2d 6e 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 6d 61 74 63 68 2d 66 6f 72 6d 29 | places-n.(1-.(length.match-form) |
| 144c0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6e 20 28 2d 66 69 6e 64 2d 69 6e 64 | ))...........(let.((n.(-find-ind |
| 144e0 | 65 78 20 27 6e 75 6c 6c 20 69 67 6e 6f 72 65 64 2d 70 6c 61 63 65 73 29 29 29 0a 20 20 20 20 20 | ex.'null.ignored-places)))...... |
| 14500 | 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 61 72 65 66 20 6d 61 74 63 68 2d | .......(dash--match.(aref.match- |
| 14520 | 66 6f 72 6d 20 6e 29 20 60 28 61 72 65 66 20 2c 73 6f 75 72 63 65 20 2c 6e 29 29 29 29 29 29 0a | form.n).`(aref.,source.,n)))))). |
| 14540 | 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 28 63 6f 6e 73 20 28 6c 69 73 74 20 73 20 73 6f 75 72 | .....(t.......(cons.(list.s.sour |
| 14560 | 63 65 29 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 76 65 63 74 6f 72 2d 31 20 6d 61 74 63 68 2d | ce).(dash--match-vector-1.match- |
| 14580 | 66 6f 72 6d 20 73 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 | form.s))))))..(defun.dash--match |
| 145a0 | 2d 76 65 63 74 6f 72 2d 31 20 28 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 0a 20 20 | -vector-1.(match-form.source)... |
| 145c0 | 22 4d 61 74 63 68 20 4d 41 54 43 48 2d 46 4f 52 4d 20 61 67 61 69 6e 73 74 20 53 4f 55 52 43 45 | "Match.MATCH-FORM.against.SOURCE |
| 145e0 | 2e 0a 0a 4d 41 54 43 48 2d 46 4f 52 4d 20 69 73 20 61 20 76 65 63 74 6f 72 2e 20 20 45 61 63 68 | ...MATCH-FORM.is.a.vector...Each |
| 14600 | 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4d 41 54 43 48 2d 46 4f 52 4d 20 69 73 20 65 69 74 68 65 72 | .element.of.MATCH-FORM.is.either |
| 14620 | 20 61 0a 73 79 6d 62 6f 6c 2c 20 77 68 69 63 68 20 67 65 74 73 20 62 6f 75 6e 64 20 74 6f 20 74 | .a.symbol,.which.gets.bound.to.t |
| 14640 | 68 65 20 72 65 73 70 65 63 74 69 76 65 20 76 61 6c 75 65 20 69 6e 20 73 6f 75 72 63 65 20 6f 72 | he.respective.value.in.source.or |
| 14660 | 0a 61 6e 6f 74 68 65 72 20 6d 61 74 63 68 20 66 6f 72 6d 20 77 68 69 63 68 20 67 65 74 73 20 64 | .another.match.form.which.gets.d |
| 14680 | 65 73 74 72 75 63 74 75 72 65 64 20 72 65 63 75 72 73 69 76 65 6c 79 2e 0a 0a 49 66 20 73 65 63 | estructured.recursively...If.sec |
| 146a0 | 6f 6e 64 2d 66 72 6f 6d 2d 6c 61 73 74 20 70 6c 61 63 65 20 69 6e 20 4d 41 54 43 48 2d 46 4f 52 | ond-from-last.place.in.MATCH-FOR |
| 146c0 | 4d 20 69 73 20 74 68 65 20 73 79 6d 62 6f 6c 20 26 72 65 73 74 2c 20 74 68 65 0a 6e 65 78 74 20 | M.is.the.symbol.&rest,.the.next. |
| 146e0 | 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 4d 41 54 43 48 2d 46 4f 52 4d 20 69 73 20 6d 61 74 | element.of.the.MATCH-FORM.is.mat |
| 14700 | 63 68 65 64 20 61 67 61 69 6e 73 74 20 74 68 65 20 74 61 69 6c 20 6f 66 0a 53 4f 55 52 43 45 2c | ched.against.the.tail.of.SOURCE, |
| 14720 | 20 73 74 61 72 74 69 6e 67 20 61 74 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 26 72 65 73 74 20 | .starting.at.index.of.the.&rest. |
| 14740 | 73 79 6d 62 6f 6c 2e 20 20 54 68 69 73 20 69 73 0a 63 6f 6e 63 65 70 74 75 61 6c 6c 79 20 74 68 | symbol...This.is.conceptually.th |
| 14760 | 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 28 68 65 61 64 20 2e 20 74 61 69 6c 29 20 6d 61 74 63 | e.same.as.the.(head...tail).matc |
| 14780 | 68 20 66 6f 72 20 69 6d 70 72 6f 70 65 72 0a 6c 69 73 74 73 2c 20 77 68 65 72 65 20 64 6f 74 20 | h.for.improper.lists,.where.dot. |
| 147a0 | 70 6c 61 79 73 20 74 68 65 20 72 6f 6c 65 20 6f 66 20 26 72 65 73 74 2e 0a 0a 53 4f 55 52 43 45 | plays.the.role.of.&rest...SOURCE |
| 147c0 | 20 69 73 20 61 20 76 65 63 74 6f 72 2e 0a 0a 49 66 20 74 68 65 20 4d 41 54 43 48 2d 46 4f 52 4d | .is.a.vector...If.the.MATCH-FORM |
| 147e0 | 20 76 65 63 74 6f 72 20 69 73 20 73 68 6f 72 74 65 72 20 74 68 61 6e 20 53 4f 55 52 43 45 20 76 | .vector.is.shorter.than.SOURCE.v |
| 14800 | 65 63 74 6f 72 2c 20 6f 6e 6c 79 0a 74 68 65 20 28 6c 65 6e 67 74 68 20 4d 41 54 43 48 2d 46 4f | ector,.only.the.(length.MATCH-FO |
| 14820 | 52 4d 29 20 70 6c 61 63 65 73 20 61 72 65 20 62 6f 75 6e 64 2c 20 74 68 65 20 72 65 73 74 20 6f | RM).places.are.bound,.the.rest.o |
| 14840 | 66 20 74 68 65 20 53 4f 55 52 43 45 0a 69 73 20 64 69 73 63 61 72 64 65 64 2e 22 0a 20 20 28 6c | f.the.SOURCE.is.discarded."...(l |
| 14860 | 65 74 20 28 28 69 20 30 29 0a 20 20 20 20 20 20 20 20 28 6c 20 28 6c 65 6e 67 74 68 20 6d 61 74 | et.((i.0).........(l.(length.mat |
| 14880 | 63 68 2d 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 28 72 65 29 29 0a 20 20 20 20 28 77 68 69 | ch-form)).........(re)).....(whi |
| 148a0 | 6c 65 20 28 3c 20 69 20 6c 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d 20 28 61 72 65 66 20 | le.(<.i.l).......(let.((m.(aref. |
| 148c0 | 6d 61 74 63 68 2d 66 6f 72 6d 20 69 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 | match-form.i))).........(push.(c |
| 148e0 | 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 73 79 6d 62 6f 6c | ond................((and.(symbol |
| 14900 | 70 20 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 6d 20 | p.m)......................(eq.m. |
| 14920 | 27 26 72 65 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 31 20 | '&rest)).................(prog1. |
| 14940 | 28 64 61 73 68 2d 2d 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (dash--match.................... |
| 14960 | 20 20 20 20 20 28 61 72 65 66 20 6d 61 74 63 68 2d 66 6f 72 6d 20 28 31 2b 20 69 29 29 0a 20 20 | .....(aref.match-form.(1+.i))... |
| 14980 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 73 75 62 73 74 72 69 6e | ......................`(substrin |
| 149a0 | 67 20 2c 73 6f 75 72 63 65 20 2c 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | g.,source.,i)).................. |
| 149c0 | 20 28 73 65 74 71 20 69 20 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 61 | .(setq.i.l)))................((a |
| 149e0 | 6e 64 20 28 73 79 6d 62 6f 6c 70 20 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nd.(symbolp.m).................. |
| 14a00 | 20 20 20 20 3b 3b 20 64 6f 20 6e 6f 74 20 6d 61 74 63 68 20 73 79 6d 62 6f 6c 73 20 73 74 61 72 | ....;;.do.not.match.symbols.star |
| 14a20 | 74 69 6e 67 20 77 69 74 68 20 5f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ting.with._..................... |
| 14a40 | 20 28 6e 6f 74 20 28 65 71 20 28 61 72 65 66 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 6d 29 20 | .(not.(eq.(aref.(symbol-name.m). |
| 14a60 | 30 29 20 3f 5f 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 | 0).?_))).................(list.( |
| 14a80 | 6c 69 73 74 20 6d 20 60 28 61 72 65 66 20 2c 73 6f 75 72 63 65 20 2c 69 29 29 29 29 0a 20 20 20 | list.m.`(aref.,source.,i)))).... |
| 14aa0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 28 73 79 6d 62 6f 6c 70 20 6d 29 29 0a 20 | ............((not.(symbolp.m)).. |
| 14ac0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 6d 20 60 28 | ...............(dash--match.m.`( |
| 14ae0 | 61 72 65 66 20 2c 73 6f 75 72 63 65 20 2c 69 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | aref.,source.,i))))............. |
| 14b00 | 20 20 72 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 31 2b 20 69 29 29 29 29 0a | ..re).........(setq.i.(1+.i)))). |
| 14b20 | 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 31 20 28 6e 72 65 76 65 72 73 65 20 72 65 29 29 | ....(-flatten-n.1.(nreverse.re)) |
| 14b40 | 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 2d 6e 6f 72 6d 61 6c | ))..(defun.dash--match-kv-normal |
| 14b60 | 69 7a 65 2d 6d 61 74 63 68 2d 66 6f 72 6d 20 28 70 61 74 74 65 72 6e 29 0a 20 20 22 4e 6f 72 6d | ize-match-form.(pattern)..."Norm |
| 14b80 | 61 6c 69 7a 65 20 6b 76 20 50 41 54 54 45 52 4e 2e 0a 0a 54 68 69 73 20 6d 65 74 68 6f 64 20 6e | alize.kv.PATTERN...This.method.n |
| 14ba0 | 6f 72 6d 61 6c 69 7a 65 73 20 50 41 54 54 45 52 4e 20 74 6f 20 74 68 65 20 66 6f 72 6d 61 74 20 | ormalizes.PATTERN.to.the.format. |
| 14bc0 | 65 78 70 65 63 74 65 64 20 62 79 0a 60 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 27 2e 20 20 53 | expected.by.`dash--match-kv'...S |
| 14be0 | 65 65 20 60 2d 6c 65 74 27 20 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 2e | ee.`-let'.for.the.specification. |
| 14c00 | 22 0a 20 20 28 6c 65 74 20 28 28 6e 6f 72 6d 61 6c 69 7a 65 64 20 28 6c 69 73 74 20 28 63 61 72 | "...(let.((normalized.(list.(car |
| 14c20 | 20 70 61 74 74 65 72 6e 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 6b 69 70 20 6e 69 6c 29 0a 20 | .pattern))).........(skip.nil).. |
| 14c40 | 20 20 20 20 20 20 20 28 66 69 6c 6c 2d 70 6c 61 63 65 68 6f 6c 64 65 72 20 28 6d 61 6b 65 2d 73 | .......(fill-placeholder.(make-s |
| 14c60 | 79 6d 62 6f 6c 20 22 2d 2d 64 61 73 68 2d 66 69 6c 6c 2d 70 6c 61 63 65 68 6f 6c 64 65 72 2d 2d | ymbol."--dash-fill-placeholder-- |
| 14c80 | 22 29 29 29 0a 20 20 20 20 28 2d 65 61 63 68 20 28 2d 7a 69 70 2d 66 69 6c 6c 20 66 69 6c 6c 2d | "))).....(-each.(-zip-fill.fill- |
| 14ca0 | 70 6c 61 63 65 68 6f 6c 64 65 72 20 28 63 64 72 20 70 61 74 74 65 72 6e 29 20 28 63 64 64 72 20 | placeholder.(cdr.pattern).(cddr. |
| 14cc0 | 70 61 74 74 65 72 6e 29 29 0a 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 61 69 72 29 0a 20 | pattern)).......(lambda.(pair).. |
| 14ce0 | 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 75 72 72 65 6e 74 20 28 63 61 72 20 70 61 69 72 29 | .......(let.((current.(car.pair) |
| 14d00 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 78 74 20 28 63 64 72 20 70 61 69 72 29 | )...............(next.(cdr.pair) |
| 14d20 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 73 6b 69 70 0a 20 20 20 20 20 20 20 20 20 20 | ))...........(if.skip........... |
| 14d40 | 20 20 20 20 28 73 65 74 71 20 73 6b 69 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ....(setq.skip.nil)............. |
| 14d60 | 28 69 66 20 28 6f 72 20 28 65 71 20 66 69 6c 6c 2d 70 6c 61 63 65 68 6f 6c 64 65 72 20 6e 65 78 | (if.(or.(eq.fill-placeholder.nex |
| 14d80 | 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 6f 72 20 | t).....................(not.(or. |
| 14da0 | 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20 6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | (and.(symbolp.next)............. |
| 14dc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 6b 65 79 77 | ......................(not.(keyw |
| 14de0 | 6f 72 64 70 20 6e 65 78 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ordp.next))..................... |
| 14e00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 71 20 6e 65 78 74 20 74 29 29 0a | ..............(not.(eq.next.t)). |
| 14e20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 14e40 | 20 20 28 6e 6f 74 20 28 65 71 20 6e 65 78 74 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 | ..(not.(eq.next.nil))).......... |
| 14e60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 63 6f 6e 73 70 20 | ....................(and.(consp. |
| 14e80 | 6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | next)........................... |
| 14ea0 | 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 71 20 28 63 61 72 20 6e 65 78 74 29 20 27 71 75 6f | ........(not.(eq.(car.next).'quo |
| 14ec0 | 74 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | te)))........................... |
| 14ee0 | 20 20 20 28 76 65 63 74 6f 72 70 20 6e 65 78 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ...(vectorp.next))))............ |
| 14f00 | 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 | .....(progn...................(c |
| 14f20 | 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6b 65 79 77 6f 72 64 | ond....................((keyword |
| 14f40 | 70 20 63 75 72 72 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | p.current).....................( |
| 14f60 | 70 75 73 68 20 63 75 72 72 65 6e 74 20 6e 6f 72 6d 61 6c 69 7a 65 64 29 0a 20 20 20 20 20 20 20 | push.current.normalized)........ |
| 14f80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 69 6e 74 65 72 6e 20 28 73 75 62 73 | .............(push.(intern.(subs |
| 14fa0 | 74 72 69 6e 67 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 63 75 72 72 65 6e 74 29 20 31 29 29 20 | tring.(symbol-name.current).1)). |
| 14fc0 | 6e 6f 72 6d 61 6c 69 7a 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | normalized)).................... |
| 14fe0 | 28 28 73 74 72 69 6e 67 70 20 63 75 72 72 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ((stringp.current).............. |
| 15000 | 20 20 20 20 20 20 20 28 70 75 73 68 20 63 75 72 72 65 6e 74 20 6e 6f 72 6d 61 6c 69 7a 65 64 29 | .......(push.current.normalized) |
| 15020 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 69 6e 74 65 | .....................(push.(inte |
| 15040 | 72 6e 20 63 75 72 72 65 6e 74 29 20 6e 6f 72 6d 61 6c 69 7a 65 64 29 29 0a 20 20 20 20 20 20 20 | rn.current).normalized))........ |
| 15060 | 20 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 63 6f 6e 73 70 20 63 75 72 72 65 6e 74 | ............((and.(consp.current |
| 15080 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 28 | )..........................(eq.( |
| 150a0 | 63 61 72 20 63 75 72 72 65 6e 74 29 20 27 71 75 6f 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 | car.current).'quote))........... |
| 150c0 | 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 75 72 72 65 6e 74 20 6e 6f 72 6d 61 6c 69 7a | ..........(push.current.normaliz |
| 150e0 | 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 | ed).....................(push.(c |
| 15100 | 61 64 72 20 63 75 72 72 65 6e 74 29 20 6e 6f 72 6d 61 6c 69 7a 65 64 29 29 0a 20 20 20 20 20 20 | adr.current).normalized))....... |
| 15120 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 65 72 72 6f 72 20 22 2d 6c 65 74 3a 20 66 6f | .............(t.(error."-let:.fo |
| 15140 | 75 6e 64 20 6b 65 79 20 60 25 73 27 20 69 6e 20 6b 76 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 | und.key.`%s'.in.kv.destructuring |
| 15160 | 20 62 75 74 20 69 74 73 20 70 61 74 74 65 72 6e 20 60 25 73 27 20 69 73 20 69 6e 76 61 6c 69 64 | .but.its.pattern.`%s'.is.invalid |
| 15180 | 20 61 6e 64 20 63 61 6e 20 6e 6f 74 20 62 65 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 74 68 65 | .and.can.not.be.derived.from.the |
| 151a0 | 20 6b 65 79 22 20 63 75 72 72 65 6e 74 20 6e 65 78 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | .key".current.next)))........... |
| 151c0 | 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 6b 69 70 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 | ........(setq.skip.nil))........ |
| 151e0 | 20 20 20 20 20 20 20 28 70 75 73 68 20 63 75 72 72 65 6e 74 20 6e 6f 72 6d 61 6c 69 7a 65 64 29 | .......(push.current.normalized) |
| 15200 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 6e 65 78 74 20 6e 6f 72 6d 61 6c | ...............(push.next.normal |
| 15220 | 69 7a 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 6b 69 70 20 74 | ized)...............(setq.skip.t |
| 15240 | 29 29 29 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 6e 6f 72 6d 61 6c 69 7a 65 64 29 | )))))).....(nreverse.normalized) |
| 15260 | 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 20 28 6d 61 74 63 68 | ))..(defun.dash--match-kv.(match |
| 15280 | 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 0a 20 20 22 53 65 74 75 70 20 61 20 6b 76 20 6d 61 74 63 | -form.source)..."Setup.a.kv.matc |
| 152a0 | 68 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 61 6e 64 20 63 61 6c 6c 20 74 68 65 20 72 65 | hing.environment.and.call.the.re |
| 152c0 | 61 6c 20 6d 61 74 63 68 65 72 2e 0a 0a 6b 76 20 63 61 6e 20 62 65 20 61 6e 79 20 6b 65 79 2d 76 | al.matcher...kv.can.be.any.key-v |
| 152e0 | 61 6c 75 65 20 73 74 6f 72 65 2c 20 73 75 63 68 20 61 73 20 70 6c 69 73 74 2c 20 61 6c 69 73 74 | alue.store,.such.as.plist,.alist |
| 15300 | 20 6f 72 20 68 61 73 68 2d 74 61 62 6c 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 20 28 64 61 73 | .or.hash-table."...(let.((s.(das |
| 15320 | 68 2d 2d 6d 61 74 63 68 2d 6d 61 6b 65 2d 73 6f 75 72 63 65 2d 73 79 6d 62 6f 6c 29 29 29 0a 20 | h--match-make-source-symbol))).. |
| 15340 | 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 3b 3b 20 64 6f 6e 27 74 20 62 69 6e 64 20 60 73 27 20 | ...(cond......;;.don't.bind.`s'. |
| 15360 | 69 66 20 77 65 20 6f 6e 6c 79 20 68 61 76 65 20 6f 6e 65 20 73 75 62 2d 70 61 74 74 65 72 6e 20 | if.we.only.have.one.sub-pattern. |
| 15380 | 28 26 74 79 70 65 20 6b 65 79 20 76 61 6c 29 0a 20 20 20 20 20 28 28 3d 20 28 6c 65 6e 67 74 68 | (&type.key.val)......((=.(length |
| 153a0 | 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 33 29 0a 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 | .match-form).3).......(dash--mat |
| 153c0 | 63 68 2d 6b 76 2d 31 20 28 63 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 73 6f 75 72 63 65 20 | ch-kv-1.(cdr.match-form).source. |
| 153e0 | 28 63 61 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 3b 3b 20 69 66 20 74 68 | (car.match-form)))......;;.if.th |
| 15400 | 65 20 73 6f 75 72 63 65 20 69 73 20 61 20 73 79 6d 62 6f 6c 2c 20 77 65 20 64 6f 6e 27 74 20 6e | e.source.is.a.symbol,.we.don't.n |
| 15420 | 65 65 64 20 74 6f 20 72 65 2d 62 69 6e 64 20 69 74 0a 20 20 20 20 20 28 28 73 79 6d 62 6f 6c 70 | eed.to.re-bind.it......((symbolp |
| 15440 | 20 73 6f 75 72 63 65 29 0a 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 2d 31 | .source).......(dash--match-kv-1 |
| 15460 | 20 28 63 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 73 6f 75 72 63 65 20 28 63 61 72 20 6d 61 | .(cdr.match-form).source.(car.ma |
| 15480 | 74 63 68 2d 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 28 63 6f 6e 73 20 | tch-form)))......(t.......(cons. |
| 154a0 | 28 6c 69 73 74 20 73 20 73 6f 75 72 63 65 29 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 2d | (list.s.source).(dash--match-kv- |
| 154c0 | 31 20 28 63 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 73 20 28 63 61 72 20 6d 61 74 63 68 2d | 1.(cdr.match-form).s.(car.match- |
| 154e0 | 66 6f 72 6d 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 65 78 70 61 6e 64 3a | form)))))))..(defun.dash-expand: |
| 15500 | 26 68 61 73 68 20 28 6b 65 79 20 73 6f 75 72 63 65 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 65 | &hash.(key.source)..."Generate.e |
| 15520 | 78 74 72 61 63 74 69 6e 67 20 4b 45 59 20 66 72 6f 6d 20 53 4f 55 52 43 45 20 66 6f 72 20 26 68 | xtracting.KEY.from.SOURCE.for.&h |
| 15540 | 61 73 68 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 22 0a 20 20 60 28 67 65 74 68 61 73 68 20 | ash.destructuring."...`(gethash. |
| 15560 | 2c 6b 65 79 20 2c 73 6f 75 72 63 65 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 65 78 70 61 | ,key.,source))..(defun.dash-expa |
| 15580 | 6e 64 3a 26 70 6c 69 73 74 20 28 6b 65 79 20 73 6f 75 72 63 65 29 0a 20 20 22 47 65 6e 65 72 61 | nd:&plist.(key.source)..."Genera |
| 155a0 | 74 65 20 65 78 74 72 61 63 74 69 6e 67 20 4b 45 59 20 66 72 6f 6d 20 53 4f 55 52 43 45 20 66 6f | te.extracting.KEY.from.SOURCE.fo |
| 155c0 | 72 20 26 70 6c 69 73 74 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 22 0a 20 20 60 28 70 6c 69 | r.&plist.destructuring."...`(pli |
| 155e0 | 73 74 2d 67 65 74 20 2c 73 6f 75 72 63 65 20 2c 6b 65 79 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 | st-get.,source.,key))..(defun.da |
| 15600 | 73 68 2d 65 78 70 61 6e 64 3a 26 61 6c 69 73 74 20 28 6b 65 79 20 73 6f 75 72 63 65 29 0a 20 20 | sh-expand:&alist.(key.source)... |
| 15620 | 22 47 65 6e 65 72 61 74 65 20 65 78 74 72 61 63 74 69 6e 67 20 4b 45 59 20 66 72 6f 6d 20 53 4f | "Generate.extracting.KEY.from.SO |
| 15640 | 55 52 43 45 20 66 6f 72 20 26 61 6c 69 73 74 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 22 0a | URCE.for.&alist.destructuring.". |
| 15660 | 20 20 60 28 63 64 72 20 28 61 73 73 6f 63 20 2c 6b 65 79 20 2c 73 6f 75 72 63 65 29 29 29 0a 0a | ..`(cdr.(assoc.,key.,source))).. |
| 15680 | 28 64 65 66 75 6e 20 64 61 73 68 2d 65 78 70 61 6e 64 3a 26 68 61 73 68 3f 20 28 6b 65 79 20 73 | (defun.dash-expand:&hash?.(key.s |
| 156a0 | 6f 75 72 63 65 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 65 78 74 72 61 63 74 69 6e 67 20 4b 45 | ource)..."Generate.extracting.KE |
| 156c0 | 59 20 66 72 6f 6d 20 53 4f 55 52 43 45 20 66 6f 72 20 26 68 61 73 68 3f 20 64 65 73 74 72 75 63 | Y.from.SOURCE.for.&hash?.destruc |
| 156e0 | 74 75 72 69 6e 67 2e 0a 53 69 6d 69 6c 61 72 20 74 6f 20 26 68 61 73 68 20 62 75 74 20 63 68 65 | turing..Similar.to.&hash.but.che |
| 15700 | 63 6b 20 77 68 65 74 68 65 72 20 74 68 65 20 6d 61 70 20 69 73 20 6e 6f 74 20 6e 69 6c 2e 22 0a | ck.whether.the.map.is.not.nil.". |
| 15720 | 20 20 28 6c 65 74 20 28 28 73 72 63 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 73 72 63 22 29 | ..(let.((src.(make-symbol."src") |
| 15740 | 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 73 72 63 20 2c 73 6f 75 72 63 65 29 29 0a 20 20 | )).....`(let.((,src.,source))... |
| 15760 | 20 20 20 20 20 28 77 68 65 6e 20 2c 73 72 63 20 28 67 65 74 68 61 73 68 20 2c 6b 65 79 20 2c 73 | .....(when.,src.(gethash.,key.,s |
| 15780 | 72 63 29 29 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 64 61 73 68 2d 65 78 70 61 6e 64 3a | rc)))))..(defalias.'dash-expand: |
| 157a0 | 26 6b 65 79 73 20 27 64 61 73 68 2d 65 78 70 61 6e 64 3a 26 70 6c 69 73 74 29 0a 0a 28 64 65 66 | &keys.'dash-expand:&plist)..(def |
| 157c0 | 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 2d 31 20 28 6d 61 74 63 68 2d 66 6f 72 6d 20 | un.dash--match-kv-1.(match-form. |
| 157e0 | 73 6f 75 72 63 65 20 74 79 70 65 29 0a 20 20 22 4d 61 74 63 68 20 4d 41 54 43 48 2d 46 4f 52 4d | source.type)..."Match.MATCH-FORM |
| 15800 | 20 61 67 61 69 6e 73 74 20 53 4f 55 52 43 45 20 6f 66 20 74 79 70 65 20 54 59 50 45 2e 0a 0a 4d | .against.SOURCE.of.type.TYPE...M |
| 15820 | 41 54 43 48 2d 46 4f 52 4d 20 69 73 20 61 20 70 72 6f 70 65 72 20 6c 69 73 74 20 6f 66 20 74 68 | ATCH-FORM.is.a.proper.list.of.th |
| 15840 | 65 20 66 6f 72 6d 20 28 6b 65 79 31 20 70 6c 61 63 65 31 20 2e 2e 2e 20 6b 65 79 4e 0a 70 6c 61 | e.form.(key1.place1.....keyN.pla |
| 15860 | 63 65 4e 29 2e 20 20 45 61 63 68 20 70 6c 61 63 65 4b 20 69 73 20 65 69 74 68 65 72 20 61 20 73 | ceN)...Each.placeK.is.either.a.s |
| 15880 | 79 6d 62 6f 6c 2c 20 77 68 69 63 68 20 67 65 74 73 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 0a 76 | ymbol,.which.gets.bound.to.the.v |
| 158a0 | 61 6c 75 65 20 6f 66 20 6b 65 79 4b 20 72 65 74 72 69 65 76 65 64 20 66 72 6f 6d 20 74 68 65 20 | alue.of.keyK.retrieved.from.the. |
| 158c0 | 6b 65 79 2d 76 61 6c 75 65 20 73 74 6f 72 65 2c 20 6f 72 20 61 6e 6f 74 68 65 72 0a 6d 61 74 63 | key-value.store,.or.another.matc |
| 158e0 | 68 20 66 6f 72 6d 20 77 68 69 63 68 20 67 65 74 73 20 64 65 73 74 72 75 63 74 75 72 65 64 20 72 | h.form.which.gets.destructured.r |
| 15900 | 65 63 75 72 73 69 76 65 6c 79 2e 0a 0a 53 4f 55 52 43 45 20 69 73 20 61 20 6b 65 79 2d 76 61 6c | ecursively...SOURCE.is.a.key-val |
| 15920 | 75 65 20 73 74 6f 72 65 20 6f 66 20 74 79 70 65 20 54 59 50 45 2c 20 77 68 69 63 68 20 63 61 6e | ue.store.of.type.TYPE,.which.can |
| 15940 | 20 62 65 20 61 20 70 6c 69 73 74 2c 0a 61 6e 20 61 6c 69 73 74 20 6f 72 20 61 20 68 61 73 68 20 | .be.a.plist,.an.alist.or.a.hash. |
| 15960 | 74 61 62 6c 65 2e 0a 0a 54 59 50 45 20 69 73 20 61 20 74 6f 6b 65 6e 20 73 70 65 63 69 66 79 69 | table...TYPE.is.a.token.specifyi |
| 15980 | 6e 67 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 6b 65 79 2d 76 61 6c 75 65 20 73 74 6f | ng.the.type.of.the.key-value.sto |
| 159a0 | 72 65 2e 0a 56 61 6c 69 64 20 76 61 6c 75 65 73 20 61 72 65 20 26 70 6c 69 73 74 2c 20 26 61 6c | re..Valid.values.are.&plist,.&al |
| 159c0 | 69 73 74 20 61 6e 64 20 26 68 61 73 68 2e 22 0a 20 20 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 31 20 | ist.and.&hash."...(-flatten-n.1. |
| 159e0 | 28 2d 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 | (-map..................(lambda.( |
| 15a00 | 6b 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6b | kv)....................(let*.((k |
| 15a20 | 20 28 63 61 72 20 6b 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(car.kv))...................... |
| 15a40 | 20 20 20 20 20 28 76 20 28 63 61 64 72 20 6b 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .....(v.(cadr.kv)).............. |
| 15a60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 | .............(getter............ |
| 15a80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 64 61 73 68 2d 2d | ................(funcall.(dash-- |
| 15aa0 | 67 65 74 2d 65 78 70 61 6e 64 2d 66 75 6e 63 74 69 6f 6e 20 74 79 70 65 29 20 6b 20 73 6f 75 72 | get-expand-function.type).k.sour |
| 15ac0 | 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 | ce)))......................(cond |
| 15ae0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 79 6d 62 6f 6c 70 | .......................((symbolp |
| 15b00 | 20 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 | .v)........................(list |
| 15b20 | 20 28 6c 69 73 74 20 76 20 67 65 74 74 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(list.v.getter))).............. |
| 15b40 | 20 20 20 20 20 20 20 20 20 28 74 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 76 20 67 65 74 74 65 | .........(t.(dash--match.v.gette |
| 15b60 | 72 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 | r)))))..................(-partit |
| 15b80 | 69 6f 6e 20 32 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 | ion.2.match-form))))..(defun.das |
| 15ba0 | 68 2d 2d 6d 61 74 63 68 2d 73 79 6d 62 6f 6c 20 28 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 | h--match-symbol.(match-form.sour |
| 15bc0 | 63 65 29 0a 20 20 22 42 69 6e 64 20 61 20 73 79 6d 62 6f 6c 2e 0a 0a 54 68 69 73 20 77 6f 72 6b | ce)..."Bind.a.symbol...This.work |
| 15be0 | 73 20 6a 75 73 74 20 6c 69 6b 65 20 60 6c 65 74 27 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 64 | s.just.like.`let',.there.is.no.d |
| 15c00 | 65 73 74 72 75 63 74 75 72 69 6e 67 2e 22 0a 20 20 28 6c 69 73 74 20 28 6c 69 73 74 20 6d 61 74 | estructuring."...(list.(list.mat |
| 15c20 | 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d | ch-form.source)))..(defun.dash-- |
| 15c40 | 6d 61 74 63 68 20 28 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 0a 20 20 22 4d 61 74 | match.(match-form.source)..."Mat |
| 15c60 | 63 68 20 4d 41 54 43 48 2d 46 4f 52 4d 20 61 67 61 69 6e 73 74 20 53 4f 55 52 43 45 2e 0a 0a 54 | ch.MATCH-FORM.against.SOURCE...T |
| 15c80 | 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 73 20 74 68 65 20 4d 41 54 43 48 2d 46 4f 52 | his.function.tests.the.MATCH-FOR |
| 15ca0 | 4d 20 61 6e 64 20 64 69 73 70 61 74 63 68 65 73 20 74 6f 20 73 70 65 63 69 66 69 63 0a 6d 61 74 | M.and.dispatches.to.specific.mat |
| 15cc0 | 63 68 65 72 73 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 65 | chers.based.on.the.type.of.the.e |
| 15ce0 | 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 4b 65 79 2d 76 61 6c 75 65 20 73 74 6f 72 65 73 20 61 72 65 | xpression...Key-value.stores.are |
| 15d00 | 20 64 69 73 61 6d 62 69 67 75 61 74 65 64 20 62 79 20 70 6c 61 63 69 6e 67 20 61 20 74 6f 6b 65 | .disambiguated.by.placing.a.toke |
| 15d20 | 6e 20 26 70 6c 69 73 74 2c 0a 26 61 6c 69 73 74 20 6f 72 20 26 68 61 73 68 20 61 73 20 61 20 66 | n.&plist,.&alist.or.&hash.as.a.f |
| 15d40 | 69 72 73 74 20 69 74 65 6d 20 69 6e 20 74 68 65 20 4d 41 54 43 48 2d 46 4f 52 4d 2e 22 0a 20 20 | irst.item.in.the.MATCH-FORM."... |
| 15d60 | 28 63 6f 6e 64 0a 20 20 20 28 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20 6d 61 74 63 68 2d 66 6f | (cond....((and.(symbolp.match-fo |
| 15d80 | 72 6d 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 44 6f 6e 27 74 20 62 69 6e 64 20 74 68 69 6e 67 | rm)..........;;.Don't.bind.thing |
| 15da0 | 73 20 6c 69 6b 65 20 26 6b 65 79 73 20 61 73 20 69 66 20 74 68 65 79 20 77 65 72 65 20 76 61 72 | s.like.&keys.as.if.they.were.var |
| 15dc0 | 73 20 28 23 33 39 35 29 2e 0a 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 66 75 6e 63 74 69 6f | s.(#395)...........(not.(functio |
| 15de0 | 6e 70 20 28 64 61 73 68 2d 2d 67 65 74 2d 65 78 70 61 6e 64 2d 66 75 6e 63 74 69 6f 6e 20 6d 61 | np.(dash--get-expand-function.ma |
| 15e00 | 74 63 68 2d 66 6f 72 6d 29 29 29 29 0a 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 73 79 | tch-form)))).....(dash--match-sy |
| 15e20 | 6d 62 6f 6c 20 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 29 0a 20 20 20 28 28 63 6f | mbol.match-form.source))....((co |
| 15e40 | 6e 73 70 20 6d 61 74 63 68 2d 66 6f 72 6d 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 3b | nsp.match-form).....(cond......; |
| 15e60 | 3b 20 48 61 6e 64 6c 65 20 74 68 65 20 22 78 20 26 61 73 22 20 62 69 6e 64 69 6e 67 73 20 66 69 | ;.Handle.the."x.&as".bindings.fi |
| 15e80 | 72 73 74 2e 0a 20 20 20 20 20 28 28 61 6e 64 20 28 63 6f 6e 73 70 20 28 63 64 72 20 6d 61 74 63 | rst.......((and.(consp.(cdr.matc |
| 15ea0 | 68 2d 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 70 20 28 63 61 | h-form))............(symbolp.(ca |
| 15ec0 | 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 27 26 | r.match-form))............(eq.'& |
| 15ee0 | 61 73 20 28 63 61 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 20 28 6c 65 | as.(cadr.match-form))).......(le |
| 15f00 | 74 20 28 28 73 20 28 63 61 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 20 20 | t.((s.(car.match-form)))........ |
| 15f20 | 20 28 63 6f 6e 73 20 28 6c 69 73 74 20 73 20 73 6f 75 72 63 65 29 0a 20 20 20 20 20 20 20 20 20 | .(cons.(list.s.source).......... |
| 15f40 | 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 63 64 64 72 20 6d 61 74 63 68 2d 66 6f | .....(dash--match.(cddr.match-fo |
| 15f60 | 72 6d 29 20 73 29 29 29 29 0a 20 20 20 20 20 28 28 66 75 6e 63 74 69 6f 6e 70 20 28 64 61 73 68 | rm).s))))......((functionp.(dash |
| 15f80 | 2d 2d 67 65 74 2d 65 78 70 61 6e 64 2d 66 75 6e 63 74 69 6f 6e 20 28 63 61 72 20 6d 61 74 63 68 | --get-expand-function.(car.match |
| 15fa0 | 2d 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 20 28 | -form))).......(dash--match-kv.( |
| 15fc0 | 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 2d 6e 6f 72 6d 61 6c 69 7a 65 2d 6d 61 74 63 68 2d 66 | dash--match-kv-normalize-match-f |
| 15fe0 | 6f 72 6d 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 73 6f 75 72 63 65 29 29 0a 20 20 20 20 20 28 74 | orm.match-form).source))......(t |
| 16000 | 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 63 6f 6e 73 20 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f | .(dash--match-cons.match-form.so |
| 16020 | 75 72 63 65 29 29 29 29 0a 20 20 20 28 28 76 65 63 74 6f 72 70 20 6d 61 74 63 68 2d 66 6f 72 6d | urce))))....((vectorp.match-form |
| 16040 | 29 0a 20 20 20 20 3b 3b 20 57 65 20 73 75 70 70 6f 72 74 20 74 68 65 20 26 61 73 20 62 69 6e 64 | ).....;;.We.support.the.&as.bind |
| 16060 | 69 6e 67 20 69 6e 20 76 65 63 74 6f 72 73 20 74 6f 6f 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 | ing.in.vectors.too.....(cond.... |
| 16080 | 20 20 28 28 61 6e 64 20 28 3e 20 28 6c 65 6e 67 74 68 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 32 | ..((and.(>.(length.match-form).2 |
| 160a0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 70 20 28 61 72 65 66 20 6d 61 74 63 | )............(symbolp.(aref.matc |
| 160c0 | 68 2d 66 6f 72 6d 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 27 26 61 73 20 28 | h-form.0))............(eq.'&as.( |
| 160e0 | 61 72 65 66 20 6d 61 74 63 68 2d 66 6f 72 6d 20 31 29 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 | aref.match-form.1))).......(let. |
| 16100 | 28 28 73 20 28 61 72 65 66 20 6d 61 74 63 68 2d 66 6f 72 6d 20 30 29 29 29 0a 20 20 20 20 20 20 | ((s.(aref.match-form.0)))....... |
| 16120 | 20 20 28 63 6f 6e 73 20 28 6c 69 73 74 20 73 20 73 6f 75 72 63 65 29 0a 20 20 20 20 20 20 20 20 | ..(cons.(list.s.source)......... |
| 16140 | 20 20 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 73 75 62 73 74 72 69 6e 67 20 6d 61 | ......(dash--match.(substring.ma |
| 16160 | 74 63 68 2d 66 6f 72 6d 20 32 29 20 73 29 29 29 29 0a 20 20 20 20 20 28 74 20 28 64 61 73 68 2d | tch-form.2).s))))......(t.(dash- |
| 16180 | 2d 6d 61 74 63 68 2d 76 65 63 74 6f 72 20 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 | -match-vector.match-form.source) |
| 161a0 | 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6e 6f 72 6d 61 6c 69 7a 65 2d 6c 65 | )))))..(defun.dash--normalize-le |
| 161c0 | 74 2d 76 61 72 6c 69 73 74 20 28 76 61 72 6c 69 73 74 29 0a 20 20 22 4e 6f 72 6d 61 6c 69 7a 65 | t-varlist.(varlist)..."Normalize |
| 161e0 | 20 56 41 52 4c 49 53 54 20 73 6f 20 74 68 61 74 20 65 76 65 72 79 20 62 69 6e 64 69 6e 67 20 69 | .VARLIST.so.that.every.binding.i |
| 16200 | 73 20 61 20 6c 69 73 74 2e 0a 0a 60 6c 65 74 27 20 61 6c 6c 6f 77 73 20 73 70 65 63 69 66 79 69 | s.a.list...`let'.allows.specifyi |
| 16220 | 6e 67 20 61 20 62 69 6e 64 69 6e 67 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 | ng.a.binding.which.is.not.a.list |
| 16240 | 20 62 75 74 20 73 69 6d 70 6c 79 0a 74 68 65 20 70 6c 61 63 65 20 77 68 69 63 68 20 69 73 20 74 | .but.simply.the.place.which.is.t |
| 16260 | 68 65 6e 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 62 6f 75 6e 64 20 74 6f 20 6e 69 6c 2c 20 | hen.automatically.bound.to.nil,. |
| 16280 | 73 75 63 68 20 74 68 61 74 20 61 6c 6c 0a 74 68 72 65 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f | such.that.all.three.of.the.follo |
| 162a0 | 77 69 6e 67 20 61 72 65 20 69 64 65 6e 74 69 63 61 6c 20 61 6e 64 20 65 76 61 6c 75 61 74 65 20 | wing.are.identical.and.evaluate. |
| 162c0 | 74 6f 20 6e 69 6c 2e 0a 0a 20 20 28 6c 65 74 20 28 61 29 20 61 29 0a 20 20 28 6c 65 74 20 28 28 | to.nil.....(let.(a).a)...(let.(( |
| 162e0 | 61 29 29 20 61 29 0a 20 20 28 6c 65 74 20 28 28 61 20 6e 69 6c 29 29 20 61 29 0a 0a 54 68 69 73 | a)).a)...(let.((a.nil)).a)..This |
| 16300 | 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 72 6d 61 6c 69 7a 65 73 20 61 6c 6c 20 6f 66 20 74 68 65 73 | .function.normalizes.all.of.thes |
| 16320 | 65 20 74 6f 20 74 68 65 20 6c 61 73 74 20 66 6f 72 6d 2e 22 0a 20 20 28 2d 2d 6d 61 70 20 28 69 | e.to.the.last.form."...(--map.(i |
| 16340 | 66 20 28 63 6f 6e 73 70 20 69 74 29 20 69 74 20 28 6c 69 73 74 20 69 74 20 6e 69 6c 29 29 20 76 | f.(consp.it).it.(list.it.nil)).v |
| 16360 | 61 72 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 6c 65 74 2a 20 28 76 61 72 6c 69 | arlist))..(defmacro.-let*.(varli |
| 16380 | 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 42 69 6e 64 20 76 61 72 69 61 62 6c 65 73 | st.&rest.body)..."Bind.variables |
| 163a0 | 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 56 41 52 4c 49 53 54 20 74 68 65 6e 20 65 76 61 6c 20 | .according.to.VARLIST.then.eval. |
| 163c0 | 42 4f 44 59 2e 0a 0a 56 41 52 4c 49 53 54 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 | BODY...VARLIST.is.a.list.of.list |
| 163e0 | 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 50 41 54 54 45 52 4e 20 53 4f 55 52 43 45 29 2e 20 | s.of.the.form.(PATTERN.SOURCE).. |
| 16400 | 20 45 61 63 68 0a 50 41 54 54 45 52 4e 20 69 73 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 | .Each.PATTERN.is.matched.against |
| 16420 | 20 74 68 65 20 53 4f 55 52 43 45 20 73 74 72 75 63 74 75 72 61 6c 6c 79 2e 20 20 53 4f 55 52 43 | .the.SOURCE.structurally...SOURC |
| 16440 | 45 20 69 73 0a 6f 6e 6c 79 20 65 76 61 6c 75 61 74 65 64 20 6f 6e 63 65 20 66 6f 72 20 65 61 63 | E.is.only.evaluated.once.for.eac |
| 16460 | 68 20 50 41 54 54 45 52 4e 2e 0a 0a 45 61 63 68 20 53 4f 55 52 43 45 20 63 61 6e 20 72 65 66 65 | h.PATTERN...Each.SOURCE.can.refe |
| 16480 | 72 20 74 6f 20 74 68 65 20 73 79 6d 62 6f 6c 73 20 61 6c 72 65 61 64 79 20 62 6f 75 6e 64 20 62 | r.to.the.symbols.already.bound.b |
| 164a0 | 79 20 74 68 69 73 0a 56 41 52 4c 49 53 54 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 | y.this.VARLIST...This.is.useful. |
| 164c0 | 69 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 65 73 74 72 75 63 74 75 72 65 20 53 4f 55 52 43 | if.you.want.to.destructure.SOURC |
| 164e0 | 45 0a 72 65 63 75 72 73 69 76 65 6c 79 20 62 75 74 20 61 6c 73 6f 20 77 61 6e 74 20 74 6f 20 6e | E.recursively.but.also.want.to.n |
| 16500 | 61 6d 65 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 73 74 72 75 63 74 75 72 65 73 2e | ame.the.intermediate.structures. |
| 16520 | 0a 0a 53 65 65 20 60 2d 6c 65 74 27 20 66 6f 72 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 6c 6c | ..See.`-let'.for.the.list.of.all |
| 16540 | 20 70 6f 73 73 69 62 6c 65 20 70 61 74 74 65 72 6e 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 | .possible.patterns."...(declare. |
| 16560 | 28 64 65 62 75 67 20 28 28 26 72 65 73 74 20 5b 26 6f 72 20 28 73 65 78 70 20 66 6f 72 6d 29 20 | (debug.((&rest.[&or.(sexp.form). |
| 16580 | 73 65 78 70 5d 29 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 | sexp]).body))............(indent |
| 165a0 | 20 31 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 76 61 72 6c 69 73 74 20 28 64 61 73 68 2d 2d 6e 6f | .1))...(let*.((varlist.(dash--no |
| 165c0 | 72 6d 61 6c 69 7a 65 2d 6c 65 74 2d 76 61 72 6c 69 73 74 20 76 61 72 6c 69 73 74 29 29 0a 20 20 | rmalize-let-varlist.varlist))... |
| 165e0 | 20 20 20 20 20 20 20 28 62 69 6e 64 69 6e 67 73 20 28 2d 2d 6d 61 70 63 61 74 20 28 64 61 73 68 | .......(bindings.(--mapcat.(dash |
| 16600 | 2d 2d 6d 61 74 63 68 20 28 63 61 72 20 69 74 29 20 28 63 61 64 72 20 69 74 29 29 20 76 61 72 6c | --match.(car.it).(cadr.it)).varl |
| 16620 | 69 73 74 29 29 29 0a 20 20 20 20 60 28 6c 65 74 2a 20 2c 62 69 6e 64 69 6e 67 73 0a 20 20 20 20 | ist))).....`(let*.,bindings..... |
| 16640 | 20 20 20 2c 40 62 6f 64 79 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 6c 65 74 20 28 76 61 | ...,@body)))..(defmacro.-let.(va |
| 16660 | 72 6c 69 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 42 69 6e 64 20 76 61 72 69 61 62 | rlist.&rest.body)..."Bind.variab |
| 16680 | 6c 65 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 56 41 52 4c 49 53 54 20 74 68 65 6e 20 65 76 | les.according.to.VARLIST.then.ev |
| 166a0 | 61 6c 20 42 4f 44 59 2e 0a 0a 56 41 52 4c 49 53 54 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c | al.BODY...VARLIST.is.a.list.of.l |
| 166c0 | 69 73 74 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 50 41 54 54 45 52 4e 20 53 4f 55 52 43 45 | ists.of.the.form.(PATTERN.SOURCE |
| 166e0 | 29 2e 20 20 45 61 63 68 0a 50 41 54 54 45 52 4e 20 69 73 20 6d 61 74 63 68 65 64 20 61 67 61 69 | )...Each.PATTERN.is.matched.agai |
| 16700 | 6e 73 74 20 74 68 65 20 53 4f 55 52 43 45 20 5c 22 73 74 72 75 63 74 75 72 61 6c 6c 79 5c 22 2e | nst.the.SOURCE.\"structurally\". |
| 16720 | 20 20 53 4f 55 52 43 45 0a 69 73 20 6f 6e 6c 79 20 65 76 61 6c 75 61 74 65 64 20 6f 6e 63 65 20 | ..SOURCE.is.only.evaluated.once. |
| 16740 | 66 6f 72 20 65 61 63 68 20 50 41 54 54 45 52 4e 2e 20 20 45 61 63 68 20 50 41 54 54 45 52 4e 20 | for.each.PATTERN...Each.PATTERN. |
| 16760 | 69 73 20 6d 61 74 63 68 65 64 0a 72 65 63 75 72 73 69 76 65 6c 79 2c 20 61 6e 64 20 63 61 6e 20 | is.matched.recursively,.and.can. |
| 16780 | 74 68 65 72 65 66 6f 72 65 20 63 6f 6e 74 61 69 6e 20 73 75 62 2d 70 61 74 74 65 72 6e 73 20 77 | therefore.contain.sub-patterns.w |
| 167a0 | 68 69 63 68 20 61 72 65 0a 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 63 6f 72 72 65 73 70 | hich.are.matched.against.corresp |
| 167c0 | 6f 6e 64 69 6e 67 20 73 75 62 2d 65 78 70 72 65 73 73 69 6f 6e 73 20 6f 66 20 53 4f 55 52 43 45 | onding.sub-expressions.of.SOURCE |
| 167e0 | 2e 0a 0a 41 6c 6c 20 74 68 65 20 53 4f 55 52 43 45 73 20 61 72 65 20 65 76 61 6c 6c 65 64 20 62 | ...All.the.SOURCEs.are.evalled.b |
| 16800 | 65 66 6f 72 65 20 61 6e 79 20 73 79 6d 62 6f 6c 73 20 61 72 65 0a 62 6f 75 6e 64 20 28 69 2e 65 | efore.any.symbols.are.bound.(i.e |
| 16820 | 2e 20 5c 22 69 6e 20 70 61 72 61 6c 6c 65 6c 5c 22 29 2e 0a 0a 49 66 20 56 41 52 4c 49 53 54 20 | ..\"in.parallel\")...If.VARLIST. |
| 16840 | 6f 6e 6c 79 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 28 50 41 54 54 45 52 4e 20 53 4f 55 52 43 | only.contains.one.(PATTERN.SOURC |
| 16860 | 45 29 20 65 6c 65 6d 65 6e 74 2c 20 79 6f 75 20 63 61 6e 0a 6f 70 74 69 6f 6e 61 6c 6c 79 20 73 | E).element,.you.can.optionally.s |
| 16880 | 70 65 63 69 66 79 20 69 74 20 75 73 69 6e 67 20 61 20 76 65 63 74 6f 72 20 61 6e 64 20 64 69 73 | pecify.it.using.a.vector.and.dis |
| 168a0 | 63 61 72 64 69 6e 67 20 74 68 65 0a 6f 75 74 65 72 2d 6d 6f 73 74 20 70 61 72 65 6e 73 2e 20 20 | carding.the.outer-most.parens... |
| 168c0 | 54 68 75 73 0a 0a 20 20 28 2d 6c 65 74 20 28 28 50 41 54 54 45 52 4e 20 53 4f 55 52 43 45 29 29 | Thus....(-let.((PATTERN.SOURCE)) |
| 168e0 | 20 2e 2e 2e 29 0a 0a 62 65 63 6f 6d 65 73 0a 0a 20 20 28 2d 6c 65 74 20 5b 50 41 54 54 45 52 4e | ....)..becomes....(-let.[PATTERN |
| 16900 | 20 53 4f 55 52 43 45 5d 20 2e 2e 2e 29 2e 0a 0a 60 2d 6c 65 74 27 20 75 73 65 73 20 61 20 63 6f | .SOURCE]....)...`-let'.uses.a.co |
| 16920 | 6e 76 65 6e 74 69 6f 6e 20 6f 66 20 6e 6f 74 20 62 69 6e 64 69 6e 67 20 70 6c 61 63 65 73 20 28 | nvention.of.not.binding.places.( |
| 16940 | 73 79 6d 62 6f 6c 73 29 20 73 74 61 72 74 69 6e 67 0a 77 69 74 68 20 5f 20 77 68 65 6e 65 76 65 | symbols).starting.with._.wheneve |
| 16960 | 72 20 69 74 27 73 20 70 6f 73 73 69 62 6c 65 2e 20 20 59 6f 75 20 63 61 6e 20 75 73 65 20 74 68 | r.it's.possible...You.can.use.th |
| 16980 | 69 73 20 74 6f 20 73 6b 69 70 20 6f 76 65 72 0a 65 6e 74 72 69 65 73 20 79 6f 75 20 64 6f 6e 27 | is.to.skip.over.entries.you.don' |
| 169a0 | 74 20 63 61 72 65 20 61 62 6f 75 74 2e 20 20 48 6f 77 65 76 65 72 2c 20 74 68 69 73 20 69 73 20 | t.care.about...However,.this.is. |
| 169c0 | 6e 6f 74 20 2a 61 6c 77 61 79 73 2a 0a 70 6f 73 73 69 62 6c 65 20 28 61 73 20 61 20 72 65 73 75 | not.*always*.possible.(as.a.resu |
| 169e0 | 6c 74 20 6f 66 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 29 20 61 6e 64 20 74 68 65 73 65 20 | lt.of.implementation).and.these. |
| 16a00 | 73 79 6d 62 6f 6c 73 20 6d 69 67 68 74 0a 67 65 74 20 62 6f 75 6e 64 20 74 6f 20 75 6e 64 65 66 | symbols.might.get.bound.to.undef |
| 16a20 | 69 6e 65 64 20 76 61 6c 75 65 73 2e 0a 0a 46 6f 6c 6c 6f 77 69 6e 67 20 69 73 20 74 68 65 20 6f | ined.values...Following.is.the.o |
| 16a40 | 76 65 72 76 69 65 77 20 6f 66 20 73 75 70 70 6f 72 74 65 64 20 70 61 74 74 65 72 6e 73 2e 20 20 | verview.of.supported.patterns... |
| 16a60 | 52 65 6d 65 6d 62 65 72 20 74 68 61 74 0a 70 61 74 74 65 72 6e 73 20 63 61 6e 20 62 65 20 6d 61 | Remember.that.patterns.can.be.ma |
| 16a80 | 74 63 68 65 64 20 72 65 63 75 72 73 69 76 65 6c 79 2c 20 73 6f 20 65 76 65 72 79 20 61 2c 20 62 | tched.recursively,.so.every.a,.b |
| 16aa0 | 2c 20 61 4b 20 69 6e 20 74 68 65 0a 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6e 20 62 65 20 61 20 6d | ,.aK.in.the.following.can.be.a.m |
| 16ac0 | 61 74 63 68 69 6e 67 20 63 6f 6e 73 74 72 75 63 74 20 61 6e 64 20 6e 6f 74 20 6e 65 63 65 73 73 | atching.construct.and.not.necess |
| 16ae0 | 61 72 69 6c 79 20 61 0a 73 79 6d 62 6f 6c 2f 76 61 72 69 61 62 6c 65 2e 0a 0a 53 79 6d 62 6f 6c | arily.a.symbol/variable...Symbol |
| 16b00 | 3a 0a 0a 20 20 61 20 2d 20 62 69 6e 64 20 74 68 65 20 53 4f 55 52 43 45 20 74 6f 20 41 2e 20 20 | :....a.-.bind.the.SOURCE.to.A... |
| 16b20 | 54 68 69 73 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 20 72 65 67 75 6c 61 72 20 60 6c 65 74 27 2e | This.is.just.like.regular.`let'. |
| 16b40 | 0a 0a 43 6f 6e 73 65 73 20 61 6e 64 20 6c 69 73 74 73 3a 0a 0a 20 20 28 61 29 20 2d 20 62 69 6e | ..Conses.and.lists:....(a).-.bin |
| 16b60 | 64 20 60 63 61 72 27 20 6f 66 20 63 6f 6e 73 2f 6c 69 73 74 20 74 6f 20 41 0a 0a 20 20 28 61 20 | d.`car'.of.cons/list.to.A....(a. |
| 16b80 | 2e 20 62 29 20 2d 20 62 69 6e 64 20 63 61 72 20 6f 66 20 63 6f 6e 73 20 74 6f 20 41 20 61 6e 64 | ..b).-.bind.car.of.cons.to.A.and |
| 16ba0 | 20 60 63 64 72 27 20 74 6f 20 42 0a 0a 20 20 28 61 20 62 29 20 2d 20 62 69 6e 64 20 63 61 72 20 | .`cdr'.to.B....(a.b).-.bind.car. |
| 16bc0 | 6f 66 20 6c 69 73 74 20 74 6f 20 41 20 61 6e 64 20 60 63 61 64 72 27 20 74 6f 20 42 0a 0a 20 20 | of.list.to.A.and.`cadr'.to.B.... |
| 16be0 | 28 61 31 20 61 32 20 61 33 20 2e 2e 2e 29 20 2d 20 62 69 6e 64 20 30 74 68 20 63 61 72 20 6f 66 | (a1.a2.a3....).-.bind.0th.car.of |
| 16c00 | 20 6c 69 73 74 20 74 6f 20 41 31 2c 20 31 73 74 20 74 6f 20 41 32 2c 20 32 6e 64 20 74 6f 20 41 | .list.to.A1,.1st.to.A2,.2nd.to.A |
| 16c20 | 33 2e 2e 2e 0a 0a 20 20 28 61 31 20 61 32 20 61 33 20 2e 2e 2e 20 61 4e 20 2e 20 72 65 73 74 29 | 3.......(a1.a2.a3.....aN...rest) |
| 16c40 | 20 2d 20 61 73 20 61 62 6f 76 65 2c 20 62 75 74 20 62 69 6e 64 20 74 68 65 20 4e 74 68 20 63 64 | .-.as.above,.but.bind.the.Nth.cd |
| 16c60 | 72 20 74 6f 20 52 45 53 54 2e 0a 0a 56 65 63 74 6f 72 73 3a 0a 0a 20 20 5b 61 5d 20 2d 20 62 69 | r.to.REST...Vectors:....[a].-.bi |
| 16c80 | 6e 64 20 30 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 61 20 6e 6f 6e 2d 6c 69 73 74 20 73 65 71 | nd.0th.element.of.a.non-list.seq |
| 16ca0 | 75 65 6e 63 65 20 74 6f 20 41 20 28 77 6f 72 6b 73 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 76 | uence.to.A.(works.with.........v |
| 16cc0 | 65 63 74 6f 72 73 2c 20 73 74 72 69 6e 67 73 2c 20 62 69 74 20 61 72 72 61 79 73 2e 2e 2e 29 0a | ectors,.strings,.bit.arrays...). |
| 16ce0 | 0a 20 20 5b 61 31 20 61 32 20 61 33 20 2e 2e 2e 5d 20 2d 20 62 69 6e 64 20 30 74 68 20 65 6c 65 | ...[a1.a2.a3....].-.bind.0th.ele |
| 16d00 | 6d 65 6e 74 20 6f 66 20 6e 6f 6e 2d 6c 69 73 74 20 73 65 71 75 65 6e 63 65 20 74 6f 20 41 30 2c | ment.of.non-list.sequence.to.A0, |
| 16d20 | 20 31 73 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 31 2c 20 32 | .1st.to....................A1,.2 |
| 16d40 | 6e 64 20 74 6f 20 41 32 2c 20 2e 2e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nd.to.A2,....................... |
| 16d60 | 20 49 66 20 74 68 65 20 50 41 54 54 45 52 4e 20 69 73 20 73 68 6f 72 74 65 72 20 74 68 61 6e 20 | .If.the.PATTERN.is.shorter.than. |
| 16d80 | 53 4f 55 52 43 45 2c 20 74 68 65 20 76 61 6c 75 65 73 20 61 74 0a 20 20 20 20 20 20 20 20 20 20 | SOURCE,.the.values.at........... |
| 16da0 | 20 20 20 20 20 20 20 20 20 70 6c 61 63 65 73 20 6e 6f 74 20 69 6e 20 50 41 54 54 45 52 4e 20 61 | .........places.not.in.PATTERN.a |
| 16dc0 | 72 65 20 69 67 6e 6f 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 | re.ignored.....................I |
| 16de0 | 66 20 74 68 65 20 50 41 54 54 45 52 4e 20 69 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 53 4f 55 | f.the.PATTERN.is.longer.than.SOU |
| 16e00 | 52 43 45 2c 20 61 6e 20 60 65 72 72 6f 72 27 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | RCE,.an.`error'.is.............. |
| 16e20 | 20 20 20 20 20 20 74 68 72 6f 77 6e 2e 0a 0a 20 20 5b 61 31 20 61 32 20 61 33 20 2e 2e 2e 20 26 | ......thrown.....[a1.a2.a3.....& |
| 16e40 | 72 65 73 74 20 72 65 73 74 5d 20 2d 20 61 73 20 61 62 6f 76 65 2c 20 62 75 74 20 62 69 6e 64 20 | rest.rest].-.as.above,.but.bind. |
| 16e60 | 74 68 65 20 72 65 73 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | the.rest.of..................... |
| 16e80 | 20 20 20 20 20 20 20 20 20 20 74 68 65 20 73 65 71 75 65 6e 63 65 20 74 6f 20 52 45 53 54 2e 20 | ..........the.sequence.to.REST.. |
| 16ea0 | 20 54 68 69 73 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .This.is........................ |
| 16ec0 | 20 20 20 20 20 20 20 63 6f 6e 63 65 70 74 75 61 6c 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 | .......conceptually.the.same.as. |
| 16ee0 | 69 6d 70 72 6f 70 65 72 20 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | improper.list................... |
| 16f00 | 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 69 6e 67 20 28 61 31 20 61 32 20 2e 2e 2e 20 | ............matching.(a1.a2..... |
| 16f20 | 61 4e 20 2e 20 72 65 73 74 29 0a 0a 4b 65 79 2f 76 61 6c 75 65 20 73 74 6f 72 65 73 3a 0a 0a 20 | aN...rest)..Key/value.stores:... |
| 16f40 | 20 28 26 70 6c 69 73 74 20 6b 65 79 30 20 61 30 20 2e 2e 2e 20 6b 65 79 4e 20 61 4e 29 20 2d 20 | .(&plist.key0.a0.....keyN.aN).-. |
| 16f60 | 62 69 6e 64 20 76 61 6c 75 65 20 6d 61 70 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 | bind.value.mapped.by.keyK.in.the |
| 16f80 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 16fa0 | 20 20 53 4f 55 52 43 45 20 70 6c 69 73 74 20 74 6f 20 61 4b 2e 20 20 49 66 20 74 68 65 0a 20 20 | ..SOURCE.plist.to.aK...If.the... |
| 16fc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 | ...............................v |
| 16fe0 | 61 6c 75 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 6e 69 6c 2e 0a 20 20 | alue.is.not.found,.aK.is.nil.... |
| 17000 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 | ...............................U |
| 17020 | 73 65 73 20 60 70 6c 69 73 74 2d 67 65 74 27 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e | ses.`plist-get'.to.fetch.values. |
| 17040 | 0a 0a 20 20 28 26 61 6c 69 73 74 20 6b 65 79 30 20 61 30 20 2e 2e 2e 20 6b 65 79 4e 20 61 4e 29 | ....(&alist.key0.a0.....keyN.aN) |
| 17060 | 20 2d 20 62 69 6e 64 20 76 61 6c 75 65 20 6d 61 70 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 | .-.bind.value.mapped.by.keyK.in. |
| 17080 | 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | the............................. |
| 170a0 | 20 20 20 20 20 53 4f 55 52 43 45 20 61 6c 69 73 74 20 74 6f 20 61 4b 2e 20 20 49 66 20 74 68 65 | .....SOURCE.alist.to.aK...If.the |
| 170c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 170e0 | 20 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 6e 69 6c 2e | ..value.is.not.found,.aK.is.nil. |
| 17100 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 17120 | 20 20 55 73 65 73 20 60 61 73 73 6f 63 27 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e 0a | ..Uses.`assoc'.to.fetch.values.. |
| 17140 | 0a 20 20 28 26 68 61 73 68 20 6b 65 79 30 20 61 30 20 2e 2e 2e 20 6b 65 79 4e 20 61 4e 29 20 2d | ...(&hash.key0.a0.....keyN.aN).- |
| 17160 | 20 62 69 6e 64 20 76 61 6c 75 65 20 6d 61 70 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 | .bind.value.mapped.by.keyK.in.th |
| 17180 | 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e............................... |
| 171a0 | 20 20 53 4f 55 52 43 45 20 68 61 73 68 20 74 61 62 6c 65 20 74 6f 20 61 4b 2e 20 20 49 66 20 74 | ..SOURCE.hash.table.to.aK...If.t |
| 171c0 | 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | he.............................. |
| 171e0 | 20 20 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 6e 69 6c | ...value.is.not.found,.aK.is.nil |
| 17200 | 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 17220 | 20 20 55 73 65 73 20 60 67 65 74 68 61 73 68 27 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 | ..Uses.`gethash'.to.fetch.values |
| 17240 | 2e 0a 0a 46 75 72 74 68 65 72 2c 20 73 70 65 63 69 61 6c 20 6b 65 79 77 6f 72 64 20 26 6b 65 79 | ...Further,.special.keyword.&key |
| 17260 | 73 20 73 75 70 70 6f 72 74 73 20 5c 22 69 6e 6c 69 6e 65 5c 22 20 6d 61 74 63 68 69 6e 67 20 6f | s.supports.\"inline\".matching.o |
| 17280 | 66 0a 70 6c 69 73 74 2d 6c 69 6b 65 20 6b 65 79 2d 76 61 6c 75 65 20 70 61 69 72 73 2c 20 73 69 | f.plist-like.key-value.pairs,.si |
| 172a0 | 6d 69 6c 61 72 6c 79 20 74 6f 20 26 6b 65 79 73 20 6b 65 79 77 6f 72 64 20 6f 66 0a 60 63 6c 2d | milarly.to.&keys.keyword.of.`cl- |
| 172c0 | 64 65 66 75 6e 27 2e 0a 0a 20 20 28 61 31 20 61 32 20 2e 2e 2e 20 61 4e 20 26 6b 65 79 73 20 6b | defun'.....(a1.a2.....aN.&keys.k |
| 172e0 | 65 79 31 20 62 31 20 2e 2e 2e 20 6b 65 79 4e 20 62 4b 29 0a 0a 54 68 69 73 20 62 69 6e 64 73 20 | ey1.b1.....keyN.bK)..This.binds. |
| 17300 | 4e 20 76 61 6c 75 65 73 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 74 6f 20 61 31 20 2e 2e 2e | N.values.from.the.list.to.a1.... |
| 17320 | 20 61 4e 2c 20 74 68 65 6e 20 69 6e 74 65 72 70 72 65 74 73 0a 74 68 65 20 63 64 72 20 61 73 20 | .aN,.then.interprets.the.cdr.as. |
| 17340 | 61 20 70 6c 69 73 74 20 28 73 65 65 20 6b 65 79 2f 76 61 6c 75 65 20 6d 61 74 63 68 69 6e 67 20 | a.plist.(see.key/value.matching. |
| 17360 | 61 62 6f 76 65 29 2e 0a 0a 41 20 73 68 6f 72 74 68 61 6e 64 20 6e 6f 74 61 74 69 6f 6e 20 66 6f | above)...A.shorthand.notation.fo |
| 17380 | 72 20 6b 76 2d 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 65 78 69 73 74 73 20 77 68 69 63 68 20 | r.kv-destructuring.exists.which. |
| 173a0 | 61 6c 6c 6f 77 73 20 74 68 65 0a 70 61 74 74 65 72 6e 73 20 62 65 20 6f 70 74 69 6f 6e 61 6c 6c | allows.the.patterns.be.optionall |
| 173c0 | 79 20 6c 65 66 74 20 6f 75 74 20 61 6e 64 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 74 68 65 20 | y.left.out.and.derived.from.the. |
| 173e0 | 6b 65 79 20 6e 61 6d 65 20 69 6e 0a 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 61 73 68 69 6f | key.name.in.the.following.fashio |
| 17400 | 6e 3a 0a 0a 2d 20 61 20 6b 65 79 20 3a 66 6f 6f 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e | n:..-.a.key.:foo.is.converted.in |
| 17420 | 74 6f 20 60 66 6f 6f 27 20 70 61 74 74 65 72 6e 2c 0a 2d 20 61 20 6b 65 79 20 5c 5c 3d 27 62 61 | to.`foo'.pattern,.-.a.key.\\='ba |
| 17440 | 72 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 60 62 61 72 27 20 70 61 74 74 65 72 | r.is.converted.into.`bar'.patter |
| 17460 | 6e 2c 0a 2d 20 61 20 6b 65 79 20 5c 22 62 61 7a 5c 22 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 | n,.-.a.key.\"baz\".is.converted. |
| 17480 | 69 6e 74 6f 20 60 62 61 7a 27 20 70 61 74 74 65 72 6e 2e 0a 0a 54 68 61 74 20 69 73 2c 20 74 68 | into.`baz'.pattern...That.is,.th |
| 174a0 | 65 20 65 6e 74 69 72 65 20 76 61 6c 75 65 20 75 6e 64 65 72 20 74 68 65 20 6b 65 79 20 69 73 20 | e.entire.value.under.the.key.is. |
| 174c0 | 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 64 65 72 69 76 65 64 0a 76 61 72 69 61 62 6c 65 20 77 69 | bound.to.the.derived.variable.wi |
| 174e0 | 74 68 6f 75 74 20 61 6e 79 20 66 75 72 74 68 65 72 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e | thout.any.further.destructuring. |
| 17500 | 0a 0a 54 68 69 73 20 69 73 20 70 6f 73 73 69 62 6c 65 20 6f 6e 6c 79 20 77 68 65 6e 20 74 68 65 | ..This.is.possible.only.when.the |
| 17520 | 20 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 6b 65 79 20 69 73 20 6e 6f 74 20 61 | .form.following.the.key.is.not.a |
| 17540 | 0a 76 61 6c 69 64 20 70 61 74 74 65 72 6e 20 28 69 2e 65 2e 20 6e 6f 74 20 61 20 73 79 6d 62 6f | .valid.pattern.(i.e..not.a.symbo |
| 17560 | 6c 2c 20 61 20 63 6f 6e 73 20 63 65 6c 6c 20 6f 72 20 61 20 76 65 63 74 6f 72 29 2e 0a 4f 74 68 | l,.a.cons.cell.or.a.vector)..Oth |
| 17580 | 65 72 77 69 73 65 20 74 68 65 20 6d 61 74 63 68 69 6e 67 20 70 72 6f 63 65 65 64 73 20 61 73 20 | erwise.the.matching.proceeds.as. |
| 175a0 | 75 73 75 61 6c 20 61 6e 64 20 69 6e 20 63 61 73 65 20 6f 66 20 61 6e 0a 69 6e 76 61 6c 69 64 20 | usual.and.in.case.of.an.invalid. |
| 175c0 | 73 70 65 63 20 66 61 69 6c 73 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 2e 0a 0a 54 68 75 73 20 | spec.fails.with.an.error...Thus. |
| 175e0 | 74 68 65 20 70 61 74 74 65 72 6e 73 20 61 72 65 20 6e 6f 72 6d 61 6c 69 7a 65 64 20 61 73 20 66 | the.patterns.are.normalized.as.f |
| 17600 | 6f 6c 6c 6f 77 73 3a 0a 0a 20 20 20 3b 3b 20 64 65 72 69 76 65 20 61 6c 6c 20 74 68 65 20 6d 69 | ollows:.....;;.derive.all.the.mi |
| 17620 | 73 73 69 6e 67 20 70 61 74 74 65 72 6e 73 0a 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 5c | ssing.patterns....(&plist.:foo.\ |
| 17640 | 5c 3d 27 62 61 72 20 5c 22 62 61 7a 5c 22 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 | \='bar.\"baz\").=>.(&plist.:foo. |
| 17660 | 66 6f 6f 20 5c 5c 3d 27 62 61 72 20 62 61 72 20 5c 22 62 61 7a 5c 22 20 62 61 7a 29 0a 0a 20 20 | foo.\\='bar.bar.\"baz\".baz).... |
| 17680 | 20 3b 3b 20 77 65 20 63 61 6e 20 73 70 65 63 69 66 79 20 73 6f 6d 65 20 62 75 74 20 6e 6f 74 20 | .;;.we.can.specify.some.but.not. |
| 176a0 | 6f 74 68 65 72 73 0a 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 5c 5c 3d 27 62 61 72 20 65 | others....(&plist.:foo.\\='bar.e |
| 176c0 | 78 70 6c 69 63 69 74 2d 62 61 72 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f | xplicit-bar).=>.(&plist.:foo.foo |
| 176e0 | 20 5c 5c 3d 27 62 61 72 20 65 78 70 6c 69 63 69 74 2d 62 61 72 29 0a 0a 20 20 20 3b 3b 20 6e 6f | .\\='bar.explicit-bar).....;;.no |
| 17700 | 74 68 69 6e 67 20 68 61 70 70 65 6e 73 2c 20 77 65 20 73 74 6f 72 65 20 3a 66 6f 6f 20 69 6e 20 | thing.happens,.we.store.:foo.in. |
| 17720 | 78 0a 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 78 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 | x....(&plist.:foo.x).=>.(&plist. |
| 17740 | 3a 66 6f 6f 20 78 29 0a 0a 20 20 20 3b 3b 20 6e 6f 74 68 69 6e 67 20 68 61 70 70 65 6e 73 2c 20 | :foo.x).....;;.nothing.happens,. |
| 17760 | 77 65 20 6d 61 74 63 68 20 72 65 63 75 72 73 69 76 65 6c 79 0a 20 20 20 28 26 70 6c 69 73 74 20 | we.match.recursively....(&plist. |
| 17780 | 3a 66 6f 6f 20 28 61 20 62 20 63 29 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 28 61 | :foo.(a.b.c)).=>.(&plist.:foo.(a |
| 177a0 | 20 62 20 63 29 29 0a 0a 59 6f 75 20 63 61 6e 20 6e 61 6d 65 20 74 68 65 20 73 6f 75 72 63 65 20 | .b.c))..You.can.name.the.source. |
| 177c0 | 75 73 69 6e 67 20 74 68 65 20 73 79 6e 74 61 78 20 53 59 4d 42 4f 4c 20 26 61 73 20 50 41 54 54 | using.the.syntax.SYMBOL.&as.PATT |
| 177e0 | 45 52 4e 2e 0a 54 68 69 73 20 73 79 6e 74 61 78 20 77 6f 72 6b 73 20 77 69 74 68 20 6c 69 73 74 | ERN..This.syntax.works.with.list |
| 17800 | 73 20 28 70 72 6f 70 65 72 20 6f 72 20 69 6d 70 72 6f 70 65 72 29 2c 20 76 65 63 74 6f 72 73 20 | s.(proper.or.improper),.vectors. |
| 17820 | 61 6e 64 0a 61 6c 6c 20 74 79 70 65 73 20 6f 66 20 6d 61 70 73 2e 0a 0a 20 20 28 6c 69 73 74 20 | and.all.types.of.maps.....(list. |
| 17840 | 26 61 73 20 61 20 62 20 63 29 20 28 6c 69 73 74 20 31 20 32 20 33 29 0a 0a 62 69 6e 64 73 20 41 | &as.a.b.c).(list.1.2.3)..binds.A |
| 17860 | 20 74 6f 20 31 2c 20 42 20 74 6f 20 32 2c 20 43 20 74 6f 20 33 20 61 6e 64 20 4c 49 53 54 20 74 | .to.1,.B.to.2,.C.to.3.and.LIST.t |
| 17880 | 6f 20 28 31 20 32 20 33 29 2e 0a 0a 53 69 6d 69 6c 61 72 6c 79 3a 0a 0a 20 20 28 62 6f 75 6e 64 | o.(1.2.3)...Similarly:....(bound |
| 178a0 | 73 20 26 61 73 20 62 65 67 20 2e 20 65 6e 64 29 20 28 63 6f 6e 73 20 31 20 32 29 0a 0a 62 69 6e | s.&as.beg...end).(cons.1.2)..bin |
| 178c0 | 64 73 20 42 45 47 20 74 6f 20 31 2c 20 45 4e 44 20 74 6f 20 32 20 61 6e 64 20 42 4f 55 4e 44 53 | ds.BEG.to.1,.END.to.2.and.BOUNDS |
| 178e0 | 20 74 6f 20 28 31 20 2e 20 32 29 2e 0a 0a 20 20 28 69 74 65 6d 73 20 26 61 73 20 66 69 72 73 74 | .to.(1...2).....(items.&as.first |
| 17900 | 20 2e 20 72 65 73 74 29 20 28 6c 69 73 74 20 31 20 32 20 33 29 0a 0a 62 69 6e 64 73 20 46 49 52 | ...rest).(list.1.2.3)..binds.FIR |
| 17920 | 53 54 20 74 6f 20 31 2c 20 52 45 53 54 20 74 6f 20 28 32 20 33 29 20 61 6e 64 20 49 54 45 4d 53 | ST.to.1,.REST.to.(2.3).and.ITEMS |
| 17940 | 20 74 6f 20 28 31 20 32 20 33 29 0a 0a 20 20 5b 76 65 63 74 20 26 61 73 20 5f 20 62 20 63 5d 20 | .to.(1.2.3)....[vect.&as._.b.c]. |
| 17960 | 5b 31 20 32 20 33 5d 0a 0a 62 69 6e 64 73 20 42 20 74 6f 20 32 2c 20 43 20 74 6f 20 33 20 61 6e | [1.2.3]..binds.B.to.2,.C.to.3.an |
| 17980 | 64 20 56 45 43 54 20 74 6f 20 5b 31 20 32 20 33 5d 20 28 5f 20 61 76 6f 69 64 73 20 62 69 6e 64 | d.VECT.to.[1.2.3].(_.avoids.bind |
| 179a0 | 69 6e 67 20 61 73 20 75 73 75 61 6c 29 2e 0a 0a 20 20 28 70 6c 69 73 74 20 26 61 73 20 26 70 6c | ing.as.usual).....(plist.&as.&pl |
| 179c0 | 69 73 74 20 3a 62 20 62 29 20 28 6c 69 73 74 20 3a 61 20 31 20 3a 62 20 32 20 3a 63 20 33 29 0a | ist.:b.b).(list.:a.1.:b.2.:c.3). |
| 179e0 | 0a 62 69 6e 64 73 20 42 20 74 6f 20 32 20 61 6e 64 20 50 4c 49 53 54 20 74 6f 20 28 3a 61 20 31 | .binds.B.to.2.and.PLIST.to.(:a.1 |
| 17a00 | 20 3a 62 20 32 20 3a 63 20 33 29 2e 20 20 53 61 6d 65 20 66 6f 72 20 26 61 6c 69 73 74 20 61 6e | .:b.2.:c.3)...Same.for.&alist.an |
| 17a20 | 64 20 26 68 61 73 68 2e 0a 0a 54 68 69 73 20 69 73 20 65 73 70 65 63 69 61 6c 6c 79 20 75 73 65 | d.&hash...This.is.especially.use |
| 17a40 | 66 75 6c 20 77 68 65 6e 20 77 65 20 77 61 6e 74 20 74 6f 20 63 61 70 74 75 72 65 20 74 68 65 20 | ful.when.we.want.to.capture.the. |
| 17a60 | 72 65 73 75 6c 74 20 6f 66 20 61 0a 63 6f 6d 70 75 74 61 74 69 6f 6e 20 61 6e 64 20 64 65 73 74 | result.of.a.computation.and.dest |
| 17a80 | 72 75 63 74 75 72 65 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e 20 20 43 6f 6e 73 69 | ructure.at.the.same.time...Consi |
| 17aa0 | 64 65 72 20 74 68 65 0a 66 6f 72 6d 20 28 66 75 6e 63 74 69 6f 6e 2d 72 65 74 75 72 6e 69 6e 67 | der.the.form.(function-returning |
| 17ac0 | 2d 63 6f 6d 70 6c 65 78 2d 73 74 72 75 63 74 75 72 65 29 20 72 65 74 75 72 6e 69 6e 67 20 61 20 | -complex-structure).returning.a. |
| 17ae0 | 6c 69 73 74 20 6f 66 0a 74 77 6f 20 76 65 63 74 6f 72 73 20 77 69 74 68 20 74 77 6f 20 69 74 65 | list.of.two.vectors.with.two.ite |
| 17b00 | 6d 73 20 65 61 63 68 2e 20 20 57 65 20 77 61 6e 74 20 74 6f 20 63 61 70 74 75 72 65 20 74 68 69 | ms.each...We.want.to.capture.thi |
| 17b20 | 73 20 65 6e 74 69 72 65 0a 72 65 73 75 6c 74 20 61 6e 64 20 70 61 73 73 20 69 74 20 74 6f 20 61 | s.entire.result.and.pass.it.to.a |
| 17b40 | 6e 6f 74 68 65 72 20 63 6f 6d 70 75 74 61 74 69 6f 6e 2c 20 62 75 74 20 61 74 20 74 68 65 20 73 | nother.computation,.but.at.the.s |
| 17b60 | 61 6d 65 20 74 69 6d 65 0a 77 65 20 77 61 6e 74 20 74 6f 20 67 65 74 20 74 68 65 20 73 65 63 6f | ame.time.we.want.to.get.the.seco |
| 17b80 | 6e 64 20 69 74 65 6d 20 66 72 6f 6d 20 65 61 63 68 20 76 65 63 74 6f 72 2e 20 20 57 65 20 63 61 | nd.item.from.each.vector...We.ca |
| 17ba0 | 6e 20 61 63 68 69 65 76 65 0a 69 74 20 77 69 74 68 20 70 61 74 74 65 72 6e 0a 0a 20 20 28 72 65 | n.achieve.it.with.pattern....(re |
| 17bc0 | 73 75 6c 74 20 26 61 73 20 5b 5f 20 61 5d 20 5b 5f 20 62 5d 29 20 28 66 75 6e 63 74 69 6f 6e 2d | sult.&as.[_.a].[_.b]).(function- |
| 17be0 | 72 65 74 75 72 6e 69 6e 67 2d 63 6f 6d 70 6c 65 78 2d 73 74 72 75 63 74 75 72 65 29 0a 0a 4e 6f | returning-complex-structure)..No |
| 17c00 | 74 65 3a 20 43 6c 6f 6a 75 72 65 20 70 72 6f 67 72 61 6d 6d 65 72 73 20 6d 61 79 20 6b 6e 6f 77 | te:.Clojure.programmers.may.know |
| 17c20 | 20 74 68 69 73 20 66 65 61 74 75 72 65 20 61 73 20 74 68 65 20 5c 22 3a 61 73 0a 62 69 6e 64 69 | .this.feature.as.the.\":as.bindi |
| 17c40 | 6e 67 5c 22 2e 20 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 61 74 20 77 65 | ng\"...The.difference.is.that.we |
| 17c60 | 20 70 75 74 20 74 68 65 20 26 61 73 20 61 74 20 74 68 65 20 66 72 6f 6e 74 0a 62 65 63 61 75 73 | .put.the.&as.at.the.front.becaus |
| 17c80 | 65 20 77 65 20 6e 65 65 64 20 74 6f 20 73 75 70 70 6f 72 74 20 69 6d 70 72 6f 70 65 72 20 6c 69 | e.we.need.to.support.improper.li |
| 17ca0 | 73 74 20 62 69 6e 64 69 6e 67 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 | st.binding."...(declare.(debug.( |
| 17cc0 | 5b 26 6f 72 20 28 26 72 65 73 74 20 5b 26 6f 72 20 28 73 65 78 70 20 66 6f 72 6d 29 20 73 65 78 | [&or.(&rest.[&or.(sexp.form).sex |
| 17ce0 | 70 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 | p]).........................(vec |
| 17d00 | 74 6f 72 20 5b 26 72 65 73 74 20 5b 73 65 78 70 20 66 6f 72 6d 5d 5d 29 5d 0a 20 20 20 20 20 20 | tor.[&rest.[sexp.form]])]....... |
| 17d20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 | .............body))............( |
| 17d40 | 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 69 66 20 28 76 65 63 74 6f 72 70 20 76 61 72 6c 69 73 | indent.1))...(if.(vectorp.varlis |
| 17d60 | 74 29 0a 20 20 20 20 20 20 60 28 6c 65 74 2a 20 2c 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 61 | t).......`(let*.,(dash--match.(a |
| 17d80 | 72 65 66 20 76 61 72 6c 69 73 74 20 30 29 20 28 61 72 65 66 20 76 61 72 6c 69 73 74 20 31 29 29 | ref.varlist.0).(aref.varlist.1)) |
| 17da0 | 0a 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 76 61 | ..........,@body).....(let*.((va |
| 17dc0 | 72 6c 69 73 74 20 28 64 61 73 68 2d 2d 6e 6f 72 6d 61 6c 69 7a 65 2d 6c 65 74 2d 76 61 72 6c 69 | rlist.(dash--normalize-let-varli |
| 17de0 | 73 74 20 76 61 72 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 70 75 74 73 20 | st.varlist))............(inputs. |
| 17e00 | 28 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 6c 69 73 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f | (--map-indexed.(list.(make-symbo |
| 17e20 | 6c 20 28 66 6f 72 6d 61 74 20 22 69 6e 70 75 74 25 64 22 20 69 74 2d 69 6e 64 65 78 29 29 20 28 | l.(format."input%d".it-index)).( |
| 17e40 | 63 61 64 72 20 69 74 29 29 20 76 61 72 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 | cadr.it)).varlist))............( |
| 17e60 | 6e 65 77 2d 76 61 72 6c 69 73 74 20 28 2d 2d 7a 69 70 2d 77 69 74 68 20 28 6c 69 73 74 20 28 63 | new-varlist.(--zip-with.(list.(c |
| 17e80 | 61 72 20 69 74 29 20 28 63 61 72 20 6f 74 68 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ar.it).(car.other))............. |
| 17ea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 6c 69 73 74 20 | ........................varlist. |
| 17ec0 | 69 6e 70 75 74 73 29 29 29 0a 20 20 20 20 20 20 60 28 6c 65 74 20 2c 69 6e 70 75 74 73 0a 20 20 | inputs))).......`(let.,inputs... |
| 17ee0 | 20 20 20 20 20 20 20 28 2d 6c 65 74 2a 20 2c 6e 65 77 2d 76 61 72 6c 69 73 74 20 2c 40 62 6f 64 | .......(-let*.,new-varlist.,@bod |
| 17f00 | 79 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 6c 61 6d 62 64 61 20 28 6d 61 74 63 68 | y)))))..(defmacro.-lambda.(match |
| 17f20 | 2d 66 6f 72 6d 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 61 | -form.&rest.body)..."Return.a.la |
| 17f40 | 6d 62 64 61 20 77 68 69 63 68 20 64 65 73 74 72 75 63 74 75 72 65 73 20 69 74 73 20 69 6e 70 75 | mbda.which.destructures.its.inpu |
| 17f60 | 74 20 61 73 20 4d 41 54 43 48 2d 46 4f 52 4d 20 61 6e 64 20 65 78 65 63 75 74 65 73 20 42 4f 44 | t.as.MATCH-FORM.and.executes.BOD |
| 17f80 | 59 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 79 6f 75 20 68 61 76 65 20 74 6f 20 65 6e 63 6c 6f 73 | Y...Note.that.you.have.to.enclos |
| 17fa0 | 65 20 74 68 65 20 4d 41 54 43 48 2d 46 4f 52 4d 20 69 6e 20 61 20 70 61 69 72 20 6f 66 20 70 61 | e.the.MATCH-FORM.in.a.pair.of.pa |
| 17fc0 | 72 65 6e 73 2c 0a 73 75 63 68 20 74 68 61 74 3a 0a 0a 20 20 28 2d 6c 61 6d 62 64 61 20 28 78 29 | rens,.such.that:....(-lambda.(x) |
| 17fe0 | 20 62 6f 64 79 29 0a 20 20 28 2d 6c 61 6d 62 64 61 20 28 78 20 79 20 2e 2e 2e 29 20 62 6f 64 79 | .body)...(-lambda.(x.y....).body |
| 18000 | 29 0a 0a 68 61 73 20 74 68 65 20 75 73 75 61 6c 20 73 65 6d 61 6e 74 69 63 73 20 6f 66 20 60 6c | )..has.the.usual.semantics.of.`l |
| 18020 | 61 6d 62 64 61 27 2e 20 20 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 74 68 65 73 65 20 67 65 74 0a | ambda'...Furthermore,.these.get. |
| 18040 | 74 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 6e 6f 72 6d 61 6c 20 60 6c 61 6d 62 64 61 27 2c | translated.into.normal.`lambda', |
| 18060 | 20 73 6f 20 74 68 65 72 65 20 69 73 20 6e 6f 20 70 65 72 66 6f 72 6d 61 6e 63 65 0a 70 65 6e 61 | .so.there.is.no.performance.pena |
| 18080 | 6c 74 79 2e 0a 0a 53 65 65 20 60 2d 6c 65 74 27 20 66 6f 72 20 61 20 64 65 73 63 72 69 70 74 69 | lty...See.`-let'.for.a.descripti |
| 180a0 | 6f 6e 20 6f 66 20 74 68 65 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 6d 65 63 68 61 6e 69 73 | on.of.the.destructuring.mechanis |
| 180c0 | 6d 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 6f 63 2d 73 74 72 69 6e 67 20 32 29 20 28 69 | m."...(declare.(doc-string.2).(i |
| 180e0 | 6e 64 65 6e 74 20 64 65 66 75 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 65 62 75 67 20 28 | ndent.defun)............(debug.( |
| 18100 | 26 64 65 66 69 6e 65 20 73 65 78 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | &define.sexp.................... |
| 18120 | 20 20 20 20 20 20 20 20 5b 26 6f 70 74 69 6f 6e 61 6c 20 73 74 72 69 6e 67 70 5d 0a 20 20 20 20 | ........[&optional.stringp]..... |
| 18140 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 26 6f 70 74 69 6f 6e 61 | .......................[&optiona |
| 18160 | 6c 20 28 22 69 6e 74 65 72 61 63 74 69 76 65 22 20 69 6e 74 65 72 61 63 74 69 76 65 29 5d 0a 20 | l.("interactive".interactive)].. |
| 18180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 2d 62 6f | ..........................def-bo |
| 181a0 | 64 79 29 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 6c 69 73 74 70 20 6d 61 74 63 68 2d | dy)))...(cond....((nlistp.match- |
| 181c0 | 66 6f 72 6d 29 0a 20 20 20 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 | form).....(signal.'wrong-type-ar |
| 181e0 | 67 75 6d 65 6e 74 20 28 6c 69 73 74 20 23 27 6c 69 73 74 70 20 6d 61 74 63 68 2d 66 6f 72 6d 29 | gument.(list.#'listp.match-form) |
| 18200 | 29 29 0a 20 20 20 3b 3b 20 4e 6f 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2c 20 73 6f 20 6a 75 | ))....;;.No.destructuring,.so.ju |
| 18220 | 73 74 20 72 65 74 75 72 6e 20 72 65 67 75 6c 61 72 20 60 6c 61 6d 62 64 61 27 20 66 6f 72 20 73 | st.return.regular.`lambda'.for.s |
| 18240 | 70 65 65 64 2e 0a 20 20 20 28 28 2d 61 6c 6c 3f 20 23 27 73 79 6d 62 6f 6c 70 20 6d 61 74 63 68 | peed.....((-all?.#'symbolp.match |
| 18260 | 2d 66 6f 72 6d 29 0a 20 20 20 20 60 28 6c 61 6d 62 64 61 20 2c 6d 61 74 63 68 2d 66 6f 72 6d 20 | -form).....`(lambda.,match-form. |
| 18280 | 2c 40 62 6f 64 79 29 29 0a 20 20 20 28 28 6c 65 74 20 28 28 69 6e 70 75 74 73 20 28 2d 2d 6d 61 | ,@body))....((let.((inputs.(--ma |
| 182a0 | 70 2d 69 6e 64 65 78 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 | p-indexed....................(li |
| 182c0 | 73 74 20 69 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 28 66 6f 72 6d 61 74 20 22 69 6e 70 75 | st.it.(make-symbol.(format."inpu |
| 182e0 | 74 25 64 22 20 69 74 2d 69 6e 64 65 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t%d".it-index)))................ |
| 18300 | 20 20 20 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 54 4f 44 4f 3a | ....match-form))).......;;.TODO: |
| 18320 | 20 62 65 63 61 75 73 65 20 69 6e 70 75 74 73 20 74 6f 20 74 68 65 20 60 6c 61 6d 62 64 61 27 20 | .because.inputs.to.the.`lambda'. |
| 18340 | 61 72 65 20 65 76 61 6c 75 61 74 65 64 20 6f 6e 6c 79 20 6f 6e 63 65 2c 0a 20 20 20 20 20 20 3b | are.evaluated.only.once,.......; |
| 18360 | 3b 20 60 2d 6c 65 74 2a 27 20 6e 65 65 64 20 6e 6f 74 20 63 72 65 61 74 65 20 74 68 65 20 65 78 | ;.`-let*'.need.not.create.the.ex |
| 18380 | 74 72 61 20 62 69 6e 64 69 6e 67 73 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 2e 0a 20 20 20 | tra.bindings.to.ensure.that..... |
| 183a0 | 20 20 20 3b 3b 20 57 65 20 73 68 6f 75 6c 64 20 66 69 6e 64 20 61 20 77 61 79 20 74 6f 20 6f 70 | ...;;.We.should.find.a.way.to.op |
| 183c0 | 74 69 6d 69 7a 65 20 74 68 61 74 2e 20 20 4e 6f 74 20 63 72 69 74 69 63 61 6c 20 68 6f 77 65 76 | timize.that...Not.critical.howev |
| 183e0 | 65 72 2e 0a 20 20 20 20 20 20 60 28 6c 61 6d 62 64 61 20 2c 28 6d 61 70 63 61 72 20 23 27 63 61 | er........`(lambda.,(mapcar.#'ca |
| 18400 | 64 72 20 69 6e 70 75 74 73 29 0a 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74 2a 20 2c 69 6e 70 75 | dr.inputs)..........(-let*.,inpu |
| 18420 | 74 73 20 2c 40 62 6f 64 79 29 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 73 65 74 71 | ts.,@body))))))..(defmacro.-setq |
| 18440 | 20 28 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 22 42 69 6e 64 20 65 61 63 68 20 4d 41 54 43 | .(&rest.forms)..."Bind.each.MATC |
| 18460 | 48 2d 46 4f 52 4d 20 74 6f 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 69 74 73 20 56 41 4c 2e 0a | H-FORM.to.the.value.of.its.VAL.. |
| 18480 | 0a 4d 41 54 43 48 2d 46 4f 52 4d 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 69 73 20 64 6f 6e | .MATCH-FORM.destructuring.is.don |
| 184a0 | 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 72 75 6c 65 73 20 6f 66 20 60 2d 6c 65 | e.according.to.the.rules.of.`-le |
| 184c0 | 74 27 2e 0a 0a 54 68 69 73 20 6d 61 63 72 6f 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 62 69 | t'...This.macro.allows.you.to.bi |
| 184e0 | 6e 64 20 6d 75 6c 74 69 70 6c 65 20 76 61 72 69 61 62 6c 65 73 20 62 79 20 64 65 73 74 72 75 63 | nd.multiple.variables.by.destruc |
| 18500 | 74 75 72 69 6e 67 0a 74 68 65 20 76 61 6c 75 65 2c 20 73 6f 20 66 6f 72 20 65 78 61 6d 70 6c 65 | turing.the.value,.so.for.example |
| 18520 | 3a 0a 0a 20 20 28 2d 73 65 74 71 20 28 61 20 62 29 20 78 0a 20 20 20 20 20 20 20 20 20 28 26 70 | :....(-setq.(a.b).x..........(&p |
| 18540 | 6c 69 73 74 20 3a 63 20 63 29 20 70 6c 69 73 74 29 0a 0a 65 78 70 61 6e 64 73 20 72 6f 75 67 68 | list.:c.c).plist)..expands.rough |
| 18560 | 6c 79 20 73 70 65 61 6b 69 6e 67 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 | ly.speaking.to.the.following.cod |
| 18580 | 65 0a 0a 20 20 28 73 65 74 71 20 61 20 28 63 61 72 20 78 29 0a 20 20 20 20 20 20 20 20 62 20 28 | e....(setq.a.(car.x).........b.( |
| 185a0 | 63 61 64 72 20 78 29 0a 20 20 20 20 20 20 20 20 63 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 | cadr.x).........c.(plist-get.pli |
| 185c0 | 73 74 20 3a 63 29 29 0a 0a 43 61 72 65 20 69 73 20 74 61 6b 65 6e 20 74 6f 20 6f 6e 6c 79 20 65 | st.:c))..Care.is.taken.to.only.e |
| 185e0 | 76 61 6c 75 61 74 65 20 65 61 63 68 20 56 41 4c 20 6f 6e 63 65 20 73 6f 20 74 68 61 74 20 69 6e | valuate.each.VAL.once.so.that.in |
| 18600 | 20 63 61 73 65 20 6f 66 0a 6d 75 6c 74 69 70 6c 65 20 61 73 73 69 67 6e 6d 65 6e 74 73 20 69 74 | .case.of.multiple.assignments.it |
| 18620 | 20 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 75 6e 65 78 70 65 63 74 65 64 20 73 69 64 65 20 | .does.not.cause.unexpected.side. |
| 18640 | 65 66 66 65 63 74 73 2e 0a 0a 5c 28 66 6e 20 5b 4d 41 54 43 48 2d 46 4f 52 4d 20 56 41 4c 5d 2e | effects...\(fn.[MATCH-FORM.VAL]. |
| 18660 | 2e 2e 29 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 26 72 65 73 74 20 73 65 | ..)"...(declare.(debug.(&rest.se |
| 18680 | 78 70 20 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20 31 29 29 | xp.form))............(indent.1)) |
| 186a0 | 0a 20 20 28 77 68 65 6e 20 28 3d 20 28 6d 6f 64 20 28 6c 65 6e 67 74 68 20 66 6f 72 6d 73 29 20 | ...(when.(=.(mod.(length.forms). |
| 186c0 | 32 29 20 31 29 0a 20 20 20 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 6e 75 6d 62 65 72 2d | 2).1).....(signal.'wrong-number- |
| 186e0 | 6f 66 2d 61 72 67 75 6d 65 6e 74 73 20 28 6c 69 73 74 20 27 2d 73 65 74 71 20 28 31 2b 20 28 6c | of-arguments.(list.'-setq.(1+.(l |
| 18700 | 65 6e 67 74 68 20 66 6f 72 6d 73 29 29 29 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 66 6f 72 6d 73 | ength.forms)))))...(let*.((forms |
| 18720 | 2d 61 6e 64 2d 73 6f 75 72 63 65 73 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 46 69 72 73 74 20 | -and-sources...........;;.First. |
| 18740 | 67 65 74 20 61 6c 6c 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 6d 61 70 70 69 6e 67 73 20 77 | get.all.the.necessary.mappings.w |
| 18760 | 69 74 68 20 61 6c 6c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 6e 74 65 72 6d 65 | ith.all.the...........;;.interme |
| 18780 | 64 69 61 74 65 20 62 69 6e 64 69 6e 67 73 2e 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 | diate.bindings............(-map. |
| 187a0 | 28 6c 61 6d 62 64 61 20 28 78 29 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 63 61 72 20 78 29 | (lambda.(x).(dash--match.(car.x) |
| 187c0 | 20 28 63 61 64 72 20 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 | .(cadr.x))).................(-pa |
| 187e0 | 72 74 69 74 69 6f 6e 20 32 20 66 6f 72 6d 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 54 | rtition.2.forms)))..........;;.T |
| 18800 | 6f 20 70 72 65 73 65 72 76 65 20 74 68 65 20 6c 6f 67 69 63 20 6f 66 20 64 79 6e 61 6d 69 63 20 | o.preserve.the.logic.of.dynamic. |
| 18820 | 73 63 6f 70 69 6e 67 20 77 65 20 6d 75 73 74 20 65 6e 73 75 72 65 0a 20 20 20 20 20 20 20 20 20 | scoping.we.must.ensure.......... |
| 18840 | 3b 3b 20 74 68 61 74 20 77 65 20 60 73 65 74 71 27 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 20 | ;;.that.we.`setq'.the.variables. |
| 18860 | 6f 75 74 73 69 64 65 20 6f 66 20 74 68 65 20 60 6c 65 74 2a 27 20 66 6f 72 6d 0a 20 20 20 20 20 | outside.of.the.`let*'.form...... |
| 18880 | 20 20 20 20 3b 3b 20 77 68 69 63 68 20 68 6f 6c 64 73 20 74 68 65 20 64 65 73 74 72 75 63 74 75 | ....;;.which.holds.the.destructu |
| 188a0 | 72 65 64 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 2e 20 20 46 6f 72 0a 20 20 | red.intermediate.values...For... |
| 188c0 | 20 20 20 20 20 20 20 3b 3b 20 74 68 69 73 20 77 65 20 67 65 6e 65 72 61 74 65 20 66 6f 72 20 65 | .......;;.this.we.generate.for.e |
| 188e0 | 61 63 68 20 76 61 72 69 61 62 6c 65 20 61 20 70 6c 61 63 65 68 6f 6c 64 65 72 20 77 68 69 63 68 | ach.variable.a.placeholder.which |
| 18900 | 20 69 73 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 62 6f 75 6e 64 20 74 6f 20 28 6c 65 78 69 63 61 | .is..........;;.bound.to.(lexica |
| 18920 | 6c 6c 79 29 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 64 65 73 74 72 75 63 74 75 | lly).the.result.of.the.destructu |
| 18940 | 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 6e 20 6f 75 74 73 69 64 65 20 6f | ring...........;;.Then.outside.o |
| 18960 | 66 20 74 68 65 20 68 65 6c 70 65 72 20 60 6c 65 74 2a 27 20 66 6f 72 6d 20 77 65 20 62 69 6e 64 | f.the.helper.`let*'.form.we.bind |
| 18980 | 20 61 6c 6c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 72 69 67 69 6e 61 6c 20 76 61 | .all.the..........;;.original.va |
| 189a0 | 72 69 61 62 6c 65 73 20 74 6f 20 74 68 65 69 72 20 72 65 73 70 65 63 74 69 76 65 20 70 6c 61 63 | riables.to.their.respective.plac |
| 189c0 | 65 68 6f 6c 64 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 54 68 65 72 | eholders...........;;.TODO:.Ther |
| 189e0 | 65 20 69 73 20 61 20 6c 6f 74 20 6f 66 20 72 6f 6f 6d 20 66 6f 72 20 70 6f 73 73 69 62 6c 65 20 | e.is.a.lot.of.room.for.possible. |
| 18a00 | 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 66 6f 72 20 73 74 | optimization,..........;;.for.st |
| 18a20 | 61 72 74 20 70 6c 61 79 69 6e 67 20 77 69 74 68 20 60 73 70 65 63 69 61 6c 2d 76 61 72 69 61 62 | art.playing.with.`special-variab |
| 18a40 | 6c 65 2d 70 27 20 74 6f 20 65 6c 69 6d 69 6e 61 74 65 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 75 | le-p'.to.eliminate..........;;.u |
| 18a60 | 6e 6e 65 63 65 73 73 61 72 79 20 72 65 2d 62 69 6e 64 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 | nnecessary.re-binding........... |
| 18a80 | 28 76 61 72 69 61 62 6c 65 73 2d 74 6f 2d 70 6c 61 63 65 68 6f 6c 64 65 72 73 0a 20 20 20 20 20 | (variables-to-placeholders...... |
| 18aa0 | 20 20 20 20 20 28 2d 6d 61 70 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 | .....(-mapcat............(lambda |
| 18ac0 | 20 28 62 69 6e 64 69 6e 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 0a 20 | .(bindings)..............(-map.. |
| 18ae0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 62 69 6e 64 69 6e 67 29 0a 20 | .............(lambda.(binding).. |
| 18b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 61 72 20 28 63 61 72 20 62 | ...............(let.((var.(car.b |
| 18b20 | 69 6e 64 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 | inding)))...................(lis |
| 18b40 | 74 20 76 61 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 28 63 6f 6e 63 61 74 20 22 2d 2d 64 61 | t.var.(make-symbol.(concat."--da |
| 18b60 | 73 68 2d 62 69 6e 64 69 6e 67 2d 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 76 61 72 29 20 22 | sh-binding-".(symbol-name.var)." |
| 18b80 | 2d 2d 22 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 6c 74 65 72 | --")))))...............(--filter |
| 18ba0 | 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 70 72 65 66 69 78 2d 70 20 22 2d 2d 22 20 28 73 79 6d | .(not.(string-prefix-p."--".(sym |
| 18bc0 | 62 6f 6c 2d 6e 61 6d 65 20 28 63 61 72 20 69 74 29 29 29 29 20 62 69 6e 64 69 6e 67 73 29 29 29 | bol-name.(car.it)))).bindings))) |
| 18be0 | 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 6d 73 2d 61 6e 64 2d 73 6f 75 72 63 65 73 29 29 29 | ............forms-and-sources))) |
| 18c00 | 0a 20 20 20 20 60 28 6c 65 74 20 2c 28 2d 6d 61 70 20 27 63 61 64 72 20 76 61 72 69 61 62 6c 65 | .....`(let.,(-map.'cadr.variable |
| 18c20 | 73 2d 74 6f 2d 70 6c 61 63 65 68 6f 6c 64 65 72 73 29 0a 20 20 20 20 20 20 20 28 6c 65 74 2a 20 | s-to-placeholders)........(let*. |
| 18c40 | 2c 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 31 20 66 6f 72 6d 73 2d 61 6e 64 2d 73 6f 75 72 63 65 73 | ,(-flatten-n.1.forms-and-sources |
| 18c60 | 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 40 28 2d 66 6c 61 74 74 65 6e 20 28 2d 6d | )..........(setq.,@(-flatten.(-m |
| 18c80 | 61 70 20 27 72 65 76 65 72 73 65 20 76 61 72 69 61 62 6c 65 73 2d 74 6f 2d 70 6c 61 63 65 68 6f | ap.'reverse.variables-to-placeho |
| 18ca0 | 6c 64 65 72 73 29 29 29 29 0a 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 40 28 2d 66 6c 61 74 74 | lders))))........(setq.,@(-flatt |
| 18cc0 | 65 6e 20 76 61 72 69 61 62 6c 65 73 2d 74 6f 2d 70 6c 61 63 65 68 6f 6c 64 65 72 73 29 29 29 29 | en.variables-to-placeholders)))) |
| 18ce0 | 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 69 66 2d 6c 65 74 2a 20 28 76 61 72 73 2d 76 61 6c 73 | )..(defmacro.-if-let*.(vars-vals |
| 18d00 | 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 0a 20 20 22 49 66 20 61 6c 6c 20 56 41 4c 53 | .then.&rest.else)..."If.all.VALS |
| 18d20 | 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 72 75 65 2c 20 62 69 6e 64 20 74 68 65 6d 20 74 6f 20 | .evaluate.to.true,.bind.them.to. |
| 18d40 | 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 56 41 52 53 20 61 6e 64 20 64 6f 20 | their.corresponding.VARS.and.do. |
| 18d60 | 54 48 45 4e 2c 20 6f 74 68 65 72 77 69 73 65 20 64 6f 20 45 4c 53 45 2e 20 56 41 52 53 2d 56 41 | THEN,.otherwise.do.ELSE..VARS-VA |
| 18d80 | 4c 53 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 0a 6f 66 20 28 56 41 52 20 56 41 4c 29 | LS.should.be.a.list.of.(VAR.VAL) |
| 18da0 | 20 70 61 69 72 73 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 | .pairs...Note:.binding.is.done.a |
| 18dc0 | 63 63 6f 72 64 69 6e 67 20 74 6f 20 60 2d 6c 65 74 2a 27 2e 20 20 56 41 4c 53 20 61 72 65 20 65 | ccording.to.`-let*'...VALS.are.e |
| 18de0 | 76 61 6c 75 61 74 65 64 0a 73 65 71 75 65 6e 74 69 61 6c 6c 79 2c 20 61 6e 64 20 65 76 61 6c 75 | valuated.sequentially,.and.evalu |
| 18e00 | 61 74 69 6f 6e 20 73 74 6f 70 73 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 6e 69 6c 20 | ation.stops.after.the.first.nil. |
| 18e20 | 56 41 4c 20 69 73 0a 65 6e 63 6f 75 6e 74 65 72 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 | VAL.is.encountered."...(declare. |
| 18e40 | 28 64 65 62 75 67 20 28 28 26 72 65 73 74 20 28 73 65 78 70 20 66 6f 72 6d 29 29 20 66 6f 72 6d | (debug.((&rest.(sexp.form)).form |
| 18e60 | 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 | .body))............(indent.2)).. |
| 18e80 | 20 28 2d 3e 3e 20 76 61 72 73 2d 76 61 6c 73 0a 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 63 61 74 | .(->>.vars-vals........(--mapcat |
| 18ea0 | 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 63 61 72 20 69 74 29 20 28 63 61 64 72 20 69 74 29 | .(dash--match.(car.it).(cadr.it) |
| 18ec0 | 29 29 0a 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 0a 20 20 20 20 20 | ))........(--reduce-r-from...... |
| 18ee0 | 20 20 20 28 6c 65 74 20 28 28 76 61 72 20 28 63 61 72 20 69 74 29 29 0a 20 20 20 20 20 20 20 20 | ...(let.((var.(car.it))......... |
| 18f00 | 20 20 20 20 20 20 28 76 61 6c 20 28 63 61 64 72 20 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 | ......(val.(cadr.it))).......... |
| 18f20 | 20 60 28 6c 65 74 20 28 28 2c 76 61 72 20 2c 76 61 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | .`(let.((,var.,val))............ |
| 18f40 | 20 20 28 69 66 20 2c 76 61 72 20 2c 61 63 63 20 2c 40 65 6c 73 65 29 29 29 0a 20 20 20 20 20 20 | ..(if.,var.,acc.,@else)))....... |
| 18f60 | 20 20 74 68 65 6e 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 69 66 2d 6c 65 74 20 28 76 61 | ..then)))..(defmacro.-if-let.(va |
| 18f80 | 72 2d 76 61 6c 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 0a 20 20 22 49 66 20 56 41 4c | r-val.then.&rest.else)..."If.VAL |
| 18fa0 | 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 62 69 6e 64 20 69 74 20 74 | .evaluates.to.non-nil,.bind.it.t |
| 18fc0 | 6f 20 56 41 52 20 61 6e 64 20 64 6f 20 54 48 45 4e 2c 0a 6f 74 68 65 72 77 69 73 65 20 64 6f 20 | o.VAR.and.do.THEN,.otherwise.do. |
| 18fe0 | 45 4c 53 45 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 | ELSE...Note:.binding.is.done.acc |
| 19000 | 6f 72 64 69 6e 67 20 74 6f 20 60 2d 6c 65 74 27 2e 0a 0a 5c 28 66 6e 20 28 56 41 52 20 56 41 4c | ording.to.`-let'...\(fn.(VAR.VAL |
| 19020 | 29 20 54 48 45 4e 20 26 72 65 73 74 20 45 4c 53 45 29 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 | ).THEN.&rest.ELSE)"...(declare.( |
| 19040 | 64 65 62 75 67 20 28 28 73 65 78 70 20 66 6f 72 6d 29 20 66 6f 72 6d 20 62 6f 64 79 29 29 0a 20 | debug.((sexp.form).form.body)).. |
| 19060 | 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 20 60 28 2d 69 66 2d 6c 65 | ..........(indent.2))...`(-if-le |
| 19080 | 74 2a 20 28 2c 76 61 72 2d 76 61 6c 29 20 2c 74 68 65 6e 20 2c 40 65 6c 73 65 29 29 0a 0a 28 64 | t*.(,var-val).,then.,@else))..(d |
| 190a0 | 65 66 6d 61 63 72 6f 20 2d 2d 69 66 2d 6c 65 74 20 28 76 61 6c 20 74 68 65 6e 20 26 72 65 73 74 | efmacro.--if-let.(val.then.&rest |
| 190c0 | 20 65 6c 73 65 29 0a 20 20 22 49 66 20 56 41 4c 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f | .else)..."If.VAL.evaluates.to.no |
| 190e0 | 6e 2d 6e 69 6c 2c 20 62 69 6e 64 20 69 74 20 74 6f 20 73 79 6d 62 6f 6c 20 60 69 74 27 20 61 6e | n-nil,.bind.it.to.symbol.`it'.an |
| 19100 | 64 20 64 6f 20 54 48 45 4e 2c 0a 6f 74 68 65 72 77 69 73 65 20 64 6f 20 45 4c 53 45 2e 22 0a 20 | d.do.THEN,.otherwise.do.ELSE.".. |
| 19120 | 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 66 6f 72 6d 20 62 6f 64 79 | .(declare.(debug.(form.form.body |
| 19140 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 20 60 28 2d 69 | ))............(indent.2))...`(-i |
| 19160 | 66 2d 6c 65 74 20 28 69 74 20 2c 76 61 6c 29 20 2c 74 68 65 6e 20 2c 40 65 6c 73 65 29 29 0a 0a | f-let.(it.,val).,then.,@else)).. |
| 19180 | 28 64 65 66 6d 61 63 72 6f 20 2d 77 68 65 6e 2d 6c 65 74 2a 20 28 76 61 72 73 2d 76 61 6c 73 20 | (defmacro.-when-let*.(vars-vals. |
| 191a0 | 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 49 66 20 61 6c 6c 20 56 41 4c 53 20 65 76 61 6c 75 | &rest.body)..."If.all.VALS.evalu |
| 191c0 | 61 74 65 20 74 6f 20 74 72 75 65 2c 20 62 69 6e 64 20 74 68 65 6d 20 74 6f 20 74 68 65 69 72 20 | ate.to.true,.bind.them.to.their. |
| 191e0 | 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 56 41 52 53 20 61 6e 64 20 65 78 65 63 75 74 65 20 62 | corresponding.VARS.and.execute.b |
| 19200 | 6f 64 79 2e 20 56 41 52 53 2d 56 41 4c 53 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 20 | ody..VARS-VALS.should.be.a.list. |
| 19220 | 6f 66 20 28 56 41 52 20 56 41 4c 29 0a 70 61 69 72 73 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 | of.(VAR.VAL).pairs...Note:.bindi |
| 19240 | 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 60 2d 6c 65 74 2a 27 2e | ng.is.done.according.to.`-let*'. |
| 19260 | 20 20 56 41 4c 53 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 0a 73 65 71 75 65 6e 74 69 61 6c 6c | ..VALS.are.evaluated.sequentiall |
| 19280 | 79 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6f 6e 20 73 74 6f 70 73 20 61 66 74 65 72 20 74 68 | y,.and.evaluation.stops.after.th |
| 192a0 | 65 20 66 69 72 73 74 20 6e 69 6c 20 56 41 4c 20 69 73 0a 65 6e 63 6f 75 6e 74 65 72 65 64 2e 22 | e.first.nil.VAL.is.encountered." |
| 192c0 | 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 28 26 72 65 73 74 20 28 73 65 78 70 | ...(declare.(debug.((&rest.(sexp |
| 192e0 | 20 66 6f 72 6d 29 29 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e | .form)).body))............(inden |
| 19300 | 74 20 31 29 29 0a 20 20 60 28 2d 69 66 2d 6c 65 74 2a 20 2c 76 61 72 73 2d 76 61 6c 73 20 28 70 | t.1))...`(-if-let*.,vars-vals.(p |
| 19320 | 72 6f 67 6e 20 2c 40 62 6f 64 79 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 77 68 65 6e 2d | rogn.,@body)))..(defmacro.-when- |
| 19340 | 6c 65 74 20 28 76 61 72 2d 76 61 6c 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 49 66 20 56 | let.(var-val.&rest.body)..."If.V |
| 19360 | 41 4c 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 62 69 6e 64 20 69 74 | AL.evaluates.to.non-nil,.bind.it |
| 19380 | 20 74 6f 20 56 41 52 20 61 6e 64 20 65 78 65 63 75 74 65 20 62 6f 64 79 2e 0a 0a 4e 6f 74 65 3a | .to.VAR.and.execute.body...Note: |
| 193a0 | 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 60 2d | .binding.is.done.according.to.`- |
| 193c0 | 6c 65 74 27 2e 0a 0a 5c 28 66 6e 20 28 56 41 52 20 56 41 4c 29 20 26 72 65 73 74 20 42 4f 44 59 | let'...\(fn.(VAR.VAL).&rest.BODY |
| 193e0 | 29 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 28 73 65 78 70 20 66 6f 72 6d | )"...(declare.(debug.((sexp.form |
| 19400 | 29 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20 31 29 29 0a | ).body))............(indent.1)). |
| 19420 | 20 20 60 28 2d 69 66 2d 6c 65 74 20 2c 76 61 72 2d 76 61 6c 20 28 70 72 6f 67 6e 20 2c 40 62 6f | ..`(-if-let.,var-val.(progn.,@bo |
| 19440 | 64 79 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 77 68 65 6e 2d 6c 65 74 20 28 76 61 6c | dy)))..(defmacro.--when-let.(val |
| 19460 | 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 49 66 20 56 41 4c 20 65 76 61 6c 75 61 74 65 73 | .&rest.body)..."If.VAL.evaluates |
| 19480 | 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 62 69 6e 64 20 69 74 20 74 6f 20 73 79 6d 62 6f 6c 20 60 | .to.non-nil,.bind.it.to.symbol.` |
| 194a0 | 69 74 27 20 61 6e 64 0a 65 78 65 63 75 74 65 20 62 6f 64 79 2e 22 0a 20 20 28 64 65 63 6c 61 72 | it'.and.execute.body."...(declar |
| 194c0 | 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 | e.(debug.(form.body))........... |
| 194e0 | 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 60 28 2d 2d 69 66 2d 6c 65 74 20 2c 76 61 6c 20 28 | .(indent.1))...`(--if-let.,val.( |
| 19500 | 70 72 6f 67 6e 20 2c 40 62 6f 64 79 29 29 29 0a 0a 3b 3b 20 54 4f 44 4f 3a 20 47 65 74 20 72 69 | progn.,@body)))..;;.TODO:.Get.ri |
| 19520 | 64 20 6f 66 20 74 68 69 73 20 64 79 6e 61 6d 69 63 20 76 61 72 69 61 62 6c 65 2c 20 70 61 73 73 | d.of.this.dynamic.variable,.pass |
| 19540 | 69 6e 67 20 69 74 20 61 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 0a 3b 3b 20 69 6e 73 74 65 61 64 | ing.it.as.an.argument.;;.instead |
| 19560 | 3f 0a 28 64 65 66 76 61 72 20 2d 63 6f 6d 70 61 72 65 2d 66 6e 20 6e 69 6c 0a 20 20 22 54 65 73 | ?.(defvar.-compare-fn.nil..."Tes |
| 19580 | 74 73 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 75 73 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f | ts.for.equality.use.this.functio |
| 195a0 | 6e 2c 20 6f 72 20 60 65 71 75 61 6c 27 20 69 66 20 74 68 69 73 20 69 73 20 6e 69 6c 2e 0a 0a 41 | n,.or.`equal'.if.this.is.nil...A |
| 195c0 | 73 20 61 20 64 79 6e 61 6d 69 63 20 76 61 72 69 61 62 6c 65 2c 20 74 68 69 73 20 73 68 6f 75 6c | s.a.dynamic.variable,.this.shoul |
| 195e0 | 64 20 62 65 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 62 6f 75 6e 64 20 61 72 6f 75 6e 64 0a 74 68 | d.be.temporarily.bound.around.th |
| 19600 | 65 20 72 65 6c 65 76 61 6e 74 20 6f 70 65 72 61 74 69 6f 6e 2c 20 72 61 74 68 65 72 20 74 68 61 | e.relevant.operation,.rather.tha |
| 19620 | 6e 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 6d 6f 64 69 66 69 65 64 2e 20 20 46 6f 72 0a 65 78 61 | n.permanently.modified...For.exa |
| 19640 | 6d 70 6c 65 3a 0a 0a 20 20 28 6c 65 74 20 28 28 2d 63 6f 6d 70 61 72 65 2d 66 6e 20 23 5c 5c 3d | mple:....(let.((-compare-fn.#\\= |
| 19660 | 27 3d 29 29 0a 20 20 20 20 28 2d 75 6e 69 6f 6e 20 5c 5c 3d 27 28 31 20 32 20 33 29 20 5c 5c 3d | '=)).....(-union.\\='(1.2.3).\\= |
| 19680 | 27 28 32 20 33 20 34 29 29 29 22 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 65 6d 62 65 | '(2.3.4)))")..(defun.dash--membe |
| 196a0 | 72 2d 66 6e 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 6c 61 76 6f 72 20 6f 66 20 | r-fn.()..."Return.the.flavor.of. |
| 196c0 | 60 6d 65 6d 62 65 72 27 20 74 68 61 74 20 67 6f 65 73 20 62 65 73 74 20 77 69 74 68 20 60 2d 63 | `member'.that.goes.best.with.`-c |
| 196e0 | 6f 6d 70 61 72 65 2d 66 6e 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 | ompare-fn'."...(declare.(side-ef |
| 19700 | 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 28 6c 65 74 20 28 28 | fect-free.error-free))...(let.(( |
| 19720 | 63 6d 70 20 2d 63 6f 6d 70 61 72 65 2d 66 6e 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 6d 65 | cmp.-compare-fn)).....(cond.((me |
| 19740 | 6d 71 20 63 6d 70 20 27 28 6e 69 6c 20 65 71 75 61 6c 29 29 20 23 27 6d 65 6d 62 65 72 29 0a 20 | mq.cmp.'(nil.equal)).#'member).. |
| 19760 | 20 20 20 20 20 20 20 20 20 28 28 65 71 20 63 6d 70 20 23 27 65 71 29 20 23 27 6d 65 6d 71 29 0a | .........((eq.cmp.#'eq).#'memq). |
| 19780 | 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 63 6d 70 20 23 27 65 71 6c 29 20 23 27 6d 65 6d 71 | ..........((eq.cmp.#'eql).#'memq |
| 197a0 | 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6c 61 6d 62 64 61 20 28 65 6c 74 20 6c 69 73 74 29 | l)...........((lambda.(elt.list) |
| 197c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 6c 69 73 74 20 28 | ..............(while.(and.list.( |
| 197e0 | 6e 6f 74 20 28 66 75 6e 63 61 6c 6c 20 63 6d 70 20 65 6c 74 20 28 63 61 72 20 6c 69 73 74 29 29 | not.(funcall.cmp.elt.(car.list)) |
| 19800 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 70 20 6c 69 73 74 29 29 0a 20 20 | ))................(pop.list))... |
| 19820 | 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 | ...........list)))))..(defun.das |
| 19840 | 68 2d 2d 61 73 73 6f 63 2d 66 6e 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 6c 61 | h--assoc-fn.()..."Return.the.fla |
| 19860 | 76 6f 72 20 6f 66 20 60 61 73 73 6f 63 27 20 74 68 61 74 20 67 6f 65 73 20 62 65 73 74 20 77 69 | vor.of.`assoc'.that.goes.best.wi |
| 19880 | 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 | th.`-compare-fn'."...(declare.(s |
| 198a0 | 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 28 | ide-effect-free.error-free))...( |
| 198c0 | 6c 65 74 20 28 28 63 6d 70 20 2d 63 6f 6d 70 61 72 65 2d 66 6e 29 29 0a 20 20 20 20 28 63 6f 6e | let.((cmp.-compare-fn)).....(con |
| 198e0 | 64 20 28 28 6d 65 6d 71 20 63 6d 70 20 27 28 6e 69 6c 20 65 71 75 61 6c 29 29 20 23 27 61 73 73 | d.((memq.cmp.'(nil.equal)).#'ass |
| 19900 | 6f 63 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 63 6d 70 20 23 27 65 71 29 20 23 27 61 | oc)...........((eq.cmp.#'eq).#'a |
| 19920 | 73 73 71 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 69 6e 63 65 20 45 6d 61 63 73 20 32 36 | ssq)...........;;.Since.Emacs.26 |
| 19940 | 2c 20 60 61 73 73 6f 63 27 20 61 63 63 65 70 74 73 20 61 20 63 75 73 74 6f 6d 20 60 74 65 73 74 | ,.`assoc'.accepts.a.custom.`test |
| 19960 | 66 6e 27 2e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 56 65 72 73 69 6f 6e 20 74 65 73 74 69 6e | fn'............;;.Version.testin |
| 19980 | 67 20 77 6f 75 6c 64 20 62 65 20 73 69 6d 70 6c 65 72 20 68 65 72 65 2c 20 62 75 74 20 66 65 61 | g.would.be.simpler.here,.but.fea |
| 199a0 | 74 75 72 65 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 65 73 74 69 6e 67 20 67 65 74 73 20 6d | ture...........;;.testing.gets.m |
| 199c0 | 6f 72 65 20 62 72 6f 77 6e 69 65 20 70 6f 69 6e 74 73 2c 20 49 20 67 75 65 73 73 2e 0a 20 20 20 | ore.brownie.points,.I.guess..... |
| 199e0 | 20 20 20 20 20 20 20 28 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 0a 20 20 20 20 | .......((condition-case.nil..... |
| 19a00 | 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 20 28 61 73 | ...........(with-no-warnings.(as |
| 19a20 | 73 6f 63 20 6e 69 6c 20 28 29 20 23 27 65 71 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | soc.nil.().#'eql)).............. |
| 19a40 | 28 77 72 6f 6e 67 2d 6e 75 6d 62 65 72 2d 6f 66 2d 61 72 67 75 6d 65 6e 74 73 20 74 29 29 0a 20 | (wrong-number-of-arguments.t)).. |
| 19a60 | 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 6b 65 79 20 61 6c 69 73 74 29 0a 20 20 | ..........(lambda.(key.alist)... |
| 19a80 | 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 72 73 74 20 28 61 6e 64 20 28 63 6f 6e 73 70 20 | ...........(--first.(and.(consp. |
| 19aa0 | 69 74 29 20 28 66 75 6e 63 61 6c 6c 20 63 6d 70 20 28 63 61 72 20 69 74 29 20 6b 65 79 29 29 20 | it).(funcall.cmp.(car.it).key)). |
| 19ac0 | 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 77 69 74 68 2d 6e 6f 2d 77 61 72 | alist)))...........((with-no-war |
| 19ae0 | 6e 69 6e 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 6b 65 79 20 | nings..............(lambda.(key. |
| 19b00 | 61 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 73 73 6f 63 20 6b 65 79 | alist)................(assoc.key |
| 19b20 | 20 61 6c 69 73 74 20 63 6d 70 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d | .alist.cmp)))))))..(defun.dash-- |
| 19b40 | 68 61 73 68 2d 74 65 73 74 2d 66 6e 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 68 61 | hash-test-fn.()..."Return.the.ha |
| 19b60 | 73 68 20 74 61 62 6c 65 20 74 65 73 74 20 66 75 6e 63 74 69 6f 6e 20 63 6f 72 72 65 73 70 6f 6e | sh.table.test.function.correspon |
| 19b80 | 64 69 6e 67 20 74 6f 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 2e 0a 52 65 74 75 72 6e 20 6e 69 | ding.to.`-compare-fn'..Return.ni |
| 19ba0 | 6c 20 69 66 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 20 69 73 20 6e 6f 74 20 61 20 6b 6e 6f 77 | l.if.`-compare-fn'.is.not.a.know |
| 19bc0 | 6e 20 74 65 73 74 20 66 75 6e 63 74 69 6f 6e 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 | n.test.function."...(declare.(si |
| 19be0 | 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 3b 3b | de-effect-free.error-free))...;; |
| 19c00 | 20 49 6e 20 74 68 65 6f 72 79 20 74 68 69 73 20 63 6f 75 6c 64 20 61 6c 73 6f 20 72 65 63 6f 67 | .In.theory.this.could.also.recog |
| 19c20 | 6e 69 7a 65 20 76 61 6c 75 65 73 20 74 68 61 74 20 61 72 65 20 63 75 73 74 6f 6d 0a 20 20 3b 3b | nize.values.that.are.custom...;; |
| 19c40 | 20 60 68 61 73 68 2d 74 61 62 6c 65 2d 74 65 73 74 27 73 2c 20 62 75 74 20 74 6f 6f 20 6f 66 74 | .`hash-table-test's,.but.too.oft |
| 19c60 | 65 6e 20 74 68 65 20 3a 74 65 73 74 20 6e 61 6d 65 20 69 73 20 64 69 66 66 65 72 65 6e 74 0a 20 | en.the.:test.name.is.different.. |
| 19c80 | 20 3b 3b 20 66 72 6f 6d 20 74 68 65 20 65 71 75 61 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 2c 20 | .;;.from.the.equality.function,. |
| 19ca0 | 73 6f 20 69 74 20 64 6f 65 73 6e 27 74 20 73 65 65 6d 20 77 6f 72 74 68 77 68 69 6c 65 2e 0a 20 | so.it.doesn't.seem.worthwhile... |
| 19cc0 | 20 28 63 61 72 20 28 6d 65 6d 71 20 28 6f 72 20 2d 63 6f 6d 70 61 72 65 2d 66 6e 20 23 27 65 71 | .(car.(memq.(or.-compare-fn.#'eq |
| 19ce0 | 75 61 6c 29 20 27 28 65 71 75 61 6c 20 65 71 20 65 71 6c 29 29 29 29 0a 0a 28 64 65 66 76 61 72 | ual).'(equal.eq.eql))))..(defvar |
| 19d00 | 20 64 61 73 68 2d 2d 73 68 6f 72 74 2d 6c 69 73 74 2d 6c 65 6e 67 74 68 20 33 32 0a 20 20 22 4d | .dash--short-list-length.32..."M |
| 19d20 | 61 78 69 6d 75 6d 20 6c 69 73 74 20 6c 65 6e 67 74 68 20 63 6f 6e 73 69 64 65 72 65 64 20 73 68 | aximum.list.length.considered.sh |
| 19d40 | 6f 72 74 2c 20 66 6f 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 2e 0a 46 6f 72 20 65 78 61 6d | ort,.for.optimizations..For.exam |
| 19d60 | 70 6c 65 2c 20 74 68 65 20 73 70 65 65 64 75 70 20 61 66 66 6f 72 64 65 64 20 62 79 20 68 61 73 | ple,.the.speedup.afforded.by.has |
| 19d80 | 68 20 74 61 62 6c 65 20 6c 6f 6f 6b 75 70 20 6d 61 79 20 73 74 61 72 74 0a 74 6f 20 6f 75 74 77 | h.table.lookup.may.start.to.outw |
| 19da0 | 65 69 67 68 20 69 74 73 20 72 75 6e 74 69 6d 65 20 61 6e 64 20 6d 65 6d 6f 72 79 20 6f 76 65 72 | eigh.its.runtime.and.memory.over |
| 19dc0 | 68 65 61 64 20 66 6f 72 20 70 72 6f 62 6c 65 6d 20 73 69 7a 65 73 0a 67 72 65 61 74 65 72 20 74 | head.for.problem.sizes.greater.t |
| 19de0 | 68 61 6e 20 74 68 69 73 20 76 61 6c 75 65 2e 20 20 53 65 65 20 61 6c 73 6f 20 74 68 65 20 64 69 | han.this.value...See.also.the.di |
| 19e00 | 73 63 75 73 73 69 6f 6e 20 69 6e 20 50 52 20 23 33 30 35 2e 22 29 0a 0a 28 64 65 66 75 6e 20 2d | scussion.in.PR.#305.")..(defun.- |
| 19e20 | 64 69 73 74 69 6e 63 74 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 63 6f 70 79 | distinct.(list)..."Return.a.copy |
| 19e40 | 20 6f 66 20 4c 49 53 54 20 77 69 74 68 20 61 6c 6c 20 64 75 70 6c 69 63 61 74 65 20 65 6c 65 6d | .of.LIST.with.all.duplicate.elem |
| 19e60 | 65 6e 74 73 20 72 65 6d 6f 76 65 64 2e 0a 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 | ents.removed...The.test.for.equa |
| 19e80 | 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 60 65 71 75 61 6c 27 2c 20 6f 72 20 77 69 | lity.is.done.with.`equal',.or.wi |
| 19ea0 | 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 0a 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d | th.`-compare-fn'.if.that.is.non- |
| 19ec0 | 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 75 6e 69 71 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 | nil...Alias:.`-uniq'."...(declar |
| 19ee0 | 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 | e.(important-return-value.t))... |
| 19f00 | 28 6c 65 74 20 28 74 65 73 74 20 6c 65 6e 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c | (let.(test.len).....(cond.((null |
| 19f20 | 20 6c 69 73 74 29 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 55 73 65 20 61 20 68 61 | .list).())...........;;.Use.a.ha |
| 19f40 | 73 68 20 74 61 62 6c 65 20 69 66 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 20 69 73 20 61 20 6b | sh.table.if.`-compare-fn'.is.a.k |
| 19f60 | 6e 6f 77 6e 20 68 61 73 68 20 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 65 73 | nown.hash.table...........;;.tes |
| 19f80 | 74 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 74 68 65 20 6c 69 73 74 20 69 73 20 6c 6f 6e 67 20 | t.function.and.the.list.is.long. |
| 19fa0 | 65 6e 6f 75 67 68 2e 0a 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 73 65 74 71 20 74 65 | enough............((and.(setq.te |
| 19fc0 | 73 74 20 28 64 61 73 68 2d 2d 68 61 73 68 2d 74 65 73 74 2d 66 6e 29 29 0a 20 20 20 20 20 20 20 | st.(dash--hash-test-fn))........ |
| 19fe0 | 20 20 20 20 20 20 20 20 20 28 3e 20 28 73 65 74 71 20 6c 65 6e 20 28 6c 65 6e 67 74 68 20 6c 69 | .........(>.(setq.len.(length.li |
| 1a000 | 73 74 29 29 20 64 61 73 68 2d 2d 73 68 6f 72 74 2d 6c 69 73 74 2d 6c 65 6e 67 74 68 29 29 0a 20 | st)).dash--short-list-length)).. |
| 1a020 | 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 68 74 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 | ..........(let.((ht.(make-hash-t |
| 1a040 | 61 62 6c 65 20 3a 74 65 73 74 20 74 65 73 74 20 3a 73 69 7a 65 20 6c 65 6e 29 29 29 0a 20 20 20 | able.:test.test.:size.len))).... |
| 1a060 | 20 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 6c 74 65 72 20 28 75 6e 6c 65 73 73 20 28 67 65 74 | ..........(--filter.(unless.(get |
| 1a080 | 68 61 73 68 20 69 74 20 68 74 29 20 28 70 75 74 68 61 73 68 20 69 74 20 74 20 68 74 29 29 20 6c | hash.it.ht).(puthash.it.t.ht)).l |
| 1a0a0 | 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6c 65 74 20 28 28 6d 65 6d 62 65 72 20 | ist)))...........((let.((member. |
| 1a0c0 | 28 64 61 73 68 2d 2d 6d 65 6d 62 65 72 2d 66 6e 29 29 20 75 6e 69 71 29 0a 20 20 20 20 20 20 20 | (dash--member-fn)).uniq)........ |
| 1a0e0 | 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 6c 69 73 74 20 28 75 6e 6c 65 73 73 20 28 66 75 6e 63 | ......(--each.list.(unless.(func |
| 1a100 | 61 6c 6c 20 6d 65 6d 62 65 72 20 69 74 20 75 6e 69 71 29 20 28 70 75 73 68 20 69 74 20 75 6e 69 | all.member.it.uniq).(push.it.uni |
| 1a120 | 71 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 75 6e 69 71 | q)))..............(nreverse.uniq |
| 1a140 | 29 29 29 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 75 6e 69 71 20 23 27 2d 64 69 73 74 | ))))))..(defalias.'-uniq.#'-dist |
| 1a160 | 69 6e 63 74 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 73 69 7a 65 2b 20 28 73 69 7a 65 31 | inct)..(defun.dash--size+.(size1 |
| 1a180 | 20 73 69 7a 65 32 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 73 75 6d 20 6f 66 20 6e 6f 6e | .size2)..."Return.the.sum.of.non |
| 1a1a0 | 6e 65 67 61 74 69 76 65 20 66 69 78 6e 75 6d 73 20 53 49 5a 45 31 20 61 6e 64 20 53 49 5a 45 32 | negative.fixnums.SIZE1.and.SIZE2 |
| 1a1c0 | 2e 0a 52 65 74 75 72 6e 20 60 6d 6f 73 74 2d 70 6f 73 69 74 69 76 65 2d 66 69 78 6e 75 6d 27 20 | ..Return.`most-positive-fixnum'. |
| 1a1e0 | 6f 6e 20 6f 76 65 72 66 6c 6f 77 2e 20 20 54 68 69 73 20 65 6e 73 75 72 65 73 20 74 68 65 0a 72 | on.overflow...This.ensures.the.r |
| 1a200 | 65 73 75 6c 74 20 69 73 20 61 20 76 61 6c 69 64 20 73 69 7a 65 2c 20 70 61 72 74 69 63 75 6c 61 | esult.is.a.valid.size,.particula |
| 1a220 | 72 6c 79 20 66 6f 72 20 61 6c 6c 6f 63 61 74 69 6e 67 20 68 61 73 68 20 74 61 62 6c 65 73 2c 0a | rly.for.allocating.hash.tables,. |
| 1a240 | 65 76 65 6e 20 69 6e 20 74 68 65 20 70 72 65 73 65 6e 63 65 20 6f 66 20 62 69 67 6e 75 6d 20 73 | even.in.the.presence.of.bignum.s |
| 1a260 | 75 70 70 6f 72 74 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 | upport."...(declare.(side-effect |
| 1a280 | 2d 66 72 65 65 20 74 29 29 0a 20 20 28 69 66 20 28 3c 20 73 69 7a 65 31 20 28 2d 20 6d 6f 73 74 | -free.t))...(if.(<.size1.(-.most |
| 1a2a0 | 2d 70 6f 73 69 74 69 76 65 2d 66 69 78 6e 75 6d 20 73 69 7a 65 32 29 29 0a 20 20 20 20 20 20 28 | -positive-fixnum.size2)).......( |
| 1a2c0 | 2b 20 73 69 7a 65 31 20 73 69 7a 65 32 29 0a 20 20 20 20 6d 6f 73 74 2d 70 6f 73 69 74 69 76 65 | +.size1.size2).....most-positive |
| 1a2e0 | 2d 66 69 78 6e 75 6d 29 29 0a 0a 28 64 65 66 75 6e 20 2d 75 6e 69 6f 6e 20 28 6c 69 73 74 31 20 | -fixnum))..(defun.-union.(list1. |
| 1a300 | 6c 69 73 74 32 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 64 | list2)..."Return.a.new.list.of.d |
| 1a320 | 69 73 74 69 6e 63 74 20 65 6c 65 6d 65 6e 74 73 20 61 70 70 65 61 72 69 6e 67 20 69 6e 20 65 69 | istinct.elements.appearing.in.ei |
| 1a340 | 74 68 65 72 20 4c 49 53 54 31 20 6f 72 20 4c 49 53 54 32 2e 0a 0a 54 68 65 20 74 65 73 74 20 66 | ther.LIST1.or.LIST2...The.test.f |
| 1a360 | 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 60 65 71 75 61 6c 27 | or.equality.is.done.with.`equal' |
| 1a380 | 2c 20 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 0a 69 66 20 74 68 61 74 20 | ,.or.with.`-compare-fn'.if.that. |
| 1a3a0 | 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 | is.non-nil."...(declare.(importa |
| 1a3c0 | 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 6c 69 73 | nt-return-value.t))...(let.((lis |
| 1a3e0 | 74 73 20 28 6c 69 73 74 20 6c 69 73 74 31 20 6c 69 73 74 32 29 29 20 74 65 73 74 20 6c 65 6e 20 | ts.(list.list1.list2)).test.len. |
| 1a400 | 75 6e 69 6f 6e 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 28 6f 72 20 6c 69 73 74 | union).....(cond.((null.(or.list |
| 1a420 | 31 20 6c 69 73 74 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 55 73 65 20 61 20 68 61 | 1.list2)))...........;;.Use.a.ha |
| 1a440 | 73 68 20 74 61 62 6c 65 20 69 66 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 20 69 73 20 61 20 6b | sh.table.if.`-compare-fn'.is.a.k |
| 1a460 | 6e 6f 77 6e 20 68 61 73 68 20 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 65 73 | nown.hash.table...........;;.tes |
| 1a480 | 74 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 74 68 65 20 6c 69 73 74 73 20 61 72 65 20 6c 6f 6e | t.function.and.the.lists.are.lon |
| 1a4a0 | 67 20 65 6e 6f 75 67 68 2e 0a 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 73 65 74 71 20 | g.enough............((and.(setq. |
| 1a4c0 | 74 65 73 74 20 28 64 61 73 68 2d 2d 68 61 73 68 2d 74 65 73 74 2d 66 6e 29 29 0a 20 20 20 20 20 | test.(dash--hash-test-fn))...... |
| 1a4e0 | 20 20 20 20 20 20 20 20 20 20 20 28 3e 20 28 73 65 74 71 20 6c 65 6e 20 28 64 61 73 68 2d 2d 73 | ...........(>.(setq.len.(dash--s |
| 1a500 | 69 7a 65 2b 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 31 29 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 | ize+.(length.list1).(length.list |
| 1a520 | 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 73 68 2d 2d 73 68 | 2)))....................dash--sh |
| 1a540 | 6f 72 74 2d 6c 69 73 74 2d 6c 65 6e 67 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 | ort-list-length))............(le |
| 1a560 | 74 20 28 28 68 74 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 74 65 | t.((ht.(make-hash-table.:test.te |
| 1a580 | 73 74 20 3a 73 69 7a 65 20 6c 65 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f | st.:size.len)))..............(do |
| 1a5a0 | 6c 69 73 74 20 28 6c 20 6c 69 73 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d | list.(l.lists)................(- |
| 1a5c0 | 2d 65 61 63 68 20 6c 20 28 75 6e 6c 65 73 73 20 28 67 65 74 68 61 73 68 20 69 74 20 68 74 29 0a | -each.l.(unless.(gethash.it.ht). |
| 1a5e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 68 | ...........................(puth |
| 1a600 | 61 73 68 20 69 74 20 74 20 68 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ash.it.t.ht).................... |
| 1a620 | 20 20 20 20 20 20 20 20 28 70 75 73 68 20 69 74 20 75 6e 69 6f 6e 29 29 29 29 29 29 0a 20 20 20 | ........(push.it.union)))))).... |
| 1a640 | 20 20 20 20 20 20 20 28 28 6c 65 74 20 28 28 6d 65 6d 62 65 72 20 28 64 61 73 68 2d 2d 6d 65 6d | .......((let.((member.(dash--mem |
| 1a660 | 62 65 72 2d 66 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 | ber-fn)))..............(dolist.( |
| 1a680 | 6c 20 6c 69 73 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 | l.lists)................(--each. |
| 1a6a0 | 6c 20 28 75 6e 6c 65 73 73 20 28 66 75 6e 63 61 6c 6c 20 6d 65 6d 62 65 72 20 69 74 20 75 6e 69 | l.(unless.(funcall.member.it.uni |
| 1a6c0 | 6f 6e 29 20 28 70 75 73 68 20 69 74 20 75 6e 69 6f 6e 29 29 29 29 29 29 29 0a 20 20 20 20 28 6e | on).(push.it.union))))))).....(n |
| 1a6e0 | 72 65 76 65 72 73 65 20 75 6e 69 6f 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 69 6e 74 65 72 73 | reverse.union)))..(defun.-inters |
| 1a700 | 65 63 74 69 6f 6e 20 28 6c 69 73 74 31 20 6c 69 73 74 32 29 0a 20 20 22 52 65 74 75 72 6e 20 61 | ection.(list1.list2)..."Return.a |
| 1a720 | 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 64 69 73 74 69 6e 63 74 20 65 6c 65 6d 65 6e 74 73 20 61 | .new.list.of.distinct.elements.a |
| 1a740 | 70 70 65 61 72 69 6e 67 20 69 6e 20 62 6f 74 68 20 4c 49 53 54 31 20 61 6e 64 20 4c 49 53 54 32 | ppearing.in.both.LIST1.and.LIST2 |
| 1a760 | 2e 0a 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 | ...The.test.for.equality.is.done |
| 1a780 | 20 77 69 74 68 20 60 65 71 75 61 6c 27 2c 20 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 | .with.`equal',.or.with.`-compare |
| 1a7a0 | 2d 66 6e 27 0a 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 28 64 65 63 | -fn'.if.that.is.non-nil."...(dec |
| 1a7c0 | 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 | lare.(important-return-value.t)) |
| 1a7e0 | 0a 20 20 28 6c 65 74 20 28 74 65 73 74 20 6c 65 6e 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 6e | ...(let.(test.len).....(cond.((n |
| 1a800 | 75 6c 6c 20 28 61 6e 64 20 6c 69 73 74 31 20 6c 69 73 74 32 29 29 20 28 29 29 0a 20 20 20 20 20 | ull.(and.list1.list2)).())...... |
| 1a820 | 20 20 20 20 20 3b 3b 20 55 73 65 20 61 20 68 61 73 68 20 74 61 62 6c 65 20 69 66 20 60 2d 63 6f | .....;;.Use.a.hash.table.if.`-co |
| 1a840 | 6d 70 61 72 65 2d 66 6e 27 20 69 73 20 61 20 6b 6e 6f 77 6e 20 68 61 73 68 20 74 61 62 6c 65 0a | mpare-fn'.is.a.known.hash.table. |
| 1a860 | 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 65 73 74 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 65 | ..........;;.test.function.and.e |
| 1a880 | 69 74 68 65 72 20 6c 69 73 74 20 69 73 20 6c 6f 6e 67 20 65 6e 6f 75 67 68 2e 0a 20 20 20 20 20 | ither.list.is.long.enough....... |
| 1a8a0 | 20 20 20 20 20 28 28 61 6e 64 20 28 73 65 74 71 20 74 65 73 74 20 28 64 61 73 68 2d 2d 68 61 73 | .....((and.(setq.test.(dash--has |
| 1a8c0 | 68 2d 74 65 73 74 2d 66 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3e 20 28 | h-test-fn)).................(>.( |
| 1a8e0 | 73 65 74 71 20 6c 65 6e 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 32 29 29 20 64 61 73 68 2d 2d 73 | setq.len.(length.list2)).dash--s |
| 1a900 | 68 6f 72 74 2d 6c 69 73 74 2d 6c 65 6e 67 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c | hort-list-length))............(l |
| 1a920 | 65 74 20 28 28 68 74 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 74 | et.((ht.(make-hash-table.:test.t |
| 1a940 | 65 73 74 20 3a 73 69 7a 65 20 6c 65 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d | est.:size.len)))..............(- |
| 1a960 | 2d 65 61 63 68 20 6c 69 73 74 32 20 28 70 75 74 68 61 73 68 20 69 74 20 74 20 68 74 29 29 0a 20 | -each.list2.(puthash.it.t.ht)).. |
| 1a980 | 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 52 65 6d 6f 76 65 20 76 69 73 69 74 65 64 20 65 6c | ............;;.Remove.visited.el |
| 1a9a0 | 65 6d 65 6e 74 73 20 74 6f 20 61 76 6f 69 64 20 64 75 70 6c 69 63 61 74 65 73 2e 0a 20 20 20 20 | ements.to.avoid.duplicates...... |
| 1a9c0 | 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 6c 74 65 72 20 28 77 68 65 6e 20 28 67 65 74 68 61 73 | .........(--filter.(when.(gethas |
| 1a9e0 | 68 20 69 74 20 68 74 29 20 28 72 65 6d 68 61 73 68 20 69 74 20 68 74 29 20 74 29 20 6c 69 73 74 | h.it.ht).(remhash.it.ht).t).list |
| 1aa00 | 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6c 65 74 20 28 28 6d 65 6d 62 65 72 20 28 64 | 1)))...........((let.((member.(d |
| 1aa20 | 61 73 68 2d 2d 6d 65 6d 62 65 72 2d 66 6e 29 29 20 69 6e 74 65 72 73 65 63 74 69 6f 6e 29 0a 20 | ash--member-fn)).intersection).. |
| 1aa40 | 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 6c 69 73 74 31 20 28 61 6e 64 20 28 | ............(--each.list1.(and.( |
| 1aa60 | 66 75 6e 63 61 6c 6c 20 6d 65 6d 62 65 72 20 69 74 20 6c 69 73 74 32 29 0a 20 20 20 20 20 20 20 | funcall.member.it.list2)........ |
| 1aa80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 66 | .........................(not.(f |
| 1aaa0 | 75 6e 63 61 6c 6c 20 6d 65 6d 62 65 72 20 69 74 20 69 6e 74 65 72 73 65 63 74 69 6f 6e 29 29 0a | uncall.member.it.intersection)). |
| 1aac0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 1aae0 | 28 70 75 73 68 20 69 74 20 69 6e 74 65 72 73 65 63 74 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 | (push.it.intersection)))........ |
| 1ab00 | 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 69 6e 74 65 72 73 65 63 74 69 6f 6e 29 29 29 29 | ......(nreverse.intersection)))) |
| 1ab20 | 29 29 0a 0a 28 64 65 66 75 6e 20 2d 64 69 66 66 65 72 65 6e 63 65 20 28 6c 69 73 74 31 20 6c 69 | ))..(defun.-difference.(list1.li |
| 1ab40 | 73 74 32 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 | st2)..."Return.a.new.list.with.t |
| 1ab60 | 68 65 20 64 69 73 74 69 6e 63 74 20 6d 65 6d 62 65 72 73 20 6f 66 20 4c 49 53 54 31 20 74 68 61 | he.distinct.members.of.LIST1.tha |
| 1ab80 | 74 20 61 72 65 20 6e 6f 74 20 69 6e 20 4c 49 53 54 32 2e 0a 0a 54 68 65 20 74 65 73 74 20 66 6f | t.are.not.in.LIST2...The.test.fo |
| 1aba0 | 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 60 65 71 75 61 6c 27 2c | r.equality.is.done.with.`equal', |
| 1abc0 | 20 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 0a 69 66 20 74 68 61 74 20 69 | .or.with.`-compare-fn'.if.that.i |
| 1abe0 | 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e | s.non-nil."...(declare.(importan |
| 1ac00 | 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 74 65 73 74 20 | t-return-value.t))...(let.(test. |
| 1ac20 | 6c 65 6e 31 20 6c 65 6e 32 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 6c 69 73 74 | len1.len2).....(cond.((null.list |
| 1ac40 | 31 29 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6e 75 6c 6c 20 6c 69 73 74 32 29 20 28 | 1).())...........((null.list2).( |
| 1ac60 | 2d 64 69 73 74 69 6e 63 74 20 6c 69 73 74 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 55 | -distinct.list1))...........;;.U |
| 1ac80 | 73 65 20 61 20 68 61 73 68 20 74 61 62 6c 65 20 69 66 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 | se.a.hash.table.if.`-compare-fn' |
| 1aca0 | 20 69 73 20 61 20 6b 6e 6f 77 6e 20 68 61 73 68 20 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 | .is.a.known.hash.table.......... |
| 1acc0 | 20 3b 3b 20 74 65 73 74 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 74 68 65 20 73 75 62 74 72 61 | .;;.test.function.and.the.subtra |
| 1ace0 | 68 65 6e 64 20 69 73 20 6c 6f 6e 67 20 65 6e 6f 75 67 68 2e 0a 20 20 20 20 20 20 20 20 20 20 28 | hend.is.long.enough............( |
| 1ad00 | 28 61 6e 64 20 28 73 65 74 71 20 74 65 73 74 20 28 64 61 73 68 2d 2d 68 61 73 68 2d 74 65 73 74 | (and.(setq.test.(dash--hash-test |
| 1ad20 | 2d 66 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 65 6e 31 | -fn)).................(setq.len1 |
| 1ad40 | 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(length.list1))................ |
| 1ad60 | 20 28 73 65 74 71 20 6c 65 6e 32 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 32 29 29 0a 20 20 20 20 | .(setq.len2.(length.list2))..... |
| 1ad80 | 20 20 20 20 20 20 20 20 20 20 20 20 28 3e 20 28 6d 61 78 20 6c 65 6e 31 20 6c 65 6e 32 29 20 64 | ............(>.(max.len1.len2).d |
| 1ada0 | 61 73 68 2d 2d 73 68 6f 72 74 2d 6c 69 73 74 2d 6c 65 6e 67 74 68 29 29 0a 20 20 20 20 20 20 20 | ash--short-list-length))........ |
| 1adc0 | 20 20 20 20 28 6c 65 74 20 28 28 68 74 31 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 | ....(let.((ht1.(make-hash-table. |
| 1ade0 | 3a 74 65 73 74 20 74 65 73 74 20 3a 73 69 7a 65 20 6c 65 6e 31 29 29 0a 20 20 20 20 20 20 20 20 | :test.test.:size.len1))......... |
| 1ae00 | 20 20 20 20 20 20 20 20 20 28 68 74 32 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a | .........(ht2.(make-hash-table.: |
| 1ae20 | 74 65 73 74 20 74 65 73 74 20 3a 73 69 7a 65 20 6c 65 6e 32 29 29 29 0a 20 20 20 20 20 20 20 20 | test.test.:size.len2)))......... |
| 1ae40 | 20 20 20 20 20 28 2d 2d 65 61 63 68 20 6c 69 73 74 32 20 28 70 75 74 68 61 73 68 20 69 74 20 74 | .....(--each.list2.(puthash.it.t |
| 1ae60 | 20 68 74 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 76 6f 69 64 20 64 75 70 | .ht2))..............;;.Avoid.dup |
| 1ae80 | 6c 69 63 61 74 65 73 20 62 79 20 74 72 61 63 6b 69 6e 67 20 76 69 73 69 74 65 64 20 69 74 65 6d | licates.by.tracking.visited.item |
| 1aea0 | 73 20 69 6e 20 60 68 74 31 27 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 6c 74 | s.in.`ht1'...............(--filt |
| 1aec0 | 65 72 20 28 75 6e 6c 65 73 73 20 28 6f 72 20 28 67 65 74 68 61 73 68 20 69 74 20 68 74 32 29 20 | er.(unless.(or.(gethash.it.ht2). |
| 1aee0 | 28 67 65 74 68 61 73 68 20 69 74 20 68 74 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (gethash.it.ht1))............... |
| 1af00 | 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 68 61 73 68 20 69 74 20 74 20 68 74 31 29 29 0a 20 | ...........(puthash.it.t.ht1)).. |
| 1af20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 31 29 29 29 0a 20 | ......................list1))).. |
| 1af40 | 20 20 20 20 20 20 20 20 20 28 28 6c 65 74 20 28 28 6d 65 6d 62 65 72 20 28 64 61 73 68 2d 2d 6d | .........((let.((member.(dash--m |
| 1af60 | 65 6d 62 65 72 2d 66 6e 29 29 20 64 69 66 66 65 72 65 6e 63 65 29 0a 20 20 20 20 20 20 20 20 20 | ember-fn)).difference).......... |
| 1af80 | 20 20 20 20 28 2d 2d 65 61 63 68 20 6c 69 73 74 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....(--each.list1............... |
| 1afa0 | 20 28 75 6e 6c 65 73 73 20 28 6f 72 20 28 66 75 6e 63 61 6c 6c 20 6d 65 6d 62 65 72 20 69 74 20 | .(unless.(or.(funcall.member.it. |
| 1afc0 | 6c 69 73 74 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | list2).......................... |
| 1afe0 | 20 20 28 66 75 6e 63 61 6c 6c 20 6d 65 6d 62 65 72 20 69 74 20 64 69 66 66 65 72 65 6e 63 65 29 | ..(funcall.member.it.difference) |
| 1b000 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 69 74 20 64 69 66 66 | )..................(push.it.diff |
| 1b020 | 65 72 65 6e 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 | erence)))..............(nreverse |
| 1b040 | 20 64 69 66 66 65 72 65 6e 63 65 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 6f 77 65 72 | .difference))))))..(defun.-power |
| 1b060 | 73 65 74 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 70 6f 77 65 72 20 73 | set.(list)..."Return.the.power.s |
| 1b080 | 65 74 20 6f 66 20 4c 49 53 54 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 | et.of.LIST."...(declare.(pure.t) |
| 1b0a0 | 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 69 66 20 28 6e 75 | .(side-effect-free.t))...(if.(nu |
| 1b0c0 | 6c 6c 20 6c 69 73 74 29 20 28 6c 69 73 74 20 28 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 6c 61 | ll.list).(list.()).....(let.((la |
| 1b0e0 | 73 74 20 28 2d 70 6f 77 65 72 73 65 74 20 28 63 64 72 20 6c 69 73 74 29 29 29 29 0a 20 20 20 20 | st.(-powerset.(cdr.list))))..... |
| 1b100 | 20 20 28 6e 63 6f 6e 63 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 63 6f | ..(nconc.(mapcar.(lambda.(x).(co |
| 1b120 | 6e 73 20 28 63 61 72 20 6c 69 73 74 29 20 78 29 29 20 6c 61 73 74 29 0a 20 20 20 20 20 20 20 20 | ns.(car.list).x)).last)......... |
| 1b140 | 20 20 20 20 20 6c 61 73 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 72 65 71 75 65 6e 63 69 | .....last))))..(defun.-frequenci |
| 1b160 | 65 73 20 28 6c 69 73 74 29 0a 20 20 22 43 6f 75 6e 74 20 74 68 65 20 6f 63 63 75 72 72 65 6e 63 | es.(list)..."Count.the.occurrenc |
| 1b180 | 65 73 20 6f 66 20 65 61 63 68 20 64 69 73 74 69 6e 63 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c | es.of.each.distinct.element.of.L |
| 1b1a0 | 49 53 54 2e 0a 0a 52 65 74 75 72 6e 20 61 6e 20 61 6c 69 73 74 20 6f 66 20 28 45 4c 45 4d 45 4e | IST...Return.an.alist.of.(ELEMEN |
| 1b1c0 | 54 20 2e 20 4e 29 2c 20 77 68 65 72 65 20 65 61 63 68 20 45 4c 45 4d 45 4e 54 20 6f 63 63 75 72 | T...N),.where.each.ELEMENT.occur |
| 1b1e0 | 73 20 4e 0a 74 69 6d 65 73 20 69 6e 20 4c 49 53 54 2e 0a 0a 54 68 65 20 74 65 73 74 20 66 6f 72 | s.N.times.in.LIST...The.test.for |
| 1b200 | 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 60 65 71 75 61 6c 27 2c 20 | .equality.is.done.with.`equal',. |
| 1b220 | 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 0a 69 66 20 74 68 61 74 20 69 73 | or.with.`-compare-fn'.if.that.is |
| 1b240 | 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 2d 63 6f 75 6e 74 27 20 61 6e 64 | .non-nil...See.also.`-count'.and |
| 1b260 | 20 60 2d 67 72 6f 75 70 2d 62 79 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 | .`-group-by'."...(declare.(impor |
| 1b280 | 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 74 65 | tant-return-value.t))...(let.(te |
| 1b2a0 | 73 74 20 6c 65 6e 20 66 72 65 71 73 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 6c | st.len.freqs).....(cond.((null.l |
| 1b2c0 | 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 73 65 74 71 20 74 65 73 74 | ist))...........((and.(setq.test |
| 1b2e0 | 20 28 64 61 73 68 2d 2d 68 61 73 68 2d 74 65 73 74 2d 66 6e 29 29 0a 20 20 20 20 20 20 20 20 20 | .(dash--hash-test-fn)).......... |
| 1b300 | 20 20 20 20 20 20 20 28 3e 20 28 73 65 74 71 20 6c 65 6e 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 | .......(>.(setq.len.(length.list |
| 1b320 | 29 29 20 64 61 73 68 2d 2d 73 68 6f 72 74 2d 6c 69 73 74 2d 6c 65 6e 67 74 68 29 29 0a 20 20 20 | )).dash--short-list-length)).... |
| 1b340 | 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 68 74 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 | ........(let.((ht.(make-hash-tab |
| 1b360 | 6c 65 20 3a 74 65 73 74 20 74 65 73 74 20 3a 73 69 7a 65 20 6c 65 6e 29 29 29 0a 20 20 20 20 20 | le.:test.test.:size.len)))...... |
| 1b380 | 20 20 20 20 20 20 20 20 3b 3b 20 53 68 61 72 65 20 73 74 72 75 63 74 75 72 65 20 62 65 74 77 65 | ........;;.Share.structure.betwe |
| 1b3a0 | 65 6e 20 68 61 73 68 20 74 61 62 6c 65 20 61 6e 64 20 72 65 74 75 72 6e 65 64 20 6c 69 73 74 2e | en.hash.table.and.returned.list. |
| 1b3c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 69 73 20 61 66 66 6f 72 64 73 20 61 20 | ..............;;.This.affords.a. |
| 1b3e0 | 73 69 6e 67 6c 65 20 70 61 73 73 20 74 68 61 74 20 70 72 65 73 65 72 76 65 73 20 74 68 65 20 69 | single.pass.that.preserves.the.i |
| 1b400 | 6e 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 72 64 65 72 2c 20 63 6f 6e 73 | nput..............;;.order,.cons |
| 1b420 | 65 73 20 6c 65 73 73 20 67 61 72 62 61 67 65 2c 20 61 6e 64 20 69 73 20 66 61 73 74 65 72 20 74 | es.less.garbage,.and.is.faster.t |
| 1b440 | 68 61 6e 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 65 63 6f 6e 64 20 74 72 61 | han.a..............;;.second.tra |
| 1b460 | 76 65 72 73 61 6c 20 28 65 2e 67 2e 2c 20 77 69 74 68 20 60 6d 61 70 68 61 73 68 27 29 2e 0a 20 | versal.(e.g.,.with.`maphash')... |
| 1b480 | 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 6c 69 73 74 0a 20 20 20 20 20 20 20 | ............(--each.list........ |
| 1b4a0 | 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 72 65 71 20 28 67 65 74 68 61 73 68 20 69 74 20 | ........(let.((freq.(gethash.it. |
| 1b4c0 | 68 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 66 72 65 71 0a | ht)))..................(if.freq. |
| 1b4e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 63 64 72 20 66 72 65 | .....................(setcdr.fre |
| 1b500 | 71 20 28 31 2b 20 28 63 64 72 20 66 72 65 71 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | q.(1+.(cdr.freq))).............. |
| 1b520 | 20 20 20 20 20 20 28 70 75 73 68 20 28 70 75 74 68 61 73 68 20 69 74 20 28 63 6f 6e 73 20 69 74 | ......(push.(puthash.it.(cons.it |
| 1b540 | 20 31 29 20 68 74 29 20 66 72 65 71 73 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 | .1).ht).freqs))))))...........(( |
| 1b560 | 6c 65 74 20 28 28 61 73 73 6f 63 20 28 64 61 73 68 2d 2d 61 73 73 6f 63 2d 66 6e 29 29 29 0a 20 | let.((assoc.(dash--assoc-fn))).. |
| 1b580 | 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 6c 69 73 74 0a 20 20 20 20 20 20 20 | ............(--each.list........ |
| 1b5a0 | 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 72 65 71 20 28 66 75 6e 63 61 6c 6c 20 61 73 73 | ........(let.((freq.(funcall.ass |
| 1b5c0 | 6f 63 20 69 74 20 66 72 65 71 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | oc.it.freqs))).................. |
| 1b5e0 | 28 69 66 20 66 72 65 71 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 | (if.freq......................(s |
| 1b600 | 65 74 63 64 72 20 66 72 65 71 20 28 31 2b 20 28 63 64 72 20 66 72 65 71 29 29 29 0a 20 20 20 20 | etcdr.freq.(1+.(cdr.freq)))..... |
| 1b620 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e 73 20 69 74 20 31 29 | ...............(push.(cons.it.1) |
| 1b640 | 20 66 72 65 71 73 29 29 29 29 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 66 72 65 71 | .freqs))))))).....(nreverse.freq |
| 1b660 | 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6e 75 6d 62 65 72 73 3c 3d 20 28 6e 75 | s)))..(defun.dash--numbers<=.(nu |
| 1b680 | 6d 73 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 4e 55 4d 53 20 69 73 | ms)..."Return.non-nil.if.NUMS.is |
| 1b6a0 | 20 61 20 6c 69 73 74 20 6f 66 20 6e 6f 6e 2d 64 65 63 72 65 61 73 69 6e 67 20 6e 75 6d 62 65 72 | .a.list.of.non-decreasing.number |
| 1b6c0 | 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 | s."...(declare.(pure.t).(side-ef |
| 1b6e0 | 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6f 72 20 28 6e 75 6c 6c 20 6e 75 6d 73 29 0a | fect-free.t))...(or.(null.nums). |
| 1b700 | 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 65 76 20 28 70 6f 70 20 6e 75 6d 73 29 29 29 0a 20 | ......(let.((prev.(pop.nums))).. |
| 1b720 | 20 20 20 20 20 20 20 28 61 6e 64 20 28 6e 75 6d 62 65 72 70 20 70 72 65 76 29 0a 20 20 20 20 20 | .......(and.(numberp.prev)...... |
| 1b740 | 20 20 20 20 20 20 20 20 28 2d 2d 65 76 65 72 79 20 28 61 6e 64 20 28 6e 75 6d 62 65 72 70 20 69 | ........(--every.(and.(numberp.i |
| 1b760 | 74 29 20 28 3c 3d 20 70 72 65 76 20 28 73 65 74 71 20 70 72 65 76 20 69 74 29 29 29 20 6e 75 6d | t).(<=.prev.(setq.prev.it))).num |
| 1b780 | 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6e 65 78 74 2d 6c 65 78 2d 70 65 | s)))))..(defun.dash--next-lex-pe |
| 1b7a0 | 72 6d 20 28 61 72 72 61 79 20 6e 29 0a 20 20 22 55 70 64 61 74 65 20 41 52 52 41 59 20 6f 66 20 | rm.(array.n)..."Update.ARRAY.of. |
| 1b7c0 | 4e 20 6e 75 6d 62 65 72 73 20 77 69 74 68 20 69 74 73 20 6e 65 78 74 20 6c 65 78 69 63 6f 67 72 | N.numbers.with.its.next.lexicogr |
| 1b7e0 | 61 70 68 69 63 20 70 65 72 6d 75 74 61 74 69 6f 6e 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 | aphic.permutation..Return.nil.if |
| 1b800 | 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 73 75 63 63 65 73 73 6f 72 2e 20 20 4e 20 | .there.is.no.such.successor...N. |
| 1b820 | 73 68 6f 75 6c 64 20 62 65 20 6e 6f 6e 7a 65 72 6f 2e 0a 0a 54 68 69 73 20 69 6d 70 6c 65 6d 65 | should.be.nonzero...This.impleme |
| 1b840 | 6e 74 73 20 74 68 65 20 73 61 6c 69 65 6e 74 20 73 74 65 70 73 20 6f 66 20 41 6c 67 6f 72 69 74 | nts.the.salient.steps.of.Algorit |
| 1b860 | 68 6d 20 4c 20 28 4c 65 78 69 63 6f 67 72 61 70 68 69 63 0a 70 65 72 6d 75 74 61 74 69 6f 6e 20 | hm.L.(Lexicographic.permutation. |
| 1b880 | 67 65 6e 65 72 61 74 69 6f 6e 29 20 61 73 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 44 45 20 4b | generation).as.described.in.DE.K |
| 1b8a0 | 6e 75 74 68 27 73 20 54 68 65 20 41 72 74 20 6f 66 0a 43 6f 6d 70 75 74 65 72 20 50 72 6f 67 72 | nuth's.The.Art.of.Computer.Progr |
| 1b8c0 | 61 6d 6d 69 6e 67 2c 20 56 6f 6c 75 6d 65 20 34 41 20 2f 20 43 6f 6d 62 69 6e 61 74 6f 72 69 61 | amming,.Volume.4A./.Combinatoria |
| 1b8e0 | 6c 20 41 6c 67 6f 72 69 74 68 6d 73 2c 0a 50 61 72 74 20 49 2c 20 41 64 64 69 73 6f 6e 2d 57 65 | l.Algorithms,.Part.I,.Addison-We |
| 1b900 | 73 6c 65 79 2c 20 32 30 31 31 2c 20 c2 a7 20 37 2e 32 2e 31 2e 32 2c 20 70 2e 20 33 31 39 2e 22 | sley,.2011,....7.2.1.2,.p..319." |
| 1b920 | 0a 20 20 28 73 65 74 71 20 6e 20 28 31 2d 20 6e 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 6c 20 6e | ...(setq.n.(1-.n))...(let*.((l.n |
| 1b940 | 29 0a 20 20 20 20 20 20 20 20 20 28 6a 20 28 31 2d 20 6e 29 29 0a 20 20 20 20 20 20 20 20 20 28 | )..........(j.(1-.n))..........( |
| 1b960 | 61 6c 20 28 61 72 65 66 20 61 72 72 61 79 20 6e 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 6a 20 | al.(aref.array.n))..........(aj. |
| 1b980 | 61 6c 29 29 0a 20 20 20 20 3b 3b 20 4c 32 2e 20 5b 46 69 6e 64 20 6a 5d 2e 0a 20 20 20 20 3b 3b | al)).....;;.L2..[Find.j]......;; |
| 1b9a0 | 20 44 65 63 72 65 6d 65 6e 74 20 6a 20 75 6e 74 69 6c 20 61 5b 6a 5d 20 3c 20 61 5b 6a 2b 31 5d | .Decrement.j.until.a[j].<.a[j+1] |
| 1b9c0 | 2e 0a 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 3c 3d 20 30 20 6a 29 0a 20 20 20 20 20 | ......(while.(and.(<=.0.j)...... |
| 1b9e0 | 20 20 20 20 20 20 20 20 20 20 20 28 3c 3d 20 61 6a 20 28 73 65 74 71 20 61 6a 20 28 61 72 65 66 | ...........(<=.aj.(setq.aj.(aref |
| 1ba00 | 20 61 72 72 61 79 20 6a 29 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6a 20 28 31 2d 20 6a | .array.j)))).......(setq.j.(1-.j |
| 1ba20 | 29 29 29 0a 20 20 20 20 3b 3b 20 54 65 72 6d 69 6e 61 74 65 20 61 6c 67 6f 72 69 74 68 6d 20 69 | ))).....;;.Terminate.algorithm.i |
| 1ba40 | 66 20 6a 20 6e 6f 74 20 66 6f 75 6e 64 2e 0a 20 20 20 20 28 77 68 65 6e 20 28 3e 3d 20 6a 20 30 | f.j.not.found......(when.(>=.j.0 |
| 1ba60 | 29 0a 20 20 20 20 20 20 3b 3b 20 4c 33 2e 20 5b 49 6e 63 72 65 61 73 65 20 61 5b 6a 5d 5d 2e 0a | ).......;;.L3..[Increase.a[j]].. |
| 1ba80 | 20 20 20 20 20 20 3b 3b 20 44 65 63 72 65 6d 65 6e 74 20 6c 20 75 6e 74 69 6c 20 61 5b 6a 5d 20 | ......;;.Decrement.l.until.a[j]. |
| 1baa0 | 3c 20 61 5b 6c 5d 2e 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 3d 20 61 6a 20 61 6c 29 0a | <.a[l]........(while.(>=.aj.al). |
| 1bac0 | 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 20 28 31 2d 20 6c 29 20 61 6c 20 28 61 72 65 66 20 | ........(setq.l.(1-.l).al.(aref. |
| 1bae0 | 61 72 72 61 79 20 6c 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 53 77 61 70 20 61 5b 6a 5d 20 61 6e | array.l))).......;;.Swap.a[j].an |
| 1bb00 | 64 20 61 5b 6c 5d 2e 0a 20 20 20 20 20 20 28 61 73 65 74 20 61 72 72 61 79 20 6a 20 61 6c 29 0a | d.a[l]........(aset.array.j.al). |
| 1bb20 | 20 20 20 20 20 20 28 61 73 65 74 20 61 72 72 61 79 20 6c 20 61 6a 29 0a 20 20 20 20 20 20 3b 3b | ......(aset.array.l.aj).......;; |
| 1bb40 | 20 4c 34 2e 20 5b 52 65 76 65 72 73 65 20 61 5b 6a 2b 31 5d 2e 2e 2e 61 5b 6e 5d 5d 2e 0a 20 20 | .L4..[Reverse.a[j+1]...a[n]].... |
| 1bb60 | 20 20 20 20 28 73 65 74 71 20 6c 20 6e 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 28 | ....(setq.l.n).......(while.(<.( |
| 1bb80 | 73 65 74 71 20 6a 20 28 31 2b 20 6a 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 | setq.j.(1+.j)).l).........(setq. |
| 1bba0 | 61 6a 20 28 61 72 65 66 20 61 72 72 61 79 20 6a 29 29 0a 20 20 20 20 20 20 20 20 28 61 73 65 74 | aj.(aref.array.j)).........(aset |
| 1bbc0 | 20 61 72 72 61 79 20 6a 20 28 61 72 65 66 20 61 72 72 61 79 20 6c 29 29 0a 20 20 20 20 20 20 20 | .array.j.(aref.array.l))........ |
| 1bbe0 | 20 28 61 73 65 74 20 61 72 72 61 79 20 6c 20 61 6a 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 | .(aset.array.l.aj).........(setq |
| 1bc00 | 20 6c 20 28 31 2d 20 6c 29 29 29 0a 20 20 20 20 20 20 61 72 72 61 79 29 29 29 0a 0a 28 64 65 66 | .l.(1-.l))).......array)))..(def |
| 1bc20 | 75 6e 20 64 61 73 68 2d 2d 6c 65 78 2d 70 65 72 6d 73 20 28 76 65 63 20 26 6f 70 74 69 6f 6e 61 | un.dash--lex-perms.(vec.&optiona |
| 1bc40 | 6c 20 6f 72 69 67 69 6e 61 6c 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 | l.original)..."Return.a.list.of. |
| 1bc60 | 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 6f 66 20 56 45 43 20 69 6e 20 6c 65 78 69 63 6f 67 72 61 | permutations.of.VEC.in.lexicogra |
| 1bc80 | 70 68 69 63 20 6f 72 64 65 72 2e 0a 53 70 65 63 69 66 69 63 61 6c 6c 79 2c 20 72 65 74 75 72 6e | phic.order..Specifically,.return |
| 1bca0 | 20 6f 6e 6c 79 20 74 68 65 20 73 75 63 63 65 73 73 6f 72 73 20 6f 66 20 56 45 43 20 69 6e 20 6c | .only.the.successors.of.VEC.in.l |
| 1bcc0 | 65 78 69 63 6f 67 72 61 70 68 69 63 0a 6f 72 64 65 72 2e 20 20 45 61 63 68 20 72 65 74 75 72 6e | exicographic.order...Each.return |
| 1bce0 | 65 64 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 69 73 20 61 20 6c 69 73 74 2e 20 20 56 45 43 20 73 | ed.permutation.is.a.list...VEC.s |
| 1bd00 | 68 6f 75 6c 64 20 63 6f 6d 70 72 69 73 65 0a 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6e 75 6d 62 65 | hould.comprise.one.or.more.numbe |
| 1bd20 | 72 73 2c 20 61 6e 64 20 6d 61 79 20 62 65 20 64 65 73 74 72 75 63 74 69 76 65 6c 79 20 6d 6f 64 | rs,.and.may.be.destructively.mod |
| 1bd40 | 69 66 69 65 64 2e 0a 0a 49 66 20 4f 52 49 47 49 4e 41 4c 20 69 73 20 61 20 76 65 63 74 6f 72 2c | ified...If.ORIGINAL.is.a.vector, |
| 1bd60 | 20 74 68 65 6e 20 56 45 43 20 69 73 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 73 20 61 20 73 65 | .then.VEC.is.interpreted.as.a.se |
| 1bd80 | 74 20 6f 66 0a 69 6e 64 69 63 65 73 20 69 6e 74 6f 20 4f 52 49 47 49 4e 41 4c 2e 20 20 49 6e 20 | t.of.indices.into.ORIGINAL...In. |
| 1bda0 | 74 68 69 73 20 63 61 73 65 2c 20 74 68 65 20 69 6e 64 69 63 65 73 20 61 72 65 20 70 65 72 6d 75 | this.case,.the.indices.are.permu |
| 1bdc0 | 74 65 64 2c 0a 61 6e 64 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 64 65 78 20 70 65 72 | ted,.and.the.resulting.index.per |
| 1bde0 | 6d 75 74 61 74 69 6f 6e 73 20 61 72 65 20 75 73 65 64 20 74 6f 20 64 65 72 65 66 65 72 65 6e 63 | mutations.are.used.to.dereferenc |
| 1be00 | 65 0a 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4f 52 49 47 49 4e 41 4c 2e 22 0a 20 20 28 6c 65 74 20 | e.elements.of.ORIGINAL."...(let. |
| 1be20 | 28 28 6c 65 6e 20 28 6c 65 6e 67 74 68 20 76 65 63 29 29 20 70 65 72 6d 73 29 0a 20 20 20 20 28 | ((len.(length.vec)).perms).....( |
| 1be40 | 77 68 69 6c 65 20 76 65 63 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 69 66 20 6f 72 69 67 69 6e | while.vec.......(push.(if.origin |
| 1be60 | 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 20 28 61 72 65 66 20 | al.................(--map.(aref. |
| 1be80 | 6f 72 69 67 69 6e 61 6c 20 69 74 29 20 76 65 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | original.it).vec)............... |
| 1bea0 | 28 61 70 70 65 6e 64 20 76 65 63 20 28 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 65 72 | (append.vec.())).............per |
| 1bec0 | 6d 73 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 76 65 63 20 28 64 61 73 68 2d 2d 6e 65 78 74 2d | ms).......(setq.vec.(dash--next- |
| 1bee0 | 6c 65 78 2d 70 65 72 6d 20 76 65 63 20 6c 65 6e 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 | lex-perm.vec.len))).....(nrevers |
| 1bf00 | 65 20 70 65 72 6d 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 75 6e 69 71 2d 70 65 | e.perms)))..(defun.dash--uniq-pe |
| 1bf20 | 72 6d 73 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 70 | rms.(list)..."Return.a.list.of.p |
| 1bf40 | 65 72 6d 75 74 61 74 69 6f 6e 73 20 6f 66 20 4c 49 53 54 2e 0a 4c 49 53 54 20 69 73 20 74 72 65 | ermutations.of.LIST..LIST.is.tre |
| 1bf60 | 61 74 65 64 20 61 73 20 69 66 20 61 6c 6c 20 69 74 73 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 | ated.as.if.all.its.elements.are. |
| 1bf80 | 64 69 73 74 69 6e 63 74 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 76 65 63 20 28 76 63 6f 6e 63 61 | distinct."...(let*.((vec.(vconca |
| 1bfa0 | 74 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 69 64 78 73 20 28 63 6f 70 79 2d 73 65 | t.list))..........(idxs.(copy-se |
| 1bfc0 | 71 75 65 6e 63 65 20 76 65 63 29 29 29 0a 20 20 20 20 3b 3b 20 4a 75 73 74 20 63 6f 6e 73 74 72 | quence.vec))).....;;.Just.constr |
| 1bfe0 | 75 63 74 20 61 20 76 65 63 74 6f 72 20 6f 66 20 74 68 65 20 6c 69 73 74 27 73 20 69 6e 64 69 63 | uct.a.vector.of.the.list's.indic |
| 1c000 | 65 73 20 61 6e 64 20 70 65 72 6d 75 74 65 20 74 68 61 74 2e 0a 20 20 20 20 28 64 6f 74 69 6d 65 | es.and.permute.that......(dotime |
| 1c020 | 73 20 28 69 20 28 6c 65 6e 67 74 68 20 69 64 78 73 29 29 0a 20 20 20 20 20 20 28 61 73 65 74 20 | s.(i.(length.idxs)).......(aset. |
| 1c040 | 69 64 78 73 20 69 20 69 29 29 0a 20 20 20 20 28 64 61 73 68 2d 2d 6c 65 78 2d 70 65 72 6d 73 20 | idxs.i.i)).....(dash--lex-perms. |
| 1c060 | 69 64 78 73 20 76 65 63 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 75 6c 74 69 2d | idxs.vec)))..(defun.dash--multi- |
| 1c080 | 70 65 72 6d 73 20 28 6c 69 73 74 20 66 72 65 71 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c | perms.(list.freqs)..."Return.a.l |
| 1c0a0 | 69 73 74 20 6f 66 20 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 6d 75 6c 74 69 | ist.of.permutations.of.the.multi |
| 1c0c0 | 73 65 74 20 4c 49 53 54 2e 0a 46 52 45 51 53 20 73 68 6f 75 6c 64 20 62 65 20 61 6e 20 61 6c 69 | set.LIST..FREQS.should.be.an.ali |
| 1c0e0 | 73 74 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 66 72 65 71 75 65 6e 63 79 20 6f 66 20 65 | st.describing.the.frequency.of.e |
| 1c100 | 61 63 68 20 65 6c 65 6d 65 6e 74 0a 69 6e 20 4c 49 53 54 2c 20 61 73 20 72 65 74 75 72 6e 65 64 | ach.element.in.LIST,.as.returned |
| 1c120 | 20 62 79 20 60 2d 66 72 65 71 75 65 6e 63 69 65 73 27 2e 22 0a 20 20 28 6c 65 74 20 28 3b 3b 20 | .by.`-frequencies'."...(let.(;;. |
| 1c140 | 44 69 73 74 69 6e 63 74 20 69 74 65 6d 73 20 69 6e 20 60 6c 69 73 74 27 2c 20 61 6b 61 20 74 68 | Distinct.items.in.`list',.aka.th |
| 1c160 | 65 20 63 61 72 73 20 6f 66 20 60 66 72 65 71 73 27 2e 0a 20 20 20 20 20 20 20 20 28 75 6e 69 71 | e.cars.of.`freqs'..........(uniq |
| 1c180 | 20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 28 6c 65 6e 67 74 68 20 66 72 65 71 73 29 20 6e 69 6c | .(make-vector.(length.freqs).nil |
| 1c1a0 | 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 49 6e 64 69 63 65 73 20 69 6e 74 6f 20 60 75 6e 69 71 | )).........;;.Indices.into.`uniq |
| 1c1c0 | 27 2e 0a 20 20 20 20 20 20 20 20 28 69 64 78 73 20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 28 6c | '..........(idxs.(make-vector.(l |
| 1c1e0 | 65 6e 67 74 68 20 6c 69 73 74 29 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 43 75 72 | ength.list).nil)).........;;.Cur |
| 1c200 | 72 65 6e 74 20 69 6e 64 65 78 20 69 6e 74 6f 20 60 69 64 78 73 27 2e 0a 20 20 20 20 20 20 20 20 | rent.index.into.`idxs'.......... |
| 1c220 | 28 69 20 30 29 29 0a 20 20 20 20 28 2d 2d 65 61 63 68 20 66 72 65 71 73 0a 20 20 20 20 20 20 28 | (i.0)).....(--each.freqs.......( |
| 1c240 | 61 73 65 74 20 75 6e 69 71 20 69 74 2d 69 6e 64 65 78 20 28 63 61 72 20 69 74 29 29 0a 20 20 20 | aset.uniq.it-index.(car.it)).... |
| 1c260 | 20 20 20 3b 3b 20 50 6f 70 75 6c 61 74 65 20 60 69 64 78 73 27 20 77 69 74 68 20 61 73 20 6d 61 | ...;;.Populate.`idxs'.with.as.ma |
| 1c280 | 6e 79 20 63 6f 70 69 65 73 20 6f 66 20 65 61 63 68 20 60 69 74 2d 69 6e 64 65 78 27 20 61 73 0a | ny.copies.of.each.`it-index'.as. |
| 1c2a0 | 20 20 20 20 20 20 3b 3b 20 74 68 65 72 65 20 61 72 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 | ......;;.there.are.corresponding |
| 1c2c0 | 20 64 75 70 6c 69 63 61 74 65 73 2e 0a 20 20 20 20 20 20 28 64 6f 74 69 6d 65 73 20 28 5f 20 28 | .duplicates........(dotimes.(_.( |
| 1c2e0 | 63 64 72 20 69 74 29 29 0a 20 20 20 20 20 20 20 20 28 61 73 65 74 20 69 64 78 73 20 69 20 69 74 | cdr.it)).........(aset.idxs.i.it |
| 1c300 | 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 31 2b 20 69 29 29 29 | -index).........(setq.i.(1+.i))) |
| 1c320 | 29 0a 20 20 20 20 28 64 61 73 68 2d 2d 6c 65 78 2d 70 65 72 6d 73 20 69 64 78 73 20 75 6e 69 71 | ).....(dash--lex-perms.idxs.uniq |
| 1c340 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 28 6c 69 73 74 29 | )))..(defun.-permutations.(list) |
| 1c360 | 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 64 69 73 74 69 6e 63 74 20 70 65 72 6d 75 74 61 74 | ..."Return.the.distinct.permutat |
| 1c380 | 69 6f 6e 73 20 6f 66 20 4c 49 53 54 2e 0a 0a 44 75 70 6c 69 63 61 74 65 20 65 6c 65 6d 65 6e 74 | ions.of.LIST...Duplicate.element |
| 1c3a0 | 73 20 6f 66 20 4c 49 53 54 20 61 72 65 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 60 65 71 75 | s.of.LIST.are.determined.by.`equ |
| 1c3c0 | 61 6c 27 2c 20 6f 72 20 62 79 0a 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 20 69 66 20 74 68 61 74 | al',.or.by.`-compare-fn'.if.that |
| 1c3e0 | 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 | .is.non-nil."...(declare.(import |
| 1c400 | 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 63 6f 6e 64 20 28 28 6e | ant-return-value.t))...(cond.((n |
| 1c420 | 75 6c 6c 20 6c 69 73 74 29 20 28 6c 69 73 74 20 28 29 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 | ull.list).(list.())).........;;. |
| 1c440 | 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 3a 20 61 20 74 72 61 76 65 72 73 61 6c 20 6f 66 20 60 6c 69 | Optimization:.a.traversal.of.`li |
| 1c460 | 73 74 27 20 69 73 20 66 61 73 74 65 72 20 74 68 61 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 3b | st'.is.faster.than.the.........; |
| 1c480 | 3b 20 72 6f 75 6e 64 20 74 72 69 70 20 76 69 61 20 60 64 61 73 68 2d 2d 75 6e 69 71 2d 70 65 72 | ;.round.trip.via.`dash--uniq-per |
| 1c4a0 | 6d 73 27 20 6f 72 20 60 64 61 73 68 2d 2d 6d 75 6c 74 69 2d 70 65 72 6d 73 27 2e 0a 20 20 20 20 | ms'.or.`dash--multi-perms'...... |
| 1c4c0 | 20 20 20 20 28 28 64 61 73 68 2d 2d 6e 75 6d 62 65 72 73 3c 3d 20 6c 69 73 74 29 0a 20 20 20 20 | ....((dash--numbers<=.list)..... |
| 1c4e0 | 20 20 20 20 20 28 64 61 73 68 2d 2d 6c 65 78 2d 70 65 72 6d 73 20 28 76 63 6f 6e 63 61 74 20 6c | .....(dash--lex-perms.(vconcat.l |
| 1c500 | 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 6c 65 74 20 28 28 66 72 65 71 73 20 28 2d 66 | ist))).........((let.((freqs.(-f |
| 1c520 | 72 65 71 75 65 6e 63 69 65 73 20 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b | requencies.list)))............;; |
| 1c540 | 20 49 73 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 64 69 73 74 69 6e 63 74 3f 0a 20 20 20 20 20 | .Is.each.element.distinct?...... |
| 1c560 | 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 2d 2d 65 76 65 72 79 20 28 3d 20 28 63 64 72 20 69 | ......(unless.(--every.(=.(cdr.i |
| 1c580 | 74 29 20 31 29 20 66 72 65 71 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 61 73 68 2d | t).1).freqs)..............(dash- |
| 1c5a0 | 2d 6d 75 6c 74 69 2d 70 65 72 6d 73 20 6c 69 73 74 20 66 72 65 71 73 29 29 29 29 0a 20 20 20 20 | -multi-perms.list.freqs))))..... |
| 1c5c0 | 20 20 20 20 28 28 64 61 73 68 2d 2d 75 6e 69 71 2d 70 65 72 6d 73 20 6c 69 73 74 29 29 29 29 0a | ....((dash--uniq-perms.list)))). |
| 1c5e0 | 0a 28 64 65 66 75 6e 20 2d 69 6e 69 74 73 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 | .(defun.-inits.(list)..."Return. |
| 1c600 | 61 6c 6c 20 70 72 65 66 69 78 65 73 20 6f 66 20 4c 49 53 54 2e 22 0a 20 20 28 64 65 63 6c 61 72 | all.prefixes.of.LIST."...(declar |
| 1c620 | 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 | e.(pure.t).(side-effect-free.t)) |
| 1c640 | 0a 20 20 28 6c 65 74 20 28 28 72 65 73 20 28 6c 69 73 74 20 6c 69 73 74 29 29 29 0a 20 20 20 20 | ...(let.((res.(list.list)))..... |
| 1c660 | 28 73 65 74 71 20 6c 69 73 74 20 28 72 65 76 65 72 73 65 20 6c 69 73 74 29 29 0a 20 20 20 20 28 | (setq.list.(reverse.list)).....( |
| 1c680 | 77 68 69 6c 65 20 6c 69 73 74 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 72 65 76 65 72 73 65 20 | while.list.......(push.(reverse. |
| 1c6a0 | 28 21 63 64 72 20 6c 69 73 74 29 29 20 72 65 73 29 29 0a 20 20 20 20 72 65 73 29 29 0a 0a 28 64 | (!cdr.list)).res)).....res))..(d |
| 1c6c0 | 65 66 75 6e 20 2d 74 61 69 6c 73 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 6c 6c | efun.-tails.(list)..."Return.all |
| 1c6e0 | 20 73 75 66 66 69 78 65 73 20 6f 66 20 4c 49 53 54 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 | .suffixes.of.LIST."...(declare.( |
| 1c700 | 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 | pure.t).(side-effect-free.t))... |
| 1c720 | 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 23 27 63 6f 6e 73 20 6e 69 6c 20 6c | (-reductions-r-from.#'cons.nil.l |
| 1c740 | 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 28 26 72 | ist))..(defun.-common-prefix.(&r |
| 1c760 | 65 73 74 20 6c 69 73 74 73 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 6f 6e 67 65 73 74 | est.lists)..."Return.the.longest |
| 1c780 | 20 63 6f 6d 6d 6f 6e 20 70 72 65 66 69 78 20 6f 66 20 4c 49 53 54 53 2e 22 0a 20 20 28 64 65 63 | .common.prefix.of.LISTS."...(dec |
| 1c7a0 | 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 | lare.(pure.t).(side-effect-free. |
| 1c7c0 | 74 29 29 0a 20 20 28 2d 2d 72 65 64 75 63 65 20 28 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 61 | t))...(--reduce.(--take-while.(a |
| 1c7e0 | 6e 64 20 61 63 63 20 28 65 71 75 61 6c 20 28 70 6f 70 20 61 63 63 29 20 69 74 29 29 20 69 74 29 | nd.acc.(equal.(pop.acc).it)).it) |
| 1c800 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 73 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f | .............lists))..(defun.-co |
| 1c820 | 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 22 52 65 74 | mmon-suffix.(&rest.lists)..."Ret |
| 1c840 | 75 72 6e 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 63 6f 6d 6d 6f 6e 20 73 75 66 66 69 78 20 6f 66 | urn.the.longest.common.suffix.of |
| 1c860 | 20 4c 49 53 54 53 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 | .LISTS."...(declare.(pure.t).(si |
| 1c880 | 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6e 72 65 76 65 72 73 65 20 28 | de-effect-free.t))...(nreverse.( |
| 1c8a0 | 61 70 70 6c 79 20 23 27 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 28 6d 61 70 63 61 72 20 23 | apply.#'-common-prefix.(mapcar.# |
| 1c8c0 | 27 72 65 76 65 72 73 65 20 6c 69 73 74 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 6e 74 | 'reverse.lists))))..(defun.-cont |
| 1c8e0 | 61 69 6e 73 3f 20 28 6c 69 73 74 20 65 6c 65 6d 65 6e 74 29 0a 20 20 22 52 65 74 75 72 6e 20 6e | ains?.(list.element)..."Return.n |
| 1c900 | 6f 6e 2d 6e 69 6c 20 69 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 45 4c 45 4d 45 4e 54 2e | on-nil.if.LIST.contains.ELEMENT. |
| 1c920 | 0a 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 | ..The.test.for.equality.is.done. |
| 1c940 | 77 69 74 68 20 60 65 71 75 61 6c 27 2c 20 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d | with.`equal',.or.with.`-compare- |
| 1c960 | 66 6e 27 0a 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 20 20 41 73 20 77 69 74 68 | fn'.if.that.is.non-nil...As.with |
| 1c980 | 20 60 6d 65 6d 62 65 72 27 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 0a 61 | .`member',.the.return.value.is.a |
| 1c9a0 | 63 74 75 61 6c 6c 79 20 74 68 65 20 74 61 69 6c 20 6f 66 20 4c 49 53 54 20 77 68 6f 73 65 20 63 | ctually.the.tail.of.LIST.whose.c |
| 1c9c0 | 61 72 20 69 73 20 45 4c 45 4d 45 4e 54 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 63 6f 6e 74 61 69 6e | ar.is.ELEMENT...Alias:.`-contain |
| 1c9e0 | 73 2d 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 | s-p'."...(declare.(important-ret |
| 1ca00 | 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 66 75 6e 63 61 6c 6c 20 28 64 61 73 68 2d 2d | urn-value.t))...(funcall.(dash-- |
| 1ca20 | 6d 65 6d 62 65 72 2d 66 6e 29 20 65 6c 65 6d 65 6e 74 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 61 | member-fn).element.list))..(defa |
| 1ca40 | 6c 69 61 73 20 27 2d 63 6f 6e 74 61 69 6e 73 2d 70 20 23 27 2d 63 6f 6e 74 61 69 6e 73 3f 29 0a | lias.'-contains-p.#'-contains?). |
| 1ca60 | 0a 28 64 65 66 75 6e 20 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 28 6c 69 73 74 31 20 6c 69 73 74 | .(defun.-same-items?.(list1.list |
| 1ca80 | 32 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 4c 49 53 54 31 20 61 6e | 2)..."Return.non-nil.if.LIST1.an |
| 1caa0 | 64 20 4c 49 53 54 32 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 64 69 73 74 69 6e 63 74 20 65 | d.LIST2.have.the.same.distinct.e |
| 1cac0 | 6c 65 6d 65 6e 74 73 2e 0a 0a 54 68 65 20 6f 72 64 65 72 20 6f 66 20 74 68 65 20 65 6c 65 6d 65 | lements...The.order.of.the.eleme |
| 1cae0 | 6e 74 73 20 69 6e 20 74 68 65 20 6c 69 73 74 73 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 74 65 72 | nts.in.the.lists.does.not.matter |
| 1cb00 | 2e 20 20 54 68 65 0a 6c 69 73 74 73 20 6d 61 79 20 62 65 20 6f 66 20 64 69 66 66 65 72 65 6e 74 | ...The.lists.may.be.of.different |
| 1cb20 | 20 6c 65 6e 67 74 68 73 2c 20 69 2e 65 2e 2c 20 63 6f 6e 74 61 69 6e 20 64 75 70 6c 69 63 61 74 | .lengths,.i.e.,.contain.duplicat |
| 1cb40 | 65 0a 65 6c 65 6d 65 6e 74 73 2e 20 20 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 | e.elements...The.test.for.equali |
| 1cb60 | 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 60 65 71 75 61 6c 27 2c 20 6f 72 20 77 69 74 68 | ty.is.done.with.`equal',.or.with |
| 1cb80 | 0a 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 20 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d 6e 69 | .`-compare-fn'.if.that.is.non-ni |
| 1cba0 | 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 73 61 6d 65 2d 69 74 65 6d 73 2d 70 27 2e 22 0a 20 20 28 | l...Alias:.`-same-items-p'."...( |
| 1cbc0 | 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 | declare.(important-return-value. |
| 1cbe0 | 74 29 29 0a 20 20 28 6c 65 74 20 28 74 65 73 74 20 6c 65 6e 31 20 6c 65 6e 32 29 0a 20 20 20 20 | t))...(let.(test.len1.len2)..... |
| 1cc00 | 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 28 6f 72 20 6c 69 73 74 31 20 6c 69 73 74 32 29 29 29 0a | (cond.((null.(or.list1.list2))). |
| 1cc20 | 20 20 20 20 20 20 20 20 20 20 28 28 6e 75 6c 6c 20 28 61 6e 64 20 6c 69 73 74 31 20 6c 69 73 74 | ..........((null.(and.list1.list |
| 1cc40 | 32 29 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 55 73 65 20 61 20 68 61 73 68 | 2)).nil)...........;;.Use.a.hash |
| 1cc60 | 20 74 61 62 6c 65 20 69 66 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 20 69 73 20 61 20 6b 6e 6f | .table.if.`-compare-fn'.is.a.kno |
| 1cc80 | 77 6e 20 68 61 73 68 20 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 65 73 74 20 | wn.hash.table...........;;.test. |
| 1cca0 | 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 65 69 74 68 65 72 20 6c 69 73 74 20 69 73 20 6c 6f 6e 67 | function.and.either.list.is.long |
| 1ccc0 | 20 65 6e 6f 75 67 68 2e 0a 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 73 65 74 71 20 74 | .enough............((and.(setq.t |
| 1cce0 | 65 73 74 20 28 64 61 73 68 2d 2d 68 61 73 68 2d 74 65 73 74 2d 66 6e 29 29 0a 20 20 20 20 20 20 | est.(dash--hash-test-fn))....... |
| 1cd00 | 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 65 6e 31 20 28 6c 65 6e 67 74 68 20 6c 69 73 | ..........(setq.len1.(length.lis |
| 1cd20 | 74 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 65 6e 32 20 | t1)).................(setq.len2. |
| 1cd40 | 28 6c 65 6e 67 74 68 20 6c 69 73 74 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (length.list2))................. |
| 1cd60 | 28 3e 20 28 6d 61 78 20 6c 65 6e 31 20 6c 65 6e 32 29 20 64 61 73 68 2d 2d 73 68 6f 72 74 2d 6c | (>.(max.len1.len2).dash--short-l |
| 1cd80 | 69 73 74 2d 6c 65 6e 67 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 68 | ist-length))............(let.((h |
| 1cda0 | 74 31 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 74 65 73 74 20 3a | t1.(make-hash-table.:test.test.: |
| 1cdc0 | 73 69 7a 65 20 6c 65 6e 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 | size.len1))..................(ht |
| 1cde0 | 32 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 74 65 73 74 20 3a 73 | 2.(make-hash-table.:test.test.:s |
| 1ce00 | 69 7a 65 20 6c 65 6e 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 | ize.len2)))..............(--each |
| 1ce20 | 20 6c 69 73 74 31 20 28 70 75 74 68 61 73 68 20 69 74 20 74 20 68 74 31 29 29 0a 20 20 20 20 20 | .list1.(puthash.it.t.ht1))...... |
| 1ce40 | 20 20 20 20 20 20 20 20 3b 3b 20 4d 6f 76 65 20 76 69 73 69 74 65 64 20 65 6c 65 6d 65 6e 74 73 | ........;;.Move.visited.elements |
| 1ce60 | 20 66 72 6f 6d 20 60 68 74 31 27 20 74 6f 20 60 68 74 32 27 2e 20 20 54 68 69 73 20 77 61 79 2c | .from.`ht1'.to.`ht2'...This.way, |
| 1ce80 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 66 20 76 69 73 69 74 69 6e 67 20 61 6c 6c | ..............;;.if.visiting.all |
| 1cea0 | 20 6f 66 20 60 6c 69 73 74 32 27 20 6c 65 61 76 65 73 20 60 68 74 31 27 20 65 6d 70 74 79 2c 20 | .of.`list2'.leaves.`ht1'.empty,. |
| 1cec0 | 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 | then..............;;.all.element |
| 1cee0 | 73 20 66 72 6f 6d 20 62 6f 74 68 20 6c 69 73 74 73 20 68 61 76 65 20 62 65 65 6e 20 61 63 63 6f | s.from.both.lists.have.been.acco |
| 1cf00 | 75 6e 74 65 64 20 66 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 2d 2d | unted.for...............(and.(-- |
| 1cf20 | 65 76 65 72 79 20 28 63 6f 6e 64 20 28 28 67 65 74 68 61 73 68 20 69 74 20 68 74 31 29 0a 20 20 | every.(cond.((gethash.it.ht1)... |
| 1cf40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 1cf60 | 28 72 65 6d 68 61 73 68 20 69 74 20 68 74 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (remhash.it.ht1)................ |
| 1cf80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 68 61 73 68 20 69 74 20 74 | ...................(puthash.it.t |
| 1cfa0 | 20 68 74 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .ht2)).......................... |
| 1cfc0 | 20 20 20 20 20 20 20 20 28 28 67 65 74 68 61 73 68 20 69 74 20 68 74 32 29 29 29 0a 20 20 20 20 | ........((gethash.it.ht2)))..... |
| 1cfe0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 32 29 0a 20 20 | .......................list2)... |
| 1d000 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 7a 65 72 6f 70 20 28 68 61 73 68 2d 74 61 62 | ................(zerop.(hash-tab |
| 1d020 | 6c 65 2d 63 6f 75 6e 74 20 68 74 31 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6c 65 | le-count.ht1)))))...........((le |
| 1d040 | 74 20 28 28 6d 65 6d 62 65 72 20 28 64 61 73 68 2d 2d 6d 65 6d 62 65 72 2d 66 6e 29 29 29 0a 20 | t.((member.(dash--member-fn))).. |
| 1d060 | 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 2d 2d 61 6c 6c 3f 20 28 66 75 6e 63 61 6c | ............(and.(--all?.(funcal |
| 1d080 | 6c 20 6d 65 6d 62 65 72 20 69 74 20 6c 69 73 74 32 29 20 6c 69 73 74 31 29 0a 20 20 20 20 20 20 | l.member.it.list2).list1)....... |
| 1d0a0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 61 6c 6c 3f 20 28 66 75 6e 63 61 6c 6c 20 6d 65 6d | ............(--all?.(funcall.mem |
| 1d0c0 | 62 65 72 20 69 74 20 6c 69 73 74 31 29 20 6c 69 73 74 32 29 29 29 29 29 29 29 0a 0a 28 64 65 66 | ber.it.list1).list2)))))))..(def |
| 1d0e0 | 61 6c 69 61 73 20 27 2d 73 61 6d 65 2d 69 74 65 6d 73 2d 70 20 23 27 2d 73 61 6d 65 2d 69 74 65 | alias.'-same-items-p.#'-same-ite |
| 1d100 | 6d 73 3f 29 0a 0a 28 64 65 66 75 6e 20 2d 69 73 2d 70 72 65 66 69 78 3f 20 28 70 72 65 66 69 78 | ms?)..(defun.-is-prefix?.(prefix |
| 1d120 | 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 50 52 45 46 | .list)..."Return.non-nil.if.PREF |
| 1d140 | 49 58 20 69 73 20 61 20 70 72 65 66 69 78 20 6f 66 20 4c 49 53 54 2e 0a 0a 41 6c 69 61 73 3a 20 | IX.is.a.prefix.of.LIST...Alias:. |
| 1d160 | 60 2d 69 73 2d 70 72 65 66 69 78 2d 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 | `-is-prefix-p'."...(declare.(pur |
| 1d180 | 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 2d | e.t).(side-effect-free.t))...(-- |
| 1d1a0 | 65 61 63 68 2d 77 68 69 6c 65 20 6c 69 73 74 20 28 61 6e 64 20 28 65 71 75 61 6c 20 28 63 61 72 | each-while.list.(and.(equal.(car |
| 1d1c0 | 20 70 72 65 66 69 78 29 20 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .prefix).it).................... |
| 1d1e0 | 20 20 20 20 20 20 20 28 21 63 64 72 20 70 72 65 66 69 78 29 29 29 0a 20 20 28 6e 75 6c 6c 20 70 | .......(!cdr.prefix)))...(null.p |
| 1d200 | 72 65 66 69 78 29 29 0a 0a 28 64 65 66 75 6e 20 2d 69 73 2d 73 75 66 66 69 78 3f 20 28 73 75 66 | refix))..(defun.-is-suffix?.(suf |
| 1d220 | 66 69 78 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 53 | fix.list)..."Return.non-nil.if.S |
| 1d240 | 55 46 46 49 58 20 69 73 20 61 20 73 75 66 66 69 78 20 6f 66 20 4c 49 53 54 2e 0a 0a 41 6c 69 61 | UFFIX.is.a.suffix.of.LIST...Alia |
| 1d260 | 73 3a 20 60 2d 69 73 2d 73 75 66 66 69 78 2d 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 | s:.`-is-suffix-p'."...(declare.( |
| 1d280 | 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 | pure.t).(side-effect-free.t))... |
| 1d2a0 | 28 65 71 75 61 6c 20 73 75 66 66 69 78 20 28 6c 61 73 74 20 6c 69 73 74 20 28 6c 65 6e 67 74 68 | (equal.suffix.(last.list.(length |
| 1d2c0 | 20 73 75 66 66 69 78 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 69 73 2d 69 6e 66 69 78 3f 20 28 | .suffix))))..(defun.-is-infix?.( |
| 1d2e0 | 69 6e 66 69 78 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 | infix.list)..."Return.non-nil.if |
| 1d300 | 20 49 4e 46 49 58 20 69 73 20 69 6e 66 69 78 20 6f 66 20 4c 49 53 54 2e 0a 0a 54 68 69 73 20 6f | .INFIX.is.infix.of.LIST...This.o |
| 1d320 | 70 65 72 61 74 69 6f 6e 20 72 75 6e 73 20 69 6e 20 4f 28 6e 5e 32 29 20 74 69 6d 65 0a 0a 41 6c | peration.runs.in.O(n^2).time..Al |
| 1d340 | 69 61 73 3a 20 60 2d 69 73 2d 69 6e 66 69 78 2d 70 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 | ias:.`-is-infix-p'"...(declare.( |
| 1d360 | 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 | pure.t).(side-effect-free.t))... |
| 1d380 | 28 6c 65 74 20 28 64 6f 6e 65 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 6e 6f 74 | (let.(done).....(while.(and.(not |
| 1d3a0 | 20 64 6f 6e 65 29 20 6c 69 73 74 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 64 6f 6e 65 20 28 2d | .done).list).......(setq.done.(- |
| 1d3c0 | 69 73 2d 70 72 65 66 69 78 3f 20 69 6e 66 69 78 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 28 21 | is-prefix?.infix.list)).......(! |
| 1d3e0 | 63 64 72 20 6c 69 73 74 29 29 0a 20 20 20 20 64 6f 6e 65 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 | cdr.list)).....done))..(defalias |
| 1d400 | 20 27 2d 69 73 2d 70 72 65 66 69 78 2d 70 20 27 2d 69 73 2d 70 72 65 66 69 78 3f 29 0a 28 64 65 | .'-is-prefix-p.'-is-prefix?).(de |
| 1d420 | 66 61 6c 69 61 73 20 27 2d 69 73 2d 73 75 66 66 69 78 2d 70 20 27 2d 69 73 2d 73 75 66 66 69 78 | falias.'-is-suffix-p.'-is-suffix |
| 1d440 | 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 69 73 2d 69 6e 66 69 78 2d 70 20 27 2d 69 73 2d 69 | ?).(defalias.'-is-infix-p.'-is-i |
| 1d460 | 6e 66 69 78 3f 29 0a 0a 28 64 65 66 75 6e 20 2d 73 6f 72 74 20 28 63 6f 6d 70 61 72 61 74 6f 72 | nfix?)..(defun.-sort.(comparator |
| 1d480 | 20 6c 69 73 74 29 0a 20 20 22 53 6f 72 74 20 4c 49 53 54 2c 20 73 74 61 62 6c 79 2c 20 63 6f 6d | .list)..."Sort.LIST,.stably,.com |
| 1d4a0 | 70 61 72 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 75 73 69 6e 67 20 43 4f 4d 50 41 52 41 54 4f 52 | paring.elements.using.COMPARATOR |
| 1d4c0 | 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 73 6f 72 74 65 64 20 6c 69 73 74 2e 20 20 4c 49 53 54 20 | ..Return.the.sorted.list...LIST. |
| 1d4e0 | 69 73 20 4e 4f 54 20 6d 6f 64 69 66 69 65 64 20 62 79 20 73 69 64 65 20 65 66 66 65 63 74 73 2e | is.NOT.modified.by.side.effects. |
| 1d500 | 0a 43 4f 4d 50 41 52 41 54 4f 52 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 77 6f 20 65 | .COMPARATOR.is.called.with.two.e |
| 1d520 | 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2c 20 61 6e 64 20 73 68 6f 75 6c 64 20 72 65 74 75 | lements.of.LIST,.and.should.retu |
| 1d540 | 72 6e 20 6e 6f 6e 2d 6e 69 6c 0a 69 66 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 | rn.non-nil.if.the.first.element. |
| 1d560 | 73 68 6f 75 6c 64 20 73 6f 72 74 20 62 65 66 6f 72 65 20 74 68 65 20 73 65 63 6f 6e 64 2e 22 0a | should.sort.before.the.second.". |
| 1d580 | 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c | ..(declare.(important-return-val |
| 1d5a0 | 75 65 20 74 29 29 0a 20 20 3b 3b 20 4e 6f 74 20 79 65 74 20 77 6f 72 74 68 20 63 68 61 6e 67 69 | ue.t))...;;.Not.yet.worth.changi |
| 1d5c0 | 6e 67 20 74 6f 20 28 73 6f 72 74 20 6c 69 73 74 20 3a 6c 65 73 73 70 20 63 6f 6d 70 61 72 61 74 | ng.to.(sort.list.:lessp.comparat |
| 1d5e0 | 6f 72 29 3b 0a 20 20 3b 3b 20 73 74 69 6c 6c 20 73 65 65 6d 73 20 61 73 20 66 61 73 74 20 6f 72 | or);...;;.still.seems.as.fast.or |
| 1d600 | 20 73 6c 69 67 68 74 6c 79 20 66 61 73 74 65 72 2e 0a 20 20 28 73 6f 72 74 20 28 63 6f 70 79 2d | .slightly.faster....(sort.(copy- |
| 1d620 | 73 65 71 75 65 6e 63 65 20 6c 69 73 74 29 20 63 6f 6d 70 61 72 61 74 6f 72 29 29 0a 0a 28 64 65 | sequence.list).comparator))..(de |
| 1d640 | 66 6d 61 63 72 6f 20 2d 2d 73 6f 72 74 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 | fmacro.--sort.(form.list)..."Ana |
| 1d660 | 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 73 6f 72 74 27 2e 22 0a 20 20 28 64 65 63 6c | phoric.form.of.`-sort'."...(decl |
| 1d680 | 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 | are.(debug.(def-form.form)))...` |
| 1d6a0 | 28 2d 73 6f 72 74 20 28 6c 61 6d 62 64 61 20 28 69 74 20 6f 74 68 65 72 29 20 28 69 67 6e 6f 72 | (-sort.(lambda.(it.other).(ignor |
| 1d6c0 | 65 20 69 74 20 6f 74 68 65 72 29 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 | e.it.other).,form).,list))..(def |
| 1d6e0 | 75 6e 20 2d 6c 69 73 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 61 72 67 20 26 72 65 73 74 20 61 72 | un.-list.(&optional.arg.&rest.ar |
| 1d700 | 67 73 29 0a 20 20 22 45 6e 73 75 72 65 20 41 52 47 20 69 73 20 61 20 6c 69 73 74 2e 0a 49 66 20 | gs)..."Ensure.ARG.is.a.list..If. |
| 1d720 | 41 52 47 20 69 73 20 61 6c 72 65 61 64 79 20 61 20 6c 69 73 74 2c 20 72 65 74 75 72 6e 20 69 74 | ARG.is.already.a.list,.return.it |
| 1d740 | 20 61 73 20 69 73 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 2e 0a 4f 74 68 65 72 77 69 73 65 2c 20 | .as.is.(not.a.copy)..Otherwise,. |
| 1d760 | 72 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 41 52 47 20 61 73 20 69 74 | return.a.new.list.with.ARG.as.it |
| 1d780 | 73 20 6f 6e 6c 79 20 65 6c 65 6d 65 6e 74 2e 0a 0a 41 6e 6f 74 68 65 72 20 73 75 70 70 6f 72 74 | s.only.element...Another.support |
| 1d7a0 | 65 64 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 28 2d 6c 69 73 74 20 | ed.calling.convention.is.(-list. |
| 1d7c0 | 26 72 65 73 74 20 41 52 47 53 29 2e 0a 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 69 66 20 41 52 | &rest.ARGS)..In.this.case,.if.AR |
| 1d7e0 | 47 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2c 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 | G.is.not.a.list,.a.new.list.with |
| 1d800 | 20 61 6c 6c 20 6f 66 0a 41 52 47 53 20 61 73 20 65 6c 65 6d 65 6e 74 73 20 69 73 20 72 65 74 75 | .all.of.ARGS.as.elements.is.retu |
| 1d820 | 72 6e 65 64 2e 20 20 54 68 69 73 20 75 73 65 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 66 6f 72 | rned...This.use.is.supported.for |
| 1d840 | 0a 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 61 6e 64 20 69 73 20 6f | .backward.compatibility.and.is.o |
| 1d860 | 74 68 65 72 77 69 73 65 20 64 65 70 72 65 63 61 74 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 | therwise.deprecated."...(declare |
| 1d880 | 20 28 61 64 76 65 72 74 69 73 65 64 2d 63 61 6c 6c 69 6e 67 2d 63 6f 6e 76 65 6e 74 69 6f 6e 20 | .(advertised-calling-convention. |
| 1d8a0 | 28 61 72 67 29 20 22 32 2e 31 38 2e 30 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 75 72 65 | (arg)."2.18.0")............(pure |
| 1d8c0 | 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 | .t).(side-effect-free.error-free |
| 1d8e0 | 29 29 0a 20 20 28 69 66 20 28 6c 69 73 74 70 20 61 72 67 29 20 61 72 67 20 28 63 6f 6e 73 20 61 | ))...(if.(listp.arg).arg.(cons.a |
| 1d900 | 72 67 20 61 72 67 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 70 65 61 74 20 28 6e 20 78 29 | rg.args)))..(defun.-repeat.(n.x) |
| 1d920 | 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 | ..."Return.a.new.list.of.length. |
| 1d940 | 4e 20 77 69 74 68 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 62 65 69 6e 67 20 58 2e 0a 52 65 74 | N.with.each.element.being.X..Ret |
| 1d960 | 75 72 6e 20 6e 69 6c 20 69 66 20 4e 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 31 2e 22 0a 20 20 | urn.nil.if.N.is.less.than.1."... |
| 1d980 | 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 | (declare.(side-effect-free.t)).. |
| 1d9a0 | 20 28 61 6e 64 20 28 3e 3d 20 6e 20 30 29 20 28 6d 61 6b 65 2d 6c 69 73 74 20 6e 20 78 29 29 29 | .(and.(>=.n.0).(make-list.n.x))) |
| 1d9c0 | 0a 0a 28 64 65 66 75 6e 20 2d 73 75 6d 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 | ..(defun.-sum.(list)..."Return.t |
| 1d9e0 | 68 65 20 73 75 6d 20 6f 66 20 4c 49 53 54 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 | he.sum.of.LIST."...(declare.(pur |
| 1da00 | 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 61 70 | e.t).(side-effect-free.t))...(ap |
| 1da20 | 70 6c 79 20 23 27 2b 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 75 6e 6e 69 6e 67 2d | ply.#'+.list))..(defun.-running- |
| 1da40 | 73 75 6d 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 | sum.(list)..."Return.a.list.with |
| 1da60 | 20 72 75 6e 6e 69 6e 67 20 73 75 6d 73 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 0a | .running.sums.of.items.in.LIST.. |
| 1da80 | 4c 49 53 54 20 6d 75 73 74 20 62 65 20 6e 6f 6e 2d 65 6d 70 74 79 2e 22 0a 20 20 28 64 65 63 6c | LIST.must.be.non-empty."...(decl |
| 1daa0 | 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 | are.(pure.t).(side-effect-free.t |
| 1dac0 | 29 29 0a 20 20 28 6f 72 20 6c 69 73 74 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 | ))...(or.list.(signal.'wrong-typ |
| 1dae0 | 65 2d 61 72 67 75 6d 65 6e 74 20 28 6c 69 73 74 20 23 27 63 6f 6e 73 70 20 6c 69 73 74 29 29 29 | e-argument.(list.#'consp.list))) |
| 1db00 | 0a 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 20 23 27 2b 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 | ...(-reductions.#'+.list))..(def |
| 1db20 | 75 6e 20 2d 70 72 6f 64 75 63 74 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 | un.-product.(list)..."Return.the |
| 1db40 | 20 70 72 6f 64 75 63 74 20 6f 66 20 4c 49 53 54 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 | .product.of.LIST."...(declare.(p |
| 1db60 | 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 | ure.t).(side-effect-free.t))...( |
| 1db80 | 61 70 70 6c 79 20 23 27 2a 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 75 6e 6e 69 6e | apply.#'*.list))..(defun.-runnin |
| 1dba0 | 67 2d 70 72 6f 64 75 63 74 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 | g-product.(list)..."Return.a.lis |
| 1dbc0 | 74 20 77 69 74 68 20 72 75 6e 6e 69 6e 67 20 70 72 6f 64 75 63 74 73 20 6f 66 20 69 74 65 6d 73 | t.with.running.products.of.items |
| 1dbe0 | 20 69 6e 20 4c 49 53 54 2e 0a 4c 49 53 54 20 6d 75 73 74 20 62 65 20 6e 6f 6e 2d 65 6d 70 74 79 | .in.LIST..LIST.must.be.non-empty |
| 1dc00 | 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 | ."...(declare.(pure.t).(side-eff |
| 1dc20 | 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6f 72 20 6c 69 73 74 20 28 73 69 67 6e 61 6c 20 | ect-free.t))...(or.list.(signal. |
| 1dc40 | 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e 74 20 28 6c 69 73 74 20 23 27 63 6f 6e | 'wrong-type-argument.(list.#'con |
| 1dc60 | 73 70 20 6c 69 73 74 29 29 29 0a 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 20 23 27 2a 20 6c 69 | sp.list)))...(-reductions.#'*.li |
| 1dc80 | 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 61 78 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 | st))..(defun.-max.(list)..."Retu |
| 1dca0 | 72 6e 20 74 68 65 20 6c 61 72 67 65 73 74 20 76 61 6c 75 65 20 66 72 6f 6d 20 4c 49 53 54 20 6f | rn.the.largest.value.from.LIST.o |
| 1dcc0 | 66 20 6e 75 6d 62 65 72 73 20 6f 72 20 6d 61 72 6b 65 72 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 | f.numbers.or.markers."...(declar |
| 1dce0 | 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 | e.(pure.t).(side-effect-free.t)) |
| 1dd00 | 0a 20 20 28 61 70 70 6c 79 20 23 27 6d 61 78 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d | ...(apply.#'max.list))..(defun.- |
| 1dd20 | 6d 69 6e 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 73 6d 61 6c 6c 65 73 | min.(list)..."Return.the.smalles |
| 1dd40 | 74 20 76 61 6c 75 65 20 66 72 6f 6d 20 4c 49 53 54 20 6f 66 20 6e 75 6d 62 65 72 73 20 6f 72 20 | t.value.from.LIST.of.numbers.or. |
| 1dd60 | 6d 61 72 6b 65 72 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 | markers."...(declare.(pure.t).(s |
| 1dd80 | 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 61 70 70 6c 79 20 23 27 6d | ide-effect-free.t))...(apply.#'m |
| 1dda0 | 69 6e 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 61 78 2d 62 79 20 28 63 6f 6d 70 61 | in.list))..(defun.-max-by.(compa |
| 1ddc0 | 72 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 22 54 61 6b 65 20 61 20 63 6f 6d 70 61 72 69 73 6f 6e | rator.list)..."Take.a.comparison |
| 1dde0 | 20 66 75 6e 63 74 69 6f 6e 20 43 4f 4d 50 41 52 41 54 4f 52 20 61 6e 64 20 61 20 4c 49 53 54 20 | .function.COMPARATOR.and.a.LIST. |
| 1de00 | 61 6e 64 20 72 65 74 75 72 6e 0a 74 68 65 20 67 72 65 61 74 65 73 74 20 65 6c 65 6d 65 6e 74 20 | and.return.the.greatest.element. |
| 1de20 | 6f 66 20 74 68 65 20 6c 69 73 74 20 62 79 20 74 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 | of.the.list.by.the.comparison.fu |
| 1de40 | 6e 63 74 69 6f 6e 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 63 6f 6d 62 69 6e 61 74 6f 72 20 60 2d 6f | nction...See.also.combinator.`-o |
| 1de60 | 6e 27 20 77 68 69 63 68 20 63 61 6e 20 74 72 61 6e 73 66 6f 72 6d 20 74 68 65 20 76 61 6c 75 65 | n'.which.can.transform.the.value |
| 1de80 | 73 20 62 65 66 6f 72 65 0a 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 6d 2e 22 0a 20 20 28 64 65 63 | s.before.comparing.them."...(dec |
| 1dea0 | 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 | lare.(important-return-value.t)) |
| 1dec0 | 0a 20 20 28 2d 2d 72 65 64 75 63 65 20 28 69 66 20 28 66 75 6e 63 61 6c 6c 20 63 6f 6d 70 61 72 | ...(--reduce.(if.(funcall.compar |
| 1dee0 | 61 74 6f 72 20 69 74 20 61 63 63 29 20 69 74 20 61 63 63 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 | ator.it.acc).it.acc).list))..(de |
| 1df00 | 66 75 6e 20 2d 6d 69 6e 2d 62 79 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 | fun.-min-by.(comparator.list)... |
| 1df20 | 22 54 61 6b 65 20 61 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 20 43 4f 4d 50 | "Take.a.comparison.function.COMP |
| 1df40 | 41 52 41 54 4f 52 20 61 6e 64 20 61 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 0a 74 68 65 | ARATOR.and.a.LIST.and.return.the |
| 1df60 | 20 6c 65 61 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 62 79 20 74 68 | .least.element.of.the.list.by.th |
| 1df80 | 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 53 65 65 20 61 6c 73 6f | e.comparison.function...See.also |
| 1dfa0 | 20 63 6f 6d 62 69 6e 61 74 6f 72 20 60 2d 6f 6e 27 20 77 68 69 63 68 20 63 61 6e 20 74 72 61 6e | .combinator.`-on'.which.can.tran |
| 1dfc0 | 73 66 6f 72 6d 20 74 68 65 20 76 61 6c 75 65 73 20 62 65 66 6f 72 65 0a 63 6f 6d 70 61 72 69 6e | sform.the.values.before.comparin |
| 1dfe0 | 67 20 74 68 65 6d 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 | g.them."...(declare.(important-r |
| 1e000 | 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 2d 2d 72 65 64 75 63 65 20 28 69 66 20 | eturn-value.t))...(--reduce.(if. |
| 1e020 | 28 66 75 6e 63 61 6c 6c 20 63 6f 6d 70 61 72 61 74 6f 72 20 69 74 20 61 63 63 29 20 61 63 63 20 | (funcall.comparator.it.acc).acc. |
| 1e040 | 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6d 61 78 2d 62 79 20 28 | it).list))..(defmacro.--max-by.( |
| 1e060 | 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 20 | form.list)..."Anaphoric.version. |
| 1e080 | 6f 66 20 60 2d 6d 61 78 2d 62 79 27 2e 0a 0a 54 68 65 20 69 74 65 6d 73 20 66 6f 72 20 74 68 65 | of.`-max-by'...The.items.for.the |
| 1e0a0 | 20 63 6f 6d 70 61 72 61 74 6f 72 20 66 6f 72 6d 20 61 72 65 20 65 78 70 6f 73 65 64 20 61 73 20 | .comparator.form.are.exposed.as. |
| 1e0c0 | 5c 22 69 74 5c 22 20 61 6e 64 20 5c 22 6f 74 68 65 72 5c 22 2e 22 0a 20 20 28 64 65 63 6c 61 72 | \"it\".and.\"other\"."...(declar |
| 1e0e0 | 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d | e.(debug.(def-form.form)))...`(- |
| 1e100 | 6d 61 78 2d 62 79 20 28 6c 61 6d 62 64 61 20 28 69 74 20 6f 74 68 65 72 29 20 28 69 67 6e 6f 72 | max-by.(lambda.(it.other).(ignor |
| 1e120 | 65 20 69 74 20 6f 74 68 65 72 29 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 | e.it.other).,form).,list))..(def |
| 1e140 | 6d 61 63 72 6f 20 2d 2d 6d 69 6e 2d 62 79 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e | macro.--min-by.(form.list)..."An |
| 1e160 | 61 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 2d 6d 69 6e 2d 62 79 27 2e 0a 0a 54 | aphoric.version.of.`-min-by'...T |
| 1e180 | 68 65 20 69 74 65 6d 73 20 66 6f 72 20 74 68 65 20 63 6f 6d 70 61 72 61 74 6f 72 20 66 6f 72 6d | he.items.for.the.comparator.form |
| 1e1a0 | 20 61 72 65 20 65 78 70 6f 73 65 64 20 61 73 20 5c 22 69 74 5c 22 20 61 6e 64 20 5c 22 6f 74 68 | .are.exposed.as.\"it\".and.\"oth |
| 1e1c0 | 65 72 5c 22 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f | er\"."...(declare.(debug.(def-fo |
| 1e1e0 | 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 6d 69 6e 2d 62 79 20 28 6c 61 6d 62 64 61 20 28 | rm.form)))...`(-min-by.(lambda.( |
| 1e200 | 69 74 20 6f 74 68 65 72 29 20 28 69 67 6e 6f 72 65 20 69 74 20 6f 74 68 65 72 29 20 2c 66 6f 72 | it.other).(ignore.it.other).,for |
| 1e220 | 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 69 6f 74 61 20 28 63 6f 75 6e 74 20 | m).,list))..(defun.-iota.(count. |
| 1e240 | 26 6f 70 74 69 6f 6e 61 6c 20 73 74 61 72 74 20 73 74 65 70 29 0a 20 20 22 52 65 74 75 72 6e 20 | &optional.start.step)..."Return. |
| 1e260 | 61 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 43 4f 55 4e 54 20 6e 75 6d 62 65 72 73 2e | a.list.containing.COUNT.numbers. |
| 1e280 | 0a 53 74 61 72 74 73 20 66 72 6f 6d 20 53 54 41 52 54 20 61 6e 64 20 61 64 64 73 20 53 54 45 50 | .Starts.from.START.and.adds.STEP |
| 1e2a0 | 20 65 61 63 68 20 74 69 6d 65 2e 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 53 54 41 52 54 20 69 | .each.time...The.default.START.i |
| 1e2c0 | 73 0a 7a 65 72 6f 2c 20 74 68 65 20 64 65 66 61 75 6c 74 20 53 54 45 50 20 69 73 20 31 2e 0a 54 | s.zero,.the.default.STEP.is.1..T |
| 1e2e0 | 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 69 74 73 20 6e 61 6d 65 20 66 72 6f 6d | his.function.takes.its.name.from |
| 1e300 | 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 70 72 69 6d 69 74 69 76 65 20 69 6e 0a | .the.corresponding.primitive.in. |
| 1e320 | 74 68 65 20 41 50 4c 20 6c 61 6e 67 75 61 67 65 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 | the.APL.language."...(declare.(s |
| 1e340 | 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 6e | ide-effect-free.t))...(unless.(n |
| 1e360 | 61 74 6e 75 6d 70 20 63 6f 75 6e 74 29 0a 20 20 20 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 | atnump.count).....(signal.'wrong |
| 1e380 | 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e 74 20 28 6c 69 73 74 20 23 27 6e 61 74 6e 75 6d 70 20 63 | -type-argument.(list.#'natnump.c |
| 1e3a0 | 6f 75 6e 74 29 29 29 0a 20 20 28 6f 72 20 73 74 61 72 74 20 28 73 65 74 71 20 73 74 61 72 74 20 | ount)))...(or.start.(setq.start. |
| 1e3c0 | 30 29 29 0a 20 20 28 6f 72 20 73 74 65 70 20 28 73 65 74 71 20 73 74 65 70 20 31 29 29 0a 20 20 | 0))...(or.step.(setq.step.1))... |
| 1e3e0 | 28 69 66 20 28 7a 65 72 6f 70 20 73 74 65 70 29 0a 20 20 20 20 20 20 28 6d 61 6b 65 2d 6c 69 73 | (if.(zerop.step).......(make-lis |
| 1e400 | 74 20 63 6f 75 6e 74 20 73 74 61 72 74 29 0a 20 20 20 20 28 2d 2d 69 74 65 72 61 74 65 20 28 2b | t.count.start).....(--iterate.(+ |
| 1e420 | 20 69 74 20 73 74 65 70 29 20 73 74 61 72 74 20 63 6f 75 6e 74 29 29 29 0a 0a 28 64 65 66 75 6e | .it.step).start.count)))..(defun |
| 1e440 | 20 2d 66 69 78 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 43 6f 6d 70 75 74 65 20 74 68 65 20 28 | .-fix.(fn.list)..."Compute.the.( |
| 1e460 | 6c 65 61 73 74 29 20 66 69 78 70 6f 69 6e 74 20 6f 66 20 46 4e 20 77 69 74 68 20 69 6e 69 74 69 | least).fixpoint.of.FN.with.initi |
| 1e480 | 61 6c 20 69 6e 70 75 74 20 4c 49 53 54 2e 0a 0a 46 4e 20 69 73 20 63 61 6c 6c 65 64 20 61 74 20 | al.input.LIST...FN.is.called.at. |
| 1e4a0 | 6c 65 61 73 74 20 6f 6e 63 65 2c 20 72 65 73 75 6c 74 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 | least.once,.results.are.compared |
| 1e4c0 | 20 77 69 74 68 20 60 65 71 75 61 6c 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f | .with.`equal'."...(declare.(impo |
| 1e4e0 | 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 | rtant-return-value.t))...(let.(( |
| 1e500 | 72 65 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 6c 69 73 74 29 29 29 0a 20 20 20 20 28 77 68 69 6c | re.(funcall.fn.list))).....(whil |
| 1e520 | 65 20 28 6e 6f 74 20 28 65 71 75 61 6c 20 6c 69 73 74 20 72 65 29 29 0a 20 20 20 20 20 20 28 73 | e.(not.(equal.list.re)).......(s |
| 1e540 | 65 74 71 20 6c 69 73 74 20 72 65 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 72 65 20 28 66 75 6e | etq.list.re).......(setq.re.(fun |
| 1e560 | 63 61 6c 6c 20 66 6e 20 72 65 29 29 29 0a 20 20 20 20 72 65 29 29 0a 0a 28 64 65 66 6d 61 63 72 | call.fn.re))).....re))..(defmacr |
| 1e580 | 6f 20 2d 2d 66 69 78 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 | o.--fix.(form.list)..."Anaphoric |
| 1e5a0 | 20 66 6f 72 6d 20 6f 66 20 60 2d 66 69 78 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 | .form.of.`-fix'."...(declare.(de |
| 1e5c0 | 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 66 69 78 20 28 | bug.(def-form.form)))...`(-fix.( |
| 1e5e0 | 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 29 20 2c 66 6f 72 6d 29 20 2c | lambda.(it).(ignore.it).,form)., |
| 1e600 | 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 75 6e 66 6f 6c 64 20 28 66 75 6e 20 73 65 65 64 | list))..(defun.-unfold.(fun.seed |
| 1e620 | 29 0a 20 20 22 42 75 69 6c 64 20 61 20 6c 69 73 74 20 66 72 6f 6d 20 53 45 45 44 20 75 73 69 6e | )..."Build.a.list.from.SEED.usin |
| 1e640 | 67 20 46 55 4e 2e 0a 0a 54 68 69 73 20 69 73 20 5c 22 64 75 61 6c 5c 22 20 6f 70 65 72 61 74 69 | g.FUN...This.is.\"dual\".operati |
| 1e660 | 6f 6e 20 74 6f 20 60 2d 72 65 64 75 63 65 2d 72 27 3a 20 77 68 69 6c 65 20 2d 72 65 64 75 63 65 | on.to.`-reduce-r':.while.-reduce |
| 1e680 | 2d 72 0a 63 6f 6e 73 75 6d 65 73 20 61 20 6c 69 73 74 20 74 6f 20 70 72 6f 64 75 63 65 20 61 20 | -r.consumes.a.list.to.produce.a. |
| 1e6a0 | 73 69 6e 67 6c 65 20 76 61 6c 75 65 2c 20 60 2d 75 6e 66 6f 6c 64 27 20 74 61 6b 65 73 20 61 0a | single.value,.`-unfold'.takes.a. |
| 1e6c0 | 73 65 65 64 20 76 61 6c 75 65 20 61 6e 64 20 62 75 69 6c 64 73 20 61 20 28 70 6f 74 65 6e 74 69 | seed.value.and.builds.a.(potenti |
| 1e6e0 | 61 6c 6c 79 20 69 6e 66 69 6e 69 74 65 21 29 20 6c 69 73 74 2e 0a 0a 46 55 4e 20 73 68 6f 75 6c | ally.infinite!).list...FUN.shoul |
| 1e700 | 64 20 72 65 74 75 72 6e 20 6e 69 6c 20 74 6f 20 73 74 6f 70 20 74 68 65 20 67 65 6e 65 72 61 74 | d.return.nil.to.stop.the.generat |
| 1e720 | 69 6e 67 20 70 72 6f 63 65 73 73 2c 20 6f 72 20 61 0a 63 6f 6e 73 20 28 41 20 2e 20 42 29 2c 20 | ing.process,.or.a.cons.(A...B),. |
| 1e740 | 77 68 65 72 65 20 41 20 77 69 6c 6c 20 62 65 20 70 72 65 70 65 6e 64 65 64 20 74 6f 20 74 68 65 | where.A.will.be.prepended.to.the |
| 1e760 | 20 72 65 73 75 6c 74 20 61 6e 64 20 42 20 69 73 0a 74 68 65 20 6e 65 77 20 73 65 65 64 2e 22 0a | .result.and.B.is.the.new.seed.". |
| 1e780 | 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c | ..(declare.(important-return-val |
| 1e7a0 | 75 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 6c 61 73 74 20 28 66 75 6e 63 61 6c 6c 20 66 75 | ue.t))...(let.((last.(funcall.fu |
| 1e7c0 | 6e 20 73 65 65 64 29 29 20 72 29 0a 20 20 20 20 28 77 68 69 6c 65 20 6c 61 73 74 0a 20 20 20 20 | n.seed)).r).....(while.last..... |
| 1e7e0 | 20 20 28 70 75 73 68 20 28 63 61 72 20 6c 61 73 74 29 20 72 29 0a 20 20 20 20 20 20 28 73 65 74 | ..(push.(car.last).r).......(set |
| 1e800 | 71 20 6c 61 73 74 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 20 28 63 64 72 20 6c 61 73 74 29 29 29 | q.last.(funcall.fun.(cdr.last))) |
| 1e820 | 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 | ).....(nreverse.r)))..(defmacro. |
| 1e840 | 2d 2d 75 6e 66 6f 6c 64 20 28 66 6f 72 6d 20 73 65 65 64 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 | --unfold.(form.seed)..."Anaphori |
| 1e860 | 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 2d 75 6e 66 6f 6c 64 27 2e 22 0a 20 20 28 64 65 63 6c | c.version.of.`-unfold'."...(decl |
| 1e880 | 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 | are.(debug.(def-form.form)))...` |
| 1e8a0 | 28 2d 75 6e 66 6f 6c 64 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 | (-unfold.(lambda.(it).(ignore.it |
| 1e8c0 | 29 20 2c 66 6f 72 6d 29 20 2c 73 65 65 64 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 6e 73 2d 70 | ).,form).,seed))..(defun.-cons-p |
| 1e8e0 | 61 69 72 3f 20 28 6f 62 6a 29 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 | air?.(obj)..."Return.non-nil.if. |
| 1e900 | 4f 42 4a 20 69 73 20 61 20 74 72 75 65 20 63 6f 6e 73 20 70 61 69 72 2e 0a 54 68 61 74 20 69 73 | OBJ.is.a.true.cons.pair..That.is |
| 1e920 | 2c 20 61 20 63 6f 6e 73 20 28 41 20 2e 20 42 29 20 77 68 65 72 65 20 42 20 69 73 20 6e 6f 74 20 | ,.a.cons.(A...B).where.B.is.not. |
| 1e940 | 61 20 6c 69 73 74 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 63 6f 6e 73 2d 70 61 69 72 2d 70 27 2e 22 | a.list...Alias:.`-cons-pair-p'." |
| 1e960 | 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 | ...(declare.(pure.t).(side-effec |
| 1e980 | 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 28 6e 6c 69 73 74 70 20 28 63 | t-free.error-free))...(nlistp.(c |
| 1e9a0 | 64 72 2d 73 61 66 65 20 6f 62 6a 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 63 6f 6e 73 | dr-safe.obj)))..(defalias.'-cons |
| 1e9c0 | 2d 70 61 69 72 2d 70 20 27 2d 63 6f 6e 73 2d 70 61 69 72 3f 29 0a 0a 28 64 65 66 75 6e 20 2d 63 | -pair-p.'-cons-pair?)..(defun.-c |
| 1e9e0 | 6f 6e 73 2d 74 6f 2d 6c 69 73 74 20 28 63 6f 6e 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 20 63 | ons-to-list.(con)..."Convert.a.c |
| 1ea00 | 6f 6e 73 20 70 61 69 72 20 74 6f 20 61 20 6c 69 73 74 20 77 69 74 68 20 60 63 61 72 27 20 61 6e | ons.pair.to.a.list.with.`car'.an |
| 1ea20 | 64 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 70 61 69 72 20 72 65 73 70 65 63 74 69 76 65 6c 79 | d.`cdr'.of.the.pair.respectively |
| 1ea40 | 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 | ."...(declare.(pure.t).(side-eff |
| 1ea60 | 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 69 73 74 20 28 63 61 72 20 63 6f 6e 29 20 28 | ect-free.t))...(list.(car.con).( |
| 1ea80 | 63 64 72 20 63 6f 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 76 61 6c 75 65 2d 74 6f 2d 6c 69 73 | cdr.con)))..(defun.-value-to-lis |
| 1eaa0 | 74 20 28 76 61 6c 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 20 76 61 6c 75 65 20 74 6f 20 61 20 | t.(val)..."Convert.a.value.to.a. |
| 1eac0 | 6c 69 73 74 2e 0a 0a 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 61 20 63 6f 6e 73 20 70 61 | list...If.the.value.is.a.cons.pa |
| 1eae0 | 69 72 2c 20 6d 61 6b 65 20 61 20 6c 69 73 74 20 77 69 74 68 20 74 77 6f 20 65 6c 65 6d 65 6e 74 | ir,.make.a.list.with.two.element |
| 1eb00 | 73 2c 20 60 63 61 72 27 0a 61 6e 64 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 70 61 69 72 20 72 | s,.`car'.and.`cdr'.of.the.pair.r |
| 1eb20 | 65 73 70 65 63 74 69 76 65 6c 79 2e 0a 0a 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 61 6e | espectively...If.the.value.is.an |
| 1eb40 | 79 74 68 69 6e 67 20 65 6c 73 65 2c 20 77 72 61 70 20 69 74 20 69 6e 20 61 20 6c 69 73 74 2e 22 | ything.else,.wrap.it.in.a.list." |
| 1eb60 | 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 | ...(declare.(pure.t).(side-effec |
| 1eb80 | 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 69 66 20 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 76 61 | t-free.t))...(if.(-cons-pair?.va |
| 1eba0 | 6c 29 20 28 2d 63 6f 6e 73 2d 74 6f 2d 6c 69 73 74 20 76 61 6c 29 20 28 6c 69 73 74 20 76 61 6c | l).(-cons-to-list.val).(list.val |
| 1ebc0 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d | )))..(defun.-tree-mapreduce-from |
| 1ebe0 | 20 28 66 6e 20 66 6f 6c 64 65 72 20 69 6e 69 74 2d 76 61 6c 75 65 20 74 72 65 65 29 0a 20 20 22 | .(fn.folder.init-value.tree)..." |
| 1ec00 | 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 54 52 45 45 | Apply.FN.to.each.element.of.TREE |
| 1ec20 | 2c 20 61 6e 64 20 6d 61 6b 65 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 | ,.and.make.a.list.of.the.results |
| 1ec40 | 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 54 52 45 45 20 61 72 65 20 6c 69 73 74 73 20 | ..If.elements.of.TREE.are.lists. |
| 1ec60 | 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 46 4e 20 72 65 63 75 72 73 69 76 65 6c 79 | themselves,.apply.FN.recursively |
| 1ec80 | 20 74 6f 0a 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 73 65 20 6e 65 73 74 65 64 20 6c 69 73 | .to.elements.of.these.nested.lis |
| 1eca0 | 74 73 2e 0a 0a 54 68 65 6e 20 72 65 64 75 63 65 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 6c | ts...Then.reduce.the.resulting.l |
| 1ecc0 | 69 73 74 73 20 75 73 69 6e 67 20 46 4f 4c 44 45 52 20 61 6e 64 20 69 6e 69 74 69 61 6c 20 76 61 | ists.using.FOLDER.and.initial.va |
| 1ece0 | 6c 75 65 0a 49 4e 49 54 2d 56 41 4c 55 45 2e 20 53 65 65 20 60 2d 72 65 64 75 63 65 2d 72 2d 66 | lue.INIT-VALUE..See.`-reduce-r-f |
| 1ed00 | 72 6f 6d 27 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 63 61 6c 6c 69 | rom'...This.is.the.same.as.calli |
| 1ed20 | 6e 67 20 60 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 27 20 61 66 74 65 72 20 60 2d 74 | ng.`-tree-reduce-from'.after.`-t |
| 1ed40 | 72 65 65 2d 6d 61 70 27 0a 62 75 74 20 69 73 20 74 77 69 63 65 20 61 73 20 66 61 73 74 20 61 73 | ree-map'.but.is.twice.as.fast.as |
| 1ed60 | 20 69 74 20 6f 6e 6c 79 20 74 72 61 76 65 72 73 65 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 | .it.only.traverse.the.structure. |
| 1ed80 | 6f 6e 63 65 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 | once."...(declare.(important-ret |
| 1eda0 | 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 75 6c 6c 20 | urn-value.t))...(cond....((null. |
| 1edc0 | 74 72 65 65 29 20 28 29 29 0a 20 20 20 28 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 74 72 65 65 29 | tree).())....((-cons-pair?.tree) |
| 1ede0 | 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 74 72 65 65 29 29 0a 20 20 20 28 28 63 6f 6e 73 70 20 74 | .(funcall.fn.tree))....((consp.t |
| 1ee00 | 72 65 65 29 0a 20 20 20 20 28 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 0a 20 20 20 20 20 66 6f | ree).....(-reduce-r-from......fo |
| 1ee20 | 6c 64 65 72 20 69 6e 69 74 2d 76 61 6c 75 65 0a 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 | lder.init-value......(mapcar.(la |
| 1ee40 | 6d 62 64 61 20 28 78 29 20 28 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 66 | mbda.(x).(-tree-mapreduce-from.f |
| 1ee60 | 6e 20 66 6f 6c 64 65 72 20 69 6e 69 74 2d 76 61 6c 75 65 20 78 29 29 20 74 72 65 65 29 29 29 0a | n.folder.init-value.x)).tree))). |
| 1ee80 | 20 20 20 28 28 66 75 6e 63 61 6c 6c 20 66 6e 20 74 72 65 65 29 29 29 29 0a 0a 28 64 65 66 6d 61 | ...((funcall.fn.tree))))..(defma |
| 1eea0 | 63 72 6f 20 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6f 72 6d 20 | cro.--tree-mapreduce-from.(form. |
| 1eec0 | 66 6f 6c 64 65 72 20 69 6e 69 74 2d 76 61 6c 75 65 20 74 72 65 65 29 0a 20 20 22 41 6e 61 70 68 | folder.init-value.tree)..."Anaph |
| 1eee0 | 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 | oric.form.of.`-tree-mapreduce-fr |
| 1ef00 | 6f 6d 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 | om'."...(declare.(debug.(def-for |
| 1ef20 | 6d 20 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 74 72 65 | m.def-form.form.form)))...`(-tre |
| 1ef40 | 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 | e-mapreduce-from.(lambda.(it).(i |
| 1ef60 | 67 6e 6f 72 65 20 69 74 29 20 2c 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | gnore.it).,form)................ |
| 1ef80 | 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 69 74 20 61 63 63 29 20 28 69 67 6e 6f | ..........(lambda.(it.acc).(igno |
| 1efa0 | 72 65 20 69 74 20 61 63 63 29 20 2c 66 6f 6c 64 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | re.it.acc).,folder)............. |
| 1efc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 69 6e 69 74 2d 76 61 6c 75 65 0a 20 20 20 20 20 20 20 | .............,init-value........ |
| 1efe0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 74 72 65 65 29 29 0a 0a 28 64 65 66 75 | ..................,tree))..(defu |
| 1f000 | 6e 20 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 28 66 6e 20 66 6f 6c 64 65 72 20 74 72 65 | n.-tree-mapreduce.(fn.folder.tre |
| 1f020 | 65 29 0a 20 20 22 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f | e)..."Apply.FN.to.each.element.o |
| 1f040 | 66 20 54 52 45 45 2c 20 61 6e 64 20 6d 61 6b 65 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 72 | f.TREE,.and.make.a.list.of.the.r |
| 1f060 | 65 73 75 6c 74 73 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 54 52 45 45 20 61 72 65 20 | esults..If.elements.of.TREE.are. |
| 1f080 | 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 46 4e 20 72 65 63 75 72 | lists.themselves,.apply.FN.recur |
| 1f0a0 | 73 69 76 65 6c 79 20 74 6f 0a 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 73 65 20 6e 65 73 74 | sively.to.elements.of.these.nest |
| 1f0c0 | 65 64 20 6c 69 73 74 73 2e 0a 0a 54 68 65 6e 20 72 65 64 75 63 65 20 74 68 65 20 72 65 73 75 6c | ed.lists...Then.reduce.the.resul |
| 1f0e0 | 74 69 6e 67 20 6c 69 73 74 73 20 75 73 69 6e 67 20 46 4f 4c 44 45 52 20 61 6e 64 20 69 6e 69 74 | ting.lists.using.FOLDER.and.init |
| 1f100 | 69 61 6c 20 76 61 6c 75 65 0a 49 4e 49 54 2d 56 41 4c 55 45 2e 20 53 65 65 20 60 2d 72 65 64 75 | ial.value.INIT-VALUE..See.`-redu |
| 1f120 | 63 65 2d 72 2d 66 72 6f 6d 27 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 | ce-r-from'...This.is.the.same.as |
| 1f140 | 20 63 61 6c 6c 69 6e 67 20 60 2d 74 72 65 65 2d 72 65 64 75 63 65 27 20 61 66 74 65 72 20 60 2d | .calling.`-tree-reduce'.after.`- |
| 1f160 | 74 72 65 65 2d 6d 61 70 27 0a 62 75 74 20 69 73 20 74 77 69 63 65 20 61 73 20 66 61 73 74 20 61 | tree-map'.but.is.twice.as.fast.a |
| 1f180 | 73 20 69 74 20 6f 6e 6c 79 20 74 72 61 76 65 72 73 65 20 74 68 65 20 73 74 72 75 63 74 75 72 65 | s.it.only.traverse.the.structure |
| 1f1a0 | 20 6f 6e 63 65 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 | .once."...(declare.(important-re |
| 1f1c0 | 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 75 6c 6c | turn-value.t))...(cond....((null |
| 1f1e0 | 20 74 72 65 65 29 20 28 29 29 0a 20 20 20 28 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 74 72 65 65 | .tree).())....((-cons-pair?.tree |
| 1f200 | 29 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 74 72 65 65 29 29 0a 20 20 20 28 28 63 6f 6e 73 70 20 | ).(funcall.fn.tree))....((consp. |
| 1f220 | 74 72 65 65 29 0a 20 20 20 20 28 2d 72 65 64 75 63 65 2d 72 20 66 6f 6c 64 65 72 20 28 6d 61 70 | tree).....(-reduce-r.folder.(map |
| 1f240 | 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 | car.(lambda.(x).(-tree-mapreduce |
| 1f260 | 20 66 6e 20 66 6f 6c 64 65 72 20 78 29 29 20 74 72 65 65 29 29 29 0a 20 20 20 28 28 66 75 6e 63 | .fn.folder.x)).tree)))....((func |
| 1f280 | 61 6c 6c 20 66 6e 20 74 72 65 65 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 74 72 65 | all.fn.tree))))..(defmacro.--tre |
| 1f2a0 | 65 2d 6d 61 70 72 65 64 75 63 65 20 28 66 6f 72 6d 20 66 6f 6c 64 65 72 20 74 72 65 65 29 0a 20 | e-mapreduce.(form.folder.tree).. |
| 1f2c0 | 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 74 72 65 65 2d 6d 61 70 72 65 | ."Anaphoric.form.of.`-tree-mapre |
| 1f2e0 | 64 75 63 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 | duce'."...(declare.(debug.(def-f |
| 1f300 | 6f 72 6d 20 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 74 72 65 65 2d 6d | orm.def-form.form)))...`(-tree-m |
| 1f320 | 61 70 72 65 64 75 63 65 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 | apreduce.(lambda.(it).(ignore.it |
| 1f340 | 29 20 2c 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 | ).,form).....................(la |
| 1f360 | 6d 62 64 61 20 28 69 74 20 61 63 63 29 20 28 69 67 6e 6f 72 65 20 69 74 20 61 63 63 29 20 2c 66 | mbda.(it.acc).(ignore.it.acc).,f |
| 1f380 | 6f 6c 64 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 74 72 65 65 | older).....................,tree |
| 1f3a0 | 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 72 65 65 2d 6d 61 70 20 28 66 6e 20 74 72 65 65 29 0a 20 | ))..(defun.-tree-map.(fn.tree).. |
| 1f3c0 | 20 22 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 54 52 | ."Apply.FN.to.each.element.of.TR |
| 1f3e0 | 45 45 20 77 68 69 6c 65 20 70 72 65 73 65 72 76 69 6e 67 20 74 68 65 20 74 72 65 65 20 73 74 72 | EE.while.preserving.the.tree.str |
| 1f400 | 75 63 74 75 72 65 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 | ucture."...(declare.(important-r |
| 1f420 | 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 75 6c | eturn-value.t))...(cond....((nul |
| 1f440 | 6c 20 74 72 65 65 29 20 28 29 29 0a 20 20 20 28 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 74 72 65 | l.tree).())....((-cons-pair?.tre |
| 1f460 | 65 29 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 74 72 65 65 29 29 0a 20 20 20 28 28 63 6f 6e 73 70 | e).(funcall.fn.tree))....((consp |
| 1f480 | 20 74 72 65 65 29 0a 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 | .tree).....(mapcar.(lambda.(x).( |
| 1f4a0 | 2d 74 72 65 65 2d 6d 61 70 20 66 6e 20 78 29 29 20 74 72 65 65 29 29 0a 20 20 20 28 28 66 75 6e | -tree-map.fn.x)).tree))....((fun |
| 1f4c0 | 63 61 6c 6c 20 66 6e 20 74 72 65 65 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 74 72 | call.fn.tree))))..(defmacro.--tr |
| 1f4e0 | 65 65 2d 6d 61 70 20 28 66 6f 72 6d 20 74 72 65 65 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 | ee-map.(form.tree)..."Anaphoric. |
| 1f500 | 66 6f 72 6d 20 6f 66 20 60 2d 74 72 65 65 2d 6d 61 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 | form.of.`-tree-map'."...(declare |
| 1f520 | 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 74 | .(debug.(def-form.form)))...`(-t |
| 1f540 | 72 65 65 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 29 | ree-map.(lambda.(it).(ignore.it) |
| 1f560 | 20 2c 66 6f 72 6d 29 20 2c 74 72 65 65 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 72 65 65 2d 72 65 | .,form).,tree))..(defun.-tree-re |
| 1f580 | 64 75 63 65 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 2d 76 61 6c 75 65 20 74 72 65 65 29 0a 20 | duce-from.(fn.init-value.tree).. |
| 1f5a0 | 20 22 55 73 65 20 46 4e 20 74 6f 20 72 65 64 75 63 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 6c | ."Use.FN.to.reduce.elements.of.l |
| 1f5c0 | 69 73 74 20 54 52 45 45 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 54 52 45 45 20 61 72 | ist.TREE..If.elements.of.TREE.ar |
| 1f5e0 | 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 74 68 65 20 72 65 | e.lists.themselves,.apply.the.re |
| 1f600 | 64 75 63 74 69 6f 6e 20 72 65 63 75 72 73 69 76 65 6c 79 2e 0a 0a 46 4e 20 69 73 20 66 69 72 73 | duction.recursively...FN.is.firs |
| 1f620 | 74 20 61 70 70 6c 69 65 64 20 74 6f 20 49 4e 49 54 2d 56 41 4c 55 45 20 61 6e 64 20 66 69 72 73 | t.applied.to.INIT-VALUE.and.firs |
| 1f640 | 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 2c 0a 74 68 65 6e 20 6f 6e 20 74 | t.element.of.the.list,.then.on.t |
| 1f660 | 68 69 73 20 72 65 73 75 6c 74 20 61 6e 64 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 66 72 | his.result.and.second.element.fr |
| 1f680 | 6f 6d 20 74 68 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a 54 68 65 20 69 6e 69 74 69 61 6c 20 76 61 | om.the.list.etc...The.initial.va |
| 1f6a0 | 6c 75 65 20 69 73 20 69 67 6e 6f 72 65 64 20 6f 6e 20 63 6f 6e 73 20 70 61 69 72 73 20 61 73 20 | lue.is.ignored.on.cons.pairs.as. |
| 1f6c0 | 74 68 65 79 20 61 6c 77 61 79 73 20 63 6f 6e 74 61 69 6e 0a 74 77 6f 20 65 6c 65 6d 65 6e 74 73 | they.always.contain.two.elements |
| 1f6e0 | 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d | ."...(declare.(important-return- |
| 1f700 | 76 61 6c 75 65 20 74 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 75 6c 6c 20 74 72 65 65 | value.t))...(cond....((null.tree |
| 1f720 | 29 20 28 29 29 0a 20 20 20 28 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 74 72 65 65 29 20 74 72 65 | ).())....((-cons-pair?.tree).tre |
| 1f740 | 65 29 0a 20 20 20 28 28 63 6f 6e 73 70 20 74 72 65 65 29 0a 20 20 20 20 28 2d 72 65 64 75 63 65 | e)....((consp.tree).....(-reduce |
| 1f760 | 2d 72 2d 66 72 6f 6d 0a 20 20 20 20 20 66 6e 20 69 6e 69 74 2d 76 61 6c 75 65 0a 20 20 20 20 20 | -r-from......fn.init-value...... |
| 1f780 | 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 74 72 65 65 2d 72 65 64 75 63 | (mapcar.(lambda.(x).(-tree-reduc |
| 1f7a0 | 65 2d 66 72 6f 6d 20 66 6e 20 69 6e 69 74 2d 76 61 6c 75 65 20 78 29 29 20 74 72 65 65 29 29 29 | e-from.fn.init-value.x)).tree))) |
| 1f7c0 | 0a 20 20 20 28 74 72 65 65 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 74 72 65 65 2d 72 | ....(tree)))..(defmacro.--tree-r |
| 1f7e0 | 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6f 72 6d 20 69 6e 69 74 2d 76 61 6c 75 65 20 74 72 65 65 | educe-from.(form.init-value.tree |
| 1f800 | 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 74 72 65 65 2d 72 65 | )..."Anaphoric.form.of.`-tree-re |
| 1f820 | 64 75 63 65 2d 66 72 6f 6d 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 | duce-from'."...(declare.(debug.( |
| 1f840 | 64 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 74 72 65 65 2d | def-form.form.form)))...`(-tree- |
| 1f860 | 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 6c 61 6d 62 64 61 20 28 69 74 20 61 63 63 29 20 28 69 67 | reduce-from.(lambda.(it.acc).(ig |
| 1f880 | 6e 6f 72 65 20 69 74 20 61 63 63 29 20 2c 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | nore.it.acc).,form)............. |
| 1f8a0 | 20 20 20 20 20 20 20 20 20 20 2c 69 6e 69 74 2d 76 61 6c 75 65 20 2c 74 72 65 65 29 29 0a 0a 28 | ..........,init-value.,tree))..( |
| 1f8c0 | 64 65 66 75 6e 20 2d 74 72 65 65 2d 72 65 64 75 63 65 20 28 66 6e 20 74 72 65 65 29 0a 20 20 22 | defun.-tree-reduce.(fn.tree)..." |
| 1f8e0 | 55 73 65 20 46 4e 20 74 6f 20 72 65 64 75 63 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 6c 69 73 | Use.FN.to.reduce.elements.of.lis |
| 1f900 | 74 20 54 52 45 45 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 54 52 45 45 20 61 72 65 20 | t.TREE..If.elements.of.TREE.are. |
| 1f920 | 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 74 68 65 20 72 65 64 75 | lists.themselves,.apply.the.redu |
| 1f940 | 63 74 69 6f 6e 20 72 65 63 75 72 73 69 76 65 6c 79 2e 0a 0a 46 4e 20 69 73 20 66 69 72 73 74 20 | ction.recursively...FN.is.first. |
| 1f960 | 61 70 70 6c 69 65 64 20 74 6f 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 | applied.to.first.element.of.the. |
| 1f980 | 6c 69 73 74 20 61 6e 64 20 73 65 63 6f 6e 64 0a 65 6c 65 6d 65 6e 74 2c 20 74 68 65 6e 20 6f 6e | list.and.second.element,.then.on |
| 1f9a0 | 20 74 68 69 73 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 69 72 64 20 65 6c 65 6d 65 6e 74 20 66 | .this.result.and.third.element.f |
| 1f9c0 | 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a 53 65 65 20 60 2d 72 65 64 75 63 65 2d | rom.the.list.etc...See.`-reduce- |
| 1f9e0 | 72 27 20 66 6f 72 20 68 6f 77 20 65 78 61 63 74 6c 79 20 61 72 65 20 6c 69 73 74 73 20 6f 66 20 | r'.for.how.exactly.are.lists.of. |
| 1fa00 | 7a 65 72 6f 20 6f 72 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 68 61 6e 64 6c 65 64 2e 22 0a 20 20 | zero.or.one.element.handled."... |
| 1fa20 | 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 | (declare.(important-return-value |
| 1fa40 | 20 74 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 75 6c 6c 20 74 72 65 65 29 20 28 29 29 | .t))...(cond....((null.tree).()) |
| 1fa60 | 0a 20 20 20 28 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 74 72 65 65 29 20 74 72 65 65 29 0a 20 20 | ....((-cons-pair?.tree).tree)... |
| 1fa80 | 20 28 28 63 6f 6e 73 70 20 74 72 65 65 29 0a 20 20 20 20 28 2d 72 65 64 75 63 65 2d 72 20 66 6e | .((consp.tree).....(-reduce-r.fn |
| 1faa0 | 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 74 72 65 65 2d 72 65 64 75 | .(mapcar.(lambda.(x).(-tree-redu |
| 1fac0 | 63 65 20 66 6e 20 78 29 29 20 74 72 65 65 29 29 29 0a 20 20 20 28 74 72 65 65 29 29 29 0a 0a 28 | ce.fn.x)).tree)))....(tree)))..( |
| 1fae0 | 64 65 66 6d 61 63 72 6f 20 2d 2d 74 72 65 65 2d 72 65 64 75 63 65 20 28 66 6f 72 6d 20 74 72 65 | defmacro.--tree-reduce.(form.tre |
| 1fb00 | 65 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 74 72 65 65 2d 72 | e)..."Anaphoric.form.of.`-tree-r |
| 1fb20 | 65 64 75 63 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d | educe'."...(declare.(debug.(def- |
| 1fb40 | 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 74 72 65 65 2d 72 65 64 75 63 65 20 28 6c | form.form)))...`(-tree-reduce.(l |
| 1fb60 | 61 6d 62 64 61 20 28 69 74 20 61 63 63 29 20 28 69 67 6e 6f 72 65 20 69 74 20 61 63 63 29 20 2c | ambda.(it.acc).(ignore.it.acc)., |
| 1fb80 | 66 6f 72 6d 29 20 2c 74 72 65 65 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 72 65 65 2d 6d 61 70 2d | form).,tree))..(defun.-tree-map- |
| 1fba0 | 6e 6f 64 65 73 20 28 70 72 65 64 20 66 75 6e 20 74 72 65 65 29 0a 20 20 22 43 61 6c 6c 20 46 55 | nodes.(pred.fun.tree)..."Call.FU |
| 1fbc0 | 4e 20 6f 6e 20 65 61 63 68 20 6e 6f 64 65 20 6f 66 20 54 52 45 45 20 74 68 61 74 20 73 61 74 69 | N.on.each.node.of.TREE.that.sati |
| 1fbe0 | 73 66 69 65 73 20 50 52 45 44 2e 0a 0a 49 66 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 69 6c | sfies.PRED...If.PRED.returns.nil |
| 1fc00 | 2c 20 63 6f 6e 74 69 6e 75 65 20 64 65 73 63 65 6e 64 69 6e 67 20 64 6f 77 6e 20 74 68 69 73 20 | ,.continue.descending.down.this. |
| 1fc20 | 6e 6f 64 65 2e 20 20 49 66 20 50 52 45 44 0a 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 | node...If.PRED.returns.non-nil,. |
| 1fc40 | 61 70 70 6c 79 20 46 55 4e 20 74 6f 20 74 68 69 73 20 6e 6f 64 65 20 61 6e 64 20 64 6f 20 6e 6f | apply.FUN.to.this.node.and.do.no |
| 1fc60 | 74 20 64 65 73 63 65 6e 64 0a 66 75 72 74 68 65 72 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 66 75 | t.descend.further."...(cond.((fu |
| 1fc80 | 6e 63 61 6c 6c 20 70 72 65 64 20 74 72 65 65 29 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 20 74 72 | ncall.pred.tree).(funcall.fun.tr |
| 1fca0 | 65 65 29 29 0a 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 6c 69 73 74 70 20 74 72 65 65 29 20 | ee)).........((and.(listp.tree). |
| 1fcc0 | 28 6c 69 73 74 70 20 28 63 64 72 20 74 72 65 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 2d 6d | (listp.(cdr.tree)))..........(-m |
| 1fce0 | 61 70 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 | ap.(lambda.(x).(-tree-map-nodes. |
| 1fd00 | 70 72 65 64 20 66 75 6e 20 78 29 29 20 74 72 65 65 29 29 0a 20 20 20 20 20 20 20 20 28 74 72 65 | pred.fun.x)).tree)).........(tre |
| 1fd20 | 65 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 | e)))..(defmacro.--tree-map-nodes |
| 1fd40 | 20 28 70 72 65 64 20 66 6f 72 6d 20 74 72 65 65 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 | .(pred.form.tree)..."Anaphoric.f |
| 1fd60 | 6f 72 6d 20 6f 66 20 60 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 27 2e 22 0a 20 20 28 64 65 | orm.of.`-tree-map-nodes'."...(de |
| 1fd80 | 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 64 65 66 2d 66 6f 72 6d 20 | clare.(debug.(def-form.def-form. |
| 1fda0 | 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 28 6c 61 6d | form)))...`(-tree-map-nodes.(lam |
| 1fdc0 | 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 29 20 2c 70 72 65 64 29 0a 20 20 20 20 | bda.(it).(ignore.it).,pred)..... |
| 1fde0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 | ................(lambda.(it).(ig |
| 1fe00 | 6e 6f 72 65 20 69 74 29 20 2c 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nore.it).,form)................. |
| 1fe20 | 20 20 20 20 2c 74 72 65 65 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 72 65 65 2d 73 65 71 20 28 62 | ....,tree))..(defun.-tree-seq.(b |
| 1fe40 | 72 61 6e 63 68 20 63 68 69 6c 64 72 65 6e 20 74 72 65 65 29 0a 20 20 22 52 65 74 75 72 6e 20 61 | ranch.children.tree)..."Return.a |
| 1fe60 | 20 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 6e 6f 64 65 73 20 69 6e 20 54 52 45 45 2c 20 | .sequence.of.the.nodes.in.TREE,. |
| 1fe80 | 69 6e 20 64 65 70 74 68 2d 66 69 72 73 74 20 73 65 61 72 63 68 20 6f 72 64 65 72 2e 0a 0a 42 52 | in.depth-first.search.order...BR |
| 1fea0 | 41 4e 43 48 20 69 73 20 61 20 70 72 65 64 69 63 61 74 65 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d | ANCH.is.a.predicate.of.one.argum |
| 1fec0 | 65 6e 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 74 68 65 0a | ent.that.returns.non-nil.if.the. |
| 1fee0 | 70 61 73 73 65 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 62 72 61 6e 63 68 2c 20 74 68 61 | passed.argument.is.a.branch,.tha |
| 1ff00 | 74 20 69 73 2c 20 61 20 6e 6f 64 65 20 74 68 61 74 20 63 61 6e 20 68 61 76 65 20 63 68 69 6c 64 | t.is,.a.node.that.can.have.child |
| 1ff20 | 72 65 6e 2e 0a 0a 43 48 49 4c 44 52 45 4e 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 | ren...CHILDREN.is.a.function.of. |
| 1ff40 | 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 63 68 | one.argument.that.returns.the.ch |
| 1ff60 | 69 6c 64 72 65 6e 0a 6f 66 20 74 68 65 20 70 61 73 73 65 64 20 62 72 61 6e 63 68 20 6e 6f 64 65 | ildren.of.the.passed.branch.node |
| 1ff80 | 2e 0a 0a 4e 6f 6e 2d 62 72 61 6e 63 68 20 6e 6f 64 65 73 20 61 72 65 20 73 69 6d 70 6c 79 20 63 | ...Non-branch.nodes.are.simply.c |
| 1ffa0 | 6f 70 69 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 | opied."...(declare.(important-re |
| 1ffc0 | 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a 20 20 28 63 6f 6e 73 20 74 72 65 65 0a 20 20 20 20 | turn-value.t))...(cons.tree..... |
| 1ffe0 | 20 20 20 20 28 61 6e 64 20 28 66 75 6e 63 61 6c 6c 20 62 72 61 6e 63 68 20 74 72 65 65 29 0a 20 | ....(and.(funcall.branch.tree).. |
| 20000 | 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 63 61 74 20 28 6c 61 6d 62 64 61 20 28 78 29 | ............(-mapcat.(lambda.(x) |
| 20020 | 20 28 2d 74 72 65 65 2d 73 65 71 20 62 72 61 6e 63 68 20 63 68 69 6c 64 72 65 6e 20 78 29 29 0a | .(-tree-seq.branch.children.x)). |
| 20040 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 63 | ......................(funcall.c |
| 20060 | 68 69 6c 64 72 65 6e 20 74 72 65 65 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 74 | hildren.tree)))))..(defmacro.--t |
| 20080 | 72 65 65 2d 73 65 71 20 28 62 72 61 6e 63 68 20 63 68 69 6c 64 72 65 6e 20 74 72 65 65 29 0a 20 | ree-seq.(branch.children.tree).. |
| 200a0 | 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 74 72 65 65 2d 73 65 71 27 2e | ."Anaphoric.form.of.`-tree-seq'. |
| 200c0 | 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 65 66 2d 66 6f 72 6d 20 64 65 | "...(declare.(debug.(def-form.de |
| 200e0 | 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 74 72 65 65 2d 73 65 71 20 28 6c 61 | f-form.form)))...`(-tree-seq.(la |
| 20100 | 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 29 20 2c 62 72 61 6e 63 68 29 0a 20 | mbda.(it).(ignore.it).,branch).. |
| 20120 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 | .............(lambda.(it).(ignor |
| 20140 | 65 20 69 74 29 20 2c 63 68 69 6c 64 72 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c | e.it).,children)..............., |
| 20160 | 74 72 65 65 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6c 6f 6e 65 20 28 6c 69 73 74 29 0a 20 20 22 | tree))..(defun.-clone.(list)..." |
| 20180 | 43 72 65 61 74 65 20 61 20 64 65 65 70 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 2e 0a 54 68 65 20 | Create.a.deep.copy.of.LIST..The. |
| 201a0 | 6e 65 77 20 6c 69 73 74 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 65 6c 65 6d 65 6e 74 73 20 61 | new.list.has.the.same.elements.a |
| 201c0 | 6e 64 20 73 74 72 75 63 74 75 72 65 20 62 75 74 20 61 6c 6c 20 63 6f 6e 73 20 61 72 65 0a 72 65 | nd.structure.but.all.cons.are.re |
| 201e0 | 70 6c 61 63 65 64 20 77 69 74 68 20 6e 65 77 20 6f 6e 65 73 2e 20 20 54 68 69 73 20 69 73 20 75 | placed.with.new.ones...This.is.u |
| 20200 | 73 65 66 75 6c 20 77 68 65 6e 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 63 6c 6f 6e 65 20 61 0a 73 | seful.when.you.need.to.clone.a.s |
| 20220 | 74 72 75 63 74 75 72 65 20 73 75 63 68 20 61 73 20 70 6c 69 73 74 20 6f 72 20 61 6c 69 73 74 2e | tructure.such.as.plist.or.alist. |
| 20240 | 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 | "...(declare.(side-effect-free.t |
| 20260 | 29 29 0a 20 20 28 2d 74 72 65 65 2d 6d 61 70 20 23 27 69 64 65 6e 74 69 74 79 20 6c 69 73 74 29 | ))...(-tree-map.#'identity.list) |
| 20280 | 29 0a 0c 0a 3b 3b 3b 20 43 6f 6d 62 69 6e 61 74 6f 72 73 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 | )...;;;.Combinators..(defalias.' |
| 202a0 | 2d 70 61 72 74 69 61 6c 20 23 27 61 70 70 6c 79 2d 70 61 72 74 69 61 6c 6c 79 29 0a 0a 28 64 65 | -partial.#'apply-partially)..(de |
| 202c0 | 66 75 6e 20 2d 72 70 61 72 74 69 61 6c 20 28 66 6e 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 | fun.-rpartial.(fn.&rest.args)... |
| 202e0 | 22 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 73 20 61 20 70 61 72 | "Return.a.function.that.is.a.par |
| 20300 | 74 69 61 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 46 4e 20 74 6f 20 41 52 47 53 2e 0a | tial.application.of.FN.to.ARGS.. |
| 20320 | 41 52 47 53 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6c 61 73 74 20 4e 20 61 72 67 | ARGS.is.a.list.of.the.last.N.arg |
| 20340 | 75 6d 65 6e 74 73 20 74 6f 20 70 61 73 73 20 74 6f 20 46 4e 2e 20 20 54 68 65 20 72 65 73 75 6c | uments.to.pass.to.FN...The.resul |
| 20360 | 74 0a 69 73 20 61 20 6e 65 77 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 64 6f 65 73 20 74 | t.is.a.new.function.which.does.t |
| 20380 | 68 65 20 73 61 6d 65 20 61 73 20 46 4e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 6c | he.same.as.FN,.except.that.the.l |
| 203a0 | 61 73 74 0a 4e 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 20 61 74 20 74 68 65 | ast.N.arguments.are.fixed.at.the |
| 203c0 | 20 76 61 6c 75 65 73 20 77 69 74 68 20 77 68 69 63 68 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e | .values.with.which.this.function |
| 203e0 | 20 77 61 73 0a 63 61 6c 6c 65 64 2e 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 60 2d 70 61 72 | .was.called...This.is.like.`-par |
| 20400 | 74 69 61 6c 27 2c 20 65 78 63 65 70 74 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 | tial',.except.the.arguments.are. |
| 20420 | 66 69 78 65 64 0a 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 20 72 61 | fixed.starting.from.the.right.ra |
| 20440 | 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 6c 65 66 74 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 | ther.than.the.left."...(declare. |
| 20460 | 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 | (pure.t).(side-effect-free.error |
| 20480 | 2d 66 72 65 65 29 29 0a 20 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 2d 62 65 | -free))...(lambda.(&rest.args-be |
| 204a0 | 66 6f 72 65 29 20 28 61 70 70 6c 79 20 66 6e 20 28 61 70 70 65 6e 64 20 61 72 67 73 2d 62 65 66 | fore).(apply.fn.(append.args-bef |
| 204c0 | 6f 72 65 20 61 72 67 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6a 75 78 74 20 28 26 72 65 73 | ore.args))))..(defun.-juxt.(&res |
| 204e0 | 74 20 66 6e 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 | t.fns)..."Return.a.function.that |
| 20500 | 20 69 73 20 74 68 65 20 6a 75 78 74 61 70 6f 73 69 74 69 6f 6e 20 6f 66 20 46 4e 53 2e 0a 54 68 | .is.the.juxtaposition.of.FNS..Th |
| 20520 | 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 20 76 61 72 69 | e.returned.function.takes.a.vari |
| 20540 | 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 41 52 47 53 2c 20 61 70 70 6c 69 65 73 0a 65 61 63 | able.number.of.ARGS,.applies.eac |
| 20560 | 68 20 6f 66 20 46 4e 53 20 69 6e 20 74 75 72 6e 20 74 6f 20 41 52 47 53 2c 20 61 6e 64 20 72 65 | h.of.FNS.in.turn.to.ARGS,.and.re |
| 20580 | 74 75 72 6e 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 2e 22 0a 20 20 28 64 | turns.the.list.of.results."...(d |
| 205a0 | 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 | eclare.(pure.t).(side-effect-fre |
| 205c0 | 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 | e.error-free))...(lambda.(&rest. |
| 205e0 | 61 72 67 73 29 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 61 70 70 6c 79 | args).(mapcar.(lambda.(x).(apply |
| 20600 | 20 78 20 61 72 67 73 29 29 20 66 6e 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 6d 70 6f 73 | .x.args)).fns)))..(defun.-compos |
| 20620 | 65 20 28 26 72 65 73 74 20 66 6e 73 29 0a 20 20 22 43 6f 6d 70 6f 73 65 20 46 4e 53 20 69 6e 74 | e.(&rest.fns)..."Compose.FNS.int |
| 20640 | 6f 20 61 20 73 69 6e 67 6c 65 20 63 6f 6d 70 6f 73 69 74 65 20 66 75 6e 63 74 69 6f 6e 2e 0a 52 | o.a.single.composite.function..R |
| 20660 | 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 76 61 | eturn.a.function.that.takes.a.va |
| 20680 | 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 41 52 47 53 2c 20 61 70 70 6c 69 65 73 0a 74 | riable.number.of.ARGS,.applies.t |
| 206a0 | 68 65 20 6c 61 73 74 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 46 4e 53 20 74 6f 20 41 52 47 53 2c | he.last.function.in.FNS.to.ARGS, |
| 206c0 | 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 0a 63 61 6c 6c 69 | .and.returns.the.result.of.calli |
| 206e0 | 6e 67 20 65 61 63 68 20 72 65 6d 61 69 6e 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 74 68 | ng.each.remaining.function.on.th |
| 20700 | 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a 66 75 6e 63 74 69 6f | e.result.of.the.previous.functio |
| 20720 | 6e 2c 20 72 69 67 68 74 2d 74 6f 2d 6c 65 66 74 2e 20 20 49 66 20 6e 6f 20 46 4e 53 20 61 72 65 | n,.right-to-left...If.no.FNS.are |
| 20740 | 20 67 69 76 65 6e 2c 20 72 65 74 75 72 6e 20 61 20 76 61 72 69 61 64 69 63 0a 60 69 64 65 6e 74 | .given,.return.a.variadic.`ident |
| 20760 | 69 74 79 27 20 66 75 6e 63 74 69 6f 6e 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 | ity'.function."...(declare.(pure |
| 20780 | 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 | .t).(side-effect-free.error-free |
| 207a0 | 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 66 6e 73 20 28 6e 72 65 76 65 72 73 65 20 66 6e 73 29 29 | ))...(let*.((fns.(nreverse.fns)) |
| 207c0 | 0a 20 20 20 20 20 20 20 20 20 28 68 65 61 64 20 28 63 61 72 20 66 6e 73 29 29 0a 20 20 20 20 20 | ..........(head.(car.fns))...... |
| 207e0 | 20 20 20 20 28 74 61 69 6c 20 28 63 64 72 20 66 6e 73 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 | ....(tail.(cdr.fns))).....(cond. |
| 20800 | 28 74 61 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 | (tail............(lambda.(&rest. |
| 20820 | 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f | args)..............(--reduce-fro |
| 20840 | 6d 20 28 66 75 6e 63 61 6c 6c 20 69 74 20 61 63 63 29 20 28 61 70 70 6c 79 20 68 65 61 64 20 61 | m.(funcall.it.acc).(apply.head.a |
| 20860 | 72 67 73 29 20 74 61 69 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 6e 73 20 68 65 61 64 | rgs).tail)))...........(fns.head |
| 20880 | 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6c 61 6d 62 64 61 20 28 26 6f 70 74 69 6f 6e 61 6c 20 | )...........((lambda.(&optional. |
| 208a0 | 61 72 67 20 26 72 65 73 74 20 5f 29 20 61 72 67 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 61 | arg.&rest._).arg)))))..(defun.-a |
| 208c0 | 70 70 6c 69 66 79 20 28 66 6e 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e | pplify.(fn)..."Return.a.function |
| 208e0 | 20 74 68 61 74 20 61 70 70 6c 69 65 73 20 46 4e 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 6c 69 73 | .that.applies.FN.to.a.single.lis |
| 20900 | 74 20 6f 66 20 61 72 67 73 2e 0a 54 68 69 73 20 63 68 61 6e 67 65 73 20 74 68 65 20 61 72 69 74 | t.of.args..This.changes.the.arit |
| 20920 | 79 20 6f 66 20 46 4e 20 66 72 6f 6d 20 74 61 6b 69 6e 67 20 4e 20 64 69 73 74 69 6e 63 74 20 61 | y.of.FN.from.taking.N.distinct.a |
| 20940 | 72 67 75 6d 65 6e 74 73 20 74 6f 0a 74 61 6b 69 6e 67 20 31 20 61 72 67 75 6d 65 6e 74 20 77 68 | rguments.to.taking.1.argument.wh |
| 20960 | 69 63 68 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 4e 20 61 72 67 75 6d 65 6e 74 73 2e 22 0a 20 | ich.is.a.list.of.N.arguments.".. |
| 20980 | 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d | .(declare.(pure.t).(side-effect- |
| 209a0 | 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 28 6c 61 6d 62 64 61 20 28 61 72 67 | free.error-free))...(lambda.(arg |
| 209c0 | 73 29 20 28 61 70 70 6c 79 20 66 6e 20 61 72 67 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6f 6e | s).(apply.fn.args)))..(defun.-on |
| 209e0 | 20 28 6f 70 20 74 72 61 6e 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e | .(op.trans)..."Return.a.function |
| 20a00 | 20 74 68 61 74 20 63 61 6c 6c 73 20 54 52 41 4e 53 20 6f 6e 20 65 61 63 68 20 61 72 67 20 61 6e | .that.calls.TRANS.on.each.arg.an |
| 20a20 | 64 20 4f 50 20 6f 6e 20 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 | d.OP.on.the.results..The.returne |
| 20a40 | 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 | d.function.takes.a.variable.numb |
| 20a60 | 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 63 61 6c 6c 73 0a 74 68 65 20 66 75 6e 63 74 | er.of.arguments,.calls.the.funct |
| 20a80 | 69 6f 6e 20 54 52 41 4e 53 20 6f 6e 20 65 61 63 68 20 6f 6e 65 20 69 6e 20 74 75 72 6e 2c 20 61 | ion.TRANS.on.each.one.in.turn,.a |
| 20aa0 | 6e 64 20 74 68 65 6e 20 70 61 73 73 65 73 20 74 68 6f 73 65 0a 72 65 73 75 6c 74 73 20 61 73 20 | nd.then.passes.those.results.as. |
| 20ac0 | 74 68 65 20 6c 69 73 74 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 4f 50 2c 20 69 6e 20 | the.list.of.arguments.to.OP,.in. |
| 20ae0 | 74 68 65 20 73 61 6d 65 20 6f 72 64 65 72 2e 0a 0a 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 | the.same.order...For.example,.th |
| 20b00 | 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 69 72 73 20 6f 66 20 65 78 70 72 65 73 73 69 6f 6e 73 | e.following.pairs.of.expressions |
| 20b20 | 20 61 72 65 20 6d 6f 72 61 6c 6c 79 0a 65 71 75 69 76 61 6c 65 6e 74 3a 0a 0a 20 20 28 66 75 6e | .are.morally.equivalent:....(fun |
| 20b40 | 63 61 6c 6c 20 28 2d 6f 6e 20 23 5c 5c 3d 27 2b 20 23 5c 5c 3d 27 31 2b 29 20 31 20 32 20 33 29 | call.(-on.#\\='+.#\\='1+).1.2.3) |
| 20b60 | 20 3d 20 28 2b 20 28 31 2b 20 31 29 20 28 31 2b 20 32 29 20 28 31 2b 20 33 29 29 0a 20 20 28 66 | .=.(+.(1+.1).(1+.2).(1+.3))...(f |
| 20b80 | 75 6e 63 61 6c 6c 20 28 2d 6f 6e 20 23 5c 5c 3d 27 2b 20 23 5c 5c 3d 27 31 2b 29 29 20 20 20 20 | uncall.(-on.#\\='+.#\\='1+)).... |
| 20ba0 | 20 20 20 3d 20 28 2b 29 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 | ...=.(+)"...(declare.(pure.t).(s |
| 20bc0 | 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 28 | ide-effect-free.error-free))...( |
| 20be0 | 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 20 20 3b 3b 20 54 68 69 73 20 | lambda.(&rest.args).....;;.This. |
| 20c00 | 75 6e 72 6f 6c 6c 69 6e 67 20 73 65 65 6d 73 20 74 6f 20 62 65 20 61 20 72 65 6c 61 74 69 76 65 | unrolling.seems.to.be.a.relative |
| 20c20 | 6c 79 20 63 68 65 61 70 20 77 61 79 20 74 6f 20 6b 65 65 70 20 74 68 65 0a 20 20 20 20 3b 3b 20 | ly.cheap.way.to.keep.the.....;;. |
| 20c40 | 6f 76 65 72 68 65 61 64 20 6f 66 20 60 6d 61 70 63 61 72 27 20 2b 20 60 61 70 70 6c 79 27 20 69 | overhead.of.`mapcar'.+.`apply'.i |
| 20c60 | 6e 20 63 68 65 63 6b 2e 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 63 64 64 72 20 61 72 67 73 29 0a | n.check......(cond.((cddr.args). |
| 20c80 | 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 6f 70 20 28 6d 61 70 63 61 72 20 74 72 61 | ...........(apply.op.(mapcar.tra |
| 20ca0 | 6e 73 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 63 64 72 20 61 72 67 73 29 | ns.args)))...........((cdr.args) |
| 20cc0 | 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 6f 70 20 28 66 75 6e 63 61 6c 6c | ............(funcall.op.(funcall |
| 20ce0 | 20 74 72 61 6e 73 20 28 63 61 72 20 61 72 67 73 29 29 20 28 66 75 6e 63 61 6c 6c 20 74 72 61 6e | .trans.(car.args)).(funcall.tran |
| 20d00 | 73 20 28 63 61 64 72 20 61 72 67 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 72 67 73 | s.(cadr.args))))...........(args |
| 20d20 | 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 6f 70 20 28 66 75 6e 63 61 6c 6c | ............(funcall.op.(funcall |
| 20d40 | 20 74 72 61 6e 73 20 28 63 61 72 20 61 72 67 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 | .trans.(car.args))))...........( |
| 20d60 | 28 66 75 6e 63 61 6c 6c 20 6f 70 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 6c 69 70 20 28 | (funcall.op)))))..(defun.-flip.( |
| 20d80 | 66 6e 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 | fn)..."Return.a.function.that.ca |
| 20da0 | 6c 6c 73 20 46 4e 20 77 69 74 68 20 69 74 73 20 61 72 67 75 6d 65 6e 74 73 20 72 65 76 65 72 73 | lls.FN.with.its.arguments.revers |
| 20dc0 | 65 64 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 | ed..The.returned.function.takes. |
| 20de0 | 74 68 65 20 73 61 6d 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 73 20 | the.same.number.of.arguments.as. |
| 20e00 | 46 4e 2e 0a 0a 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 | FN...For.example,.the.following. |
| 20e20 | 74 77 6f 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 6d 6f 72 61 6c 6c 79 0a 65 71 75 69 | two.expressions.are.morally.equi |
| 20e40 | 76 61 6c 65 6e 74 3a 0a 0a 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 66 6c 69 70 20 23 5c 5c 3d 27 | valent:....(funcall.(-flip.#\\=' |
| 20e60 | 2d 29 20 31 20 32 29 20 3d 20 28 2d 20 32 20 31 29 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 72 | -).1.2).=.(-.2.1)..See.also:.`-r |
| 20e80 | 6f 74 61 74 65 2d 61 72 67 73 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 | otate-args'."...(declare.(pure.t |
| 20ea0 | 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 | ).(side-effect-free.error-free)) |
| 20ec0 | 0a 20 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 20 3b 3b 20 4f 70 65 6e 2d | ...(lambda.(&rest.args).;;.Open- |
| 20ee0 | 63 6f 64 65 20 66 6f 72 20 73 70 65 65 64 2e 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 63 64 64 72 | code.for.speed......(cond.((cddr |
| 20f00 | 20 61 72 67 73 29 20 28 61 70 70 6c 79 20 66 6e 20 28 6e 72 65 76 65 72 73 65 20 61 72 67 73 29 | .args).(apply.fn.(nreverse.args) |
| 20f20 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 63 64 72 20 61 72 67 73 29 20 28 66 75 6e 63 61 6c | ))...........((cdr.args).(funcal |
| 20f40 | 6c 20 66 6e 20 28 63 61 64 72 20 61 72 67 73 29 20 28 63 61 72 20 61 72 67 73 29 29 29 0a 20 20 | l.fn.(cadr.args).(car.args)))... |
| 20f60 | 20 20 20 20 20 20 20 20 28 61 72 67 73 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 28 63 61 72 20 61 | ........(args.(funcall.fn.(car.a |
| 20f80 | 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 66 75 6e 63 61 6c 6c 20 66 6e 29 29 29 | rgs)))...........((funcall.fn))) |
| 20fa0 | 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 28 6e 20 66 6e 29 0a 20 | ))..(defun.-rotate-args.(n.fn).. |
| 20fc0 | 20 22 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 46 | ."Return.a.function.that.calls.F |
| 20fe0 | 4e 20 77 69 74 68 20 61 72 67 73 20 72 6f 74 61 74 65 64 20 4e 20 70 6c 61 63 65 73 20 74 6f 20 | N.with.args.rotated.N.places.to. |
| 21000 | 74 68 65 20 72 69 67 68 74 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e | the.right..The.returned.function |
| 21020 | 20 74 61 6b 65 73 20 74 68 65 20 73 61 6d 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 | .takes.the.same.number.of.argume |
| 21040 | 6e 74 73 20 61 73 20 46 4e 2c 0a 72 6f 74 61 74 65 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 | nts.as.FN,.rotates.the.list.of.a |
| 21060 | 72 67 75 6d 65 6e 74 73 20 4e 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 67 68 74 20 28 | rguments.N.places.to.the.right.( |
| 21080 | 6c 65 66 74 20 69 66 20 4e 20 69 73 0a 6e 65 67 61 74 69 76 65 29 20 6a 75 73 74 20 6c 69 6b 65 | left.if.N.is.negative).just.like |
| 210a0 | 20 60 2d 72 6f 74 61 74 65 27 2c 20 61 6e 64 20 61 70 70 6c 69 65 73 20 46 4e 20 74 6f 20 74 68 | .`-rotate',.and.applies.FN.to.th |
| 210c0 | 65 20 72 65 73 75 6c 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 66 6c 69 70 27 2e 22 0a 20 | e.result...See.also:.`-flip'.".. |
| 210e0 | 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d | .(declare.(pure.t).(side-effect- |
| 21100 | 66 72 65 65 20 74 29 29 0a 20 20 28 69 66 20 28 7a 65 72 6f 70 20 6e 29 0a 20 20 20 20 20 20 66 | free.t))...(if.(zerop.n).......f |
| 21120 | 6e 0a 20 20 20 20 28 6c 65 74 20 28 28 65 76 65 6e 20 28 3d 20 28 25 20 6e 20 32 29 20 30 29 29 | n.....(let.((even.(=.(%.n.2).0)) |
| 21140 | 29 0a 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 20 | ).......(lambda.(&rest.args).... |
| 21160 | 20 20 20 20 20 28 63 6f 6e 64 20 28 28 63 64 64 72 20 61 72 67 73 29 20 3b 3b 20 4f 70 65 6e 2d | .....(cond.((cddr.args).;;.Open- |
| 21180 | 63 6f 64 65 20 66 6f 72 20 73 70 65 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | code.for.speed.................( |
| 211a0 | 61 70 70 6c 79 20 66 6e 20 28 2d 72 6f 74 61 74 65 20 6e 20 61 72 67 73 29 29 29 0a 20 20 20 20 | apply.fn.(-rotate.n.args)))..... |
| 211c0 | 20 20 20 20 20 20 20 20 20 20 28 28 63 64 72 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 | ..........((cdr.args)........... |
| 211e0 | 20 20 20 20 20 28 6c 65 74 20 28 28 66 73 74 20 28 63 61 72 20 61 72 67 73 29 29 0a 20 20 20 20 | .....(let.((fst.(car.args))..... |
| 21200 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 6e 64 20 28 63 61 64 72 20 61 72 67 73 | .................(snd.(cadr.args |
| 21220 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 66 6e | )))..................(funcall.fn |
| 21240 | 20 28 69 66 20 65 76 65 6e 20 66 73 74 20 73 6e 64 29 20 28 69 66 20 65 76 65 6e 20 73 6e 64 20 | .(if.even.fst.snd).(if.even.snd. |
| 21260 | 66 73 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 67 73 0a 20 20 20 20 | fst))))...............(args..... |
| 21280 | 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 28 63 61 72 20 61 72 67 73 | ...........(funcall.fn.(car.args |
| 212a0 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 66 75 6e 63 61 6c 6c 20 66 6e 29 29 | )))...............((funcall.fn)) |
| 212c0 | 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 6e 73 74 20 28 63 29 0a 20 20 22 52 65 74 75 | )))))..(defun.-const.(c)..."Retu |
| 212e0 | 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 43 20 69 67 6e | rn.a.function.that.returns.C.ign |
| 21300 | 6f 72 69 6e 67 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 2e 0a | oring.any.additional.arguments.. |
| 21320 | 0a 49 6e 20 74 79 70 65 73 3a 20 61 20 2d 3e 20 62 20 2d 3e 20 61 22 0a 20 20 28 64 65 63 6c 61 | .In.types:.a.->.b.->.a"...(decla |
| 21340 | 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 | re.(pure.t).(side-effect-free.er |
| 21360 | 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 5f 29 20 63 | ror-free))...(lambda.(&rest._).c |
| 21380 | 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 63 75 74 20 28 26 72 65 73 74 20 70 61 72 61 6d 73 | ))..(defmacro.-cut.(&rest.params |
| 213a0 | 29 0a 20 20 22 54 61 6b 65 20 6e 2d 61 72 79 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 6e 20 61 | )..."Take.n-ary.function.and.n.a |
| 213c0 | 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 73 70 65 63 69 61 6c 69 7a 65 20 73 6f 6d 65 20 6f 66 20 | rguments.and.specialize.some.of. |
| 213e0 | 74 68 65 6d 2e 0a 41 72 67 75 6d 65 6e 74 73 20 64 65 6e 6f 74 65 64 20 62 79 20 3c 3e 20 77 69 | them..Arguments.denoted.by.<>.wi |
| 21400 | 6c 6c 20 62 65 20 6c 65 66 74 20 75 6e 73 70 65 63 69 61 6c 69 7a 65 64 2e 0a 0a 53 65 65 20 53 | ll.be.left.unspecialized...See.S |
| 21420 | 52 46 49 2d 32 36 20 66 6f 72 20 64 65 74 61 69 6c 65 64 20 64 65 73 63 72 69 70 74 69 6f 6e 2e | RFI-26.for.detailed.description. |
| 21440 | 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 26 6f 70 74 69 6f 6e 61 6c 20 73 | "...(declare.(debug.(&optional.s |
| 21460 | 65 78 70 20 26 72 65 73 74 20 26 6f 72 20 22 3c 3e 22 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 | exp.&rest.&or."<>".form)))...(le |
| 21480 | 74 2a 20 28 28 69 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 61 72 67 73 20 28 2d 2d 6b 65 65 70 | t*.((i.0)..........(args.(--keep |
| 214a0 | 20 28 77 68 65 6e 20 28 65 71 20 69 74 20 27 3c 3e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(when.(eq.it.'<>).............. |
| 214c0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 31 2b 20 69 29 29 0a 20 20 20 20 | ............(setq.i.(1+.i))..... |
| 214e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 73 79 6d 62 6f | .....................(make-symbo |
| 21500 | 6c 20 28 66 6f 72 6d 61 74 20 22 44 25 64 22 20 69 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | l.(format."D%d".i)))............ |
| 21520 | 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 73 29 29 29 0a 20 20 20 20 60 28 6c 61 6d 62 | ............params))).....`(lamb |
| 21540 | 64 61 20 2c 61 72 67 73 0a 20 20 20 20 20 20 20 2c 28 6c 65 74 20 28 28 62 6f 64 79 20 28 2d 2d | da.,args........,(let.((body.(-- |
| 21560 | 6d 61 70 20 28 69 66 20 28 65 71 20 69 74 20 27 3c 3e 29 20 28 70 6f 70 20 61 72 67 73 29 20 69 | map.(if.(eq.it.'<>).(pop.args).i |
| 21580 | 74 29 20 70 61 72 61 6d 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 20 28 | t).params)))...........(if.(eq.( |
| 215a0 | 63 61 72 20 70 61 72 61 6d 73 29 20 27 3c 3e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | car.params).'<>)...............( |
| 215c0 | 63 6f 6e 73 20 23 27 66 75 6e 63 61 6c 6c 20 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 | cons.#'funcall.body)............ |
| 215e0 | 20 62 6f 64 79 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6e 6f 74 20 28 70 72 65 64 29 0a 20 | .body)))))..(defun.-not.(pred).. |
| 21600 | 20 22 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 61 74 20 6e 65 67 61 74 65 | ."Return.a.predicate.that.negate |
| 21620 | 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 2e 0a 54 68 65 20 72 65 74 75 72 6e | s.the.result.of.PRED..The.return |
| 21640 | 65 64 20 70 72 65 64 69 63 61 74 65 20 70 61 73 73 65 73 20 69 74 73 20 61 72 67 75 6d 65 6e 74 | ed.predicate.passes.its.argument |
| 21660 | 73 20 74 6f 20 50 52 45 44 2e 20 20 49 66 20 50 52 45 44 0a 72 65 74 75 72 6e 73 20 6e 69 6c 2c | s.to.PRED...If.PRED.returns.nil, |
| 21680 | 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 3b 20 6f 74 68 65 72 77 69 73 | .the.result.is.non-nil;.otherwis |
| 216a0 | 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 69 6c 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 | e.the.result.is.nil...See.also:. |
| 216c0 | 60 2d 61 6e 64 66 6e 27 20 61 6e 64 20 60 2d 6f 72 66 6e 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 | `-andfn'.and.`-orfn'."...(declar |
| 216e0 | 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 | e.(pure.t).(side-effect-free.err |
| 21700 | 6f 72 2d 66 72 65 65 29 29 0a 20 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 | or-free))...(lambda.(&rest.args) |
| 21720 | 20 28 6e 6f 74 20 28 61 70 70 6c 79 20 70 72 65 64 20 61 72 67 73 29 29 29 29 0a 0a 28 64 65 66 | .(not.(apply.pred.args))))..(def |
| 21740 | 75 6e 20 2d 6f 72 66 6e 20 28 26 72 65 73 74 20 70 72 65 64 73 29 0a 20 20 22 52 65 74 75 72 6e | un.-orfn.(&rest.preds)..."Return |
| 21760 | 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 69 | .a.predicate.that.returns.the.fi |
| 21780 | 72 73 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 53 2e 0a 54 68 65 | rst.non-nil.result.of.PREDS..The |
| 217a0 | 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 74 61 6b 65 73 20 61 20 76 61 72 69 | .returned.predicate.takes.a.vari |
| 217c0 | 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 0a 70 61 73 73 65 73 | able.number.of.arguments,.passes |
| 217e0 | 20 74 68 65 6d 20 74 6f 20 65 61 63 68 20 70 72 65 64 69 63 61 74 65 20 69 6e 20 50 52 45 44 53 | .them.to.each.predicate.in.PREDS |
| 21800 | 20 69 6e 20 74 75 72 6e 20 75 6e 74 69 6c 20 6f 6e 65 20 6f 66 20 74 68 65 6d 0a 72 65 74 75 72 | .in.turn.until.one.of.them.retur |
| 21820 | 6e 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 61 74 20 6e 6f 6e | ns.non-nil,.and.returns.that.non |
| 21840 | 2d 6e 69 6c 20 72 65 73 75 6c 74 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 0a 74 68 65 20 | -nil.result.without.calling.the. |
| 21860 | 72 65 6d 61 69 6e 69 6e 67 20 50 52 45 44 53 2e 20 20 49 66 20 61 6c 6c 20 50 52 45 44 53 20 72 | remaining.PREDS...If.all.PREDS.r |
| 21880 | 65 74 75 72 6e 20 6e 69 6c 2c 20 6f 72 20 69 66 20 6e 6f 20 50 52 45 44 53 20 61 72 65 0a 67 69 | eturn.nil,.or.if.no.PREDS.are.gi |
| 218a0 | 76 65 6e 2c 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 72 65 74 75 | ven,.the.returned.predicate.retu |
| 218c0 | 72 6e 73 20 6e 69 6c 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 61 6e 64 66 6e 27 20 61 6e 64 | rns.nil...See.also:.`-andfn'.and |
| 218e0 | 20 60 2d 6e 6f 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 | .`-not'."...(declare.(pure.t).(s |
| 21900 | 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 3b | ide-effect-free.error-free))...; |
| 21920 | 3b 20 4f 70 65 6e 2d 63 6f 64 65 20 66 6f 72 20 73 70 65 65 64 2e 0a 20 20 28 63 6f 6e 64 20 28 | ;.Open-code.for.speed....(cond.( |
| 21940 | 28 63 64 72 20 70 72 65 64 73 29 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 | (cdr.preds).(lambda.(&rest.args) |
| 21960 | 20 28 2d 2d 73 6f 6d 65 20 28 61 70 70 6c 79 20 69 74 20 61 72 67 73 29 20 70 72 65 64 73 29 29 | .(--some.(apply.it.args).preds)) |
| 21980 | 29 0a 20 20 20 20 20 20 20 20 28 70 72 65 64 73 20 28 63 61 72 20 70 72 65 64 73 29 29 0a 20 20 | ).........(preds.(car.preds))... |
| 219a0 | 20 20 20 20 20 20 28 23 27 69 67 6e 6f 72 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 61 6e 64 66 | ......(#'ignore)))..(defun.-andf |
| 219c0 | 6e 20 28 26 72 65 73 74 20 70 72 65 64 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 70 72 65 64 | n.(&rest.preds)..."Return.a.pred |
| 219e0 | 69 63 61 74 65 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 61 6c | icate.that.returns.non-nil.if.al |
| 21a00 | 6c 20 50 52 45 44 53 20 64 6f 20 73 6f 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 | l.PREDS.do.so..The.returned.pred |
| 21a20 | 69 63 61 74 65 20 50 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 | icate.P.takes.a.variable.number. |
| 21a40 | 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 0a 70 61 73 73 65 73 20 74 68 65 6d 20 74 6f 20 | of.arguments.and.passes.them.to. |
| 21a60 | 65 61 63 68 20 70 72 65 64 69 63 61 74 65 20 69 6e 20 50 52 45 44 53 20 69 6e 20 74 75 72 6e 2e | each.predicate.in.PREDS.in.turn. |
| 21a80 | 20 20 49 66 20 61 6e 79 20 6f 6e 65 20 6f 66 0a 50 52 45 44 53 20 72 65 74 75 72 6e 73 20 6e 69 | ..If.any.one.of.PREDS.returns.ni |
| 21aa0 | 6c 2c 20 50 20 61 6c 73 6f 20 72 65 74 75 72 6e 73 20 6e 69 6c 20 77 69 74 68 6f 75 74 20 63 61 | l,.P.also.returns.nil.without.ca |
| 21ac0 | 6c 6c 69 6e 67 20 74 68 65 0a 72 65 6d 61 69 6e 69 6e 67 20 50 52 45 44 53 2e 20 20 49 66 20 61 | lling.the.remaining.PREDS...If.a |
| 21ae0 | 6c 6c 20 50 52 45 44 53 20 72 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 50 20 72 65 74 75 72 | ll.PREDS.return.non-nil,.P.retur |
| 21b00 | 6e 73 20 74 68 65 20 6c 61 73 74 0a 73 75 63 68 20 76 61 6c 75 65 2e 20 20 49 66 20 6e 6f 20 50 | ns.the.last.such.value...If.no.P |
| 21b20 | 52 45 44 53 20 61 72 65 20 67 69 76 65 6e 2c 20 50 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 73 | REDS.are.given,.P.always.returns |
| 21b40 | 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 6f 72 66 6e 27 20 61 6e 64 | .non-nil...See.also:.`-orfn'.and |
| 21b60 | 20 60 2d 6e 6f 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 | .`-not'."...(declare.(pure.t).(s |
| 21b80 | 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 3b | ide-effect-free.error-free))...; |
| 21ba0 | 3b 20 4f 70 65 6e 2d 63 6f 64 65 20 66 6f 72 20 73 70 65 65 64 2e 0a 20 20 28 63 6f 6e 64 20 28 | ;.Open-code.for.speed....(cond.( |
| 21bc0 | 28 63 64 72 20 70 72 65 64 73 29 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 | (cdr.preds).(lambda.(&rest.args) |
| 21be0 | 20 28 2d 2d 65 76 65 72 79 20 28 61 70 70 6c 79 20 69 74 20 61 72 67 73 29 20 70 72 65 64 73 29 | .(--every.(apply.it.args).preds) |
| 21c00 | 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 65 64 73 20 28 63 61 72 20 70 72 65 64 73 29 29 0a 20 | )).........(preds.(car.preds)).. |
| 21c20 | 20 20 20 20 20 20 20 3b 3b 20 41 73 20 61 20 60 70 75 72 65 27 20 66 75 6e 63 74 69 6f 6e 2c 20 | .......;;.As.a.`pure'.function,. |
| 21c40 | 74 68 69 73 20 72 75 6e 74 69 6d 65 20 63 68 65 63 6b 20 6d 61 79 20 67 65 6e 65 72 61 74 65 0a | this.runtime.check.may.generate. |
| 21c60 | 20 20 20 20 20 20 20 20 3b 3b 20 62 61 63 6b 77 61 72 64 2d 69 6e 63 6f 6d 70 61 74 69 62 6c 65 | ........;;.backward-incompatible |
| 21c80 | 20 62 79 74 65 63 6f 64 65 20 66 6f 72 20 60 28 2d 61 6e 64 66 6e 29 27 20 61 74 20 63 6f 6d 70 | .bytecode.for.`(-andfn)'.at.comp |
| 21ca0 | 69 6c 65 2d 74 69 6d 65 2c 0a 20 20 20 20 20 20 20 20 3b 3b 20 62 75 74 20 49 20 64 6f 75 62 74 | ile-time,.........;;.but.I.doubt |
| 21cc0 | 20 74 68 61 74 27 73 20 61 20 70 72 6f 62 6c 65 6d 20 69 6e 20 70 72 61 63 74 69 63 65 20 28 66 | .that's.a.problem.in.practice.(f |
| 21ce0 | 61 6d 6f 75 73 20 6c 61 73 74 20 77 6f 72 64 73 29 2e 0a 20 20 20 20 20 20 20 20 28 28 66 62 6f | amous.last.words)..........((fbo |
| 21d00 | 75 6e 64 70 20 27 61 6c 77 61 79 73 29 20 23 27 61 6c 77 61 79 73 29 0a 20 20 20 20 20 20 20 20 | undp.'always).#'always)......... |
| 21d20 | 28 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 5f 29 20 74 29 29 29 29 0a 0a 28 64 65 66 75 6e | ((lambda.(&rest._).t))))..(defun |
| 21d40 | 20 2d 69 74 65 72 61 74 65 66 6e 20 28 66 6e 20 6e 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 | .-iteratefn.(fn.n)..."Return.a.f |
| 21d60 | 75 6e 63 74 69 6f 6e 20 46 4e 20 63 6f 6d 70 6f 73 65 64 20 4e 20 74 69 6d 65 73 20 77 69 74 68 | unction.FN.composed.N.times.with |
| 21d80 | 20 69 74 73 65 6c 66 2e 0a 0a 46 4e 20 69 73 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e | .itself...FN.is.a.unary.function |
| 21da0 | 2e 20 20 49 66 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 75 73 65 20 61 20 66 75 6e 63 74 69 6f 6e | ...If.you.need.to.use.a.function |
| 21dc0 | 20 6f 66 20 68 69 67 68 65 72 0a 61 72 69 74 79 2c 20 75 73 65 20 60 2d 61 70 70 6c 69 66 79 27 | .of.higher.arity,.use.`-applify' |
| 21de0 | 20 66 69 72 73 74 20 74 6f 20 74 75 72 6e 20 69 74 20 69 6e 74 6f 20 61 20 75 6e 61 72 79 20 66 | .first.to.turn.it.into.a.unary.f |
| 21e00 | 75 6e 63 74 69 6f 6e 2e 0a 0a 57 69 74 68 20 6e 20 3d 20 30 2c 20 74 68 69 73 20 61 63 74 73 20 | unction...With.n.=.0,.this.acts. |
| 21e20 | 61 73 20 69 64 65 6e 74 69 74 79 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 49 6e 20 74 79 70 65 73 3a | as.identity.function...In.types: |
| 21e40 | 20 28 61 20 2d 3e 20 61 29 20 2d 3e 20 49 6e 74 20 2d 3e 20 61 20 2d 3e 20 61 2e 0a 0a 54 68 69 | .(a.->.a).->.Int.->.a.->.a...Thi |
| 21e60 | 73 20 66 75 6e 63 74 69 6f 6e 20 73 61 74 69 73 66 69 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 | s.function.satisfies.the.followi |
| 21e80 | 6e 67 20 6c 61 77 3a 0a 0a 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 | ng.law:....(funcall.(-iteratefn. |
| 21ea0 | 66 6e 20 6e 29 20 69 6e 69 74 29 20 3d 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 28 2d 69 74 65 72 | fn.n).init).=.(-last-item.(-iter |
| 21ec0 | 61 74 65 20 66 6e 20 69 6e 69 74 20 28 31 2b 20 6e 29 29 29 2e 22 0a 20 20 28 64 65 63 6c 61 72 | ate.fn.init.(1+.n)))."...(declar |
| 21ee0 | 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 | e.(pure.t).(side-effect-free.err |
| 21f00 | 6f 72 2d 66 72 65 65 29 29 0a 20 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 2d 64 6f 74 69 6d | or-free))...(lambda.(x).(--dotim |
| 21f20 | 65 73 20 6e 20 28 73 65 74 71 20 78 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 78 29 29 29 20 78 29 | es.n.(setq.x.(funcall.fn.x))).x) |
| 21f40 | 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 75 6e 74 65 72 20 28 26 6f 70 74 69 6f 6e 61 6c 20 62 65 | )..(defun.-counter.(&optional.be |
| 21f60 | 67 20 65 6e 64 20 69 6e 63 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 63 6c 6f 73 75 72 65 20 74 | g.end.inc)..."Return.a.closure.t |
| 21f80 | 68 61 74 20 63 6f 75 6e 74 73 20 66 72 6f 6d 20 42 45 47 20 74 6f 20 45 4e 44 2c 20 77 69 74 68 | hat.counts.from.BEG.to.END,.with |
| 21fa0 | 20 69 6e 63 72 65 6d 65 6e 74 20 49 4e 43 2e 0a 0a 54 68 65 20 63 6c 6f 73 75 72 65 20 77 69 6c | .increment.INC...The.closure.wil |
| 21fc0 | 6c 20 72 65 74 75 72 6e 20 74 68 65 20 6e 65 78 74 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 63 | l.return.the.next.value.in.the.c |
| 21fe0 | 6f 75 6e 74 69 6e 67 20 73 65 71 75 65 6e 63 65 0a 65 61 63 68 20 74 69 6d 65 20 69 74 20 69 73 | ounting.sequence.each.time.it.is |
| 22000 | 20 63 61 6c 6c 65 64 2c 20 61 6e 64 20 6e 69 6c 20 61 66 74 65 72 20 45 4e 44 20 69 73 20 72 65 | .called,.and.nil.after.END.is.re |
| 22020 | 61 63 68 65 64 2e 20 42 45 47 0a 64 65 66 61 75 6c 74 73 20 74 6f 20 30 2c 20 49 4e 43 20 64 65 | ached..BEG.defaults.to.0,.INC.de |
| 22040 | 66 61 75 6c 74 73 20 74 6f 20 31 2c 20 61 6e 64 20 69 66 20 45 4e 44 20 69 73 20 6e 69 6c 2c 20 | faults.to.1,.and.if.END.is.nil,. |
| 22060 | 74 68 65 20 63 6f 75 6e 74 65 72 0a 77 69 6c 6c 20 69 6e 63 72 65 6d 65 6e 74 20 69 6e 64 65 66 | the.counter.will.increment.indef |
| 22080 | 69 6e 69 74 65 6c 79 2e 0a 0a 54 68 65 20 63 6c 6f 73 75 72 65 20 61 63 63 65 70 74 73 20 61 6e | initely...The.closure.accepts.an |
| 220a0 | 79 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 77 68 69 63 68 20 61 72 65 | y.number.of.arguments,.which.are |
| 220c0 | 20 64 69 73 63 61 72 64 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 | .discarded."...(declare.(pure.t) |
| 220e0 | 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a | .(side-effect-free.error-free)). |
| 22100 | 20 20 28 6c 65 74 20 28 28 69 6e 63 20 28 6f 72 20 69 6e 63 20 31 29 29 0a 20 20 20 20 20 20 20 | ..(let.((inc.(or.inc.1))........ |
| 22120 | 20 28 6e 20 28 6f 72 20 62 65 67 20 30 29 29 29 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 26 72 | .(n.(or.beg.0))).....(lambda.(&r |
| 22140 | 65 73 74 20 5f 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 28 6e 6f 74 20 65 6e 64 29 | est._).......(when.(or.(not.end) |
| 22160 | 20 28 3c 20 6e 20 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 31 20 6e 0a 20 20 20 | .(<.n.end)).........(prog1.n.... |
| 22180 | 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 20 28 2b 20 6e 20 69 6e 63 29 29 29 29 29 29 29 0a 0a | .......(setq.n.(+.n.inc))))))).. |
| 221a0 | 28 64 65 66 76 61 72 20 2d 66 69 78 66 6e 2d 6d 61 78 2d 69 74 65 72 61 74 69 6f 6e 73 20 31 30 | (defvar.-fixfn-max-iterations.10 |
| 221c0 | 30 30 0a 20 20 22 54 68 65 20 64 65 66 61 75 6c 74 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 | 00..."The.default.maximum.number |
| 221e0 | 20 6f 66 20 69 74 65 72 61 74 69 6f 6e 73 20 70 65 72 66 6f 72 6d 65 64 20 62 79 20 60 2d 66 69 | .of.iterations.performed.by.`-fi |
| 22200 | 78 66 6e 27 0a 20 20 75 6e 6c 65 73 73 20 6f 74 68 65 72 77 69 73 65 20 73 70 65 63 69 66 69 65 | xfn'...unless.otherwise.specifie |
| 22220 | 64 2e 22 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 78 66 6e 20 28 66 6e 20 26 6f 70 74 69 6f 6e 61 | d.")..(defun.-fixfn.(fn.&optiona |
| 22240 | 6c 20 65 71 75 61 6c 2d 74 65 73 74 20 68 61 6c 74 2d 74 65 73 74 29 0a 20 20 22 52 65 74 75 72 | l.equal-test.halt-test)..."Retur |
| 22260 | 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 6f 6d 70 75 74 65 73 20 74 68 65 20 28 | n.a.function.that.computes.the.( |
| 22280 | 6c 65 61 73 74 29 20 66 69 78 70 6f 69 6e 74 20 6f 66 20 46 4e 2e 0a 0a 46 4e 20 6d 75 73 74 20 | least).fixpoint.of.FN...FN.must. |
| 222a0 | 62 65 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 20 54 68 65 20 72 65 74 75 72 6e 65 | be.a.unary.function..The.returne |
| 222c0 | 64 20 6c 61 6d 62 64 61 20 74 61 6b 65 73 20 61 20 73 69 6e 67 6c 65 0a 61 72 67 75 6d 65 6e 74 | d.lambda.takes.a.single.argument |
| 222e0 | 2c 20 58 2c 20 74 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 66 | ,.X,.the.initial.value.for.the.f |
| 22300 | 69 78 70 6f 69 6e 74 20 69 74 65 72 61 74 69 6f 6e 2e 20 54 68 65 0a 69 74 65 72 61 74 69 6f 6e | ixpoint.iteration..The.iteration |
| 22320 | 20 68 61 6c 74 73 20 77 68 65 6e 20 65 69 74 68 65 72 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 | .halts.when.either.of.the.follow |
| 22340 | 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 20 69 73 20 73 61 74 69 73 66 69 65 64 3a 0a 0a 20 31 | ing.conditions.is.satisfied:...1 |
| 22360 | 2e 20 49 74 65 72 61 74 69 6f 6e 20 63 6f 6e 76 65 72 67 65 73 20 74 6f 20 74 68 65 20 66 69 78 | ..Iteration.converges.to.the.fix |
| 22380 | 70 6f 69 6e 74 2c 20 77 69 74 68 20 65 71 75 61 6c 69 74 79 20 62 65 69 6e 67 0a 20 20 20 20 74 | point,.with.equality.being.....t |
| 223a0 | 65 73 74 65 64 20 75 73 69 6e 67 20 45 51 55 41 4c 2d 54 45 53 54 2e 20 49 66 20 45 51 55 41 4c | ested.using.EQUAL-TEST..If.EQUAL |
| 223c0 | 2d 54 45 53 54 20 69 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 2c 0a 20 20 20 20 60 65 71 75 | -TEST.is.not.specified,.....`equ |
| 223e0 | 61 6c 27 20 69 73 20 75 73 65 64 2e 20 46 6f 72 20 66 75 6e 63 74 69 6f 6e 73 20 6f 76 65 72 20 | al'.is.used..For.functions.over. |
| 22400 | 74 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 0a 20 20 20 20 6e 75 6d 62 65 72 73 2c 20 | the.floating.point.....numbers,. |
| 22420 | 69 74 20 6d 61 79 20 62 65 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 70 72 6f 76 69 64 65 20 61 | it.may.be.necessary.to.provide.a |
| 22440 | 6e 20 61 70 70 72 6f 70 72 69 61 74 65 0a 20 20 20 20 61 70 70 72 6f 78 69 6d 61 74 65 20 63 6f | n.appropriate.....approximate.co |
| 22460 | 6d 70 61 72 69 73 6f 6e 20 74 65 73 74 2e 0a 0a 20 32 2e 20 48 41 4c 54 2d 54 45 53 54 20 72 65 | mparison.test....2..HALT-TEST.re |
| 22480 | 74 75 72 6e 73 20 61 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75 65 2e 20 48 41 4c 54 2d 54 45 53 54 | turns.a.non-nil.value..HALT-TEST |
| 224a0 | 20 64 65 66 61 75 6c 74 73 20 74 6f 20 61 0a 20 20 20 20 73 69 6d 70 6c 65 20 63 6f 75 6e 74 65 | .defaults.to.a.....simple.counte |
| 224c0 | 72 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 20 61 66 74 65 72 20 60 2d 66 69 78 66 6e 2d 6d | r.that.returns.t.after.`-fixfn-m |
| 224e0 | 61 78 2d 69 74 65 72 61 74 69 6f 6e 73 27 2c 0a 20 20 20 20 74 6f 20 67 75 61 72 64 20 61 67 61 | ax-iterations',.....to.guard.aga |
| 22500 | 69 6e 73 74 20 69 6e 66 69 6e 69 74 65 20 69 74 65 72 61 74 69 6f 6e 2e 20 4f 74 68 65 72 77 69 | inst.infinite.iteration..Otherwi |
| 22520 | 73 65 2c 20 48 41 4c 54 2d 54 45 53 54 0a 20 20 20 20 6d 75 73 74 20 62 65 20 61 20 66 75 6e 63 | se,.HALT-TEST.....must.be.a.func |
| 22540 | 74 69 6f 6e 20 74 68 61 74 20 61 63 63 65 70 74 73 20 61 20 73 69 6e 67 6c 65 20 61 72 67 75 6d | tion.that.accepts.a.single.argum |
| 22560 | 65 6e 74 2c 20 74 68 65 0a 20 20 20 20 63 75 72 72 65 6e 74 20 76 61 6c 75 65 20 6f 66 20 58 2c | ent,.the.....current.value.of.X, |
| 22580 | 20 61 6e 64 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 61 73 20 6c 6f 6e 67 20 61 73 20 | .and.returns.non-nil.as.long.as. |
| 225a0 | 69 74 65 72 61 74 69 6f 6e 0a 20 20 20 20 73 68 6f 75 6c 64 20 63 6f 6e 74 69 6e 75 65 2e 20 49 | iteration.....should.continue..I |
| 225c0 | 6e 20 74 68 69 73 20 77 61 79 2c 20 61 20 6d 6f 72 65 20 73 6f 70 68 69 73 74 69 63 61 74 65 64 | n.this.way,.a.more.sophisticated |
| 225e0 | 0a 20 20 20 20 63 6f 6e 76 65 72 67 65 6e 63 65 20 74 65 73 74 20 6d 61 79 20 62 65 20 73 75 70 | .....convergence.test.may.be.sup |
| 22600 | 70 6c 69 65 64 20 62 79 20 74 68 65 20 63 61 6c 6c 65 72 2e 0a 0a 54 68 65 20 72 65 74 75 72 6e | plied.by.the.caller...The.return |
| 22620 | 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6c 61 6d 62 64 61 20 69 73 20 65 69 74 68 65 72 20 74 | .value.of.the.lambda.is.either.t |
| 22640 | 68 65 20 66 69 78 70 6f 69 6e 74 20 6f 72 2c 20 69 66 0a 69 74 65 72 61 74 69 6f 6e 20 68 61 6c | he.fixpoint.or,.if.iteration.hal |
| 22660 | 74 65 64 20 62 65 66 6f 72 65 20 63 6f 6e 76 65 72 67 69 6e 67 2c 20 61 20 63 6f 6e 73 20 77 69 | ted.before.converging,.a.cons.wi |
| 22680 | 74 68 20 63 61 72 20 60 68 61 6c 74 65 64 27 20 61 6e 64 0a 63 64 72 20 74 68 65 20 66 69 6e 61 | th.car.`halted'.and.cdr.the.fina |
| 226a0 | 6c 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 48 41 4c 54 2d 54 45 53 54 2e 0a 0a 49 6e 20 74 79 70 | l.output.from.HALT-TEST...In.typ |
| 226c0 | 65 73 3a 20 28 61 20 2d 3e 20 61 29 20 2d 3e 20 61 20 2d 3e 20 61 2e 22 0a 20 20 28 64 65 63 6c | es:.(a.->.a).->.a.->.a."...(decl |
| 226e0 | 61 72 65 20 28 69 6d 70 6f 72 74 61 6e 74 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 20 74 29 29 0a | are.(important-return-value.t)). |
| 22700 | 20 20 28 6c 65 74 20 28 28 65 71 66 6e 20 20 20 28 6f 72 20 65 71 75 61 6c 2d 74 65 73 74 20 27 | ..(let.((eqfn...(or.equal-test.' |
| 22720 | 65 71 75 61 6c 29 29 0a 20 20 20 20 20 20 20 20 28 68 61 6c 74 66 6e 20 28 6f 72 20 68 61 6c 74 | equal)).........(haltfn.(or.halt |
| 22740 | 2d 74 65 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 6e 6f 74 0a | -test.....................(-not. |
| 22760 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 75 6e 74 65 72 20 30 | .....................(-counter.0 |
| 22780 | 20 2d 66 69 78 66 6e 2d 6d 61 78 2d 69 74 65 72 61 74 69 6f 6e 73 29 29 29 29 29 0a 20 20 20 20 | .-fixfn-max-iterations)))))..... |
| 227a0 | 28 6c 61 6d 62 64 61 20 28 78 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 65 20 28 66 75 6e | (lambda.(x).......(let.((re.(fun |
| 227c0 | 63 61 6c 6c 20 66 6e 20 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 68 61 6c 74 3f 20 28 | call.fn.x)).............(halt?.( |
| 227e0 | 66 75 6e 63 61 6c 6c 20 68 61 6c 74 66 6e 20 78 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 | funcall.haltfn.x))).........(whi |
| 22800 | 6c 65 20 28 61 6e 64 20 28 6e 6f 74 20 68 61 6c 74 3f 29 20 28 6e 6f 74 20 28 66 75 6e 63 61 6c | le.(and.(not.halt?).(not.(funcal |
| 22820 | 6c 20 65 71 66 6e 20 78 20 72 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 78 | l.eqfn.x.re)))...........(setq.x |
| 22840 | 20 20 20 20 20 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 20 20 20 20 28 66 | .....re.................re....(f |
| 22860 | 75 6e 63 61 6c 6c 20 66 6e 20 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 61 | uncall.fn.re).................ha |
| 22880 | 6c 74 3f 20 28 66 75 6e 63 61 6c 6c 20 68 61 6c 74 66 6e 20 72 65 29 29 29 0a 20 20 20 20 20 20 | lt?.(funcall.haltfn.re)))....... |
| 228a0 | 20 20 28 69 66 20 68 61 6c 74 3f 20 28 63 6f 6e 73 20 27 68 61 6c 74 65 64 20 68 61 6c 74 3f 29 | ..(if.halt?.(cons.'halted.halt?) |
| 228c0 | 0a 20 20 20 20 20 20 20 20 20 20 72 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 72 6f 64 | ...........re)))))..(defun.-prod |
| 228e0 | 66 6e 20 28 26 72 65 73 74 20 66 6e 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 | fn.(&rest.fns)..."Return.a.funct |
| 22900 | 69 6f 6e 20 74 68 61 74 20 61 70 70 6c 69 65 73 20 65 61 63 68 20 6f 66 20 46 4e 53 20 74 6f 20 | ion.that.applies.each.of.FNS.to. |
| 22920 | 65 61 63 68 20 6f 66 20 61 20 6c 69 73 74 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 61 | each.of.a.list.of.arguments...Ta |
| 22940 | 6b 65 73 20 61 20 6c 69 73 74 20 6f 66 20 4e 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 72 65 | kes.a.list.of.N.functions.and.re |
| 22960 | 74 75 72 6e 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 0a 6c 69 | turns.a.function.that.takes.a.li |
| 22980 | 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 4e 2c 20 61 70 70 6c 79 69 6e 67 20 49 74 68 20 66 75 6e | st.of.length.N,.applying.Ith.fun |
| 229a0 | 63 74 69 6f 6e 20 74 6f 20 49 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 0a 69 6e 70 75 | ction.to.Ith.element.of.the.inpu |
| 229c0 | 74 20 6c 69 73 74 2e 20 20 52 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 | t.list...Returns.a.list.of.lengt |
| 229e0 | 68 20 4e 2e 0a 0a 49 6e 20 74 79 70 65 73 20 28 66 6f 72 20 4e 3d 32 29 3a 20 28 28 61 20 2d 3e | h.N...In.types.(for.N=2):.((a.-> |
| 22a00 | 20 62 29 2c 20 28 63 20 2d 3e 20 64 29 29 20 2d 3e 20 28 61 2c 20 63 29 20 2d 3e 20 28 62 2c 20 | .b),.(c.->.d)).->.(a,.c).->.(b,. |
| 22a20 | 64 29 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 61 74 69 73 66 69 65 73 20 74 68 65 20 | d)..This.function.satisfies.the. |
| 22a40 | 66 6f 6c 6c 6f 77 69 6e 67 20 6c 61 77 73 3a 0a 0a 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 | following.laws:......(-compose.( |
| 22a60 | 2d 70 72 6f 64 66 6e 20 66 20 67 20 2e 2e 2e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | -prodfn.f.g....)...............( |
| 22a80 | 2d 70 72 6f 64 66 6e 20 66 5c 5c 3d 27 20 67 5c 5c 3d 27 20 2e 2e 2e 29 29 0a 20 20 3d 20 28 2d | -prodfn.f\\='.g\\='....))...=.(- |
| 22aa0 | 70 72 6f 64 66 6e 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 66 5c 5c 3d 27 29 0a 20 20 20 20 20 20 | prodfn.(-compose.f.f\\=')....... |
| 22ac0 | 20 20 20 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 67 5c 5c 3d 27 29 0a 20 20 20 20 20 20 | .......(-compose.g.g\\=')....... |
| 22ae0 | 20 20 20 20 20 20 20 2e 2e 2e 29 0a 0a 20 20 20 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 2e 2e | ..........)......(-prodfn.f.g... |
| 22b00 | 2e 29 0a 20 20 3d 20 28 2d 6a 75 78 74 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 28 2d 70 61 72 74 | .)...=.(-juxt.(-compose.f.(-part |
| 22b20 | 69 61 6c 20 23 5c 5c 3d 27 6e 74 68 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f | ial.#\\='nth.0))............(-co |
| 22b40 | 6d 70 6f 73 65 20 67 20 28 2d 70 61 72 74 69 61 6c 20 23 5c 5c 3d 27 6e 74 68 20 31 29 29 0a 20 | mpose.g.(-partial.#\\='nth.1)).. |
| 22b60 | 20 20 20 20 20 20 20 20 20 20 2e 2e 2e 29 0a 0a 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d | .............)......(-compose.(- |
| 22b80 | 70 72 6f 64 66 6e 20 66 20 67 20 2e 2e 2e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d | prodfn.f.g....)...............(- |
| 22ba0 | 6a 75 78 74 20 66 5c 5c 3d 27 20 67 5c 5c 3d 27 20 2e 2e 2e 29 29 0a 20 20 3d 20 28 2d 6a 75 78 | juxt.f\\='.g\\='....))...=.(-jux |
| 22bc0 | 74 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 66 5c 5c 3d 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 | t.(-compose.f.f\\=')............ |
| 22be0 | 28 2d 63 6f 6d 70 6f 73 65 20 67 20 67 5c 5c 3d 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 2e 2e | (-compose.g.g\\=').............. |
| 22c00 | 2e 29 0a 0a 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 61 72 74 69 61 6c 20 23 5c 5c 3d | .)......(-compose.(-partial.#\\= |
| 22c20 | 27 6e 74 68 20 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 70 72 6f 64 20 66 31 20 | 'nth.n)...............(-prod.f1. |
| 22c40 | 66 32 20 2e 2e 2e 29 29 0a 20 20 3d 20 28 2d 63 6f 6d 70 6f 73 65 20 66 6e 20 28 2d 70 61 72 74 | f2....))...=.(-compose.fn.(-part |
| 22c60 | 69 61 6c 20 23 5c 5c 3d 27 6e 74 68 20 6e 29 29 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 | ial.#\\='nth.n))"...(declare.(pu |
| 22c80 | 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c | re.t).(side-effect-free.t))...(l |
| 22ca0 | 61 6d 62 64 61 20 28 78 29 20 28 2d 2d 7a 69 70 2d 77 69 74 68 20 28 66 75 6e 63 61 6c 6c 20 69 | ambda.(x).(--zip-with.(funcall.i |
| 22cc0 | 74 20 6f 74 68 65 72 29 20 66 6e 73 20 78 29 29 29 0a 0c 0a 3b 3b 3b 20 46 6f 6e 74 20 6c 6f 63 | t.other).fns.x)))...;;;.Font.loc |
| 22ce0 | 6b 0a 0a 28 64 65 66 76 61 72 20 64 61 73 68 2d 2d 6b 65 79 77 6f 72 64 73 0a 20 20 60 28 3b 3b | k..(defvar.dash--keywords...`(;; |
| 22d00 | 20 54 4f 44 4f 3a 20 44 6f 20 6e 6f 74 20 66 6f 6e 74 69 66 79 20 74 68 65 20 66 6f 6c 6c 6f 77 | .TODO:.Do.not.fontify.the.follow |
| 22d20 | 69 6e 67 20 61 75 74 6f 6d 61 74 69 63 20 76 61 72 69 61 62 6c 65 73 0a 20 20 20 20 3b 3b 20 67 | ing.automatic.variables.....;;.g |
| 22d40 | 6c 6f 62 61 6c 6c 79 3b 20 64 65 74 65 63 74 20 61 6e 64 20 6c 69 6d 69 74 20 74 6f 20 74 68 65 | lobally;.detect.and.limit.to.the |
| 22d60 | 69 72 20 6c 6f 63 61 6c 20 61 6e 61 70 68 6f 72 69 63 20 73 63 6f 70 65 2e 0a 20 20 20 20 28 2c | ir.local.anaphoric.scope......(, |
| 22d80 | 28 72 78 20 73 79 6d 62 6f 6c 2d 73 74 61 72 74 20 28 7c 20 22 61 63 63 22 20 22 69 74 22 20 22 | (rx.symbol-start.(|."acc"."it"." |
| 22da0 | 69 74 2d 69 6e 64 65 78 22 20 22 6f 74 68 65 72 22 29 20 73 79 6d 62 6f 6c 2d 65 6e 64 29 0a 20 | it-index"."other").symbol-end).. |
| 22dc0 | 20 20 20 20 30 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 76 61 72 69 61 62 6c 65 2d 6e 61 6d 65 2d 66 61 | ....0.font-lock-variable-name-fa |
| 22de0 | 63 65 29 0a 20 20 20 20 3b 3b 20 4d 61 63 72 6f 73 20 69 6e 20 64 65 76 2f 65 78 61 6d 70 6c 65 | ce).....;;.Macros.in.dev/example |
| 22e00 | 73 2e 65 6c 2e 20 20 42 61 73 65 64 20 6f 6e 20 60 6c 69 73 70 2d 6d 6f 64 65 2d 73 79 6d 62 6f | s.el...Based.on.`lisp-mode-symbo |
| 22e20 | 6c 2d 72 65 67 65 78 70 27 2e 0a 20 20 20 20 28 2c 28 72 78 20 3f 5c 28 20 28 67 72 6f 75 70 20 | l-regexp'......(,(rx.?\(.(group. |
| 22e40 | 28 7c 20 22 64 65 66 65 78 61 6d 70 6c 65 73 22 20 22 64 65 66 2d 65 78 61 6d 70 6c 65 2d 67 72 | (|."defexamples"."def-example-gr |
| 22e60 | 6f 75 70 22 29 29 20 73 79 6d 62 6f 6c 2d 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 | oup")).symbol-end...........(+.( |
| 22e80 | 69 6e 20 22 5c 74 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 72 6f 75 70 20 28 2a 20 28 | in."\t."))...........(group.(*.( |
| 22ea0 | 7c 20 28 73 79 6e 74 61 78 20 77 6f 72 64 29 20 28 73 79 6e 74 61 78 20 73 79 6d 62 6f 6c 29 20 | |.(syntax.word).(syntax.symbol). |
| 22ec0 | 28 3a 20 3f 5c 5c 20 6e 6f 6e 6c 29 29 29 29 29 0a 20 20 20 20 20 28 31 20 66 6f 6e 74 2d 6c 6f | (:.?\\.nonl)))))......(1.font-lo |
| 22ee0 | 63 6b 2d 6b 65 79 77 6f 72 64 2d 66 61 63 65 29 0a 20 20 20 20 20 28 32 20 66 6f 6e 74 2d 6c 6f | ck-keyword-face)......(2.font-lo |
| 22f00 | 63 6b 2d 66 75 6e 63 74 69 6f 6e 2d 6e 61 6d 65 2d 66 61 63 65 29 29 0a 20 20 20 20 3b 3b 20 53 | ck-function-name-face)).....;;.S |
| 22f20 | 79 6d 62 6f 6c 73 20 69 6e 20 64 65 76 2f 65 78 61 6d 70 6c 65 73 2e 65 6c 2e 0a 20 20 20 20 2c | ymbols.in.dev/examples.el......, |
| 22f40 | 28 72 78 20 73 79 6d 62 6f 6c 2d 73 74 61 72 74 20 28 7c 20 22 3d 3e 22 20 22 7e 3e 22 20 22 21 | (rx.symbol-start.(|."=>"."~>"."! |
| 22f60 | 21 3e 22 29 20 73 79 6d 62 6f 6c 2d 65 6e 64 29 0a 20 20 20 20 3b 3b 20 45 6c 69 73 70 20 6d 61 | !>").symbol-end).....;;.Elisp.ma |
| 22f80 | 63 72 6f 20 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 77 61 73 20 73 74 61 74 69 63 20 70 72 69 | cro.fontification.was.static.pri |
| 22fa0 | 6f 72 20 74 6f 20 45 6d 61 63 73 20 32 35 2e 0a 20 20 20 20 2c 40 28 77 68 65 6e 20 28 3c 20 65 | or.to.Emacs.25......,@(when.(<.e |
| 22fc0 | 6d 61 63 73 2d 6d 61 6a 6f 72 2d 76 65 72 73 69 6f 6e 20 32 35 29 0a 20 20 20 20 20 20 20 20 28 | macs-major-version.25).........( |
| 22fe0 | 6c 65 74 20 28 28 6d 61 63 73 20 27 28 22 21 63 64 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 | let.((macs.'("!cdr"............. |
| 23000 | 20 20 20 20 20 20 20 20 20 20 22 21 63 6f 6e 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .........."!cons"............... |
| 23020 | 20 20 20 20 20 20 20 20 22 2d 2d 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........"-->"................... |
| 23040 | 20 20 20 20 22 2d 2d 61 6c 6c 2d 70 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...."--all-p"................... |
| 23060 | 20 20 20 20 22 2d 2d 61 6c 6c 3f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...."--all?".................... |
| 23080 | 20 20 20 22 2d 2d 61 6e 6e 6f 74 61 74 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..."--annotate"................. |
| 230a0 | 20 20 20 20 20 20 22 2d 2d 61 6e 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ......"--any"................... |
| 230c0 | 20 20 20 20 22 2d 2d 61 6e 79 2d 70 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...."--any-p"................... |
| 230e0 | 20 20 20 20 22 2d 2d 61 6e 79 3f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...."--any?".................... |
| 23100 | 20 20 20 22 2d 2d 63 6f 75 6e 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..."--count".................... |
| 23120 | 20 20 20 22 2d 2d 64 6f 74 69 6d 65 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..."--dotimes".................. |
| 23140 | 20 20 20 20 20 22 2d 2d 64 6f 74 6f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....."--doto"................... |
| 23160 | 20 20 20 20 22 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...."--drop-while".............. |
| 23180 | 20 20 20 20 20 20 20 20 20 22 2d 2d 65 61 63 68 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........."--each"............... |
| 231a0 | 20 20 20 20 20 20 20 20 22 2d 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 22 0a 20 20 20 20 20 20 20 | ........"--each-indexed"........ |
| 231c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 65 61 63 68 2d 72 22 0a 20 20 20 20 20 20 | ..............."--each-r"....... |
| 231e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 22 | ................"--each-r-while" |
| 23200 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 65 61 63 68 2d 77 | ......................."--each-w |
| 23220 | 68 69 6c 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 65 | hile"......................."--e |
| 23240 | 76 65 72 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 65 | very"......................."--e |
| 23260 | 76 65 72 79 2d 70 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d | very-p"......................."- |
| 23280 | 2d 65 76 65 72 79 3f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 | -every?"......................." |
| 232a0 | 2d 2d 66 69 6c 74 65 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | --filter"....................... |
| 232c0 | 22 2d 2d 66 69 6e 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 | "--find"......................." |
| 232e0 | 2d 2d 66 69 6e 64 2d 69 6e 64 65 78 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | --find-index"................... |
| 23300 | 20 20 20 20 22 2d 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 | ...."--find-indices"............ |
| 23320 | 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 22 0a 20 | ..........."--find-last-index".. |
| 23340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 66 69 72 73 74 22 0a 20 | ....................."--first".. |
| 23360 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 66 69 78 22 0a 20 20 20 | ....................."--fix".... |
| 23380 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 67 72 6f 75 70 2d 62 79 22 0a | ..................."--group-by". |
| 233a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 69 66 2d 6c 65 74 22 | ......................"--if-let" |
| 233c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 69 74 65 72 61 74 | ......................."--iterat |
| 233e0 | 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6b 65 65 70 | e"......................."--keep |
| 23400 | 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6c 61 73 74 22 | "......................."--last" |
| 23420 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6d 61 70 22 0a 20 | ......................."--map".. |
| 23440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6d 61 70 2d 66 69 72 73 | ....................."--map-firs |
| 23460 | 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6d 61 70 2d | t"......................."--map- |
| 23480 | 69 6e 64 65 78 65 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 | indexed"......................." |
| 234a0 | 2d 2d 6d 61 70 2d 6c 61 73 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | --map-last"..................... |
| 234c0 | 20 20 22 2d 2d 6d 61 70 2d 77 68 65 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .."--map-when".................. |
| 234e0 | 20 20 20 20 20 22 2d 2d 6d 61 70 63 61 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....."--mapcat"................. |
| 23500 | 20 20 20 20 20 20 22 2d 2d 6d 61 78 2d 62 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ......"--max-by"................ |
| 23520 | 20 20 20 20 20 20 20 22 2d 2d 6d 69 6e 2d 62 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ......."--min-by"............... |
| 23540 | 20 20 20 20 20 20 20 20 22 2d 2d 6e 6f 6e 65 2d 70 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........"--none-p".............. |
| 23560 | 20 20 20 20 20 20 20 20 20 22 2d 2d 6e 6f 6e 65 3f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........."--none?".............. |
| 23580 | 20 20 20 20 20 20 20 20 20 22 2d 2d 6f 6e 6c 79 2d 73 6f 6d 65 2d 70 22 0a 20 20 20 20 20 20 20 | ........."--only-some-p"........ |
| 235a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 22 0a 20 20 | ..............."--only-some?"... |
| 235c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 70 61 72 74 69 74 69 6f 6e | ...................."--partition |
| 235e0 | 2d 61 66 74 65 72 2d 70 72 65 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -after-pred".................... |
| 23600 | 20 20 20 22 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ..."--partition-by"............. |
| 23620 | 20 20 20 20 20 20 20 20 20 20 22 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 | .........."--partition-by-header |
| 23640 | 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 64 75 63 | "......................."--reduc |
| 23660 | 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 64 75 | e"......................."--redu |
| 23680 | 63 65 2d 66 72 6f 6d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 | ce-from"......................." |
| 236a0 | 2d 2d 72 65 64 75 63 65 2d 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | --reduce-r"..................... |
| 236c0 | 20 20 22 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .."--reduce-r-from"............. |
| 236e0 | 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 64 75 63 74 69 6f 6e 73 22 0a 20 20 20 20 20 20 20 | .........."--reductions"........ |
| 23700 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f | ..............."--reductions-fro |
| 23720 | 6d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 64 75 | m"......................."--redu |
| 23740 | 63 74 69 6f 6e 73 2d 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ctions-r"....................... |
| 23760 | 22 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 22 0a 20 20 20 20 20 20 20 20 20 20 | "--reductions-r-from"........... |
| 23780 | 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 6a 65 63 74 22 0a 20 20 20 20 20 20 20 20 20 | ............"--reject".......... |
| 237a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 6a 65 63 74 2d 66 69 72 73 74 22 0a 20 20 | ............."--reject-first"... |
| 237c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 6a 65 63 74 2d 6c 61 | ...................."--reject-la |
| 237e0 | 73 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 6d | st"......................."--rem |
| 23800 | 6f 76 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 | ove"......................."--re |
| 23820 | 6d 6f 76 65 2d 66 69 72 73 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | move-first"..................... |
| 23840 | 20 20 22 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .."--remove-last"............... |
| 23860 | 20 20 20 20 20 20 20 20 22 2d 2d 72 65 70 6c 61 63 65 2d 77 68 65 72 65 22 0a 20 20 20 20 20 20 | ........"--replace-where"....... |
| 23880 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 65 6c 65 63 74 22 0a 20 20 20 20 20 | ................"--select"...... |
| 238a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 65 70 61 72 61 74 65 22 0a 20 20 | ................."--separate"... |
| 238c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 6f 6d 65 22 0a 20 20 20 | ...................."--some".... |
| 238e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 6f 6d 65 2d 70 22 0a 20 20 | ..................."--some-p"... |
| 23900 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 6f 6d 65 3f 22 0a 20 20 | ...................."--some?"... |
| 23920 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 6f 72 74 22 0a 20 20 20 | ...................."--sort".... |
| 23940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 70 6c 69 63 65 22 0a 20 20 | ..................."--splice"... |
| 23960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 70 6c 69 63 65 2d 6c 69 | ...................."--splice-li |
| 23980 | 73 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 73 70 6c | st"......................."--spl |
| 239a0 | 69 74 2d 77 68 65 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 | it-when"......................." |
| 239c0 | 2d 2d 73 70 6c 69 74 2d 77 69 74 68 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | --split-with"................... |
| 239e0 | 20 20 20 20 22 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...."--take-while".............. |
| 23a00 | 20 20 20 20 20 20 20 20 20 22 2d 2d 74 72 65 65 2d 6d 61 70 22 0a 20 20 20 20 20 20 20 20 20 20 | ........."--tree-map"........... |
| 23a20 | 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 22 0a 20 | ............"--tree-map-nodes".. |
| 23a40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 74 72 65 65 2d 6d 61 70 | ....................."--tree-map |
| 23a60 | 72 65 64 75 63 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d | reduce"......................."- |
| 23a80 | 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 22 0a 20 20 20 20 20 20 20 20 20 20 | -tree-mapreduce-from"........... |
| 23aa0 | 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 74 72 65 65 2d 72 65 64 75 63 65 22 0a 20 20 20 20 | ............"--tree-reduce"..... |
| 23ac0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 74 72 65 65 2d 72 65 64 75 63 65 | .................."--tree-reduce |
| 23ae0 | 2d 66 72 6f 6d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d | -from"......................."-- |
| 23b00 | 74 72 65 65 2d 73 65 71 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tree-seq"....................... |
| 23b20 | 22 2d 2d 75 6e 66 6f 6c 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | "--unfold"...................... |
| 23b40 | 20 22 2d 2d 75 70 64 61 74 65 2d 61 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ."--update-at".................. |
| 23b60 | 20 20 20 20 20 22 2d 2d 77 68 65 6e 2d 6c 65 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....."--when-let"............... |
| 23b80 | 20 20 20 20 20 20 20 20 22 2d 2d 7a 69 70 2d 77 69 74 68 22 0a 20 20 20 20 20 20 20 20 20 20 20 | ........"--zip-with"............ |
| 23ba0 | 20 20 20 20 20 20 20 20 20 20 20 22 2d 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..........."->"................. |
| 23bc0 | 20 20 20 20 20 20 22 2d 3e 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ......"->>"..................... |
| 23be0 | 20 20 22 2d 61 73 2d 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .."-as->"....................... |
| 23c00 | 22 2d 63 75 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 64 | "-cut"......................."-d |
| 23c20 | 6f 74 6f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 69 66 2d | oto"......................."-if- |
| 23c40 | 6c 65 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 69 66 2d | let"......................."-if- |
| 23c60 | 6c 65 74 2a 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 6c 61 | let*"......................."-la |
| 23c80 | 6d 62 64 61 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 6c 65 | mbda"......................."-le |
| 23ca0 | 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 6c 65 74 2a 22 | t"......................."-let*" |
| 23cc0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 73 65 74 71 22 0a 20 | ......................."-setq".. |
| 23ce0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 73 6f 6d 65 2d 2d 3e 22 0a | ....................."-some-->". |
| 23d00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 73 6f 6d 65 2d 3e 22 0a | ......................"-some->". |
| 23d20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 73 6f 6d 65 2d 3e 3e 22 | ......................"-some->>" |
| 23d40 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 73 70 6c 69 74 2d 6f | ......................."-split-o |
| 23d60 | 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 77 68 65 6e 2d | n"......................."-when- |
| 23d80 | 6c 65 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 77 68 65 | let"......................."-whe |
| 23da0 | 6e 2d 6c 65 74 2a 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 60 28 28 2c 28 63 6f 6e 63 61 74 | n-let*")))...........`((,(concat |
| 23dc0 | 20 22 28 22 20 28 72 65 67 65 78 70 2d 6f 70 74 20 6d 61 63 73 20 27 73 79 6d 62 6f 6c 73 29 29 | ."(".(regexp-opt.macs.'symbols)) |
| 23de0 | 20 2e 20 31 29 29 29 29 29 0a 20 20 22 46 6f 6e 74 20 6c 6f 63 6b 20 6b 65 79 77 6f 72 64 73 20 | ...1)))))..."Font.lock.keywords. |
| 23e00 | 66 6f 72 20 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 27 2e 22 29 0a 0a 28 64 65 66 | for.`dash-fontify-mode'.")..(def |
| 23e20 | 63 75 73 74 6f 6d 20 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 2d 6c 69 67 68 74 65 72 | custom.dash-fontify-mode-lighter |
| 23e40 | 20 6e 69 6c 0a 20 20 22 4d 6f 64 65 20 6c 69 6e 65 20 6c 69 67 68 74 65 72 20 66 6f 72 20 60 64 | .nil..."Mode.line.lighter.for.`d |
| 23e60 | 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 27 2e 0a 45 69 74 68 65 72 20 61 20 73 74 72 69 | ash-fontify-mode'..Either.a.stri |
| 23e80 | 6e 67 20 74 6f 20 64 69 73 70 6c 61 79 20 69 6e 20 74 68 65 20 6d 6f 64 65 20 6c 69 6e 65 20 77 | ng.to.display.in.the.mode.line.w |
| 23ea0 | 68 65 6e 0a 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 27 20 69 73 20 6f 6e 2c 20 6f | hen.`dash-fontify-mode'.is.on,.o |
| 23ec0 | 72 20 6e 69 6c 20 74 6f 20 64 69 73 70 6c 61 79 0a 6e 6f 74 68 69 6e 67 20 28 74 68 65 20 64 65 | r.nil.to.display.nothing.(the.de |
| 23ee0 | 66 61 75 6c 74 29 2e 22 0a 20 20 3a 70 61 63 6b 61 67 65 2d 76 65 72 73 69 6f 6e 20 27 28 64 61 | fault)."...:package-version.'(da |
| 23f00 | 73 68 20 2e 20 22 32 2e 31 38 2e 30 22 29 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 | sh..."2.18.0")...:type.'(choice. |
| 23f20 | 28 73 74 72 69 6e 67 20 3a 74 61 67 20 22 4c 69 67 68 74 65 72 22 20 3a 76 61 6c 75 65 20 22 20 | (string.:tag."Lighter".:value.". |
| 23f40 | 44 61 73 68 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a | Dash")..................(const.: |
| 23f60 | 74 61 67 20 22 4e 6f 74 68 69 6e 67 22 20 6e 69 6c 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f | tag."Nothing".nil)))..;;;###auto |
| 23f80 | 6c 6f 61 64 0a 28 64 65 66 69 6e 65 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 20 64 61 73 68 2d 66 6f 6e | load.(define-minor-mode.dash-fon |
| 23fa0 | 74 69 66 79 2d 6d 6f 64 65 0a 20 20 22 54 6f 67 67 6c 65 20 66 6f 6e 74 69 66 69 63 61 74 69 6f | tify-mode..."Toggle.fontificatio |
| 23fc0 | 6e 20 6f 66 20 44 61 73 68 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 2e 0a 0a 44 61 | n.of.Dash.special.variables...Da |
| 23fe0 | 73 68 2d 46 6f 6e 74 69 66 79 20 6d 6f 64 65 20 69 73 20 61 20 62 75 66 66 65 72 2d 6c 6f 63 61 | sh-Fontify.mode.is.a.buffer-loca |
| 24000 | 6c 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 45 6d 61 63 73 0a | l.minor.mode.intended.for.Emacs. |
| 24020 | 4c 69 73 70 20 62 75 66 66 65 72 73 2e 20 20 45 6e 61 62 6c 69 6e 67 20 69 74 20 63 61 75 73 65 | Lisp.buffers...Enabling.it.cause |
| 24040 | 73 20 74 68 65 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 20 62 6f 75 6e 64 20 69 6e | s.the.special.variables.bound.in |
| 24060 | 0a 61 6e 61 70 68 6f 72 69 63 20 44 61 73 68 20 6d 61 63 72 6f 73 20 74 6f 20 62 65 20 66 6f 6e | .anaphoric.Dash.macros.to.be.fon |
| 24080 | 74 69 66 69 65 64 2e 20 20 54 68 65 73 65 20 61 6e 61 70 68 6f 72 61 73 20 69 6e 63 6c 75 64 65 | tified...These.anaphoras.include |
| 240a0 | 0a 60 69 74 27 2c 20 60 69 74 2d 69 6e 64 65 78 27 2c 20 60 61 63 63 27 2c 20 61 6e 64 20 60 6f | .`it',.`it-index',.`acc',.and.`o |
| 240c0 | 74 68 65 72 27 2e 20 20 49 6e 20 6f 6c 64 65 72 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 0a | ther'...In.older.Emacs.versions. |
| 240e0 | 77 68 69 63 68 20 64 6f 20 6e 6f 74 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 64 65 74 65 63 74 20 | which.do.not.dynamically.detect. |
| 24100 | 6d 61 63 72 6f 73 2c 20 44 61 73 68 2d 46 6f 6e 74 69 66 79 20 6d 6f 64 65 0a 61 64 64 69 74 69 | macros,.Dash-Fontify.mode.additi |
| 24120 | 6f 6e 61 6c 6c 79 20 66 6f 6e 74 69 66 69 65 73 20 44 61 73 68 20 6d 61 63 72 6f 20 63 61 6c 6c | onally.fontifies.Dash.macro.call |
| 24140 | 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 2d | s...See.also.`dash-fontify-mode- |
| 24160 | 6c 69 67 68 74 65 72 27 20 61 6e 64 0a 60 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 | lighter'.and.`global-dash-fontif |
| 24180 | 79 2d 6d 6f 64 65 27 2e 22 0a 20 20 3a 6c 69 67 68 74 65 72 20 64 61 73 68 2d 66 6f 6e 74 69 66 | y-mode'."...:lighter.dash-fontif |
| 241a0 | 79 2d 6d 6f 64 65 2d 6c 69 67 68 74 65 72 0a 20 20 28 69 66 20 64 61 73 68 2d 66 6f 6e 74 69 66 | y-mode-lighter...(if.dash-fontif |
| 241c0 | 79 2d 6d 6f 64 65 0a 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 61 64 64 2d 6b 65 79 77 | y-mode.......(font-lock-add-keyw |
| 241e0 | 6f 72 64 73 20 6e 69 6c 20 64 61 73 68 2d 2d 6b 65 79 77 6f 72 64 73 20 74 29 0a 20 20 20 20 28 | ords.nil.dash--keywords.t).....( |
| 24200 | 66 6f 6e 74 2d 6c 6f 63 6b 2d 72 65 6d 6f 76 65 2d 6b 65 79 77 6f 72 64 73 20 6e 69 6c 20 64 61 | font-lock-remove-keywords.nil.da |
| 24220 | 73 68 2d 2d 6b 65 79 77 6f 72 64 73 29 29 0a 20 20 28 63 6f 6e 64 20 28 28 66 62 6f 75 6e 64 70 | sh--keywords))...(cond.((fboundp |
| 24240 | 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 6c 75 73 68 29 20 3b 3b 20 41 64 64 65 64 20 69 6e 20 45 | .'font-lock-flush).;;.Added.in.E |
| 24260 | 6d 61 63 73 20 32 35 2e 0a 20 20 20 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 6c 75 | macs.25...........(font-lock-flu |
| 24280 | 73 68 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 6f 6e 74 69 | sh)).........;;.`font-lock-fonti |
| 242a0 | 66 79 2d 62 75 66 66 65 72 27 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 65 6e 61 62 6c | fy-buffer'.unconditionally.enabl |
| 242c0 | 65 73 0a 20 20 20 20 20 20 20 20 3b 3b 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 6d 6f 64 65 27 20 61 | es.........;;.`font-lock-mode'.a |
| 242e0 | 6e 64 20 69 73 20 6d 61 72 6b 65 64 20 60 69 6e 74 65 72 61 63 74 69 76 65 2d 6f 6e 6c 79 27 20 | nd.is.marked.`interactive-only'. |
| 24300 | 69 6e 20 6c 61 74 65 72 0a 20 20 20 20 20 20 20 20 3b 3b 20 45 6d 61 63 73 20 76 65 72 73 69 6f | in.later.........;;.Emacs.versio |
| 24320 | 6e 73 20 77 68 69 63 68 20 68 61 76 65 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 6c 75 73 68 27 2c | ns.which.have.`font-lock-flush', |
| 24340 | 20 73 6f 20 77 65 20 67 75 61 72 64 0a 20 20 20 20 20 20 20 20 3b 3b 20 61 6e 64 20 70 61 63 69 | .so.we.guard.........;;.and.paci |
| 24360 | 66 79 20 61 73 20 6e 65 65 64 65 64 2c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 0a 20 20 20 20 | fy.as.needed,.respectively...... |
| 24380 | 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 20 28 77 69 | ....(font-lock-mode..........(wi |
| 243a0 | 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 6e 74 2d | th-no-warnings............(font- |
| 243c0 | 6c 6f 63 6b 2d 66 6f 6e 74 69 66 79 2d 62 75 66 66 65 72 29 29 29 29 29 0a 0a 28 64 65 66 75 6e | lock-fontify-buffer)))))..(defun |
| 243e0 | 20 64 61 73 68 2d 2d 74 75 72 6e 2d 6f 6e 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 20 28 29 0a 20 | .dash--turn-on-fontify-mode.().. |
| 24400 | 20 22 45 6e 61 62 6c 65 20 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 27 20 69 66 20 | ."Enable.`dash-fontify-mode'.if. |
| 24420 | 69 6e 20 61 6e 20 45 6d 61 63 73 20 4c 69 73 70 20 62 75 66 66 65 72 2e 22 0a 20 20 28 77 68 65 | in.an.Emacs.Lisp.buffer."...(whe |
| 24440 | 6e 20 28 64 65 72 69 76 65 64 2d 6d 6f 64 65 2d 70 20 23 27 65 6d 61 63 73 2d 6c 69 73 70 2d 6d | n.(derived-mode-p.#'emacs-lisp-m |
| 24460 | 6f 64 65 29 0a 20 20 20 20 28 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 29 29 29 0a 0a | ode).....(dash-fontify-mode))).. |
| 24480 | 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 69 6e 65 2d 67 6c 6f 62 61 6c 69 7a 65 | ;;;###autoload.(define-globalize |
| 244a0 | 64 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 20 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 | d-minor-mode.global-dash-fontify |
| 244c0 | 2d 6d 6f 64 65 0a 20 20 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 20 64 61 73 68 2d 2d | -mode...dash-fontify-mode.dash-- |
| 244e0 | 74 75 72 6e 2d 6f 6e 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 29 0a 0a 28 64 65 66 63 75 73 74 6f | turn-on-fontify-mode)..(defcusto |
| 24500 | 6d 20 64 61 73 68 2d 65 6e 61 62 6c 65 2d 66 6f 6e 74 6c 6f 63 6b 20 6e 69 6c 0a 20 20 22 49 66 | m.dash-enable-fontlock.nil..."If |
| 24520 | 20 6e 6f 6e 2d 6e 69 6c 2c 20 66 6f 6e 74 69 66 79 20 44 61 73 68 20 6d 61 63 72 6f 20 63 61 6c | .non-nil,.fontify.Dash.macro.cal |
| 24540 | 6c 73 20 61 6e 64 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 2e 22 0a 20 20 3a 73 65 | ls.and.special.variables."...:se |
| 24560 | 74 20 28 6c 61 6d 62 64 61 20 28 73 79 6d 20 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 | t.(lambda.(sym.val)..........(se |
| 24580 | 74 2d 64 65 66 61 75 6c 74 20 73 79 6d 20 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 28 67 6c 6f | t-default.sym.val)..........(glo |
| 245a0 | 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 20 28 69 66 20 76 61 6c 20 31 20 | bal-dash-fontify-mode.(if.val.1. |
| 245c0 | 30 29 29 29 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 6d 61 6b 65 2d 6f 62 | 0)))...:type.'boolean)..(make-ob |
| 245e0 | 73 6f 6c 65 74 65 2d 76 61 72 69 61 62 6c 65 0a 20 27 64 61 73 68 2d 65 6e 61 62 6c 65 2d 66 6f | solete-variable..'dash-enable-fo |
| 24600 | 6e 74 6c 6f 63 6b 20 23 27 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 | ntlock.#'global-dash-fontify-mod |
| 24620 | 65 20 22 32 2e 31 38 2e 30 22 29 0a 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 | e."2.18.0")..(define-obsolete-fu |
| 24640 | 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 0a 20 20 27 64 61 73 68 2d 65 6e 61 62 6c 65 2d 66 6f 6e 74 | nction-alias...'dash-enable-font |
| 24660 | 2d 6c 6f 63 6b 20 23 27 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 | -lock.#'global-dash-fontify-mode |
| 24680 | 20 22 32 2e 31 38 2e 30 22 29 0a 0c 0a 3b 3b 3b 20 49 6e 66 6f 0a 0a 28 64 65 66 76 61 72 20 64 | ."2.18.0")...;;;.Info..(defvar.d |
| 246a0 | 61 73 68 2d 2d 69 6e 66 6f 2d 64 6f 63 2d 73 70 65 63 20 27 28 22 28 64 61 73 68 29 20 49 6e 64 | ash--info-doc-spec.'("(dash).Ind |
| 246c0 | 65 78 22 20 6e 69 6c 20 22 5e 20 2d 2b 20 2e 2a 3a 20 22 20 22 5c 5c 28 20 5c 5c 7c 24 5c 5c 29 | ex".nil."^.-+..*:."."\\(.\\|$\\) |
| 246e0 | 22 29 0a 20 20 22 54 68 65 20 44 61 73 68 20 3a 64 6f 63 2d 73 70 65 63 20 65 6e 74 72 79 20 66 | ")..."The.Dash.:doc-spec.entry.f |
| 24700 | 6f 72 20 60 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 61 6c 69 73 74 27 2e 0a 49 74 20 69 73 20 62 61 | or.`info-lookup-alist'..It.is.ba |
| 24720 | 73 65 64 20 6f 6e 20 74 68 61 74 20 66 6f 72 20 60 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 | sed.on.that.for.`emacs-lisp-mode |
| 24740 | 27 2e 22 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 69 6e 66 6f 2d 65 6c 69 73 70 2d 64 6f | '.")..(defun.dash--info-elisp-do |
| 24760 | 63 73 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 60 65 6d 61 63 73 2d 6c 69 73 70 2d | cs.()..."Return.the.`emacs-lisp- |
| 24780 | 6d 6f 64 65 27 20 73 79 6d 62 6f 6c 20 64 6f 63 73 20 66 72 6f 6d 20 60 69 6e 66 6f 2d 6c 6f 6f | mode'.symbol.docs.from.`info-loo |
| 247a0 | 6b 75 70 2d 61 6c 69 73 74 27 2e 0a 53 70 65 63 69 66 69 63 61 6c 6c 79 2c 20 72 65 74 75 72 6e | kup-alist'..Specifically,.return |
| 247c0 | 20 74 68 65 20 63 6f 6e 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 69 72 0a 60 69 6e 66 6f | .the.cons.containing.their.`info |
| 247e0 | 2d 6c 6f 6f 6b 75 70 2d 3e 64 6f 63 2d 73 70 65 63 27 20 73 6f 20 74 68 61 74 20 77 65 20 63 61 | -lookup->doc-spec'.so.that.we.ca |
| 24800 | 6e 20 6d 6f 64 69 66 79 20 69 74 2e 22 0a 20 20 28 64 65 66 76 61 72 20 69 6e 66 6f 2d 6c 6f 6f | n.modify.it."...(defvar.info-loo |
| 24820 | 6b 75 70 2d 61 6c 69 73 74 29 0a 20 20 28 6e 74 68 63 64 72 20 33 20 28 61 73 73 71 20 23 27 65 | kup-alist)...(nthcdr.3.(assq.#'e |
| 24840 | 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 20 28 63 64 72 20 28 61 73 73 71 20 27 73 79 6d 62 6f | macs-lisp-mode.(cdr.(assq.'symbo |
| 24860 | 6c 20 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 61 6c 69 73 74 29 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 | l.info-lookup-alist)))))..;;;### |
| 24880 | 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e | autoload.(defun.dash-register-in |
| 248a0 | 66 6f 2d 6c 6f 6f 6b 75 70 20 28 29 0a 20 20 22 52 65 67 69 73 74 65 72 20 74 68 65 20 44 61 73 | fo-lookup.()..."Register.the.Das |
| 248c0 | 68 20 49 6e 66 6f 20 6d 61 6e 75 61 6c 20 77 69 74 68 20 60 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d | h.Info.manual.with.`info-lookup- |
| 248e0 | 73 79 6d 62 6f 6c 27 2e 0a 54 68 69 73 20 61 6c 6c 6f 77 73 20 44 61 73 68 20 73 79 6d 62 6f 6c | symbol'..This.allows.Dash.symbol |
| 24900 | 73 20 74 6f 20 62 65 20 6c 6f 6f 6b 65 64 20 75 70 20 77 69 74 68 20 5c 5c 5b 69 6e 66 6f 2d 6c | s.to.be.looked.up.with.\\[info-l |
| 24920 | 6f 6f 6b 75 70 2d 73 79 6d 62 6f 6c 5d 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a | ookup-symbol]."...(interactive). |
| 24940 | 20 20 28 72 65 71 75 69 72 65 20 27 69 6e 66 6f 2d 6c 6f 6f 6b 29 0a 20 20 28 6c 65 74 20 28 28 | ..(require.'info-look)...(let.(( |
| 24960 | 64 6f 63 73 20 28 64 61 73 68 2d 2d 69 6e 66 6f 2d 65 6c 69 73 70 2d 64 6f 63 73 29 29 29 0a 20 | docs.(dash--info-elisp-docs))).. |
| 24980 | 20 20 20 28 73 65 74 63 61 72 20 64 6f 63 73 20 28 61 70 70 65 6e 64 20 28 63 61 72 20 64 6f 63 | ...(setcar.docs.(append.(car.doc |
| 249a0 | 73 29 20 28 6c 69 73 74 20 64 61 73 68 2d 2d 69 6e 66 6f 2d 64 6f 63 2d 73 70 65 63 29 29 29 0a | s).(list.dash--info-doc-spec))). |
| 249c0 | 20 20 20 20 28 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 72 65 73 65 74 29 29 29 0a 0a 28 64 65 66 75 | ....(info-lookup-reset)))..(defu |
| 249e0 | 6e 20 64 61 73 68 2d 75 6e 6c 6f 61 64 2d 66 75 6e 63 74 69 6f 6e 20 28 29 0a 20 20 22 52 65 6d | n.dash-unload-function.()..."Rem |
| 24a00 | 6f 76 65 20 44 61 73 68 20 66 72 6f 6d 20 60 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 61 6c 69 73 74 | ove.Dash.from.`info-lookup-alist |
| 24a20 | 27 2e 0a 55 73 65 64 20 62 79 20 60 75 6e 6c 6f 61 64 2d 66 65 61 74 75 72 65 27 2c 20 77 68 69 | '..Used.by.`unload-feature',.whi |
| 24a40 | 63 68 20 73 65 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 64 6f 63 73 20 28 61 6e 64 20 28 66 65 61 | ch.see."...(let.((docs.(and.(fea |
| 24a60 | 74 75 72 65 70 20 27 69 6e 66 6f 2d 6c 6f 6f 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | turep.'info-look)............... |
| 24a80 | 20 20 20 20 20 28 64 61 73 68 2d 2d 69 6e 66 6f 2d 65 6c 69 73 70 2d 64 6f 63 73 29 29 29 29 0a | .....(dash--info-elisp-docs)))). |
| 24aa0 | 20 20 20 20 28 77 68 65 6e 20 28 6d 65 6d 62 65 72 20 64 61 73 68 2d 2d 69 6e 66 6f 2d 64 6f 63 | ....(when.(member.dash--info-doc |
| 24ac0 | 2d 73 70 65 63 20 28 63 61 72 20 64 6f 63 73 29 29 0a 20 20 20 20 20 20 28 73 65 74 63 61 72 20 | -spec.(car.docs)).......(setcar. |
| 24ae0 | 64 6f 63 73 20 28 72 65 6d 6f 76 65 20 64 61 73 68 2d 2d 69 6e 66 6f 2d 64 6f 63 2d 73 70 65 63 | docs.(remove.dash--info-doc-spec |
| 24b00 | 20 28 63 61 72 20 64 6f 63 73 29 29 29 0a 20 20 20 20 20 20 28 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 | .(car.docs))).......(info-lookup |
| 24b20 | 2d 72 65 73 65 74 29 29 29 0a 20 20 6e 69 6c 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 64 61 73 68 | -reset)))...nil)..(provide.'dash |
| 24b40 | 29 0a 3b 3b 3b 20 64 61 73 68 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 | ).;;;.dash.el.ends.here......... |
| 24b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24c00 | 64 61 73 68 2d 32 30 32 34 30 34 30 35 2e 39 34 36 2f 64 61 73 68 2e 69 6e 66 6f 00 00 00 00 00 | dash-20240405.946/dash.info..... |
| 24c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24c60 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 24c80 | 30 36 31 33 37 30 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 34 36 31 00 20 30 00 00 00 | 0613703.00000000000.013461..0... |
| 24ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24d00 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 24d20 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 24d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 24e00 | 54 68 69 73 20 69 73 20 64 61 73 68 2e 69 6e 66 6f 2c 20 70 72 6f 64 75 63 65 64 20 62 79 20 6d | This.is.dash.info,.produced.by.m |
| 24e20 | 61 6b 65 69 6e 66 6f 20 76 65 72 73 69 6f 6e 20 36 2e 37 20 66 72 6f 6d 20 64 61 73 68 2e 74 65 | akeinfo.version.6.7.from.dash.te |
| 24e40 | 78 69 2e 0a 0a 54 68 69 73 20 6d 61 6e 75 61 6c 20 69 73 20 66 6f 72 20 44 61 73 68 20 76 65 72 | xi...This.manual.is.for.Dash.ver |
| 24e60 | 73 69 6f 6e 20 32 2e 31 39 2e 31 2e 0a 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 c2 a9 20 32 30 | sion.2.19.1......Copyright....20 |
| 24e80 | 31 32 e2 80 93 32 30 32 34 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 | 12...2024.Free.Software.Foundati |
| 24ea0 | 6f 6e 2c 20 49 6e 63 2e 0a 0a 20 20 20 20 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 67 72 61 | on,.Inc........Permission.is.gra |
| 24ec0 | 6e 74 65 64 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 | nted.to.copy,.distribute.and/or. |
| 24ee0 | 6d 6f 64 69 66 79 20 74 68 69 73 0a 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 20 75 6e 64 65 72 20 | modify.this......document.under. |
| 24f00 | 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 | the.terms.of.the.GNU.Free.Docume |
| 24f20 | 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 2c 0a 20 20 20 20 20 56 65 72 73 69 6f 6e 20 31 2e | ntation.License,......Version.1. |
| 24f40 | 33 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 75 62 6c 69 73 68 65 64 | 3.or.any.later.version.published |
| 24f60 | 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 20 20 20 20 20 46 6f 75 6e 64 | .by.the.Free.Software......Found |
| 24f80 | 61 74 69 6f 6e 3b 20 77 69 74 68 20 74 68 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f | ation;.with.the.Invariant.Sectio |
| 24fa0 | 6e 73 20 62 65 69 6e 67 20 e2 80 9c 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 0a 20 | ns.being....GNU.General.Public.. |
| 24fc0 | 20 20 20 20 4c 69 63 65 6e 73 65 2c e2 80 9d 20 61 6e 64 20 6e 6f 20 46 72 6f 6e 74 2d 43 6f 76 | ....License,....and.no.Front-Cov |
| 24fe0 | 65 72 20 54 65 78 74 73 20 6f 72 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 73 2e 20 20 41 | er.Texts.or.Back-Cover.Texts...A |
| 25000 | 20 63 6f 70 79 20 6f 66 0a 20 20 20 20 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 73 20 69 6e 63 | .copy.of......the.license.is.inc |
| 25020 | 6c 75 64 65 64 20 69 6e 20 74 68 65 20 73 65 63 74 69 6f 6e 20 65 6e 74 69 74 6c 65 64 20 e2 80 | luded.in.the.section.entitled... |
| 25040 | 9c 47 4e 55 20 46 72 65 65 0a 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 | .GNU.Free......Documentation.Lic |
| 25060 | 65 6e 73 65 e2 80 9d 2e 0a 49 4e 46 4f 2d 44 49 52 2d 53 45 43 54 49 4f 4e 20 45 6d 61 63 73 0a | ense.....INFO-DIR-SECTION.Emacs. |
| 25080 | 53 54 41 52 54 2d 49 4e 46 4f 2d 44 49 52 2d 45 4e 54 52 59 0a 2a 20 44 61 73 68 3a 20 28 64 61 | START-INFO-DIR-ENTRY.*.Dash:.(da |
| 250a0 | 73 68 2e 69 6e 66 6f 29 2e 20 20 20 20 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 62 72 61 | sh.info).....A.modern.list.libra |
| 250c0 | 72 79 20 66 6f 72 20 47 4e 55 20 45 6d 61 63 73 2e 0a 45 4e 44 2d 49 4e 46 4f 2d 44 49 52 2d 45 | ry.for.GNU.Emacs..END-INFO-DIR-E |
| 250e0 | 4e 54 52 59 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 | NTRY....File:.dash.info,..Node:. |
| 25100 | 54 6f 70 2c 20 20 4e 65 78 74 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2c 20 20 55 70 3a 20 28 | Top,..Next:.Installation,..Up:.( |
| 25120 | 64 69 72 29 0a 0a 44 61 73 68 0a 2a 2a 2a 2a 0a 0a 54 68 69 73 20 6d 61 6e 75 61 6c 20 69 73 20 | dir)..Dash.****..This.manual.is. |
| 25140 | 66 6f 72 20 44 61 73 68 20 76 65 72 73 69 6f 6e 20 32 2e 31 39 2e 31 2e 0a 0a 20 20 20 43 6f 70 | for.Dash.version.2.19.1......Cop |
| 25160 | 79 72 69 67 68 74 20 c2 a9 20 32 30 31 32 e2 80 93 32 30 32 34 20 46 72 65 65 20 53 6f 66 74 77 | yright....2012...2024.Free.Softw |
| 25180 | 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 20 20 20 20 20 50 65 72 6d 69 | are.Foundation,.Inc........Permi |
| 251a0 | 73 73 69 6f 6e 20 69 73 20 67 72 61 6e 74 65 64 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 | ssion.is.granted.to.copy,.distri |
| 251c0 | 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 74 68 69 73 0a 20 20 20 20 20 64 6f 63 | bute.and/or.modify.this......doc |
| 251e0 | 75 6d 65 6e 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 | ument.under.the.terms.of.the.GNU |
| 25200 | 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 2c 0a 20 20 20 | .Free.Documentation.License,.... |
| 25220 | 20 20 56 65 72 73 69 6f 6e 20 31 2e 33 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 | ..Version.1.3.or.any.later.versi |
| 25240 | 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 | on.published.by.the.Free.Softwar |
| 25260 | 65 0a 20 20 20 20 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 77 69 74 68 20 74 68 65 20 49 6e 76 61 | e......Foundation;.with.the.Inva |
| 25280 | 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 e2 80 9c 47 4e 55 20 47 65 6e 65 | riant.Sections.being....GNU.Gene |
| 252a0 | 72 61 6c 20 50 75 62 6c 69 63 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 2c e2 80 9d 20 61 6e 64 20 | ral.Public......License,....and. |
| 252c0 | 6e 6f 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 20 6f 72 20 42 61 63 6b 2d 43 6f 76 | no.Front-Cover.Texts.or.Back-Cov |
| 252e0 | 65 72 20 54 65 78 74 73 2e 20 20 41 20 63 6f 70 79 20 6f 66 0a 20 20 20 20 20 74 68 65 20 6c 69 | er.Texts...A.copy.of......the.li |
| 25300 | 63 65 6e 73 65 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 73 65 63 74 69 6f 6e | cense.is.included.in.the.section |
| 25320 | 20 65 6e 74 69 74 6c 65 64 20 e2 80 9c 47 4e 55 20 46 72 65 65 0a 20 20 20 20 20 44 6f 63 75 6d | .entitled....GNU.Free......Docum |
| 25340 | 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 e2 80 9d 2e 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a | entation.License......*.Menu:..* |
| 25360 | 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 3a 3a 20 20 20 20 20 20 20 20 49 6e 73 74 61 6c 6c 69 6e | .Installation::........Installin |
| 25380 | 67 20 61 6e 64 20 63 6f 6e 66 69 67 75 72 69 6e 67 20 44 61 73 68 2e 0a 2a 20 46 75 6e 63 74 69 | g.and.configuring.Dash..*.Functi |
| 253a0 | 6f 6e 73 3a 3a 20 20 20 20 20 20 20 20 20 20 20 44 61 73 68 20 41 50 49 20 72 65 66 65 72 65 6e | ons::...........Dash.API.referen |
| 253c0 | 63 65 2e 0a 2a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 3a 3a 20 20 20 20 20 20 20 20 20 43 6f 6e 74 | ce..*.Development::.........Cont |
| 253e0 | 72 69 62 75 74 69 6e 67 20 74 6f 20 44 61 73 68 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2e 0a 0a 41 | ributing.to.Dash.development...A |
| 25400 | 70 70 65 6e 64 69 63 65 73 0a 0a 2a 20 46 44 4c 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ppendices..*.FDL::.............. |
| 25420 | 20 20 20 54 68 65 20 6c 69 63 65 6e 73 65 20 66 6f 72 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 | ...The.license.for.this.document |
| 25440 | 61 74 69 6f 6e 2e 0a 2a 20 47 50 4c 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 | ation..*.GPL::.................C |
| 25460 | 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 69 6e 67 20 61 6e 64 20 63 68 61 6e 67 69 | onditions.for.copying.and.changi |
| 25480 | 6e 67 20 44 61 73 68 2e 0a 2a 20 49 6e 64 65 78 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ng.Dash..*.Index::.............. |
| 254a0 | 20 49 6e 64 65 78 20 69 6e 63 6c 75 64 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 6d | .Index.including.functions.and.m |
| 254c0 | 61 63 72 6f 73 2e 0a 0a 20 e2 80 94 20 54 68 65 20 44 65 74 61 69 6c 65 64 20 4e 6f 64 65 20 4c | acros........The.Detailed.Node.L |
| 254e0 | 69 73 74 69 6e 67 20 e2 80 94 0a 0a 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 2a 20 55 73 69 6e | isting......Installation..*.Usin |
| 25500 | 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 3a 3a 20 20 4c 69 73 74 69 6e 67 20 44 61 73 68 20 61 | g.in.a.package::..Listing.Dash.a |
| 25520 | 73 20 61 20 70 61 63 6b 61 67 65 20 64 65 70 65 6e 64 65 6e 63 79 2e 0a 2a 20 46 6f 6e 74 69 66 | s.a.package.dependency..*.Fontif |
| 25540 | 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 3a 3a 20 20 | ication.of.special.variables::.. |
| 25560 | 46 6f 6e 74 20 4c 6f 63 6b 20 6f 66 20 61 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 76 61 72 | Font.Lock.of.anaphoric.macro.var |
| 25580 | 69 61 62 6c 65 73 2e 0a 2a 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 3a 3a 20 20 | iables..*.Info.symbol.lookup::.. |
| 255a0 | 4c 6f 6f 6b 69 6e 67 20 75 70 20 44 61 73 68 20 73 79 6d 62 6f 6c 73 20 69 6e 20 74 68 69 73 20 | Looking.up.Dash.symbols.in.this. |
| 255c0 | 6d 61 6e 75 61 6c 2e 0a 0a 46 75 6e 63 74 69 6f 6e 73 0a 0a 2a 20 4d 61 70 73 3a 3a 0a 2a 20 53 | manual...Functions..*.Maps::.*.S |
| 255e0 | 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 3a 3a 0a 2a 20 4c 69 73 74 20 74 6f 20 6c 69 73 | ublist.selection::.*.List.to.lis |
| 25600 | 74 3a 3a 0a 2a 20 52 65 64 75 63 74 69 6f 6e 73 3a 3a 0a 2a 20 55 6e 66 6f 6c 64 69 6e 67 3a 3a | t::.*.Reductions::.*.Unfolding:: |
| 25620 | 0a 2a 20 50 72 65 64 69 63 61 74 65 73 3a 3a 0a 2a 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 3a 3a | .*.Predicates::.*.Partitioning:: |
| 25640 | 0a 2a 20 49 6e 64 65 78 69 6e 67 3a 3a 0a 2a 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a | .*.Indexing::.*.Set.operations:: |
| 25660 | 0a 2a 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 54 72 65 | .*.Other.list.operations::.*.Tre |
| 25680 | 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f | e.operations::.*.Threading.macro |
| 256a0 | 73 3a 3a 0a 2a 20 42 69 6e 64 69 6e 67 3a 3a 0a 2a 20 53 69 64 65 20 65 66 66 65 63 74 73 3a 3a | s::.*.Binding::.*.Side.effects:: |
| 256c0 | 0a 2a 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 46 75 | .*.Destructive.operations::.*.Fu |
| 256e0 | 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 3a 3a 0a 0a 44 65 76 65 6c 6f 70 6d 65 6e | nction.combinators::..Developmen |
| 25700 | 74 0a 0a 2a 20 43 6f 6e 74 72 69 62 75 74 65 3a 3a 20 20 20 20 20 20 20 20 20 20 48 6f 77 20 74 | t..*.Contribute::..........How.t |
| 25720 | 6f 20 63 6f 6e 74 72 69 62 75 74 65 2e 0a 2a 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 3a 3a 20 20 | o.contribute..*.Contributors::.. |
| 25740 | 20 20 20 20 20 20 4c 69 73 74 20 6f 66 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 2e 0a 0a 1f 0a 46 | ......List.of.contributors.....F |
| 25760 | 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 49 6e 73 74 61 6c 6c 61 74 | ile:.dash.info,..Node:.Installat |
| 25780 | 69 6f 6e 2c 20 20 4e 65 78 74 3a 20 46 75 6e 63 74 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 54 6f | ion,..Next:.Functions,..Prev:.To |
| 257a0 | 70 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 31 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 2a 2a 2a 2a | p,..Up:.Top..1.Installation.**** |
| 257c0 | 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 44 61 73 68 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e | **********..Dash.is.available.on |
| 257e0 | 20 47 4e 55 20 45 4c 50 41 20 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f | .GNU.ELPA.(https://elpa.gnu.org/ |
| 25800 | 29 2c 20 47 4e 55 2d 64 65 76 65 6c 20 45 4c 50 41 0a 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e | ),.GNU-devel.ELPA.(https://elpa. |
| 25820 | 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 29 2c 20 61 6e 64 20 4d 45 4c 50 41 20 28 68 74 74 70 | gnu.org/devel/),.and.MELPA.(http |
| 25840 | 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 29 2c 20 61 6e 64 20 63 61 6e 0a 62 65 20 69 6e 73 74 | s://melpa.org/),.and.can.be.inst |
| 25860 | 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 63 6f 6d 6d 61 6e 64 20 | alled.with.the.standard.command. |
| 25880 | e2 80 98 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c e2 80 99 20 28 2a 6e 6f 74 65 0a 28 65 6d | ...package-install....(*note.(em |
| 258a0 | 61 63 73 29 50 61 63 6b 61 67 65 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 3a 3a 29 2e 0a 0a e2 80 | acs)Package.Installation::)..... |
| 258c0 | 98 4d 2d 78 20 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 20 3c 52 45 54 3e 20 64 61 73 68 20 | .M-x.package-install.<RET>.dash. |
| 258e0 | 3c 52 45 54 3e e2 80 99 0a 20 20 20 20 20 49 6e 73 74 61 6c 6c 20 74 68 65 20 44 61 73 68 20 6c | <RET>.........Install.the.Dash.l |
| 25900 | 69 62 72 61 72 79 2e 0a 0a 20 20 20 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 2c 20 79 6f 75 20 63 | ibrary......Alternatively,.you.c |
| 25920 | 61 6e 20 6a 75 73 74 20 64 75 6d 70 20 e2 80 98 64 61 73 68 2e 65 6c e2 80 99 20 69 6e 20 79 6f | an.just.dump....dash.el....in.yo |
| 25940 | 75 72 20 e2 80 98 6c 6f 61 64 2d 70 61 74 68 e2 80 99 0a 73 6f 6d 65 77 68 65 72 65 20 28 2a 6e | ur....load-path....somewhere.(*n |
| 25960 | 6f 74 65 20 28 65 6d 61 63 73 29 4c 69 73 70 20 4c 69 62 72 61 72 69 65 73 3a 3a 29 2e 0a 0a 2a | ote.(emacs)Lisp.Libraries::)...* |
| 25980 | 20 4d 65 6e 75 3a 0a 0a 2a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 3a 3a 20 20 | .Menu:..*.Using.in.a.package::.. |
| 259a0 | 4c 69 73 74 69 6e 67 20 44 61 73 68 20 61 73 20 61 20 70 61 63 6b 61 67 65 20 64 65 70 65 6e 64 | Listing.Dash.as.a.package.depend |
| 259c0 | 65 6e 63 79 2e 0a 2a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c | ency..*.Fontification.of.special |
| 259e0 | 20 76 61 72 69 61 62 6c 65 73 3a 3a 20 20 46 6f 6e 74 20 4c 6f 63 6b 20 6f 66 20 61 6e 61 70 68 | .variables::..Font.Lock.of.anaph |
| 25a00 | 6f 72 69 63 20 6d 61 63 72 6f 20 76 61 72 69 61 62 6c 65 73 2e 0a 2a 20 49 6e 66 6f 20 73 79 6d | oric.macro.variables..*.Info.sym |
| 25a20 | 62 6f 6c 20 6c 6f 6f 6b 75 70 3a 3a 20 20 4c 6f 6f 6b 69 6e 67 20 75 70 20 44 61 73 68 20 73 79 | bol.lookup::..Looking.up.Dash.sy |
| 25a40 | 6d 62 6f 6c 73 20 69 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 | mbols.in.this.manual.....File:.d |
| 25a60 | 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b | ash.info,..Node:.Using.in.a.pack |
| 25a80 | 61 67 65 2c 20 20 4e 65 78 74 3a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 | age,..Next:.Fontification.of.spe |
| 25aa0 | 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 2c 20 20 55 70 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f | cial.variables,..Up:.Installatio |
| 25ac0 | 6e 0a 0a 31 2e 31 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 0a 3d 3d 3d 3d 3d 3d | n..1.1.Using.in.a.package.====== |
| 25ae0 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 49 66 20 79 6f 75 20 75 73 65 20 44 61 73 | ================..If.you.use.Das |
| 25b00 | 68 20 69 6e 20 79 6f 75 72 20 6f 77 6e 20 70 61 63 6b 61 67 65 2c 20 62 65 20 73 75 72 65 20 74 | h.in.your.own.package,.be.sure.t |
| 25b20 | 6f 20 6c 69 73 74 20 69 74 20 61 73 20 61 20 64 65 70 65 6e 64 65 6e 63 79 0a 69 6e 20 74 68 65 | o.list.it.as.a.dependency.in.the |
| 25b40 | 20 6c 69 62 72 61 72 79 e2 80 99 73 20 68 65 61 64 65 72 73 20 61 73 20 66 6f 6c 6c 6f 77 73 20 | .library...s.headers.as.follows. |
| 25b60 | 28 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 4c 69 62 72 61 72 79 20 48 65 61 64 65 72 73 3a 3a 29 | (*note.(elisp)Library.Headers::) |
| 25b80 | 2e 0a 0a 20 20 20 20 20 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 64 | ........;;.Package-Requires:.((d |
| 25ba0 | 61 73 68 20 22 32 2e 31 39 2e 31 22 29 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 | ash."2.19.1"))....File:.dash.inf |
| 25bc0 | 6f 2c 20 20 4e 6f 64 65 3a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 | o,..Node:.Fontification.of.speci |
| 25be0 | 61 6c 20 76 61 72 69 61 62 6c 65 73 2c 20 20 4e 65 78 74 3a 20 49 6e 66 6f 20 73 79 6d 62 6f 6c | al.variables,..Next:.Info.symbol |
| 25c00 | 20 6c 6f 6f 6b 75 70 2c 20 20 50 72 65 76 3a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 | .lookup,..Prev:.Using.in.a.packa |
| 25c20 | 67 65 2c 20 20 55 70 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 31 2e 32 20 46 6f 6e 74 69 | ge,..Up:.Installation..1.2.Fonti |
| 25c40 | 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 3d 3d | fication.of.special.variables.== |
| 25c60 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ================================ |
| 25c80 | 3d 3d 3d 3d 0a 0a 54 68 65 20 61 75 74 6f 6c 6f 61 64 65 64 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 | ====..The.autoloaded.minor.mode. |
| 25ca0 | e2 80 98 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 e2 80 99 20 69 73 20 70 72 6f 76 69 | ...dash-fontify-mode....is.provi |
| 25cc0 | 64 65 64 20 66 6f 72 20 6f 70 74 69 6f 6e 61 6c 0a 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f | ded.for.optional.fontification.o |
| 25ce0 | 66 20 61 6e 61 70 68 6f 72 69 63 20 44 61 73 68 20 76 61 72 69 61 62 6c 65 73 20 28 e2 80 98 69 | f.anaphoric.Dash.variables.(...i |
| 25d00 | 74 e2 80 99 2c 20 e2 80 98 61 63 63 e2 80 99 2c 20 65 74 63 2e 29 20 69 6e 20 45 6d 61 63 73 0a | t...,....acc...,.etc.).in.Emacs. |
| 25d20 | 4c 69 73 70 20 62 75 66 66 65 72 73 20 75 73 69 6e 67 20 73 65 61 72 63 68 2d 62 61 73 65 64 20 | Lisp.buffers.using.search-based. |
| 25d40 | 46 6f 6e 74 20 4c 6f 63 6b 20 28 2a 6e 6f 74 65 20 28 65 6d 61 63 73 29 46 6f 6e 74 20 4c 6f 63 | Font.Lock.(*note.(emacs)Font.Loc |
| 25d60 | 6b 3a 3a 29 2e 0a 49 6e 20 6f 6c 64 65 72 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 20 77 68 | k::)..In.older.Emacs.versions.wh |
| 25d80 | 69 63 68 20 64 6f 20 6e 6f 74 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 64 65 74 65 63 74 20 6d 61 | ich.do.not.dynamically.detect.ma |
| 25da0 | 63 72 6f 73 2c 20 74 68 65 0a 6d 69 6e 6f 72 20 6d 6f 64 65 20 61 6c 73 6f 20 66 6f 6e 74 69 66 | cros,.the.minor.mode.also.fontif |
| 25dc0 | 69 65 73 20 63 61 6c 6c 73 20 74 6f 20 44 61 73 68 20 6d 61 63 72 6f 73 2e 0a 0a 20 20 20 54 6f | ies.calls.to.Dash.macros......To |
| 25de0 | 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 6e 61 62 6c 65 20 74 68 65 20 6d 69 6e 6f 72 20 | .automatically.enable.the.minor. |
| 25e00 | 6d 6f 64 65 20 69 6e 20 61 6c 6c 20 45 6d 61 63 73 20 4c 69 73 70 20 62 75 66 66 65 72 73 2c 0a | mode.in.all.Emacs.Lisp.buffers,. |
| 25e20 | 6a 75 73 74 20 63 61 6c 6c 20 69 74 73 20 61 75 74 6f 6c 6f 61 64 65 64 20 67 6c 6f 62 61 6c 20 | just.call.its.autoloaded.global. |
| 25e40 | 63 6f 75 6e 74 65 72 70 61 72 74 20 e2 80 98 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 | counterpart....global-dash-fonti |
| 25e60 | 66 79 2d 6d 6f 64 65 e2 80 99 2c 0a 65 69 74 68 65 72 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 | fy-mode...,.either.interactively |
| 25e80 | 20 6f 72 20 66 72 6f 6d 20 79 6f 75 72 20 e2 80 98 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 e2 | .or.from.your....user-init-file. |
| 25ea0 | 80 99 3a 0a 0a 20 20 20 20 20 28 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d | ..:.......(global-dash-fontify-m |
| 25ec0 | 6f 64 65 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 | ode)....File:.dash.info,..Node:. |
| 25ee0 | 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 2c 20 20 50 72 65 76 3a 20 46 6f 6e 74 69 | Info.symbol.lookup,..Prev:.Fonti |
| 25f00 | 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 2c 20 20 | fication.of.special.variables,.. |
| 25f20 | 55 70 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 31 2e 33 20 49 6e 66 6f 20 73 79 6d 62 6f | Up:.Installation..1.3.Info.symbo |
| 25f40 | 6c 20 6c 6f 6f 6b 75 70 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a | l.lookup.======================. |
| 25f60 | 0a 57 68 69 6c 65 20 65 64 69 74 69 6e 67 20 45 6c 69 73 70 20 66 69 6c 65 73 2c 20 79 6f 75 20 | .While.editing.Elisp.files,.you. |
| 25f80 | 63 61 6e 20 75 73 65 20 e2 80 98 43 2d 68 20 53 e2 80 99 20 28 e2 80 98 69 6e 66 6f 2d 6c 6f 6f | can.use....C-h.S....(...info-loo |
| 25fa0 | 6b 75 70 2d 73 79 6d 62 6f 6c e2 80 99 29 20 74 6f 0a 6c 6f 6f 6b 20 75 70 20 45 6c 69 73 70 20 | kup-symbol...).to.look.up.Elisp. |
| 25fc0 | 73 79 6d 62 6f 6c 73 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 49 6e 66 6f 20 6d 61 6e | symbols.in.the.relevant.Info.man |
| 25fe0 | 75 61 6c 73 20 28 2a 6e 6f 74 65 20 28 65 6d 61 63 73 29 49 6e 66 6f 0a 4c 6f 6f 6b 75 70 3a 3a | uals.(*note.(emacs)Info.Lookup:: |
| 26000 | 29 2e 20 20 54 6f 20 65 6e 61 62 6c 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 44 61 73 68 20 | )...To.enable.the.same.for.Dash. |
| 26020 | 73 79 6d 62 6f 6c 73 2c 20 75 73 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a e2 80 98 64 61 73 68 | symbols,.use.the.command....dash |
| 26040 | 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 e2 80 99 2e 20 20 49 74 20 63 61 | -register-info-lookup......It.ca |
| 26060 | 6e 20 62 65 20 63 61 6c 6c 65 64 20 64 69 72 65 63 74 6c 79 20 77 68 65 6e 20 6e 65 65 64 65 64 | n.be.called.directly.when.needed |
| 26080 | 2c 20 6f 72 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 79 6f 75 72 20 e2 80 98 | ,.or.automatically.from.your.... |
| 260a0 | 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 e2 80 99 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a | user-init-file......For.example: |
| 260c0 | 0a 0a 20 20 20 20 20 28 77 69 74 68 2d 65 76 61 6c 2d 61 66 74 65 72 2d 6c 6f 61 64 20 27 69 6e | .......(with-eval-after-load.'in |
| 260e0 | 66 6f 2d 6c 6f 6f 6b 0a 20 20 20 20 20 20 20 28 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e | fo-look........(dash-register-in |
| 26100 | 66 6f 2d 6c 6f 6f 6b 75 70 29 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 | fo-lookup))....File:.dash.info,. |
| 26120 | 20 4e 6f 64 65 3a 20 46 75 6e 63 74 69 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 44 65 76 65 6c 6f 70 | .Node:.Functions,..Next:.Develop |
| 26140 | 6d 65 6e 74 2c 20 20 50 72 65 76 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2c 20 20 55 70 3a 20 | ment,..Prev:.Installation,..Up:. |
| 26160 | 54 6f 70 0a 0a 32 20 46 75 6e 63 74 69 6f 6e 73 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 | Top..2.Functions.***********..Th |
| 26180 | 69 73 20 63 68 61 70 74 65 72 20 63 6f 6e 74 61 69 6e 73 20 72 65 66 65 72 65 6e 63 65 20 64 6f | is.chapter.contains.reference.do |
| 261a0 | 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 44 61 73 68 20 41 50 49 0a 28 41 70 | cumentation.for.the.Dash.API.(Ap |
| 261c0 | 70 6c 69 63 61 74 69 6f 6e 20 50 72 6f 67 72 61 6d 6d 69 6e 67 20 49 6e 74 65 72 66 61 63 65 29 | plication.Programming.Interface) |
| 261e0 | 2e 20 20 54 68 65 20 6e 61 6d 65 73 20 6f 66 20 61 6c 6c 20 70 75 62 6c 69 63 20 66 75 6e 63 74 | ...The.names.of.all.public.funct |
| 26200 | 69 6f 6e 73 0a 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 61 72 65 20 | ions.defined.in.the.library.are. |
| 26220 | 70 72 65 66 69 78 65 64 20 77 69 74 68 20 61 20 64 61 73 68 20 63 68 61 72 61 63 74 65 72 20 28 | prefixed.with.a.dash.character.( |
| 26240 | e2 80 98 2d e2 80 99 29 2e 0a 0a 20 20 20 54 68 65 20 6c 69 62 72 61 72 79 20 61 6c 73 6f 20 70 | ...-...)......The.library.also.p |
| 26260 | 72 6f 76 69 64 65 73 20 61 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 76 65 72 73 69 6f 6e 73 | rovides.anaphoric.macro.versions |
| 26280 | 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 65 72 65 0a 74 68 61 74 20 6d 61 6b 65 73 20 73 | .of.functions.where.that.makes.s |
| 262a0 | 65 6e 73 65 2e 20 20 54 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 65 73 65 20 6d 61 63 72 6f 73 | ense...The.names.of.these.macros |
| 262c0 | 20 61 72 65 20 70 72 65 66 69 78 65 64 20 77 69 74 68 20 74 77 6f 0a 64 61 73 68 65 73 20 28 e2 | .are.prefixed.with.two.dashes.(. |
| 262e0 | 80 98 2d 2d e2 80 99 29 20 69 6e 73 74 65 61 64 20 6f 66 20 6f 6e 65 2e 0a 0a 20 20 20 46 6f 72 | ..--...).instead.of.one......For |
| 26300 | 20 69 6e 73 74 61 6e 63 65 2c 20 77 68 69 6c 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 | .instance,.while.the.function... |
| 26320 | 98 2d 6d 61 70 e2 80 99 20 61 70 70 6c 69 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 65 | .-map....applies.a.function.to.e |
| 26340 | 61 63 68 0a 65 6c 65 6d 65 6e 74 20 6f 66 20 61 20 6c 69 73 74 2c 20 69 74 73 20 61 6e 61 70 68 | ach.element.of.a.list,.its.anaph |
| 26360 | 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 e2 80 98 2d 2d 6d 61 70 e2 80 99 20 65 76 61 | oric.counterpart....--map....eva |
| 26380 | 6c 75 61 74 65 73 20 61 20 66 6f 72 6d 0a 77 69 74 68 20 74 68 65 20 6c 6f 63 61 6c 20 76 61 72 | luates.a.form.with.the.local.var |
| 263a0 | 69 61 62 6c 65 20 e2 80 98 69 74 e2 80 99 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 62 6f 75 6e 64 | iable....it....temporarily.bound |
| 263c0 | 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 0a 65 6c 65 6d 65 6e 74 20 69 6e 73 | .to.the.current.list.element.ins |
| 263e0 | 74 65 61 64 2e 0a 0a 20 20 20 20 20 3b 3b 20 4e 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e 2e 0a 20 | tead........;;.Normal.version... |
| 26400 | 20 20 20 20 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 2a 20 6e 20 6e 29 29 20 27 | ....(-map.(lambda.(n).(*.n.n)).' |
| 26420 | 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 20 31 | (1.2.3.4))..............(1.4.9.1 |
| 26440 | 36 29 0a 0a 20 20 20 20 20 3b 3b 20 41 6e 61 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 2e 0a 20 | 6).......;;.Anaphoric.version... |
| 26460 | 20 20 20 20 28 2d 2d 6d 61 70 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 | ....(--map.(*.it.it).'(1.2.3.4)) |
| 26480 | 0a 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 20 31 36 29 0a 0a 20 20 20 54 68 65 | ..............(1.4.9.16).....The |
| 264a0 | 20 6e 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e 20 63 61 6e 2c 20 6f 66 20 63 6f 75 72 73 65 2c 20 | .normal.version.can,.of.course,. |
| 264c0 | 61 6c 73 6f 20 62 65 20 77 72 69 74 74 65 6e 20 61 73 20 69 6e 20 74 68 65 0a 66 6f 6c 6c 6f 77 | also.be.written.as.in.the.follow |
| 264e0 | 69 6e 67 20 65 78 61 6d 70 6c 65 2c 20 77 68 69 63 68 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 | ing.example,.which.demonstrates. |
| 26500 | 74 68 65 20 75 74 69 6c 69 74 79 20 6f 66 20 62 6f 74 68 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 20 | the.utility.of.both.versions.... |
| 26520 | 20 20 20 20 28 64 65 66 75 6e 20 6d 79 2d 73 71 75 61 72 65 20 28 6e 29 0a 20 20 20 20 20 20 20 | ....(defun.my-square.(n)........ |
| 26540 | 22 52 65 74 75 72 6e 20 4e 20 6d 75 6c 74 69 70 6c 69 65 64 20 62 79 20 69 74 73 65 6c 66 2e 22 | "Return.N.multiplied.by.itself." |
| 26560 | 0a 20 20 20 20 20 20 20 28 2a 20 6e 20 6e 29 29 0a 0a 20 20 20 20 20 28 2d 6d 61 70 20 23 27 6d | ........(*.n.n)).......(-map.#'m |
| 26580 | 79 2d 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 e2 87 | y-square.'(1.2.3.4))............ |
| 265a0 | 92 20 28 31 20 34 20 39 20 31 36 29 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 4d 61 70 73 3a 3a 0a | ..(1.4.9.16)..*.Menu:..*.Maps::. |
| 265c0 | 2a 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 3a 3a 0a 2a 20 4c 69 73 74 20 74 6f 20 | *.Sublist.selection::.*.List.to. |
| 265e0 | 6c 69 73 74 3a 3a 0a 2a 20 52 65 64 75 63 74 69 6f 6e 73 3a 3a 0a 2a 20 55 6e 66 6f 6c 64 69 6e | list::.*.Reductions::.*.Unfoldin |
| 26600 | 67 3a 3a 0a 2a 20 50 72 65 64 69 63 61 74 65 73 3a 3a 0a 2a 20 50 61 72 74 69 74 69 6f 6e 69 6e | g::.*.Predicates::.*.Partitionin |
| 26620 | 67 3a 3a 0a 2a 20 49 6e 64 65 78 69 6e 67 3a 3a 0a 2a 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e | g::.*.Indexing::.*.Set.operation |
| 26640 | 73 3a 3a 0a 2a 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 | s::.*.Other.list.operations::.*. |
| 26660 | 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 54 68 72 65 61 64 69 6e 67 20 6d 61 | Tree.operations::.*.Threading.ma |
| 26680 | 63 72 6f 73 3a 3a 0a 2a 20 42 69 6e 64 69 6e 67 3a 3a 0a 2a 20 53 69 64 65 20 65 66 66 65 63 74 | cros::.*.Binding::.*.Side.effect |
| 266a0 | 73 3a 3a 0a 2a 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a | s::.*.Destructive.operations::.* |
| 266c0 | 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a | .Function.combinators::....File: |
| 266e0 | 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4d 61 70 73 2c 20 20 4e 65 78 74 3a 20 | .dash.info,..Node:.Maps,..Next:. |
| 26700 | 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e | Sublist.selection,..Up:.Function |
| 26720 | 73 0a 0a 32 2e 31 20 4d 61 70 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 | s..2.1.Maps.========..Functions. |
| 26740 | 69 6e 20 74 68 69 73 20 63 61 74 65 67 6f 72 79 20 74 61 6b 65 20 61 20 74 72 61 6e 73 66 6f 72 | in.this.category.take.a.transfor |
| 26760 | 6d 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2c 20 77 68 69 63 68 20 69 73 20 74 68 65 6e 0a 61 70 70 | ming.function,.which.is.then.app |
| 26780 | 6c 69 65 64 20 73 65 71 75 65 6e 74 69 61 6c 6c 79 20 74 6f 20 65 61 63 68 20 6f 72 20 73 65 6c | lied.sequentially.to.each.or.sel |
| 267a0 | 65 63 74 65 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 6c 69 73 74 | ected.elements.of.the.input.list |
| 267c0 | 2e 0a 54 68 65 20 72 65 73 75 6c 74 73 20 61 72 65 20 63 6f 6c 6c 65 63 74 65 64 20 69 6e 20 6f | ..The.results.are.collected.in.o |
| 267e0 | 72 64 65 72 20 61 6e 64 20 72 65 74 75 72 6e 65 64 20 61 73 20 61 20 6e 65 77 20 6c 69 73 74 2e | rder.and.returned.as.a.new.list. |
| 26800 | 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 70 20 28 66 6e 20 6c 69 73 74 29 0a 20 | ...--.Function:.-map.(fn.list).. |
| 26820 | 20 20 20 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 | ....Apply.FN.to.each.item.in.LIS |
| 26840 | 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 | T.and.return.the.list.of.results |
| 26860 | 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f | ........This.function...s.anapho |
| 26880 | 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 6d 61 70 e2 80 99 2e 0a | ric.counterpart.is....--map..... |
| 268a0 | 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 | ...........(-map.(lambda.(num).( |
| 268c0 | 2a 20 6e 75 6d 20 6e 75 6d 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 | *.num.num)).'(1.2.3.4))......... |
| 268e0 | 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 20 31 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 | ..........(1.4.9.16)...........( |
| 26900 | 2d 6d 61 70 20 23 27 31 2b 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 | -map.#'1+.'(1.2.3.4))........... |
| 26920 | 20 20 20 20 e2 87 92 20 28 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d | ........(2.3.4.5)...........(--m |
| 26940 | 61 70 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 | ap.(*.it.it).'(1.2.3.4))........ |
| 26960 | 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 20 31 36 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 | ...........(1.4.9.16)...--.Funct |
| 26980 | 69 6f 6e 3a 20 2d 6d 61 70 2d 77 68 65 6e 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 20 | ion:.-map-when.(pred.rep.list).. |
| 269a0 | 20 20 20 20 55 73 65 20 50 52 45 44 20 74 6f 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 61 70 | ....Use.PRED.to.conditionally.ap |
| 269c0 | 70 6c 79 20 52 45 50 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2e 20 20 52 | ply.REP.to.each.item.in.LIST...R |
| 269e0 | 65 74 75 72 6e 20 61 0a 20 20 20 20 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 77 68 65 72 65 20 | eturn.a......copy.of.LIST.where. |
| 26a00 | 74 68 65 20 69 74 65 6d 73 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 | the.items.for.which.PRED.returns |
| 26a20 | 20 e2 80 98 6e 69 6c e2 80 99 20 61 72 65 0a 20 20 20 20 20 75 6e 63 68 61 6e 67 65 64 2c 20 61 | ....nil....are......unchanged,.a |
| 26a40 | 6e 64 20 74 68 65 20 72 65 73 74 20 61 72 65 20 6d 61 70 70 65 64 20 74 68 72 6f 75 67 68 20 74 | nd.the.rest.are.mapped.through.t |
| 26a60 | 68 65 20 52 45 50 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 | he.REP.function........Alias:... |
| 26a80 | 98 2d 72 65 70 6c 61 63 65 2d 77 68 65 72 65 e2 80 99 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 | .-replace-where..........See.als |
| 26aa0 | 6f 3a 20 e2 80 98 2d 75 70 64 61 74 65 2d 61 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 75 70 64 61 | o:....-update-at....(*note.-upda |
| 26ac0 | 74 65 2d 61 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 2d 77 68 65 6e 20 27 | te-at::)............(-map-when.' |
| 26ae0 | 65 76 65 6e 3f 20 27 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 | even?.'square.'(1.2.3.4))....... |
| 26b00 | 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 33 20 31 36 29 0a 20 20 20 20 20 20 20 20 20 | ............(1.4.3.16).......... |
| 26b20 | 20 28 2d 2d 6d 61 70 2d 77 68 65 6e 20 28 3e 20 69 74 20 32 29 20 28 2a 20 69 74 20 69 74 29 20 | .(--map-when.(>.it.2).(*.it.it). |
| 26b40 | 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 | '(1.2.3.4))...................(1 |
| 26b60 | 20 32 20 39 20 31 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 2d 77 68 65 6e 20 28 | .2.9.16)...........(--map-when.( |
| 26b80 | 3d 20 69 74 20 32 29 20 31 37 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 | =.it.2).17.'(1.2.3.4)).......... |
| 26ba0 | 20 20 20 20 20 e2 87 92 20 28 31 20 31 37 20 33 20 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f | .........(1.17.3.4)...--.Functio |
| 26bc0 | 6e 3a 20 2d 6d 61 70 2d 66 69 72 73 74 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 20 20 | n:.-map-first.(pred.rep.list)... |
| 26be0 | 20 20 20 55 73 65 20 50 52 45 44 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 66 69 72 | ...Use.PRED.to.determine.the.fir |
| 26c00 | 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 74 6f 20 63 61 6c 6c 20 52 45 50 20 6f 6e 2e 0a | st.item.in.LIST.to.call.REP.on.. |
| 26c20 | 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 77 68 65 72 65 | .....Return.a.copy.of.LIST.where |
| 26c40 | 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 | .the.first.item.for.which.PRED.r |
| 26c60 | 65 74 75 72 6e 73 0a 20 20 20 20 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 73 20 72 65 70 | eturns......non-...nil....is.rep |
| 26c80 | 6c 61 63 65 64 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 | laced.with.the.result.of.calling |
| 26ca0 | 20 52 45 50 20 6f 6e 20 74 68 61 74 20 69 74 65 6d 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 | .REP.on.that.item........See.als |
| 26cc0 | 6f 3a 20 e2 80 98 2d 6d 61 70 2d 77 68 65 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 2d 77 | o:....-map-when....(*note.-map-w |
| 26ce0 | 68 65 6e 3a 3a 29 2c 20 e2 80 98 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 e2 80 99 20 28 2a 6e | hen::),....-replace-first....(*n |
| 26d00 | 6f 74 65 0a 20 20 20 20 20 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 3a 3a 29 0a 0a 20 20 20 20 | ote......-replace-first::)...... |
| 26d20 | 20 20 20 20 20 20 28 2d 6d 61 70 2d 66 69 72 73 74 20 27 65 76 65 6e 3f 20 27 73 71 75 61 72 65 | ......(-map-first.'even?.'square |
| 26d40 | 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 | .'(1.2.3.4))...................( |
| 26d60 | 31 20 34 20 33 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 2d 66 69 72 73 74 20 | 1.4.3.4)...........(--map-first. |
| 26d80 | 28 3e 20 69 74 20 32 29 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 | (>.it.2).(*.it.it).'(1.2.3.4)).. |
| 26da0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 39 20 34 29 0a 20 20 20 20 20 | .................(1.2.9.4)...... |
| 26dc0 | 20 20 20 20 20 28 2d 2d 6d 61 70 2d 66 69 72 73 74 20 28 3d 20 69 74 20 32 29 20 31 37 20 27 28 | .....(--map-first.(=.it.2).17.'( |
| 26de0 | 31 20 32 20 33 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 31 | 1.2.3.2))...................(1.1 |
| 26e00 | 37 20 33 20 32 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 70 2d 6c 61 73 74 20 | 7.3.2)...--.Function:.-map-last. |
| 26e20 | 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 20 20 20 20 20 55 73 65 20 50 52 45 44 20 74 6f | (pred.rep.list)......Use.PRED.to |
| 26e40 | 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 | .determine.the.last.item.in.LIST |
| 26e60 | 20 74 6f 20 63 61 6c 6c 20 52 45 50 20 6f 6e 2e 20 20 52 65 74 75 72 6e 0a 20 20 20 20 20 61 20 | .to.call.REP.on...Return......a. |
| 26e80 | 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 77 68 65 72 65 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d | copy.of.LIST.where.the.last.item |
| 26ea0 | 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e | .for.which.PRED.returns.non-...n |
| 26ec0 | 69 6c e2 80 99 0a 20 20 20 20 20 69 73 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 74 68 65 20 | il.........is.replaced.with.the. |
| 26ee0 | 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 52 45 50 20 6f 6e 20 74 68 61 74 20 69 74 | result.of.calling.REP.on.that.it |
| 26f00 | 65 6d 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 6d 61 70 2d 77 68 65 6e | em........See.also:....-map-when |
| 26f20 | e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 2d 77 68 65 6e 3a 3a 29 2c 20 e2 80 98 2d 72 65 70 | ....(*note.-map-when::),....-rep |
| 26f40 | 6c 61 63 65 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 72 65 70 6c 61 63 | lace-last....(*note......-replac |
| 26f60 | 65 2d 6c 61 73 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 2d 6c 61 73 74 20 | e-last::)............(-map-last. |
| 26f80 | 27 65 76 65 6e 3f 20 27 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 | 'even?.'square.'(1.2.3.4))...... |
| 26fa0 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 31 36 29 0a 20 20 20 20 20 20 20 20 | .............(1.2.3.16)......... |
| 26fc0 | 20 20 28 2d 2d 6d 61 70 2d 6c 61 73 74 20 28 3e 20 69 74 20 32 29 20 28 2a 20 69 74 20 69 74 29 | ..(--map-last.(>.it.2).(*.it.it) |
| 26fe0 | 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 | .'(1.2.3.4))...................( |
| 27000 | 31 20 32 20 33 20 31 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 2d 6c 61 73 74 20 | 1.2.3.16)...........(--map-last. |
| 27020 | 28 3d 20 69 74 20 32 29 20 31 37 20 27 28 31 20 32 20 33 20 32 29 29 0a 20 20 20 20 20 20 20 20 | (=.it.2).17.'(1.2.3.2))......... |
| 27040 | 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 31 37 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 | ..........(1.2.3.17)...--.Functi |
| 27060 | 6f 6e 3a 20 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 | on:.-map-indexed.(fn.list)...... |
| 27080 | 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 69 6e 64 65 78 20 61 6e 64 20 69 74 65 6d 20 | Apply.FN.to.each.index.and.item. |
| 270a0 | 69 6e 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 0a 20 | in.LIST.and.return.the.list.of.. |
| 270c0 | 20 20 20 20 72 65 73 75 6c 74 73 2e 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 e2 80 98 2d 6d | ....results...This.is.like....-m |
| 270e0 | 61 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 3a 3a 29 2c 20 62 75 74 20 46 4e 20 74 61 6b | ap....(*note.-map::),.but.FN.tak |
| 27100 | 65 73 20 74 77 6f 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 3a 20 74 68 65 20 69 6e 64 65 78 | es.two......arguments:.the.index |
| 27120 | 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 20 77 69 74 68 69 6e 20 4c | .of.the.current.element.within.L |
| 27140 | 49 53 54 2c 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 20 69 74 73 65 6c 66 | IST,.and.the......element.itself |
| 27160 | 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f | ........This.function...s.anapho |
| 27180 | 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 6d 61 70 2d 69 6e 64 65 | ric.counterpart.is....--map-inde |
| 271a0 | 78 65 64 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 61 20 73 69 64 65 2d 65 66 66 65 63 74 69 | xed...........For.a.side-effecti |
| 271c0 | 6e 67 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 65 61 63 68 2d 69 6e | ng.variant,.see.also....-each-in |
| 271e0 | 64 65 78 65 64 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 65 61 63 68 2d 69 6e 64 65 78 | dexed....(*note......-each-index |
| 27200 | 65 64 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 | ed::).............(-map-indexed. |
| 27220 | 28 6c 61 6d 62 64 61 20 28 69 6e 64 65 78 20 69 74 65 6d 29 20 28 2d 20 69 74 65 6d 20 69 6e 64 | (lambda.(index.item).(-.item.ind |
| 27240 | 65 78 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 | ex)).'(1.2.3.4))................ |
| 27260 | 87 92 20 28 31 20 31 20 31 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 2d 69 6e | ...(1.1.1.1)...........(--map-in |
| 27280 | 64 65 78 65 64 20 28 2d 20 69 74 20 69 74 2d 69 6e 64 65 78 29 20 27 28 31 20 32 20 33 20 34 29 | dexed.(-.it.it-index).'(1.2.3.4) |
| 272a0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 31 20 31 20 31 29 0a 20 20 | )...................(1.1.1.1)... |
| 272c0 | 20 20 20 20 20 20 20 20 28 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 23 27 2a 20 27 28 31 20 32 20 | ........(-map-indexed.#'*.'(1.2. |
| 272e0 | 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 32 20 36 20 31 | 3.4))...................(0.2.6.1 |
| 27300 | 32 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 61 6e 6e 6f 74 61 74 65 20 28 66 6e 20 | 2)...--.Function:.-annotate.(fn. |
| 27320 | 6c 69 73 74 29 0a 20 20 20 20 20 50 61 69 72 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 | list)......Pair.each.item.in.LIS |
| 27340 | 54 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 70 61 73 73 69 6e 67 20 69 74 20 | T.with.the.result.of.passing.it. |
| 27360 | 74 6f 20 46 4e 2e 0a 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 6e 20 61 6c 69 73 74 20 6f 66 20 | to.FN........Return.an.alist.of. |
| 27380 | 28 52 45 53 55 4c 54 20 2e 20 20 49 54 45 4d 29 2c 20 77 68 65 72 65 20 65 61 63 68 20 49 54 45 | (RESULT....ITEM),.where.each.ITE |
| 273a0 | 4d 20 69 73 20 74 68 65 0a 20 20 20 20 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c 65 6d | M.is.the......corresponding.elem |
| 273c0 | 65 6e 74 20 6f 66 20 4c 49 53 54 2c 20 61 6e 64 20 52 45 53 55 4c 54 20 69 73 20 74 68 65 20 76 | ent.of.LIST,.and.RESULT.is.the.v |
| 273e0 | 61 6c 75 65 20 6f 62 74 61 69 6e 65 64 20 62 79 0a 20 20 20 20 20 63 61 6c 6c 69 6e 67 20 46 4e | alue.obtained.by......calling.FN |
| 27400 | 20 6f 6e 20 49 54 45 4d 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 | .on.ITEM........This.function... |
| 27420 | 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d | s.anaphoric.counterpart.is....-- |
| 27440 | 61 6e 6e 6f 74 61 74 65 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 61 6e 6e 6f 74 61 | annotate................(-annota |
| 27460 | 74 65 20 23 27 31 2b 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | te.#'1+.'(1.2.3))............... |
| 27480 | e2 87 92 20 28 28 32 20 2e 20 31 29 20 28 33 20 2e 20 32 29 20 28 34 20 2e 20 33 29 29 0a 20 20 | ....((2...1).(3...2).(4...3))... |
| 274a0 | 20 20 20 20 20 20 20 20 28 2d 61 6e 6e 6f 74 61 74 65 20 23 27 6c 65 6e 67 74 68 20 27 28 28 66 | ........(-annotate.#'length.'((f |
| 274c0 | 20 6f 20 6f 29 20 28 62 61 72 20 62 61 7a 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .o.o).(bar.baz)))............... |
| 274e0 | e2 87 92 20 28 28 33 20 66 20 6f 20 6f 29 20 28 32 20 62 61 72 20 62 61 7a 29 29 0a 20 20 20 20 | ....((3.f.o.o).(2.bar.baz))..... |
| 27500 | 20 20 20 20 20 20 28 2d 2d 61 6e 6e 6f 74 61 74 65 20 28 3e 20 69 74 20 31 29 20 27 28 30 20 31 | ......(--annotate.(>.it.1).'(0.1 |
| 27520 | 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 6e 69 6c 20 2e | .2.3))...................((nil.. |
| 27540 | 20 30 29 20 28 6e 69 6c 20 2e 20 31 29 20 28 74 20 2e 20 32 29 20 28 74 20 2e 20 33 29 29 0a 0a | .0).(nil...1).(t...2).(t...3)).. |
| 27560 | 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 70 6c 69 63 65 20 28 70 72 65 64 20 66 75 6e 20 | .--.Function:.-splice.(pred.fun. |
| 27580 | 6c 69 73 74 29 0a 20 20 20 20 20 53 70 6c 69 63 65 20 6c 69 73 74 73 20 67 65 6e 65 72 61 74 65 | list)......Splice.lists.generate |
| 275a0 | 64 20 62 79 20 46 55 4e 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 69 74 65 6d 73 20 73 61 74 69 73 | d.by.FUN.in.place.of.items.satis |
| 275c0 | 66 79 69 6e 67 20 50 52 45 44 20 69 6e 0a 20 20 20 20 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 43 | fying.PRED.in......LIST........C |
| 275e0 | 61 6c 6c 20 50 52 45 44 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 | all.PRED.on.each.element.of.LIST |
| 27600 | 2e 20 20 57 68 65 6e 65 76 65 72 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 20 69 | ...Whenever.the.result.of.PRED.i |
| 27620 | 73 0a 20 20 20 20 20 e2 80 98 6e 69 6c e2 80 99 2c 20 6c 65 61 76 65 20 74 68 61 74 20 e2 80 98 | s.........nil...,.leave.that.... |
| 27640 | 69 74 e2 80 99 20 61 73 2d 69 73 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 63 61 6c 6c 20 46 55 | it....as-is...Otherwise,.call.FU |
| 27660 | 4e 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 e2 80 98 69 74 e2 80 99 0a 20 20 20 20 20 74 68 61 74 | N.on.the.same....it.........that |
| 27680 | 20 73 61 74 69 73 66 69 65 64 20 50 52 45 44 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 73 68 6f | .satisfied.PRED...The.result.sho |
| 276a0 | 75 6c 64 20 62 65 20 61 20 28 70 6f 73 73 69 62 6c 79 20 65 6d 70 74 79 29 20 6c 69 73 74 0a 20 | uld.be.a.(possibly.empty).list.. |
| 276c0 | 20 20 20 20 6f 66 20 69 74 65 6d 73 20 74 6f 20 73 70 6c 69 63 65 20 69 6e 20 70 6c 61 63 65 20 | ....of.items.to.splice.in.place. |
| 276e0 | 6f 66 20 e2 80 98 69 74 e2 80 99 20 69 6e 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 | of....it....in.LIST........This. |
| 27700 | 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 61 73 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 20 | can.be.useful.as.an.alternative. |
| 27720 | 74 6f 20 74 68 65 20 e2 80 98 2c 40 e2 80 99 20 63 6f 6e 73 74 72 75 63 74 20 69 6e 20 61 20 e2 | to.the....,@....construct.in.a.. |
| 27740 | 80 98 60 e2 80 99 0a 20 20 20 20 20 73 74 72 75 63 74 75 72 65 2c 20 69 6e 20 63 61 73 65 20 79 | ..`.........structure,.in.case.y |
| 27760 | 6f 75 20 6e 65 65 64 20 74 6f 20 73 70 6c 69 63 65 20 73 65 76 65 72 61 6c 20 6c 69 73 74 73 20 | ou.need.to.splice.several.lists. |
| 27780 | 61 74 20 6d 61 72 6b 65 64 0a 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 73 20 28 66 6f 72 20 65 78 | at.marked......positions.(for.ex |
| 277a0 | 61 6d 70 6c 65 20 77 69 74 68 20 6b 65 79 77 6f 72 64 73 29 2e 0a 0a 20 20 20 20 20 54 68 69 73 | ample.with.keywords)........This |
| 277c0 | 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 | .function...s.anaphoric.counterp |
| 277e0 | 61 72 74 20 69 73 20 e2 80 98 2d 2d 73 70 6c 69 63 65 e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 65 | art.is....--splice...........See |
| 27800 | 20 61 6c 73 6f 3a 20 e2 80 98 2d 73 70 6c 69 63 65 2d 6c 69 73 74 e2 80 99 20 28 2a 6e 6f 74 65 | .also:....-splice-list....(*note |
| 27820 | 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 3a 3a 29 2c 20 e2 80 98 2d 69 6e 73 65 72 74 2d 61 74 e2 | .-splice-list::),....-insert-at. |
| 27840 | 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 69 6e 73 65 72 74 2d 61 74 3a 3a 29 2e 0a 0a 20 | ........(*note.-insert-at::).... |
| 27860 | 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 63 65 20 23 27 6e 75 6d 62 65 72 70 20 28 6c 61 6d | .........(-splice.#'numberp.(lam |
| 27880 | 62 64 61 20 28 6e 29 20 28 6c 69 73 74 20 6e 20 6e 29 29 20 27 28 61 20 31 20 62 20 32 29 29 0a | bda.(n).(list.n.n)).'(a.1.b.2)). |
| 278a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 61 20 31 20 31 20 62 20 32 20 32 29 0a | ..................(a.1.1.b.2.2). |
| 278c0 | 20 20 20 20 20 20 20 20 20 20 28 2d 2d 73 70 6c 69 63 65 20 74 20 28 6c 69 73 74 20 69 74 20 69 | ..........(--splice.t.(list.it.i |
| 278e0 | 74 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 | t).'(1.2.3.4)).................. |
| 27900 | 20 28 31 20 31 20 32 20 32 20 33 20 33 20 34 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d | .(1.1.2.2.3.3.4.4)...........(-- |
| 27920 | 73 70 6c 69 63 65 20 28 65 71 20 69 74 20 3a 6d 61 67 69 63 29 20 27 28 28 6d 61 67 69 63 61 6c | splice.(eq.it.:magic).'((magical |
| 27940 | 29 20 28 63 6f 64 65 29 29 20 27 28 28 66 6f 6f 29 20 3a 6d 61 67 69 63 20 28 62 61 72 29 29 29 | ).(code)).'((foo).:magic.(bar))) |
| 27960 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 66 6f 6f 29 20 28 6d 61 67 69 63 | ...................((foo).(magic |
| 27980 | 61 6c 29 20 28 63 6f 64 65 29 20 28 62 61 72 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a | al).(code).(bar))...--.Function: |
| 279a0 | 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 28 70 72 65 64 20 6e 65 77 2d 6c 69 73 74 20 6c 69 73 | .-splice-list.(pred.new-list.lis |
| 279c0 | 74 29 0a 20 20 20 20 20 53 70 6c 69 63 65 20 4e 45 57 2d 4c 49 53 54 20 69 6e 20 70 6c 61 63 65 | t)......Splice.NEW-LIST.in.place |
| 279e0 | 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 6d 61 74 63 68 69 6e 67 20 50 52 45 44 20 69 6e 20 4c 49 | .of.elements.matching.PRED.in.LI |
| 27a00 | 53 54 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 73 70 6c 69 63 65 e2 80 | ST........See.also:....-splice.. |
| 27a20 | 99 20 28 2a 6e 6f 74 65 20 2d 73 70 6c 69 63 65 3a 3a 29 2c 20 e2 80 98 2d 69 6e 73 65 72 74 2d | ..(*note.-splice::),....-insert- |
| 27a40 | 61 74 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 69 6e 73 65 72 74 2d 61 74 3a 3a 29 0a | at....(*note......-insert-at::). |
| 27a60 | 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 27 6b 65 79 77 6f 72 | ...........(-splice-list.'keywor |
| 27a80 | 64 70 20 27 28 61 20 62 20 63 29 20 27 28 31 20 3a 66 6f 6f 20 32 29 29 0a 20 20 20 20 20 20 20 | dp.'(a.b.c).'(1.:foo.2))........ |
| 27aa0 | 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 61 20 62 20 63 20 32 29 0a 20 20 20 20 20 20 20 20 20 | ...........(1.a.b.c.2).......... |
| 27ac0 | 20 28 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 27 6b 65 79 77 6f 72 64 70 20 6e 69 6c 20 27 28 31 | .(-splice-list.'keywordp.nil.'(1 |
| 27ae0 | 20 3a 66 6f 6f 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 | .:foo.2))...................(1.2 |
| 27b00 | 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 28 6b 65 79 77 | )...........(--splice-list.(keyw |
| 27b20 | 6f 72 64 70 20 69 74 29 20 27 28 61 20 62 20 63 29 20 27 28 31 20 3a 66 6f 6f 20 32 29 29 0a 20 | ordp.it).'(a.b.c).'(1.:foo.2)).. |
| 27b40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 61 20 62 20 63 20 32 29 0a 0a 20 2d | .................(1.a.b.c.2)...- |
| 27b60 | 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 70 63 61 74 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 | -.Function:.-mapcat.(fn.list)... |
| 27b80 | 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 74 | ...Return.the.concatenation.of.t |
| 27ba0 | 68 65 20 72 65 73 75 6c 74 20 6f 66 20 6d 61 70 70 69 6e 67 20 46 4e 20 6f 76 65 72 20 4c 49 53 | he.result.of.mapping.FN.over.LIS |
| 27bc0 | 54 2e 0a 20 20 20 20 20 54 68 75 73 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 73 68 6f 75 6c 64 20 | T.......Thus.function.FN.should. |
| 27be0 | 72 65 74 75 72 6e 20 61 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 63 | return.a.list.............(-mapc |
| 27c00 | 61 74 20 27 6c 69 73 74 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | at.'list.'(1.2.3)).............. |
| 27c20 | 20 e2 87 92 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 63 61 74 20 | .....(1.2.3)...........(-mapcat. |
| 27c40 | 28 6c 61 6d 62 64 61 20 28 69 74 65 6d 29 20 28 6c 69 73 74 20 30 20 69 74 65 6d 29 29 20 27 28 | (lambda.(item).(list.0.item)).'( |
| 27c60 | 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 31 20 30 | 1.2.3))...................(0.1.0 |
| 27c80 | 20 32 20 30 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 63 61 74 20 28 6c 69 73 | .2.0.3)...........(--mapcat.(lis |
| 27ca0 | 74 20 30 20 69 74 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t.0.it).'(1.2.3))............... |
| 27cc0 | e2 87 92 20 28 30 20 31 20 30 20 32 20 30 20 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a | ....(0.1.0.2.0.3)...--.Function: |
| 27ce0 | 20 2d 63 6f 70 79 20 28 6c 69 73 74 29 0a 20 20 20 20 20 43 72 65 61 74 65 20 61 20 73 68 61 6c | .-copy.(list)......Create.a.shal |
| 27d00 | 6c 6f 77 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 | low.copy.of.LIST.............(-c |
| 27d20 | 6f 70 79 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 | opy.'(1.2.3))................... |
| 27d40 | 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 61 20 27 28 31 20 32 | (1.2.3)...........(let.((a.'(1.2 |
| 27d60 | 20 33 29 29 29 20 28 65 71 20 61 20 28 2d 63 6f 70 79 20 61 29 29 29 0a 20 20 20 20 20 20 20 20 | .3))).(eq.a.(-copy.a)))......... |
| 27d80 | 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f | ..........nil....File:.dash.info |
| 27da0 | 2c 20 20 4e 6f 64 65 3a 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2c 20 20 4e 65 78 | ,..Node:.Sublist.selection,..Nex |
| 27dc0 | 74 3a 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2c 20 20 50 72 65 76 3a 20 4d 61 70 73 2c 20 20 55 | t:.List.to.list,..Prev:.Maps,..U |
| 27de0 | 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 32 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 | p:.Functions..2.2.Sublist.select |
| 27e00 | 69 6f 6e 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e 63 74 | ion.=====================..Funct |
| 27e20 | 69 6f 6e 73 20 72 65 74 75 72 6e 69 6e 67 20 61 20 73 75 62 6c 69 73 74 20 6f 66 20 74 68 65 20 | ions.returning.a.sublist.of.the. |
| 27e40 | 6f 72 69 67 69 6e 61 6c 20 6c 69 73 74 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 | original.list....--.Function:.-f |
| 27e60 | 69 6c 74 65 72 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 | ilter.(pred.list)......Return.a. |
| 27e80 | 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 66 6f | new.list.of.the.items.in.LIST.fo |
| 27ea0 | 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 6e 6f 6e 2d e2 80 | r.which.PRED.returns......non-.. |
| 27ec0 | 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 73 65 6c 65 63 74 | .nil...........Alias:....-select |
| 27ee0 | e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 | ...........This.function...s.ana |
| 27f00 | 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 66 69 6c 74 65 | phoric.counterpart.is....--filte |
| 27f20 | 72 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 73 69 6d 69 6c 61 72 20 6f 70 65 72 61 74 69 6f | r...........For.similar.operatio |
| 27f40 | 6e 73 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 6b 65 65 70 e2 80 99 20 28 2a 6e 6f 74 65 20 | ns,.see.also....-keep....(*note. |
| 27f60 | 2d 6b 65 65 70 3a 3a 29 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 2d 72 65 6d 6f 76 65 e2 80 99 20 | -keep::).and.........-remove.... |
| 27f80 | 28 2a 6e 6f 74 65 20 2d 72 65 6d 6f 76 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d | (*note.-remove::).............(- |
| 27fa0 | 66 69 6c 74 65 72 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 3d 20 30 20 28 25 20 6e 75 6d | filter.(lambda.(num).(=.0.(%.num |
| 27fc0 | 20 32 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .2))).'(1.2.3.4))............... |
| 27fe0 | e2 87 92 20 28 32 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6c 74 65 72 20 23 27 6e | ....(2.4)...........(-filter.#'n |
| 28000 | 61 74 6e 75 6d 70 20 27 28 2d 32 20 2d 31 20 30 20 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 | atnump.'(-2.-1.0.1.2)).......... |
| 28020 | 20 20 20 20 20 e2 87 92 20 28 30 20 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 | .........(0.1.2)...........(--fi |
| 28040 | 6c 74 65 72 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a | lter.(=.0.(%.it.2)).'(1.2.3.4)). |
| 28060 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 34 29 0a 0a 20 2d 2d 20 46 75 6e | ..................(2.4)...--.Fun |
| 28080 | 63 74 69 6f 6e 3a 20 2d 72 65 6d 6f 76 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 | ction:.-remove.(pred.list)...... |
| 280a0 | 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 74 65 6d 73 20 69 | Return.a.new.list.of.the.items.i |
| 280c0 | 6e 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 0a 20 20 | n.LIST.for.which.PRED.returns... |
| 280e0 | 20 20 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 72 | ......nil...........Alias:....-r |
| 28100 | 65 6a 65 63 74 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 | eject...........This.function... |
| 28120 | 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d | s.anaphoric.counterpart.is....-- |
| 28140 | 72 65 6d 6f 76 65 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 73 69 6d 69 6c 61 72 20 6f 70 65 | remove...........For.similar.ope |
| 28160 | 72 61 74 69 6f 6e 73 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 6b 65 65 70 e2 80 99 20 28 2a | rations,.see.also....-keep....(* |
| 28180 | 6e 6f 74 65 20 2d 6b 65 65 70 3a 3a 29 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 2d 66 69 6c 74 65 | note.-keep::).and.........-filte |
| 281a0 | 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 69 6c 74 65 72 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 | r....(*note.-filter::).......... |
| 281c0 | 20 20 20 28 2d 72 65 6d 6f 76 65 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 3d 20 30 20 28 | ...(-remove.(lambda.(num).(=.0.( |
| 281e0 | 25 20 6e 75 6d 20 32 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 | %.num.2))).'(1.2.3.4)).......... |
| 28200 | 20 20 20 20 20 e2 87 92 20 28 31 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 | .........(1.3)...........(-remov |
| 28220 | 65 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 32 20 2d 31 20 30 20 31 20 32 29 29 0a 20 20 20 20 | e.#'natnump.'(-2.-1.0.1.2))..... |
| 28240 | 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 2d 32 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 | ..............(-2.-1)........... |
| 28260 | 28 2d 2d 72 65 6d 6f 76 65 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 31 20 32 20 33 | (--remove.(=.0.(%.it.2)).'(1.2.3 |
| 28280 | 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 33 29 0a 0a 20 2d | .4))...................(1.3)...- |
| 282a0 | 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 70 72 65 64 20 | -.Function:.-remove-first.(pred. |
| 282c0 | 6c 69 73 74 29 0a 20 20 20 20 20 52 65 6d 6f 76 65 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d | list)......Remove.the.first.item |
| 282e0 | 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e | .from.LIST.for.which.PRED.return |
| 28300 | 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 61 20 | s.non-...nil..........This.is.a. |
| 28320 | 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 62 75 74 20 6f | non-destructive.operation,.but.o |
| 28340 | 6e 6c 79 20 74 68 65 20 66 72 6f 6e 74 20 6f 66 20 4c 49 53 54 0a 20 20 20 20 20 6c 65 61 64 69 | nly.the.front.of.LIST......leadi |
| 28360 | 6e 67 20 75 70 20 74 6f 20 74 68 65 20 72 65 6d 6f 76 65 64 20 69 74 65 6d 20 69 73 20 61 20 63 | ng.up.to.the.removed.item.is.a.c |
| 28380 | 6f 70 79 3b 20 74 68 65 20 72 65 73 74 20 69 73 20 4c 49 53 54 e2 80 99 73 0a 20 20 20 20 20 6f | opy;.the.rest.is.LIST...s......o |
| 283a0 | 72 69 67 69 6e 61 6c 20 74 61 69 6c 2e 20 20 49 66 20 6e 6f 20 69 74 65 6d 20 69 73 20 72 65 6d | riginal.tail...If.no.item.is.rem |
| 283c0 | 6f 76 65 64 2c 20 74 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 0a 20 20 20 20 20 | oved,.then.the.result.is.a...... |
| 283e0 | 63 6f 6d 70 6c 65 74 65 20 63 6f 70 79 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d | complete.copy........Alias:....- |
| 28400 | 72 65 6a 65 63 74 2d 66 69 72 73 74 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 | reject-first...........This.func |
| 28420 | 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 | tion...s.anaphoric.counterpart.i |
| 28440 | 73 20 e2 80 98 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 | s....--remove-first...........Se |
| 28460 | 65 20 61 6c 73 6f 20 e2 80 98 2d 6d 61 70 2d 66 69 72 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d | e.also....-map-first....(*note.- |
| 28480 | 6d 61 70 2d 66 69 72 73 74 3a 3a 29 2c 20 e2 80 98 2d 72 65 6d 6f 76 65 2d 69 74 65 6d e2 80 99 | map-first::),....-remove-item... |
| 284a0 | 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 3a 3a 29 2c 20 61 6e | .(*note......-remove-item::),.an |
| 284c0 | 64 20 e2 80 98 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 6d | d....-remove-last....(*note.-rem |
| 284e0 | 6f 76 65 2d 6c 61 73 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 | ove-last::).............(-remove |
| 28500 | 2d 66 69 72 73 74 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 32 20 2d 31 20 30 20 31 20 32 29 29 | -first.#'natnump.'(-2.-1.0.1.2)) |
| 28520 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 2d 32 20 2d 31 20 31 20 32 29 0a 20 | ...................(-2.-1.1.2).. |
| 28540 | 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 23 27 73 74 72 69 6e 67 | .........(-remove-first.#'string |
| 28560 | 70 20 27 28 31 20 32 20 22 66 69 72 73 74 22 20 22 73 65 63 6f 6e 64 22 29 29 0a 20 20 20 20 20 | p.'(1.2."first"."second"))...... |
| 28580 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 22 73 65 63 6f 6e 64 22 29 0a 20 20 20 20 | .............(1.2."second")..... |
| 285a0 | 20 20 20 20 20 20 28 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 3e 20 69 74 20 33 29 20 27 | ......(--remove-first.(>.it.3).' |
| 285c0 | 28 31 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 | (1.2.3.4.5.6)).................. |
| 285e0 | 20 28 31 20 32 20 33 20 35 20 36 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 6d | .(1.2.3.5.6)...--.Function:.-rem |
| 28600 | 6f 76 65 2d 6c 61 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 6d 6f 76 65 | ove-last.(pred.list)......Remove |
| 28620 | 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 | .the.last.item.from.LIST.for.whi |
| 28640 | 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 20 | ch.PRED.returns.non-...nil...... |
| 28660 | 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 | ....The.result.is.a.copy.of.LIST |
| 28680 | 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 61 6e 20 65 6c 65 6d 65 6e | .regardless.of.whether.an.elemen |
| 286a0 | 74 20 69 73 0a 20 20 20 20 20 72 65 6d 6f 76 65 64 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 | t.is......removed........Alias:. |
| 286c0 | e2 80 98 2d 72 65 6a 65 63 74 2d 6c 61 73 74 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 | ...-reject-last...........This.f |
| 286e0 | 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 | unction...s.anaphoric.counterpar |
| 28700 | 74 20 69 73 20 e2 80 98 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 e2 80 99 2e 0a 0a 20 20 20 20 20 | t.is....--remove-last........... |
| 28720 | 53 65 65 20 61 6c 73 6f 20 e2 80 98 2d 6d 61 70 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 | See.also....-map-last....(*note. |
| 28740 | 2d 6d 61 70 2d 6c 61 73 74 3a 3a 29 2c 20 e2 80 98 2d 72 65 6d 6f 76 65 2d 69 74 65 6d e2 80 99 | -map-last::),....-remove-item... |
| 28760 | 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 3a 3a 29 2c 20 61 6e | .(*note......-remove-item::),.an |
| 28780 | 64 20 e2 80 98 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 | d....-remove-first....(*note.-re |
| 287a0 | 6d 6f 76 65 2d 66 69 72 73 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f | move-first::).............(-remo |
| 287c0 | 76 65 2d 6c 61 73 74 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 31 20 33 20 35 20 34 20 37 20 38 20 | ve-last.#'natnump.'(1.3.5.4.7.8. |
| 287e0 | 31 30 20 2d 31 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 33 20 | 10.-11))...................(1.3. |
| 28800 | 35 20 34 20 37 20 38 20 2d 31 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d | 5.4.7.8.-11)...........(-remove- |
| 28820 | 6c 61 73 74 20 23 27 73 74 72 69 6e 67 70 20 27 28 31 20 32 20 22 6c 61 73 74 22 20 22 73 65 63 | last.#'stringp.'(1.2."last"."sec |
| 28840 | 6f 6e 64 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 22 6c | ond"))...................(1.2."l |
| 28860 | 61 73 74 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 28 | ast")...........(--remove-last.( |
| 28880 | 3e 20 69 74 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 20 31 30 29 29 | >.it.3).'(1.2.3.4.5.6.7.8.9.10)) |
| 288a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 20 36 20 | ...................(1.2.3.4.5.6. |
| 288c0 | 37 20 38 20 39 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 6d 6f 76 65 2d 69 74 | 7.8.9)...--.Function:.-remove-it |
| 288e0 | 65 6d 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 | em.(item.list)......Return.a.cop |
| 28900 | 79 20 6f 66 20 4c 49 53 54 20 77 69 74 68 20 61 6c 6c 20 6f 63 63 75 72 72 65 6e 63 65 73 20 6f | y.of.LIST.with.all.occurrences.o |
| 28920 | 66 20 49 54 45 4d 20 72 65 6d 6f 76 65 64 2e 20 20 54 68 65 0a 20 20 20 20 20 63 6f 6d 70 61 72 | f.ITEM.removed...The......compar |
| 28940 | 69 73 6f 6e 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 e2 80 98 65 71 75 61 6c e2 80 99 2e 0a 0a | ison.is.done.with....equal...... |
| 28960 | 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 33 20 27 28 31 20 32 20 | ..........(-remove-item.3.'(1.2. |
| 28980 | 33 20 32 20 33 20 34 20 35 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 | 3.2.3.4.5.3))................... |
| 289a0 | 28 31 20 32 20 32 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 69 | (1.2.2.4.5)...........(-remove-i |
| 289c0 | 74 65 6d 20 27 66 6f 6f 20 27 28 66 6f 6f 20 62 61 72 20 62 61 7a 20 66 6f 6f 29 29 0a 20 20 20 | tem.'foo.'(foo.bar.baz.foo)).... |
| 289e0 | 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 62 61 72 20 62 61 7a 29 0a 20 20 20 20 20 20 20 | ...............(bar.baz)........ |
| 28a00 | 20 20 20 28 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 22 62 6f 62 22 20 27 28 22 61 6c 69 63 65 22 | ...(-remove-item."bob".'("alice" |
| 28a20 | 20 22 62 6f 62 22 20 22 65 76 65 22 20 22 62 6f 62 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ."bob"."eve"."bob"))............ |
| 28a40 | 20 20 20 e2 87 92 20 28 22 61 6c 69 63 65 22 20 22 65 76 65 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 | .......("alice"."eve")...--.Func |
| 28a60 | 74 69 6f 6e 3a 20 2d 6e 6f 6e 2d 6e 69 6c 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 | tion:.-non-nil.(list)......Retur |
| 28a80 | 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 77 69 74 68 20 61 6c 6c 20 e2 80 98 6e 69 6c | n.a.copy.of.LIST.with.all....nil |
| 28aa0 | e2 80 99 20 69 74 65 6d 73 20 72 65 6d 6f 76 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d | ....items.removed.............(- |
| 28ac0 | 6e 6f 6e 2d 6e 69 6c 20 27 28 6e 69 6c 20 31 20 6e 69 6c 20 32 20 6e 69 6c 20 6e 69 6c 20 33 20 | non-nil.'(nil.1.nil.2.nil.nil.3. |
| 28ae0 | 34 20 6e 69 6c 20 35 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 | 4.nil.5.nil))................... |
| 28b00 | 28 31 20 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6e 6f 6e 2d 6e 69 6c 20 | (1.2.3.4.5)...........(-non-nil. |
| 28b20 | 27 28 28 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 6e 69 | '((nil)))...................((ni |
| 28b40 | 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6e 6f 6e 2d 6e 69 6c 20 28 29 29 0a 20 20 20 20 | l))...........(-non-nil.())..... |
| 28b60 | 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 | ..............()...--.Function:. |
| 28b80 | 2d 73 6c 69 63 65 20 28 6c 69 73 74 20 66 72 6f 6d 20 26 6f 70 74 69 6f 6e 61 6c 20 74 6f 20 73 | -slice.(list.from.&optional.to.s |
| 28ba0 | 74 65 70 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 2c 20 73 | tep)......Return.copy.of.LIST,.s |
| 28bc0 | 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 69 6e 64 65 78 20 46 52 4f 4d 20 74 6f 20 69 6e 64 65 78 | tarting.from.index.FROM.to.index |
| 28be0 | 20 54 4f 2e 0a 0a 20 20 20 20 20 46 52 4f 4d 20 6f 72 20 54 4f 20 6d 61 79 20 62 65 20 6e 65 67 | .TO........FROM.or.TO.may.be.neg |
| 28c00 | 61 74 69 76 65 2e 20 20 54 68 65 73 65 20 76 61 6c 75 65 73 20 61 72 65 20 74 68 65 6e 20 69 6e | ative...These.values.are.then.in |
| 28c20 | 74 65 72 70 72 65 74 65 64 0a 20 20 20 20 20 6d 6f 64 75 6c 6f 20 74 68 65 20 6c 65 6e 67 74 68 | terpreted......modulo.the.length |
| 28c40 | 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 49 66 20 53 54 45 50 20 69 73 20 61 | .of.the.list........If.STEP.is.a |
| 28c60 | 20 6e 75 6d 62 65 72 2c 20 6f 6e 6c 79 20 65 61 63 68 20 53 54 45 50 74 68 20 69 74 65 6d 20 69 | .number,.only.each.STEPth.item.i |
| 28c80 | 6e 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 69 73 20 | n.the.resulting.section......is. |
| 28ca0 | 72 65 74 75 72 6e 65 64 2e 20 20 44 65 66 61 75 6c 74 73 20 74 6f 20 31 2e 0a 0a 20 20 20 20 20 | returned...Defaults.to.1........ |
| 28cc0 | 20 20 20 20 20 28 2d 73 6c 69 63 65 20 27 28 31 20 32 20 33 20 34 20 35 29 20 31 29 0a 20 20 20 | .....(-slice.'(1.2.3.4.5).1).... |
| 28ce0 | 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 | ...............(2.3.4.5)........ |
| 28d00 | 20 20 20 28 2d 73 6c 69 63 65 20 27 28 31 20 32 20 33 20 34 20 35 29 20 30 20 33 29 0a 20 20 20 | ...(-slice.'(1.2.3.4.5).0.3).... |
| 28d20 | 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 | ...............(1.2.3).......... |
| 28d40 | 20 28 2d 73 6c 69 63 65 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 29 20 31 20 | .(-slice.'(1.2.3.4.5.6.7.8.9).1. |
| 28d60 | 2d 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 34 20 36 20 38 | -1.2)...................(2.4.6.8 |
| 28d80 | 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 61 6b 65 20 28 6e 20 6c 69 73 74 29 0a | )...--.Function:.-take.(n.list). |
| 28da0 | 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 | .....Return.a.copy.of.the.first. |
| 28dc0 | 4e 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 | N.items.in.LIST...Return.a.copy. |
| 28de0 | 6f 66 20 4c 49 53 54 0a 20 20 20 20 20 69 66 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 4e 20 69 74 | of.LIST......if.it.contains.N.it |
| 28e00 | 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 20 20 52 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 20 | ems.or.fewer...Return....nil.... |
| 28e20 | 69 66 20 4e 20 69 73 20 7a 65 72 6f 20 6f 72 0a 20 20 20 20 20 6c 65 73 73 2e 0a 0a 20 20 20 20 | if.N.is.zero.or......less....... |
| 28e40 | 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 74 61 6b 65 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f | .See.also:....-take-last....(*no |
| 28e60 | 74 65 20 2d 74 61 6b 65 2d 6c 61 73 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 | te.-take-last::).............(-t |
| 28e80 | 61 6b 65 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ake.3.'(1.2.3.4.5))............. |
| 28ea0 | 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 20 31 | ......(1.2.3)...........(-take.1 |
| 28ec0 | 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 | 7.'(1.2.3.4.5))................. |
| 28ee0 | 92 20 28 31 20 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 20 30 | ..(1.2.3.4.5)...........(-take.0 |
| 28f00 | 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 | .'(1.2.3.4.5)).................. |
| 28f20 | 20 28 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 61 6b 65 2d 6c 61 73 74 20 28 6e | .()...--.Function:.-take-last.(n |
| 28f40 | 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 | .list)......Return.a.copy.of.the |
| 28f60 | 20 6c 61 73 74 20 4e 20 69 74 65 6d 73 20 6f 66 20 4c 49 53 54 20 69 6e 20 6f 72 64 65 72 2e 20 | .last.N.items.of.LIST.in.order.. |
| 28f80 | 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 0a 20 20 20 20 20 6f 66 20 4c 49 53 54 20 69 66 20 69 | .Return.a.copy......of.LIST.if.i |
| 28fa0 | 74 20 63 6f 6e 74 61 69 6e 73 20 4e 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 20 20 52 65 | t.contains.N.items.or.fewer...Re |
| 28fc0 | 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 4e 20 69 73 20 7a 65 72 6f 0a 20 20 20 20 | turn....nil....if.N.is.zero..... |
| 28fe0 | 20 6f 72 20 6c 65 73 73 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 74 61 | .or.less........See.also:....-ta |
| 29000 | 6b 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 74 61 6b 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 | ke....(*note.-take::)........... |
| 29020 | 20 20 28 2d 74 61 6b 65 2d 6c 61 73 74 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 | ..(-take-last.3.'(1.2.3.4.5))... |
| 29040 | 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 | ................(3.4.5)......... |
| 29060 | 20 20 28 2d 74 61 6b 65 2d 6c 61 73 74 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 | ..(-take-last.17.'(1.2.3.4.5)).. |
| 29080 | 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 29 0a 20 20 20 | .................(1.2.3.4.5).... |
| 290a0 | 20 20 20 20 20 20 20 28 2d 74 61 6b 65 2d 6c 61 73 74 20 31 20 27 28 31 20 32 20 33 20 34 20 35 | .......(-take-last.1.'(1.2.3.4.5 |
| 290c0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 29 0a 0a 20 2d 2d 20 46 75 | ))...................(5)...--.Fu |
| 290e0 | 6e 63 74 69 6f 6e 3a 20 2d 64 72 6f 70 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 | nction:.-drop.(n.list)......Retu |
| 29100 | 72 6e 20 74 68 65 20 74 61 69 6c 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 20 6f 66 20 4c 49 53 54 | rn.the.tail.(not.a.copy).of.LIST |
| 29120 | 20 77 69 74 68 6f 75 74 20 74 68 65 20 66 69 72 73 74 20 4e 20 69 74 65 6d 73 2e 0a 20 20 20 20 | .without.the.first.N.items...... |
| 29140 | 20 52 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 | .Return....nil....if.LIST.contai |
| 29160 | 6e 73 20 4e 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 20 20 52 65 74 75 72 6e 20 4c 49 53 | ns.N.items.or.fewer...Return.LIS |
| 29180 | 54 20 69 66 20 4e 0a 20 20 20 20 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 0a 20 20 | T.if.N......is.zero.or.less..... |
| 291a0 | 20 20 20 46 6f 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f | ...For.another.variant,.see.also |
| 291c0 | 20 e2 80 98 2d 64 72 6f 70 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 64 72 6f 70 2d 6c | ....-drop-last....(*note.-drop-l |
| 291e0 | 61 73 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 72 6f 70 20 33 20 27 28 31 20 | ast::).............(-drop.3.'(1. |
| 29200 | 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 20 35 | 2.3.4.5))...................(4.5 |
| 29220 | 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 72 6f 70 20 31 37 20 27 28 31 20 32 20 33 20 34 20 | )...........(-drop.17.'(1.2.3.4. |
| 29240 | 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 | 5))...................()........ |
| 29260 | 20 20 20 28 2d 64 72 6f 70 20 30 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 | ...(-drop.0.'(1.2.3.4.5))....... |
| 29280 | 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 29 0a 0a 20 2d 2d 20 46 75 6e | ............(1.2.3.4.5)...--.Fun |
| 292a0 | 63 74 69 6f 6e 3a 20 2d 64 72 6f 70 2d 6c 61 73 74 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 | ction:.-drop-last.(n.list)...... |
| 292c0 | 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 20 77 69 74 68 6f 75 74 20 69 74 | Return.a.copy.of.LIST.without.it |
| 292e0 | 73 20 6c 61 73 74 20 4e 20 69 74 65 6d 73 2e 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f | s.last.N.items...Return.a.copy.o |
| 29300 | 66 0a 20 20 20 20 20 4c 49 53 54 20 69 66 20 4e 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 | f......LIST.if.N.is.zero.or.less |
| 29320 | 2e 20 20 52 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 4c 49 53 54 20 63 6f 6e 74 | ...Return....nil....if.LIST.cont |
| 29340 | 61 69 6e 73 20 4e 20 69 74 65 6d 73 0a 20 20 20 20 20 6f 72 20 66 65 77 65 72 2e 0a 0a 20 20 20 | ains.N.items......or.fewer...... |
| 29360 | 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 64 72 6f 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d | ..See.also:....-drop....(*note.- |
| 29380 | 64 72 6f 70 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 72 6f 70 2d 6c 61 73 74 20 | drop::).............(-drop-last. |
| 293a0 | 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 | 3.'(1.2.3.4.5))................. |
| 293c0 | 92 20 28 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 72 6f 70 2d 6c 61 73 74 20 31 37 | ..(1.2)...........(-drop-last.17 |
| 293e0 | 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 | .'(1.2.3.4.5)).................. |
| 29400 | 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 72 6f 70 2d 6c 61 73 74 20 30 20 27 28 31 20 | .()...........(-drop-last.0.'(1. |
| 29420 | 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 | 2.3.4.5))...................(1.2 |
| 29440 | 20 33 20 34 20 35 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 61 6b 65 2d 77 68 69 | .3.4.5)...--.Function:.-take-whi |
| 29460 | 6c 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 54 61 6b 65 20 73 75 63 63 65 73 73 | le.(pred.list)......Take.success |
| 29480 | 69 76 65 20 69 74 65 6d 73 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 | ive.items.from.LIST.for.which.PR |
| 294a0 | 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 20 20 20 20 20 50 | ED.returns.non-...nil..........P |
| 294c0 | 52 45 44 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e | RED.is.a.function.of.one.argumen |
| 294e0 | 74 2e 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 0a 20 20 20 | t...Return.a.new.list.of.the.... |
| 29500 | 20 20 73 75 63 63 65 73 73 69 76 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 74 68 65 20 73 | ..successive.elements.from.the.s |
| 29520 | 74 61 72 74 20 6f 66 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 | tart.of.LIST.for.which.PRED.retu |
| 29540 | 72 6e 73 0a 20 20 20 20 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 | rns......non-...nil...........Th |
| 29560 | 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 | is.function...s.anaphoric.counte |
| 29580 | 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 e2 80 99 2e 0a 0a 20 20 | rpart.is....--take-while........ |
| 295a0 | 20 20 20 46 6f 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f | ...For.another.variant,.see.also |
| 295c0 | 20 e2 80 98 2d 64 72 6f 70 2d 77 68 69 6c 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 64 72 6f 70 2d | ....-drop-while....(*note.-drop- |
| 295e0 | 77 68 69 6c 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 2d 77 68 69 6c | while::).............(-take-whil |
| 29600 | 65 20 23 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 | e.#'even?.'(1.2.3.4))........... |
| 29620 | 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 2d 77 68 69 6c | ........()...........(-take-whil |
| 29640 | 65 20 23 27 65 76 65 6e 3f 20 27 28 32 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 | e.#'even?.'(2.4.5.6))........... |
| 29660 | 20 20 20 20 e2 87 92 20 28 32 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 61 6b 65 2d | ........(2.4)...........(--take- |
| 29680 | 77 68 69 6c 65 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 | while.(<.it.4).'(1.2.3.4.3.2.1)) |
| 296a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 0a 20 2d 2d 20 | ...................(1.2.3)...--. |
| 296c0 | 46 75 6e 63 74 69 6f 6e 3a 20 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 70 72 65 64 20 6c 69 73 74 | Function:.-drop-while.(pred.list |
| 296e0 | 29 0a 20 20 20 20 20 44 72 6f 70 20 73 75 63 63 65 73 73 69 76 65 20 69 74 65 6d 73 20 66 72 6f | )......Drop.successive.items.fro |
| 29700 | 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f | m.LIST.for.which.PRED.returns.no |
| 29720 | 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 20 20 20 20 20 50 52 45 44 20 69 73 20 61 20 66 75 6e 63 | n-...nil..........PRED.is.a.func |
| 29740 | 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 52 65 74 75 72 6e 20 74 68 | tion.of.one.argument...Return.th |
| 29760 | 65 20 74 61 69 6c 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 0a 20 20 20 20 20 6f 66 20 4c 49 53 54 | e.tail.(not.a.copy)......of.LIST |
| 29780 | 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 69 74 73 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 | .starting.from.its.first.element |
| 297a0 | 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 e2 80 98 | .for.which.PRED.returns......... |
| 297c0 | 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 | nil...........This.function...s. |
| 297e0 | 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 64 72 | anaphoric.counterpart.is....--dr |
| 29800 | 6f 70 2d 77 68 69 6c 65 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 61 6e 6f 74 68 65 72 20 76 | op-while...........For.another.v |
| 29820 | 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 74 61 6b 65 2d 77 68 69 6c 65 e2 | ariant,.see.also....-take-while. |
| 29840 | 80 99 20 28 2a 6e 6f 74 65 20 2d 74 61 6b 65 2d 77 68 69 6c 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 | ...(*note.-take-while::)........ |
| 29860 | 20 20 20 20 20 28 2d 64 72 6f 70 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 31 20 32 20 | .....(-drop-while.#'even?.'(1.2. |
| 29880 | 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 | 3.4))...................(1.2.3.4 |
| 298a0 | 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 72 6f 70 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f | )...........(-drop-while.#'even? |
| 298c0 | 20 27 28 32 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 | .'(2.4.5.6))...................( |
| 298e0 | 35 20 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 3c 20 | 5.6)...........(--drop-while.(<. |
| 29900 | 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 | it.4).'(1.2.3.4.3.2.1))......... |
| 29920 | 20 20 20 20 20 20 e2 87 92 20 28 34 20 33 20 32 20 31 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f | ..........(4.3.2.1)...--.Functio |
| 29940 | 6e 3a 20 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 28 69 6e 64 69 63 65 73 20 6c | n:.-select-by-indices.(indices.l |
| 29960 | 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 68 6f 73 65 20 65 6c | ist)......Return.a.list.whose.el |
| 29980 | 65 6d 65 6e 74 73 20 61 72 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 4c 49 53 54 20 73 65 | ements.are.elements.from.LIST.se |
| 299a0 | 6c 65 63 74 65 64 20 61 73 0a 20 20 20 20 20 e2 80 98 28 6e 74 68 20 69 20 6c 69 73 74 29 e2 80 | lected.as.........(nth.i.list).. |
| 299c0 | 98 20 66 6f 72 20 61 6c 6c 20 69 20 66 72 6f 6d 20 49 4e 44 49 43 45 53 2e 0a 0a 20 20 20 20 20 | ..for.all.i.from.INDICES........ |
| 299e0 | 20 20 20 20 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 27 28 34 20 31 30 20 | .....(-select-by-indices.'(4.10. |
| 29a00 | 32 20 33 20 36 29 20 27 28 22 76 22 20 22 65 22 20 22 6c 22 20 22 6f 22 20 22 63 22 20 22 69 22 | 2.3.6).'("v"."e"."l"."o"."c"."i" |
| 29a20 | 20 22 72 22 20 22 61 22 20 22 70 22 20 22 74 22 20 22 6f 22 20 22 72 22 29 29 0a 20 20 20 20 20 | ."r"."a"."p"."t"."o"."r"))...... |
| 29a40 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 63 22 20 22 6f 22 20 22 6c 22 20 22 6f 22 20 22 72 | .............("c"."o"."l"."o"."r |
| 29a60 | 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 | ")...........(-select-by-indices |
| 29a80 | 20 27 28 32 20 31 20 30 29 20 27 28 22 61 22 20 22 62 22 20 22 63 22 29 29 0a 20 20 20 20 20 20 | .'(2.1.0).'("a"."b"."c"))....... |
| 29aa0 | 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 63 22 20 22 62 22 20 22 61 22 29 0a 20 20 20 20 20 20 | ............("c"."b"."a")....... |
| 29ac0 | 20 20 20 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 27 28 30 20 31 20 32 20 | ....(-select-by-indices.'(0.1.2. |
| 29ae0 | 30 20 31 20 33 20 33 20 31 29 20 27 28 22 66 22 20 22 61 22 20 22 72 22 20 22 6c 22 29 29 0a 20 | 0.1.3.3.1).'("f"."a"."r"."l")).. |
| 29b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 66 22 20 22 61 22 20 22 72 22 20 22 66 | .................("f"."a"."r"."f |
| 29b20 | 22 20 22 61 22 20 22 6c 22 20 22 6c 22 20 22 61 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e | "."a"."l"."l"."a")...--.Function |
| 29b40 | 3a 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 28 63 6f 6c 75 6d 6e 73 20 74 61 62 6c 65 | :.-select-columns.(columns.table |
| 29b60 | 29 0a 20 20 20 20 20 53 65 6c 65 63 74 20 43 4f 4c 55 4d 4e 53 20 66 72 6f 6d 20 54 41 42 4c 45 | )......Select.COLUMNS.from.TABLE |
| 29b80 | 2e 0a 0a 20 20 20 20 20 54 41 42 4c 45 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 | ........TABLE.is.a.list.of.lists |
| 29ba0 | 20 77 68 65 72 65 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 72 65 70 72 65 73 65 6e 74 73 20 6f | .where.each.element.represents.o |
| 29bc0 | 6e 65 20 72 6f 77 2e 20 20 49 74 0a 20 20 20 20 20 69 73 20 61 73 73 75 6d 65 64 20 65 61 63 68 | ne.row...It......is.assumed.each |
| 29be0 | 20 72 6f 77 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 20 20 20 20 20 | .row.has.the.same.length........ |
| 29c00 | 45 61 63 68 20 72 6f 77 20 69 73 20 74 72 61 6e 73 66 6f 72 6d 65 64 20 73 75 63 68 20 74 68 61 | Each.row.is.transformed.such.tha |
| 29c20 | 74 20 6f 6e 6c 79 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 43 4f 4c 55 4d 4e 53 20 61 72 65 | t.only.the.specified.COLUMNS.are |
| 29c40 | 0a 20 20 20 20 20 73 65 6c 65 63 74 65 64 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 | ......selected........See.also:. |
| 29c60 | e2 80 98 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 65 6c | ...-select-column....(*note.-sel |
| 29c80 | 65 63 74 2d 63 6f 6c 75 6d 6e 3a 3a 29 2c 0a 20 20 20 20 20 e2 80 98 2d 73 65 6c 65 63 74 2d 62 | ect-column::),.........-select-b |
| 29ca0 | 79 2d 69 6e 64 69 63 65 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 65 6c 65 63 74 2d 62 79 2d 69 | y-indices....(*note.-select-by-i |
| 29cc0 | 6e 64 69 63 65 73 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 6c 65 63 74 2d 63 6f | ndices::)............(-select-co |
| 29ce0 | 6c 75 6d 6e 73 20 27 28 30 20 32 29 20 27 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 | lumns.'(0.2).'((1.2.3).(a.b.c).( |
| 29d00 | 3a 61 20 3a 62 20 3a 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 | :a.:b.:c)))...................(( |
| 29d20 | 31 20 33 29 20 28 61 20 63 29 20 28 3a 61 20 3a 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d | 1.3).(a.c).(:a.:c))...........(- |
| 29d40 | 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 27 28 31 29 20 27 28 28 31 20 32 20 33 29 20 28 61 | select-columns.'(1).'((1.2.3).(a |
| 29d60 | 20 62 20 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .b.c).(:a.:b.:c))).............. |
| 29d80 | 20 e2 87 92 20 28 28 32 29 20 28 62 29 20 28 3a 62 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d | .....((2).(b).(:b))...........(- |
| 29da0 | 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 6e 69 6c 20 27 28 28 31 20 32 20 33 29 20 28 61 20 | select-columns.nil.'((1.2.3).(a. |
| 29dc0 | 62 20 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | b.c).(:a.:b.:c)))............... |
| 29de0 | e2 87 92 20 28 6e 69 6c 20 6e 69 6c 20 6e 69 6c 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a | ....(nil.nil.nil)...--.Function: |
| 29e00 | 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 20 28 63 6f 6c 75 6d 6e 20 74 61 62 6c 65 29 0a 20 | .-select-column.(column.table).. |
| 29e20 | 20 20 20 20 53 65 6c 65 63 74 20 43 4f 4c 55 4d 4e 20 66 72 6f 6d 20 54 41 42 4c 45 2e 0a 0a 20 | ....Select.COLUMN.from.TABLE.... |
| 29e40 | 20 20 20 20 54 41 42 4c 45 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 77 68 65 | ....TABLE.is.a.list.of.lists.whe |
| 29e60 | 72 65 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 72 65 70 72 65 73 65 6e 74 73 20 6f 6e 65 20 72 | re.each.element.represents.one.r |
| 29e80 | 6f 77 2e 20 20 49 74 0a 20 20 20 20 20 69 73 20 61 73 73 75 6d 65 64 20 65 61 63 68 20 72 6f 77 | ow...It......is.assumed.each.row |
| 29ea0 | 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 20 20 20 20 20 54 68 65 20 | .has.the.same.length........The. |
| 29ec0 | 73 69 6e 67 6c 65 20 73 65 6c 65 63 74 65 64 20 63 6f 6c 75 6d 6e 20 69 73 20 72 65 74 75 72 6e | single.selected.column.is.return |
| 29ee0 | 65 64 20 61 73 20 61 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 | ed.as.a.list........See.also:... |
| 29f00 | 98 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 65 6c 65 | .-select-columns....(*note.-sele |
| 29f20 | 63 74 2d 63 6f 6c 75 6d 6e 73 3a 3a 29 2c 0a 20 20 20 20 20 e2 80 98 2d 73 65 6c 65 63 74 2d 62 | ct-columns::),.........-select-b |
| 29f40 | 79 2d 69 6e 64 69 63 65 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 65 6c 65 63 74 2d 62 79 2d 69 | y-indices....(*note.-select-by-i |
| 29f60 | 6e 64 69 63 65 73 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 6c 65 63 74 2d 63 6f | ndices::)............(-select-co |
| 29f80 | 6c 75 6d 6e 20 31 20 27 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 3a 61 20 3a 62 20 | lumn.1.'((1.2.3).(a.b.c).(:a.:b. |
| 29fa0 | 3a 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 62 20 3a 62 29 | :c)))...................(2.b.:b) |
| 29fc0 | 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4c 69 73 74 | ....File:.dash.info,..Node:.List |
| 29fe0 | 20 74 6f 20 6c 69 73 74 2c 20 20 4e 65 78 74 3a 20 52 65 64 75 63 74 69 6f 6e 73 2c 20 20 50 72 | .to.list,..Next:.Reductions,..Pr |
| 2a000 | 65 76 3a 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2c 20 20 55 70 3a 20 46 75 6e 63 | ev:.Sublist.selection,..Up:.Func |
| 2a020 | 74 69 6f 6e 73 0a 0a 32 2e 33 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 0a 3d 3d 3d 3d 3d 3d 3d 3d | tions..2.3.List.to.list.======== |
| 2a040 | 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 69 6e 67 20 61 20 | ========..Functions.returning.a. |
| 2a060 | 6d 6f 64 69 66 69 65 64 20 63 6f 70 79 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 6c 69 73 74 2e | modified.copy.of.the.input.list. |
| 2a080 | 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6b 65 65 70 20 28 66 6e 20 6c 69 73 74 29 0a | ...--.Function:.-keep.(fn.list). |
| 2a0a0 | 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6e 6f | .....Return.a.new.list.of.the.no |
| 2a0c0 | 6e 2d e2 80 98 6e 69 6c e2 80 99 20 72 65 73 75 6c 74 73 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 | n-...nil....results.of.applying. |
| 2a0e0 | 46 4e 20 74 6f 20 65 61 63 68 0a 20 20 20 20 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2e 20 20 4c | FN.to.each......item.in.LIST...L |
| 2a100 | 69 6b 65 20 e2 80 98 2d 66 69 6c 74 65 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 69 6c 74 65 72 | ike....-filter....(*note.-filter |
| 2a120 | 3a 3a 29 2c 20 62 75 74 20 72 65 74 75 72 6e 73 20 74 68 65 0a 20 20 20 20 20 6e 6f 6e 2d e2 80 | ::),.but.returns.the......non-.. |
| 2a140 | 98 6e 69 6c e2 80 99 20 72 65 73 75 6c 74 73 20 6f 66 20 46 4e 20 69 6e 73 74 65 61 64 20 6f 66 | .nil....results.of.FN.instead.of |
| 2a160 | 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 6f 66 0a 20 | .the.corresponding.elements.of.. |
| 2a180 | 20 20 20 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f | ....LIST........Its.anaphoric.co |
| 2a1a0 | 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 6b 65 65 70 e2 80 99 2e 0a 0a 20 20 20 20 | unterpart.is....--keep.......... |
| 2a1c0 | 20 20 20 20 20 20 28 2d 6b 65 65 70 20 23 27 63 64 72 20 27 28 28 31 20 32 20 33 29 20 28 34 20 | ......(-keep.#'cdr.'((1.2.3).(4. |
| 2a1e0 | 35 29 20 28 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 32 20 33 | 5).(6)))...................((2.3 |
| 2a200 | 29 20 28 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6b 65 65 70 20 28 6c 61 6d 62 64 61 20 | ).(5))...........(-keep.(lambda. |
| 2a220 | 28 6e 29 20 28 61 6e 64 20 28 3e 20 6e 20 33 29 20 28 2a 20 31 30 20 6e 29 29 29 20 27 28 31 20 | (n).(and.(>.n.3).(*.10.n))).'(1. |
| 2a240 | 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 | 2.3.4.5.6))...................(4 |
| 2a260 | 30 20 35 30 20 36 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6b 65 65 70 20 28 61 6e 64 20 | 0.50.60)...........(--keep.(and. |
| 2a280 | 28 3e 20 69 74 20 33 29 20 28 2a 20 31 30 20 69 74 29 29 20 27 28 31 20 32 20 33 20 34 20 35 20 | (>.it.3).(*.10.it)).'(1.2.3.4.5. |
| 2a2a0 | 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 30 20 35 30 20 36 30 29 | 6))...................(40.50.60) |
| 2a2c0 | 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 6e 63 61 74 20 28 26 72 65 73 74 20 73 | ...--.Function:.-concat.(&rest.s |
| 2a2e0 | 65 71 75 65 6e 63 65 73 29 0a 20 20 20 20 20 43 6f 6e 63 61 74 65 6e 61 74 65 20 61 6c 6c 20 74 | equences)......Concatenate.all.t |
| 2a300 | 68 65 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 6d 61 6b 65 20 74 68 65 20 72 65 73 75 6c 74 | he.arguments.and.make.the.result |
| 2a320 | 20 61 20 6c 69 73 74 2e 20 20 54 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 20 69 73 20 61 20 6c | .a.list...The......result.is.a.l |
| 2a340 | 69 73 74 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 74 68 65 20 65 6c 65 6d 65 | ist.whose.elements.are.the.eleme |
| 2a360 | 6e 74 73 20 6f 66 20 61 6c 6c 20 74 68 65 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 2e 20 20 | nts.of.all.the......arguments... |
| 2a380 | 45 61 63 68 20 61 72 67 75 6d 65 6e 74 20 6d 61 79 20 62 65 20 61 20 6c 69 73 74 2c 20 76 65 63 | Each.argument.may.be.a.list,.vec |
| 2a3a0 | 74 6f 72 20 6f 72 20 73 74 72 69 6e 67 2e 0a 0a 20 20 20 20 20 41 6c 6c 20 61 72 67 75 6d 65 6e | tor.or.string........All.argumen |
| 2a3c0 | 74 73 20 65 78 63 65 70 74 20 74 68 65 20 6c 61 73 74 20 61 72 67 75 6d 65 6e 74 20 61 72 65 20 | ts.except.the.last.argument.are. |
| 2a3e0 | 63 6f 70 69 65 64 2e 20 20 54 68 65 20 6c 61 73 74 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 20 | copied...The.last......argument. |
| 2a400 | 69 73 20 6a 75 73 74 20 75 73 65 64 20 61 73 20 74 68 65 20 74 61 69 6c 20 6f 66 20 74 68 65 20 | is.just.used.as.the.tail.of.the. |
| 2a420 | 6e 65 77 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 63 61 74 20 27 28 | new.list.............(-concat.'( |
| 2a440 | 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 | 1))...................(1)....... |
| 2a460 | 20 20 20 20 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 20 27 28 32 29 29 0a 20 20 20 20 20 20 20 20 | ....(-concat.'(1).'(2))......... |
| 2a480 | 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 63 | ..........(1.2)...........(-conc |
| 2a4a0 | 61 74 20 27 28 31 29 20 27 28 32 20 33 29 20 27 28 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | at.'(1).'(2.3).'(4))............ |
| 2a4c0 | 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 | .......(1.2.3.4)...--.Function:. |
| 2a4e0 | 2d 66 6c 61 74 74 65 6e 20 28 6c 29 0a 20 20 20 20 20 54 61 6b 65 20 61 20 6e 65 73 74 65 64 20 | -flatten.(l)......Take.a.nested. |
| 2a500 | 6c 69 73 74 20 4c 20 61 6e 64 20 72 65 74 75 72 6e 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 20 61 | list.L.and.return.its.contents.a |
| 2a520 | 73 20 61 20 73 69 6e 67 6c 65 2c 20 66 6c 61 74 0a 20 20 20 20 20 6c 69 73 74 2e 0a 0a 20 20 20 | s.a.single,.flat......list...... |
| 2a540 | 20 20 4e 6f 74 65 20 74 68 61 74 20 62 65 63 61 75 73 65 20 e2 80 98 6e 69 6c e2 80 99 20 72 65 | ..Note.that.because....nil....re |
| 2a560 | 70 72 65 73 65 6e 74 73 20 61 20 6c 69 73 74 20 6f 66 20 7a 65 72 6f 20 65 6c 65 6d 65 6e 74 73 | presents.a.list.of.zero.elements |
| 2a580 | 20 28 61 6e 0a 20 20 20 20 20 65 6d 70 74 79 20 6c 69 73 74 29 2c 20 61 6e 79 20 6d 65 6e 74 69 | .(an......empty.list),.any.menti |
| 2a5a0 | 6f 6e 20 6f 66 20 e2 80 98 6e 69 6c e2 80 99 20 69 6e 20 4c 20 77 69 6c 6c 20 64 69 73 61 70 70 | on.of....nil....in.L.will.disapp |
| 2a5c0 | 65 61 72 20 61 66 74 65 72 0a 20 20 20 20 20 66 6c 61 74 74 65 6e 69 6e 67 2e 20 20 49 66 20 79 | ear.after......flattening...If.y |
| 2a5e0 | 6f 75 20 6e 65 65 64 20 74 6f 20 70 72 65 73 65 72 76 65 20 6e 69 6c 73 2c 20 63 6f 6e 73 69 64 | ou.need.to.preserve.nils,.consid |
| 2a600 | 65 72 20 e2 80 98 2d 66 6c 61 74 74 65 6e 2d 6e e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 | er....-flatten-n.........(*note. |
| 2a620 | 2d 66 6c 61 74 74 65 6e 2d 6e 3a 3a 29 20 6f 72 20 6d 61 70 20 74 68 65 6d 20 74 6f 20 73 6f 6d | -flatten-n::).or.map.them.to.som |
| 2a640 | 65 20 75 6e 69 71 75 65 20 73 79 6d 62 6f 6c 20 61 6e 64 20 74 68 65 6e 20 6d 61 70 0a 20 20 20 | e.unique.symbol.and.then.map.... |
| 2a660 | 20 20 74 68 65 6d 20 62 61 63 6b 2e 0a 0a 20 20 20 20 20 43 6f 6e 73 65 73 20 6f 66 20 74 77 6f | ..them.back........Conses.of.two |
| 2a680 | 20 61 74 6f 6d 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 22 74 65 72 6d 69 6e 61 6c 73 | .atoms.are.considered."terminals |
| 2a6a0 | 22 2c 20 74 68 61 74 20 69 73 2c 20 74 68 65 79 0a 20 20 20 20 20 61 72 65 6e e2 80 99 74 20 66 | ",.that.is,.they......aren...t.f |
| 2a6c0 | 6c 61 74 74 65 6e 65 64 20 66 75 72 74 68 65 72 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f | lattened.further........See.also |
| 2a6e0 | 3a 20 e2 80 98 2d 66 6c 61 74 74 65 6e 2d 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 6c 61 74 74 | :....-flatten-n....(*note.-flatt |
| 2a700 | 65 6e 2d 6e 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 20 27 28 28 | en-n::)............(-flatten.'(( |
| 2a720 | 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 | 1)))...................(1)...... |
| 2a740 | 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 20 27 28 28 31 20 28 32 20 33 29 20 28 28 28 34 20 28 | .....(-flatten.'((1.(2.3).(((4.( |
| 2a760 | 35 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 | 5)))))))...................(1.2. |
| 2a780 | 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 20 27 28 31 20 32 | 3.4.5)...........(-flatten.'(1.2 |
| 2a7a0 | 20 28 33 20 2e 20 34 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 | .(3...4)))...................(1. |
| 2a7c0 | 32 20 28 33 20 2e 20 34 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 6c 61 74 74 | 2.(3...4))...--.Function:.-flatt |
| 2a7e0 | 65 6e 2d 6e 20 28 6e 75 6d 20 6c 69 73 74 29 0a 20 20 20 20 20 46 6c 61 74 74 65 6e 20 4e 55 4d | en-n.(num.list)......Flatten.NUM |
| 2a800 | 20 6c 65 76 65 6c 73 20 6f 66 20 61 20 6e 65 73 74 65 64 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 | .levels.of.a.nested.LIST........ |
| 2a820 | 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 66 6c 61 74 74 65 6e e2 80 99 20 28 2a 6e 6f 74 65 20 | See.also:....-flatten....(*note. |
| 2a840 | 2d 66 6c 61 74 74 65 6e 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e | -flatten::)............(-flatten |
| 2a860 | 2d 6e 20 31 20 27 28 28 31 20 32 29 20 28 28 33 20 34 29 20 28 28 35 20 36 29 29 29 29 29 0a 20 | -n.1.'((1.2).((3.4).((5.6))))).. |
| 2a880 | 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 28 33 20 34 29 20 28 28 35 20 | .................(1.2.(3.4).((5. |
| 2a8a0 | 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 32 20 27 28 28 | 6)))...........(-flatten-n.2.'(( |
| 2a8c0 | 31 20 32 29 20 28 28 33 20 34 29 20 28 28 35 20 36 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 | 1.2).((3.4).((5.6))))).......... |
| 2a8e0 | 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 28 35 20 36 29 29 0a 20 20 20 20 20 20 20 | .........(1.2.3.4.(5.6))........ |
| 2a900 | 20 20 20 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 33 20 27 28 28 31 20 32 29 20 28 28 33 20 34 29 20 | ...(-flatten-n.3.'((1.2).((3.4). |
| 2a920 | 28 28 35 20 36 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 | ((5.6)))))...................(1. |
| 2a940 | 32 20 33 20 34 20 35 20 36 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 70 6c 61 | 2.3.4.5.6)...--.Function:.-repla |
| 2a960 | 63 65 20 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 70 6c 61 63 65 20 61 | ce.(old.new.list)......Replace.a |
| 2a980 | 6c 6c 20 4f 4c 44 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 77 69 74 68 20 4e 45 57 2e 0a 0a | ll.OLD.items.in.LIST.with.NEW... |
| 2a9a0 | 20 20 20 20 20 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 | .....Elements.are.compared.using |
| 2a9c0 | 20 e2 80 98 65 71 75 61 6c e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 | ....equal...........See.also:... |
| 2a9e0 | 98 2d 72 65 70 6c 61 63 65 2d 61 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 70 6c 61 63 65 2d | .-replace-at....(*note.-replace- |
| 2aa00 | 61 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 20 31 20 22 31 22 | at::)............(-replace.1."1" |
| 2aa20 | 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .'(1.2.3.4.3.2.1)).............. |
| 2aa40 | 20 e2 87 92 20 28 22 31 22 20 32 20 33 20 34 20 33 20 32 20 22 31 22 29 0a 20 20 20 20 20 20 20 | .....("1".2.3.4.3.2."1")........ |
| 2aa60 | 20 20 20 28 2d 72 65 70 6c 61 63 65 20 22 66 6f 6f 22 20 22 62 61 72 22 20 27 28 22 61 22 20 22 | ...(-replace."foo"."bar".'("a"." |
| 2aa80 | 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 | nice"."foo"."sentence"."about"." |
| 2aaa0 | 66 6f 6f 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 61 22 20 22 6e | foo"))...................("a"."n |
| 2aac0 | 69 63 65 22 20 22 62 61 72 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 62 | ice"."bar"."sentence"."about"."b |
| 2aae0 | 61 72 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 20 31 20 32 20 6e 69 6c | ar")...........(-replace.1.2.nil |
| 2ab00 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e | )...................nil...--.Fun |
| 2ab20 | 63 74 69 6f 6e 3a 20 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 28 6f 6c 64 20 6e 65 77 20 6c | ction:.-replace-first.(old.new.l |
| 2ab40 | 69 73 74 29 0a 20 20 20 20 20 52 65 70 6c 61 63 65 20 74 68 65 20 66 69 72 73 74 20 6f 63 63 75 | ist)......Replace.the.first.occu |
| 2ab60 | 72 72 65 6e 63 65 20 6f 66 20 4f 4c 44 20 77 69 74 68 20 4e 45 57 20 69 6e 20 4c 49 53 54 2e 0a | rrence.of.OLD.with.NEW.in.LIST.. |
| 2ab80 | 0a 20 20 20 20 20 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 75 73 69 6e | ......Elements.are.compared.usin |
| 2aba0 | 67 20 e2 80 98 65 71 75 61 6c e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 | g....equal...........See.also:.. |
| 2abc0 | 80 98 2d 6d 61 70 2d 66 69 72 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 2d 66 69 72 73 | ..-map-first....(*note.-map-firs |
| 2abe0 | 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 | t::)............(-replace-first. |
| 2ac00 | 31 20 22 31 22 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 | 1."1".'(1.2.3.4.3.2.1))......... |
| 2ac20 | 20 20 20 20 20 20 e2 87 92 20 28 22 31 22 20 32 20 33 20 34 20 33 20 32 20 31 29 0a 20 20 20 20 | ..........("1".2.3.4.3.2.1)..... |
| 2ac40 | 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 22 66 6f 6f 22 20 22 62 61 72 | ......(-replace-first."foo"."bar |
| 2ac60 | 22 20 27 28 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 65 6e 74 65 6e 63 65 22 20 | ".'("a"."nice"."foo"."sentence". |
| 2ac80 | 22 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 | "about"."foo"))................. |
| 2aca0 | 92 20 28 22 61 22 20 22 6e 69 63 65 22 20 22 62 61 72 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 | ..("a"."nice"."bar"."sentence"." |
| 2acc0 | 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 | about"."foo")...........(-replac |
| 2ace0 | 65 2d 66 69 72 73 74 20 31 20 32 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 | e-first.1.2.nil)................ |
| 2ad00 | 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 70 6c 61 63 65 2d 6c | ...nil...--.Function:.-replace-l |
| 2ad20 | 61 73 74 20 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 70 6c 61 63 65 20 | ast.(old.new.list)......Replace. |
| 2ad40 | 74 68 65 20 6c 61 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 4f 4c 44 20 77 69 74 68 20 | the.last.occurrence.of.OLD.with. |
| 2ad60 | 4e 45 57 20 69 6e 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 | NEW.in.LIST........Elements.are. |
| 2ad80 | 63 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 e2 80 98 65 71 75 61 6c e2 80 99 2e 0a 0a 20 20 20 | compared.using....equal......... |
| 2ada0 | 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 6d 61 70 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f | ..See.also:....-map-last....(*no |
| 2adc0 | 74 65 20 2d 6d 61 70 2d 6c 61 73 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 | te.-map-last::)............(-rep |
| 2ade0 | 6c 61 63 65 2d 6c 61 73 74 20 31 20 22 31 22 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 | lace-last.1."1".'(1.2.3.4.3.2.1) |
| 2ae00 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 33 20 32 | )...................(1.2.3.4.3.2 |
| 2ae20 | 20 22 31 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 22 | ."1")...........(-replace-last." |
| 2ae40 | 66 6f 6f 22 20 22 62 61 72 22 20 27 28 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 | foo"."bar".'("a"."nice"."foo"."s |
| 2ae60 | 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 29 0a 20 20 20 20 20 20 20 | entence"."about"."foo"))........ |
| 2ae80 | 20 20 20 20 20 20 20 e2 87 92 20 28 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 65 | ...........("a"."nice"."foo"."se |
| 2aea0 | 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 62 61 72 22 29 0a 20 20 20 20 20 20 20 20 20 | ntence"."about"."bar").......... |
| 2aec0 | 20 28 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 31 20 32 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 | .(-replace-last.1.2.nil)........ |
| 2aee0 | 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 | ...........nil...--.Function:.-i |
| 2af00 | 6e 73 65 72 74 2d 61 74 20 28 6e 20 78 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 | nsert-at.(n.x.list)......Return. |
| 2af20 | 61 20 6c 69 73 74 20 77 69 74 68 20 58 20 69 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 4c 49 53 54 | a.list.with.X.inserted.into.LIST |
| 2af40 | 20 61 74 20 70 6f 73 69 74 69 6f 6e 20 4e 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 | .at.position.N........See.also:. |
| 2af60 | e2 80 98 2d 73 70 6c 69 63 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 70 6c 69 63 65 3a 3a 29 2c | ...-splice....(*note.-splice::), |
| 2af80 | 20 e2 80 98 2d 73 70 6c 69 63 65 2d 6c 69 73 74 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 | ....-splice-list....(*note...... |
| 2afa0 | 2d 73 70 6c 69 63 65 2d 6c 69 73 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 73 | -splice-list::)............(-ins |
| 2afc0 | 65 72 74 2d 61 74 20 31 20 27 78 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ert-at.1.'x.'(a.b.c))........... |
| 2afe0 | 20 20 20 20 e2 87 92 20 28 61 20 78 20 62 20 63 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e | ........(a.x.b.c)...........(-in |
| 2b000 | 73 65 72 74 2d 61 74 20 31 32 20 27 78 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 | sert-at.12.'x.'(a.b.c))......... |
| 2b020 | 20 20 20 20 20 20 e2 87 92 20 28 61 20 62 20 63 20 78 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f | ..........(a.b.c.x)...--.Functio |
| 2b040 | 6e 3a 20 2d 72 65 70 6c 61 63 65 2d 61 74 20 28 6e 20 78 20 6c 69 73 74 29 0a 20 20 20 20 20 52 | n:.-replace-at.(n.x.list)......R |
| 2b060 | 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 65 6c 65 6d 65 6e 74 20 61 74 20 4e 74 68 | eturn.a.list.with.element.at.Nth |
| 2b080 | 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 4c 49 53 54 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 | .position.in.LIST.replaced.with. |
| 2b0a0 | 58 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 72 65 70 6c 61 63 65 e2 80 | X........See.also:....-replace.. |
| 2b0c0 | 99 20 28 2a 6e 6f 74 65 20 2d 72 65 70 6c 61 63 65 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 | ..(*note.-replace::)............ |
| 2b0e0 | 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 30 20 39 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 | (-replace-at.0.9.'(0.1.2.3.4.5)) |
| 2b100 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 39 20 31 20 32 20 33 20 34 20 35 29 | ...................(9.1.2.3.4.5) |
| 2b120 | 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 31 20 39 20 27 28 30 20 | ...........(-replace-at.1.9.'(0. |
| 2b140 | 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 | 1.2.3.4.5))...................(0 |
| 2b160 | 20 39 20 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d | .9.2.3.4.5)...........(-replace- |
| 2b180 | 61 74 20 34 20 39 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 | at.4.9.'(0.1.2.3.4.5)).......... |
| 2b1a0 | 20 20 20 20 20 e2 87 92 20 28 30 20 31 20 32 20 33 20 39 20 35 29 0a 0a 20 2d 2d 20 46 75 6e 63 | .........(0.1.2.3.9.5)...--.Func |
| 2b1c0 | 74 69 6f 6e 3a 20 2d 75 70 64 61 74 65 2d 61 74 20 28 6e 20 66 75 6e 63 20 6c 69 73 74 29 0a 20 | tion:.-update-at.(n.func.list).. |
| 2b1e0 | 20 20 20 20 55 73 65 20 46 55 4e 43 20 74 6f 20 75 70 64 61 74 65 20 74 68 65 20 4e 74 68 20 65 | ....Use.FUNC.to.update.the.Nth.e |
| 2b200 | 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f | lement.of.LIST...Return.a.copy.o |
| 2b220 | 66 20 4c 49 53 54 0a 20 20 20 20 20 77 68 65 72 65 20 74 68 65 20 4e 74 68 20 65 6c 65 6d 65 6e | f.LIST......where.the.Nth.elemen |
| 2b240 | 74 20 69 73 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 | t.is.replaced.with.the.result.of |
| 2b260 | 20 63 61 6c 6c 69 6e 67 20 46 55 4e 43 0a 20 20 20 20 20 6f 6e 20 69 74 2e 0a 0a 20 20 20 20 20 | .calling.FUNC......on.it........ |
| 2b280 | 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 6d 61 70 2d 77 68 65 6e e2 80 99 20 28 2a 6e 6f 74 65 | See.also:....-map-when....(*note |
| 2b2a0 | 20 2d 6d 61 70 2d 77 68 65 6e 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 70 64 61 74 | .-map-when::)............(-updat |
| 2b2c0 | 65 2d 61 74 20 30 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2b 20 78 20 39 29 29 20 27 28 30 20 | e-at.0.(lambda.(x).(+.x.9)).'(0. |
| 2b2e0 | 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 39 | 1.2.3.4.5))...................(9 |
| 2b300 | 20 31 20 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 70 64 61 74 65 2d 61 | .1.2.3.4.5)...........(-update-a |
| 2b320 | 74 20 31 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2b 20 78 20 38 29 29 20 27 28 30 20 31 20 32 | t.1.(lambda.(x).(+.x.8)).'(0.1.2 |
| 2b340 | 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 39 20 | .3.4.5))...................(0.9. |
| 2b360 | 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 75 70 64 61 74 65 2d 61 74 20 | 2.3.4.5)...........(--update-at. |
| 2b380 | 32 20 28 6c 65 6e 67 74 68 20 69 74 29 20 27 28 22 66 6f 6f 22 20 22 62 61 72 22 20 22 62 61 7a | 2.(length.it).'("foo"."bar"."baz |
| 2b3a0 | 22 20 22 71 75 75 78 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 66 | "."quux"))...................("f |
| 2b3c0 | 6f 6f 22 20 22 62 61 72 22 20 33 20 22 71 75 75 78 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f | oo"."bar".3."quux")...--.Functio |
| 2b3e0 | 6e 3a 20 2d 72 65 6d 6f 76 65 2d 61 74 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 | n:.-remove-at.(n.list)......Retu |
| 2b400 | 72 6e 20 4c 49 53 54 20 77 69 74 68 20 69 74 73 20 65 6c 65 6d 65 6e 74 20 61 74 20 69 6e 64 65 | rn.LIST.with.its.element.at.inde |
| 2b420 | 78 20 4e 20 72 65 6d 6f 76 65 64 2e 20 20 54 68 61 74 20 69 73 2c 20 72 65 6d 6f 76 65 0a 20 20 | x.N.removed...That.is,.remove... |
| 2b440 | 20 20 20 61 6e 79 20 65 6c 65 6d 65 6e 74 20 73 65 6c 65 63 74 65 64 20 61 73 20 28 6e 74 68 20 | ...any.element.selected.as.(nth. |
| 2b460 | 4e 20 4c 49 53 54 29 20 66 72 6f 6d 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 | N.LIST).from.LIST.and.return.the |
| 2b480 | 0a 20 20 20 20 20 72 65 73 75 6c 74 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 61 20 6e 6f | ......result........This.is.a.no |
| 2b4a0 | 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 3a 20 70 61 72 74 73 20 6f | n-destructive.operation:.parts.o |
| 2b4c0 | 66 20 4c 49 53 54 20 28 62 75 74 20 6e 6f 74 0a 20 20 20 20 20 6e 65 63 65 73 73 61 72 69 6c 79 | f.LIST.(but.not......necessarily |
| 2b4e0 | 20 61 6c 6c 20 6f 66 20 69 74 29 20 61 72 65 20 63 6f 70 69 65 64 20 61 73 20 6e 65 65 64 65 64 | .all.of.it).are.copied.as.needed |
| 2b500 | 20 74 6f 20 61 76 6f 69 64 20 64 65 73 74 72 75 63 74 69 76 65 6c 79 0a 20 20 20 20 20 6d 6f 64 | .to.avoid.destructively......mod |
| 2b520 | 69 66 79 69 6e 67 20 69 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 72 | ifying.it........See.also:....-r |
| 2b540 | 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 6d 6f | emove-at-indices....(*note.-remo |
| 2b560 | 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 3a 3a 29 2c 0a 20 20 20 20 20 e2 80 98 2d 72 65 6d 6f 76 | ve-at-indices::),.........-remov |
| 2b580 | 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 6d 6f 76 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 | e....(*note.-remove::).......... |
| 2b5a0 | 20 20 20 28 2d 72 65 6d 6f 76 65 2d 61 74 20 30 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 | ...(-remove-at.0.'(a.b.c))...... |
| 2b5c0 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 62 20 63 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 | .............(b.c)...........(-r |
| 2b5e0 | 65 6d 6f 76 65 2d 61 74 20 31 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | emove-at.1.'(a.b.c))............ |
| 2b600 | 20 20 20 e2 87 92 20 28 61 20 63 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d | .......(a.c)...........(-remove- |
| 2b620 | 61 74 20 32 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 | at.2.'(a.b.c)).................. |
| 2b640 | 20 28 61 20 62 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 6d 6f 76 65 2d 61 74 | .(a.b)...--.Function:.-remove-at |
| 2b660 | 2d 69 6e 64 69 63 65 73 20 28 69 6e 64 69 63 65 73 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 | -indices.(indices.list)......Ret |
| 2b680 | 75 72 6e 20 4c 49 53 54 20 77 69 74 68 20 69 74 73 20 65 6c 65 6d 65 6e 74 73 20 61 74 20 49 4e | urn.LIST.with.its.elements.at.IN |
| 2b6a0 | 44 49 43 45 53 20 72 65 6d 6f 76 65 64 2e 20 20 54 68 61 74 20 69 73 2c 20 66 6f 72 0a 20 20 20 | DICES.removed...That.is,.for.... |
| 2b6c0 | 20 20 65 61 63 68 20 69 6e 64 65 78 20 49 20 69 6e 20 49 4e 44 49 43 45 53 2c 20 72 65 6d 6f 76 | ..each.index.I.in.INDICES,.remov |
| 2b6e0 | 65 20 61 6e 79 20 65 6c 65 6d 65 6e 74 20 73 65 6c 65 63 74 65 64 20 61 73 20 28 6e 74 68 20 49 | e.any.element.selected.as.(nth.I |
| 2b700 | 0a 20 20 20 20 20 4c 49 53 54 29 20 66 72 6f 6d 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 54 68 69 | ......LIST).from.LIST........Thi |
| 2b720 | 73 20 69 73 20 61 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e | s.is.a.non-destructive.operation |
| 2b740 | 3a 20 70 61 72 74 73 20 6f 66 20 4c 49 53 54 20 28 62 75 74 20 6e 6f 74 0a 20 20 20 20 20 6e 65 | :.parts.of.LIST.(but.not......ne |
| 2b760 | 63 65 73 73 61 72 69 6c 79 20 61 6c 6c 20 6f 66 20 69 74 29 20 61 72 65 20 63 6f 70 69 65 64 20 | cessarily.all.of.it).are.copied. |
| 2b780 | 61 73 20 6e 65 65 64 65 64 20 74 6f 20 61 76 6f 69 64 20 64 65 73 74 72 75 63 74 69 76 65 6c 79 | as.needed.to.avoid.destructively |
| 2b7a0 | 0a 20 20 20 20 20 6d 6f 64 69 66 79 69 6e 67 20 69 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c | ......modifying.it........See.al |
| 2b7c0 | 73 6f 3a 20 e2 80 98 2d 72 65 6d 6f 76 65 2d 61 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 6d | so:....-remove-at....(*note.-rem |
| 2b7e0 | 6f 76 65 2d 61 74 3a 3a 29 2c 20 e2 80 98 2d 72 65 6d 6f 76 65 e2 80 99 20 28 2a 6e 6f 74 65 0a | ove-at::),....-remove....(*note. |
| 2b800 | 20 20 20 20 20 2d 72 65 6d 6f 76 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 | .....-remove::).............(-re |
| 2b820 | 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 27 28 30 29 20 27 28 61 20 62 20 63 20 64 20 65 | move-at-indices.'(0).'(a.b.c.d.e |
| 2b840 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 62 20 63 20 64 20 65 29 0a 20 | ))...................(b.c.d.e).. |
| 2b860 | 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 27 28 31 | .........(-remove-at-indices.'(1 |
| 2b880 | 20 33 29 20 27 28 61 20 62 20 63 20 64 20 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .3).'(a.b.c.d.e))............... |
| 2b8a0 | e2 87 92 20 28 61 20 63 20 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 61 | ....(a.c.e)...........(-remove-a |
| 2b8c0 | 74 2d 69 6e 64 69 63 65 73 20 27 28 34 20 30 20 32 29 20 27 28 61 20 62 20 63 20 64 20 65 29 29 | t-indices.'(4.0.2).'(a.b.c.d.e)) |
| 2b8e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 62 20 64 29 0a 0a 1f 0a 46 69 6c 65 | ...................(b.d)....File |
| 2b900 | 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 52 65 64 75 63 74 69 6f 6e 73 2c 20 | :.dash.info,..Node:.Reductions,. |
| 2b920 | 20 4e 65 78 74 3a 20 55 6e 66 6f 6c 64 69 6e 67 2c 20 20 50 72 65 76 3a 20 4c 69 73 74 20 74 6f | .Next:.Unfolding,..Prev:.List.to |
| 2b940 | 20 6c 69 73 74 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 34 20 52 65 64 75 63 | .list,..Up:.Functions..2.4.Reduc |
| 2b960 | 74 69 6f 6e 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 | tions.==============..Functions. |
| 2b980 | 72 65 64 75 63 69 6e 67 20 6c 69 73 74 73 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 | reducing.lists.to.a.single.value |
| 2b9a0 | 20 28 77 68 69 63 68 20 6d 61 79 20 61 6c 73 6f 20 62 65 20 61 20 6c 69 73 74 29 2e 0a 0a 20 2d | .(which.may.also.be.a.list)....- |
| 2b9c0 | 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 | -.Function:.-reduce-from.(fn.ini |
| 2b9e0 | 74 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e | t.list)......Reduce.the.function |
| 2ba00 | 20 46 4e 20 61 63 72 6f 73 73 20 4c 49 53 54 2c 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 49 | .FN.across.LIST,.starting.with.I |
| 2ba20 | 4e 49 54 2e 20 20 52 65 74 75 72 6e 20 74 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 20 6f 66 20 | NIT...Return.the......result.of. |
| 2ba40 | 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 49 4e 49 54 20 61 6e 64 20 74 68 65 20 66 69 72 73 | applying.FN.to.INIT.and.the.firs |
| 2ba60 | 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2c 20 74 68 65 6e 0a 20 20 20 20 20 61 70 70 | t.element.of.LIST,.then......app |
| 2ba80 | 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 61 74 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 65 20 | lying.FN.to.that.result.and.the. |
| 2baa0 | 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 2c 20 65 74 63 2e 20 20 49 66 20 4c 49 53 54 20 69 73 | second.element,.etc...If.LIST.is |
| 2bac0 | 0a 20 20 20 20 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 49 4e 49 54 20 77 69 74 68 6f 75 74 | ......empty,.return.INIT.without |
| 2bae0 | 20 63 61 6c 6c 69 6e 67 20 46 4e 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e | .calling.FN........This.function |
| 2bb00 | e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 | ...s.anaphoric.counterpart.is... |
| 2bb20 | 98 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 6f 74 68 | .--reduce-from...........For.oth |
| 2bb40 | 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 72 65 64 75 63 65 e2 80 99 | er.folds,.see.also....-reduce... |
| 2bb60 | 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 3a 3a 29 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 2d | .(*note.-reduce::).and.........- |
| 2bb80 | 72 65 64 75 63 65 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 3a 3a 29 2e | reduce-r....(*note.-reduce-r::). |
| 2bba0 | 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 23 27 2d 20 31 30 | ............(-reduce-from.#'-.10 |
| 2bbc0 | 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 34 0a 20 | .'(1.2.3))...................4.. |
| 2bbe0 | 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 23 27 6c 69 73 74 20 31 30 | .........(-reduce-from.#'list.10 |
| 2bc00 | 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 28 | .'(1.2.3))...................((( |
| 2bc20 | 31 30 20 31 29 20 32 29 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d | 10.1).2).3)...........(--reduce- |
| 2bc40 | 66 72 6f 6d 20 28 63 6f 6e 63 61 74 20 61 63 63 20 22 20 22 20 69 74 29 20 22 53 54 41 52 54 22 | from.(concat.acc.".".it)."START" |
| 2bc60 | 20 27 28 22 61 22 20 22 62 22 20 22 63 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 | .'("a"."b"."c"))................ |
| 2bc80 | 87 92 20 22 53 54 41 52 54 20 61 20 62 20 63 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 | ..."START.a.b.c"...--.Function:. |
| 2bca0 | 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 | -reduce-r-from.(fn.init.list)... |
| 2bcc0 | 20 20 20 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 61 63 72 6f 73 73 | ...Reduce.the.function.FN.across |
| 2bce0 | 20 4c 49 53 54 20 69 6e 20 72 65 76 65 72 73 65 2c 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 | .LIST.in.reverse,.starting.with. |
| 2bd00 | 49 4e 49 54 2e 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 | INIT.......Return.the.result.of. |
| 2bd20 | 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 65 20 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 | applying.FN.to.the.last.element. |
| 2bd40 | 6f 66 20 4c 49 53 54 20 61 6e 64 0a 20 20 20 20 20 49 4e 49 54 2c 20 74 68 65 6e 20 61 70 70 6c | of.LIST.and......INIT,.then.appl |
| 2bd60 | 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 65 20 73 65 63 6f 6e 64 2d 74 6f 2d 6c 61 73 74 20 65 6c | ying.FN.to.the.second-to-last.el |
| 2bd80 | 65 6d 65 6e 74 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 70 72 65 76 69 6f 75 73 20 72 65 73 75 | ement.and.the......previous.resu |
| 2bda0 | 6c 74 20 6f 66 20 46 4e 2c 20 65 74 63 2e 20 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 66 69 72 | lt.of.FN,.etc...That.is,.the.fir |
| 2bdc0 | 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 46 4e 20 69 73 0a 20 20 20 20 20 74 68 65 20 63 75 | st.argument.of.FN.is......the.cu |
| 2bde0 | 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 2c 20 61 6e 64 20 69 74 73 20 73 65 63 6f 6e 64 20 61 72 | rrent.element,.and.its.second.ar |
| 2be00 | 67 75 6d 65 6e 74 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 65 64 20 76 61 6c 75 65 2e 0a 20 20 | gument.the.accumulated.value.... |
| 2be20 | 20 20 20 49 66 20 4c 49 53 54 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 49 4e 49 54 | ...If.LIST.is.empty,.return.INIT |
| 2be40 | 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 46 4e 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 | .without.calling.FN........This. |
| 2be60 | 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 e2 80 98 2d 72 65 64 75 63 65 2d 66 72 6f 6d | function.is.like....-reduce-from |
| 2be80 | e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 66 72 6f 6d 3a 3a 29 20 62 75 74 20 74 | ....(*note.-reduce-from::).but.t |
| 2bea0 | 68 65 0a 20 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 20 61 73 73 6f 63 69 61 74 65 73 20 66 72 6f | he......operation.associates.fro |
| 2bec0 | 6d 20 74 68 65 20 72 69 67 68 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 6c 65 66 74 2e 20 20 49 | m.the.right.rather.than.left...I |
| 2bee0 | 6e 20 6f 74 68 65 72 0a 20 20 20 20 20 77 6f 72 64 73 2c 20 69 74 20 73 74 61 72 74 73 20 66 72 | n.other......words,.it.starts.fr |
| 2bf00 | 6f 6d 20 74 68 65 20 65 6e 64 20 6f 66 20 4c 49 53 54 20 61 6e 64 20 66 6c 69 70 73 20 74 68 65 | om.the.end.of.LIST.and.flips.the |
| 2bf20 | 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 0a 20 20 20 20 20 46 4e 2e 20 20 43 6f 6e 63 65 70 74 75 | .arguments.to......FN...Conceptu |
| 2bf40 | 61 6c 6c 79 2c 20 69 74 20 69 73 20 6c 69 6b 65 20 72 65 70 6c 61 63 69 6e 67 20 74 68 65 20 63 | ally,.it.is.like.replacing.the.c |
| 2bf60 | 6f 6e 73 65 73 20 69 6e 20 4c 49 53 54 20 77 69 74 68 0a 20 20 20 20 20 61 70 70 6c 69 63 61 74 | onses.in.LIST.with......applicat |
| 2bf80 | 69 6f 6e 73 20 6f 66 20 46 4e 2c 20 61 6e 64 20 69 74 73 20 6c 61 73 74 20 6c 69 6e 6b 20 77 69 | ions.of.FN,.and.its.last.link.wi |
| 2bfa0 | 74 68 20 49 4e 49 54 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6e 67 20 74 68 65 0a 20 20 20 20 | th.INIT,.and.evaluating.the..... |
| 2bfc0 | 20 72 65 73 75 6c 74 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 20 20 20 20 20 54 68 69 | .resulting.expression........Thi |
| 2bfe0 | 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 | s.function...s.anaphoric.counter |
| 2c000 | 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d e2 80 99 2e 0a 0a | part.is....--reduce-r-from...... |
| 2c020 | 20 20 20 20 20 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 e2 | .....For.other.folds,.see.also.. |
| 2c040 | 80 98 2d 72 65 64 75 63 65 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 3a | ..-reduce-r....(*note.-reduce-r: |
| 2c060 | 3a 29 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 2d 72 65 64 75 63 65 e2 80 99 20 28 2a 6e 6f 74 65 | :).and.........-reduce....(*note |
| 2c080 | 20 2d 72 65 64 75 63 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 65 | .-reduce::).............(-reduce |
| 2c0a0 | 2d 72 2d 66 72 6f 6d 20 23 27 2d 20 31 30 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 | -r-from.#'-.10.'(1.2.3))........ |
| 2c0c0 | 20 20 20 20 20 20 20 e2 87 92 20 2d 38 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 65 | ...........-8...........(-reduce |
| 2c0e0 | 2d 72 2d 66 72 6f 6d 20 23 27 6c 69 73 74 20 31 30 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 | -r-from.#'list.10.'(1.2.3))..... |
| 2c100 | 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 28 32 20 28 33 20 31 30 29 29 29 0a 20 20 20 | ..............(1.(2.(3.10))).... |
| 2c120 | 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 28 63 6f 6e 63 61 74 20 | .......(--reduce-r-from.(concat. |
| 2c140 | 69 74 20 22 20 22 20 61 63 63 29 20 22 45 4e 44 22 20 27 28 22 61 22 20 22 62 22 20 22 63 22 29 | it.".".acc)."END".'("a"."b"."c") |
| 2c160 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 61 20 62 20 63 20 45 4e 44 22 0a | )..................."a.b.c.END". |
| 2c180 | 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 64 75 63 65 20 28 66 6e 20 6c 69 73 74 29 | ..--.Function:.-reduce.(fn.list) |
| 2c1a0 | 0a 20 20 20 20 20 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 61 63 72 | ......Reduce.the.function.FN.acr |
| 2c1c0 | 6f 73 73 20 4c 49 53 54 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 | oss.LIST...Return.the.result.of. |
| 2c1e0 | 61 70 70 6c 79 69 6e 67 0a 20 20 20 20 20 46 4e 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 74 77 | applying......FN.to.the.first.tw |
| 2c200 | 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e | o.elements.of.LIST,.then.applyin |
| 2c220 | 67 20 46 4e 20 74 6f 20 74 68 61 74 0a 20 20 20 20 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 65 | g.FN.to.that......result.and.the |
| 2c240 | 20 74 68 69 72 64 20 65 6c 65 6d 65 6e 74 2c 20 65 74 63 2e 20 20 49 66 20 4c 49 53 54 20 63 6f | .third.element,.etc...If.LIST.co |
| 2c260 | 6e 74 61 69 6e 73 20 61 20 73 69 6e 67 6c 65 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 2c 20 72 65 | ntains.a.single......element,.re |
| 2c280 | 74 75 72 6e 20 69 74 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 46 4e 2e 20 20 49 66 20 | turn.it.without.calling.FN...If. |
| 2c2a0 | 4c 49 53 54 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 0a 20 20 20 20 20 74 68 65 20 72 | LIST.is.empty,.return......the.r |
| 2c2c0 | 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 46 4e 20 77 69 74 68 20 6e 6f 20 61 72 67 75 | esult.of.calling.FN.with.no.argu |
| 2c2e0 | 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 | ments........This.function...s.a |
| 2c300 | 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 72 65 64 | naphoric.counterpart.is....--red |
| 2c320 | 75 63 65 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 | uce...........For.other.folds,.s |
| 2c340 | 65 65 20 61 6c 73 6f 20 e2 80 98 2d 72 65 64 75 63 65 2d 66 72 6f 6d e2 80 99 20 28 2a 6e 6f 74 | ee.also....-reduce-from....(*not |
| 2c360 | 65 20 2d 72 65 64 75 63 65 2d 66 72 6f 6d 3a 3a 29 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 2d 72 | e.-reduce-from::).and.........-r |
| 2c380 | 65 64 75 63 65 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 3a 3a 29 2e 0a | educe-r....(*note.-reduce-r::).. |
| 2c3a0 | 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 65 20 23 27 2d 20 27 28 31 20 32 20 33 20 | ...........(-reduce.#'-.'(1.2.3. |
| 2c3c0 | 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 2d 38 0a 20 20 20 20 20 20 20 | 4))...................-8........ |
| 2c3e0 | 20 20 20 28 2d 72 65 64 75 63 65 20 23 27 6c 69 73 74 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 | ...(-reduce.#'list.'(1.2.3.4)).. |
| 2c400 | 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 28 31 20 32 29 20 33 29 20 34 29 0a 20 | .................(((1.2).3).4).. |
| 2c420 | 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 20 28 66 6f 72 6d 61 74 20 22 25 73 2d 25 | .........(--reduce.(format."%s-% |
| 2c440 | 64 22 20 61 63 63 20 69 74 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | d".acc.it).'(1.2.3))............ |
| 2c460 | 20 20 20 e2 87 92 20 22 31 2d 32 2d 33 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 | ......."1-2-3"...--.Function:.-r |
| 2c480 | 65 64 75 63 65 2d 72 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 64 75 63 65 20 74 68 | educe-r.(fn.list)......Reduce.th |
| 2c4a0 | 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 61 63 72 6f 73 73 20 4c 49 53 54 20 69 6e 20 72 65 76 | e.function.FN.across.LIST.in.rev |
| 2c4c0 | 65 72 73 65 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 6f 66 | erse...Return.the.result......of |
| 2c4e0 | 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 65 20 6c 61 73 74 20 74 77 6f 20 65 6c 65 | .applying.FN.to.the.last.two.ele |
| 2c500 | 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 46 4e 0a | ments.of.LIST,.then.applying.FN. |
| 2c520 | 20 20 20 20 20 74 6f 20 74 68 65 20 74 68 69 72 64 2d 74 6f 2d 6c 61 73 74 20 65 6c 65 6d 65 6e | .....to.the.third-to-last.elemen |
| 2c540 | 74 20 61 6e 64 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 72 65 73 75 6c 74 20 6f 66 20 46 4e 2c | t.and.the.previous.result.of.FN, |
| 2c560 | 20 65 74 63 2e 0a 20 20 20 20 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 66 69 72 73 74 20 61 72 | .etc.......That.is,.the.first.ar |
| 2c580 | 67 75 6d 65 6e 74 20 6f 66 20 46 4e 20 69 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d | gument.of.FN.is.the.current.elem |
| 2c5a0 | 65 6e 74 2c 20 61 6e 64 20 69 74 73 0a 20 20 20 20 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e | ent,.and.its......second.argumen |
| 2c5c0 | 74 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 65 64 20 76 61 6c 75 65 2e 20 20 49 66 20 4c 49 53 | t.the.accumulated.value...If.LIS |
| 2c5e0 | 54 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 69 6e 67 6c 65 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 | T.contains.a.single......element |
| 2c600 | 2c 20 72 65 74 75 72 6e 20 69 74 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 46 4e 2e 20 | ,.return.it.without.calling.FN.. |
| 2c620 | 20 49 66 20 4c 49 53 54 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 0a 20 20 20 20 20 74 | .If.LIST.is.empty,.return......t |
| 2c640 | 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 46 4e 20 77 69 74 68 20 6e 6f 20 | he.result.of.calling.FN.with.no. |
| 2c660 | 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 | arguments........This.function.i |
| 2c680 | 73 20 6c 69 6b 65 20 e2 80 98 2d 72 65 64 75 63 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 | s.like....-reduce....(*note.-red |
| 2c6a0 | 75 63 65 3a 3a 29 20 62 75 74 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 0a 20 20 20 20 20 61 73 | uce::).but.the.operation......as |
| 2c6c0 | 73 6f 63 69 61 74 65 73 20 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 20 72 61 74 68 65 72 20 74 | sociates.from.the.right.rather.t |
| 2c6e0 | 68 61 6e 20 6c 65 66 74 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 69 74 0a 20 20 | han.left...In.other.words,.it... |
| 2c700 | 20 20 20 73 74 61 72 74 73 20 66 72 6f 6d 20 74 68 65 20 65 6e 64 20 6f 66 20 4c 49 53 54 20 61 | ...starts.from.the.end.of.LIST.a |
| 2c720 | 6e 64 20 66 6c 69 70 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 46 4e 2e 0a 20 20 | nd.flips.the.arguments.to.FN.... |
| 2c740 | 20 20 20 43 6f 6e 63 65 70 74 75 61 6c 6c 79 2c 20 69 74 20 69 73 20 6c 69 6b 65 20 72 65 70 6c | ...Conceptually,.it.is.like.repl |
| 2c760 | 61 63 69 6e 67 20 74 68 65 20 63 6f 6e 73 65 73 20 69 6e 20 4c 49 53 54 20 77 69 74 68 0a 20 20 | acing.the.conses.in.LIST.with... |
| 2c780 | 20 20 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 46 4e 2c 20 69 67 6e 6f 72 69 6e 67 20 | ...applications.of.FN,.ignoring. |
| 2c7a0 | 69 74 73 20 6c 61 73 74 20 6c 69 6e 6b 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6e 67 20 74 68 | its.last.link,.and.evaluating.th |
| 2c7c0 | 65 0a 20 20 20 20 20 72 65 73 75 6c 74 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 20 20 | e......resulting.expression..... |
| 2c7e0 | 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 | ...This.function...s.anaphoric.c |
| 2c800 | 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 72 65 64 75 63 65 2d 72 e2 80 99 2e 0a | ounterpart.is....--reduce-r..... |
| 2c820 | 0a 20 20 20 20 20 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 | ......For.other.folds,.see.also. |
| 2c840 | e2 80 98 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 | ...-reduce-r-from....(*note.-red |
| 2c860 | 75 63 65 2d 72 2d 66 72 6f 6d 3a 3a 29 0a 20 20 20 20 20 61 6e 64 20 e2 80 98 2d 72 65 64 75 63 | uce-r-from::)......and....-reduc |
| 2c880 | 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 | e....(*note.-reduce::).......... |
| 2c8a0 | 20 20 20 28 2d 72 65 64 75 63 65 2d 72 20 23 27 2d 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 | ...(-reduce-r.#'-.'(1.2.3.4))... |
| 2c8c0 | 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 2d 32 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 | ................-2...........(-r |
| 2c8e0 | 65 64 75 63 65 2d 72 20 23 27 6c 69 73 74 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 | educe-r.#'list.'(1.2.3.4))...... |
| 2c900 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 28 32 20 28 33 20 34 29 29 29 0a 20 20 20 20 20 | .............(1.(2.(3.4)))...... |
| 2c920 | 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 72 20 28 66 6f 72 6d 61 74 20 22 25 73 2d 25 64 22 | .....(--reduce-r.(format."%s-%d" |
| 2c940 | 20 61 63 63 20 69 74 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .acc.it).'(1.2.3)).............. |
| 2c960 | 20 e2 87 92 20 22 33 2d 32 2d 31 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 64 | ....."3-2-1"...--.Function:.-red |
| 2c980 | 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 20 20 | uctions-from.(fn.init.list)..... |
| 2c9a0 | 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 4e e2 80 99 73 20 69 6e 74 65 72 6d 65 | .Return.a.list.of.FN...s.interme |
| 2c9c0 | 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 4c 49 53 54 2e 20 20 54 | diate.reductions.across.LIST...T |
| 2c9e0 | 68 61 74 0a 20 20 20 20 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 | hat......is,.a.list.of.the.inter |
| 2ca00 | 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f | mediate.values.of.the.accumulato |
| 2ca20 | 72 20 77 68 65 6e 0a 20 20 20 20 20 e2 80 98 2d 72 65 64 75 63 65 2d 66 72 6f 6d e2 80 99 20 28 | r.when.........-reduce-from....( |
| 2ca40 | 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 66 72 6f 6d 3a 3a 29 20 28 77 68 69 63 68 20 73 65 65 | *note.-reduce-from::).(which.see |
| 2ca60 | 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 0a 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 61 | ).is.called.with......the.same.a |
| 2ca80 | 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 | rguments........This.function... |
| 2caa0 | 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d | s.anaphoric.counterpart.is....-- |
| 2cac0 | 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 6f 74 | reductions-from...........For.ot |
| 2cae0 | 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 72 65 64 75 63 74 69 6f | her.folds,.see.also....-reductio |
| 2cb00 | 6e 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 74 69 6f 6e 73 3a 3a 29 20 61 6e 64 0a | ns....(*note.-reductions::).and. |
| 2cb20 | 20 20 20 20 20 e2 80 98 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 | ........-reductions-r....(*note. |
| 2cb40 | 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 | -reductions-r::).............(-r |
| 2cb60 | 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 23 27 6d 61 78 20 30 20 27 28 32 20 31 20 34 20 33 | eductions-from.#'max.0.'(2.1.4.3 |
| 2cb80 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 32 20 32 20 34 20 34 29 | ))...................(0.2.2.4.4) |
| 2cba0 | 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 23 27 2a | ...........(-reductions-from.#'* |
| 2cbc0 | 20 31 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 | .1.'(1.2.3.4)).................. |
| 2cbe0 | 20 28 31 20 31 20 32 20 36 20 32 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 | .(1.1.2.6.24)...........(--reduc |
| 2cc00 | 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 6f 72 6d 61 74 20 22 28 46 4e 20 25 73 20 25 64 29 22 20 | tions-from.(format."(FN.%s.%d)". |
| 2cc20 | 61 63 63 20 69 74 29 20 22 49 4e 49 54 22 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 | acc.it)."INIT".'(1.2.3))........ |
| 2cc40 | 20 20 20 20 20 20 20 e2 87 92 20 28 22 49 4e 49 54 22 20 22 28 46 4e 20 49 4e 49 54 20 31 29 22 | ...........("INIT"."(FN.INIT.1)" |
| 2cc60 | 20 22 28 46 4e 20 28 46 4e 20 49 4e 49 54 20 31 29 20 32 29 22 20 22 28 46 4e 20 28 46 4e 20 28 | ."(FN.(FN.INIT.1).2)"."(FN.(FN.( |
| 2cc80 | 46 4e 20 49 4e 49 54 20 31 29 20 32 29 20 33 29 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e | FN.INIT.1).2).3)")...--.Function |
| 2cca0 | 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 20 6c 69 | :.-reductions-r-from.(fn.init.li |
| 2ccc0 | 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 4e e2 80 99 73 | st)......Return.a.list.of.FN...s |
| 2cce0 | 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 | .intermediate.reductions.across. |
| 2cd00 | 72 65 76 65 72 73 65 64 20 4c 49 53 54 2e 0a 20 20 20 20 20 54 68 61 74 20 69 73 2c 20 61 20 6c | reversed.LIST.......That.is,.a.l |
| 2cd20 | 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f | ist.of.the.intermediate.values.o |
| 2cd40 | 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 77 68 65 6e 0a 20 20 20 20 20 e2 80 98 2d | f.the.accumulator.when.........- |
| 2cd60 | 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d | reduce-r-from....(*note.-reduce- |
| 2cd80 | 72 2d 66 72 6f 6d 3a 3a 29 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 0a | r-from::).(which.see).is.called. |
| 2cda0 | 20 20 20 20 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 | .....with.the.same.arguments.... |
| 2cdc0 | 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 | ....This.function...s.anaphoric. |
| 2cde0 | 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 | counterpart.is....--reductions-r |
| 2ce00 | 2d 66 72 6f 6d e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c | -from...........For.other.folds, |
| 2ce20 | 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 72 65 64 75 63 74 69 6f 6e 73 e2 80 99 20 28 2a 6e 6f | .see.also....-reductions....(*no |
| 2ce40 | 74 65 20 2d 72 65 64 75 63 74 69 6f 6e 73 3a 3a 29 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 2d 72 | te.-reductions::).and.........-r |
| 2ce60 | 65 64 75 63 74 69 6f 6e 73 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 74 69 6f 6e | eductions-r....(*note.-reduction |
| 2ce80 | 73 2d 72 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d | s-r::).............(-reductions- |
| 2cea0 | 72 2d 66 72 6f 6d 20 23 27 6d 61 78 20 30 20 27 28 32 20 31 20 34 20 33 29 29 0a 20 20 20 20 20 | r-from.#'max.0.'(2.1.4.3))...... |
| 2cec0 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 20 34 20 34 20 33 20 30 29 0a 20 20 20 20 20 20 20 | .............(4.4.4.3.0)........ |
| 2cee0 | 20 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 23 27 2a 20 31 20 27 28 31 | ...(-reductions-r-from.#'*.1.'(1 |
| 2cf00 | 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 34 20 32 | .2.3.4))...................(24.2 |
| 2cf20 | 34 20 31 32 20 34 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 74 69 6f 6e | 4.12.4.1)...........(--reduction |
| 2cf40 | 73 2d 72 2d 66 72 6f 6d 20 28 66 6f 72 6d 61 74 20 22 28 46 4e 20 25 64 20 25 73 29 22 20 69 74 | s-r-from.(format."(FN.%d.%s)".it |
| 2cf60 | 20 61 63 63 29 20 22 49 4e 49 54 22 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 | .acc)."INIT".'(1.2.3)).......... |
| 2cf80 | 20 20 20 20 20 e2 87 92 20 28 22 28 46 4e 20 31 20 28 46 4e 20 32 20 28 46 4e 20 33 20 49 4e 49 | .........("(FN.1.(FN.2.(FN.3.INI |
| 2cfa0 | 54 29 29 29 22 20 22 28 46 4e 20 32 20 28 46 4e 20 33 20 49 4e 49 54 29 29 22 20 22 28 46 4e 20 | T)))"."(FN.2.(FN.3.INIT))"."(FN. |
| 2cfc0 | 33 20 49 4e 49 54 29 22 20 22 49 4e 49 54 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 | 3.INIT)"."INIT")...--.Function:. |
| 2cfe0 | 2d 72 65 64 75 63 74 69 6f 6e 73 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 | -reductions.(fn.list)......Retur |
| 2d000 | 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 4e e2 80 99 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 | n.a.list.of.FN...s.intermediate. |
| 2d020 | 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 4c 49 53 54 2e 20 20 54 68 61 74 0a 20 20 | reductions.across.LIST...That... |
| 2d040 | 20 20 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 | ...is,.a.list.of.the.intermediat |
| 2d060 | 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 77 68 65 6e | e.values.of.the.accumulator.when |
| 2d080 | 0a 20 20 20 20 20 e2 80 98 2d 72 65 64 75 63 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 | .........-reduce....(*note.-redu |
| 2d0a0 | 63 65 3a 3a 29 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 | ce::).(which.see).is.called.with |
| 2d0c0 | 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 | .the.same......arguments........ |
| 2d0e0 | 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e | This.function...s.anaphoric.coun |
| 2d100 | 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 72 65 64 75 63 74 69 6f 6e 73 e2 80 99 2e 0a 0a | terpart.is....--reductions...... |
| 2d120 | 20 20 20 20 20 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 e2 | .....For.other.folds,.see.also.. |
| 2d140 | 80 98 2d 72 65 64 75 63 74 69 6f 6e 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 74 69 | ..-reductions....(*note.-reducti |
| 2d160 | 6f 6e 73 3a 3a 29 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 | ons::).and.........-reductions-r |
| 2d180 | e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 3a 3a 29 2e 0a 0a 20 20 | ....(*note.-reductions-r::)..... |
| 2d1a0 | 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 20 23 27 2b 20 27 28 31 20 32 20 33 | ........(-reductions.#'+.'(1.2.3 |
| 2d1c0 | 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 33 20 36 20 31 30 | .4))...................(1.3.6.10 |
| 2d1e0 | 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 20 23 27 2a 20 27 28 31 | )...........(-reductions.#'*.'(1 |
| 2d200 | 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 | .2.3.4))...................(1.2. |
| 2d220 | 36 20 32 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 20 28 66 | 6.24)...........(--reductions.(f |
| 2d240 | 6f 72 6d 61 74 20 22 28 46 4e 20 25 73 20 25 64 29 22 20 61 63 63 20 69 74 29 20 27 28 31 20 32 | ormat."(FN.%s.%d)".acc.it).'(1.2 |
| 2d260 | 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 22 28 46 4e 20 31 | .3))...................(1."(FN.1 |
| 2d280 | 20 32 29 22 20 22 28 46 4e 20 28 46 4e 20 31 20 32 29 20 33 29 22 29 0a 0a 20 2d 2d 20 46 75 6e | .2)"."(FN.(FN.1.2).3)")...--.Fun |
| 2d2a0 | 63 74 69 6f 6e 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 28 66 6e 20 6c 69 73 74 29 0a 20 | ction:.-reductions-r.(fn.list).. |
| 2d2c0 | 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 46 4e e2 80 99 73 20 69 6e 74 65 | ....Return.a.list.of.FN...s.inte |
| 2d2e0 | 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 72 65 76 65 72 | rmediate.reductions.across.rever |
| 2d300 | 73 65 64 20 4c 49 53 54 2e 0a 20 20 20 20 20 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f | sed.LIST.......That.is,.a.list.o |
| 2d320 | 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 | f.the.intermediate.values.of.the |
| 2d340 | 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 77 68 65 6e 0a 20 20 20 20 20 e2 80 98 2d 72 65 64 75 63 | .accumulator.when.........-reduc |
| 2d360 | 65 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 3a 3a 29 20 28 77 68 69 63 | e-r....(*note.-reduce-r::).(whic |
| 2d380 | 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 0a 20 | h.see).is.called.with.the.same.. |
| 2d3a0 | 20 20 20 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 | ....arguments........This.functi |
| 2d3c0 | 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 | on...s.anaphoric.counterpart.is. |
| 2d3e0 | e2 80 98 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 | ...--reductions-r...........For. |
| 2d400 | 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 72 65 64 75 63 74 | other.folds,.see.also....-reduct |
| 2d420 | 69 6f 6e 73 2d 72 2d 66 72 6f 6d e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 72 65 64 75 | ions-r-from....(*note......-redu |
| 2d440 | 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 3a 3a 29 20 61 6e 64 20 e2 80 98 2d 72 65 64 75 63 74 69 | ctions-r-from::).and....-reducti |
| 2d460 | 6f 6e 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 74 69 6f 6e 73 3a 3a 29 2e 0a 0a 20 | ons....(*note.-reductions::).... |
| 2d480 | 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 23 27 2b 20 27 28 31 20 | .........(-reductions-r.#'+.'(1. |
| 2d4a0 | 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 30 20 39 20 | 2.3.4))...................(10.9. |
| 2d4c0 | 37 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 23 27 | 7.4)...........(-reductions-r.#' |
| 2d4e0 | 2a 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 | *.'(1.2.3.4))................... |
| 2d500 | 28 32 34 20 32 34 20 31 32 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 74 | (24.24.12.4)...........(--reduct |
| 2d520 | 69 6f 6e 73 2d 72 20 28 66 6f 72 6d 61 74 20 22 28 46 4e 20 25 64 20 25 73 29 22 20 69 74 20 61 | ions-r.(format."(FN.%d.%s)".it.a |
| 2d540 | 63 63 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 | cc).'(1.2.3))................... |
| 2d560 | 28 22 28 46 4e 20 31 20 28 46 4e 20 32 20 33 29 29 22 20 22 28 46 4e 20 32 20 33 29 22 20 33 29 | ("(FN.1.(FN.2.3))"."(FN.2.3)".3) |
| 2d580 | 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 75 6e 74 20 28 70 72 65 64 20 6c 69 73 | ...--.Function:.-count.(pred.lis |
| 2d5a0 | 74 29 0a 20 20 20 20 20 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 74 65 | t)......Counts.the.number.of.ite |
| 2d5c0 | 6d 73 20 69 6e 20 4c 49 53 54 20 77 68 65 72 65 20 28 50 52 45 44 20 69 74 65 6d 29 20 69 73 20 | ms.in.LIST.where.(PRED.item).is. |
| 2d5e0 | 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 75 6e | non-...nil................(-coun |
| 2d600 | 74 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 | t.'even?.'(1.2.3.4.5)).......... |
| 2d620 | 20 20 20 20 20 e2 87 92 20 32 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 63 6f 75 6e 74 20 28 3c | .........2...........(--count.(< |
| 2d640 | 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .it.4).'(1.2.3.4)).............. |
| 2d660 | 20 e2 87 92 20 33 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 75 6d 20 28 6c 69 73 74 | .....3...--.Function:.-sum.(list |
| 2d680 | 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 73 75 6d 20 6f 66 20 4c 49 53 54 2e 0a 0a | )......Return.the.sum.of.LIST... |
| 2d6a0 | 20 20 20 20 20 20 20 20 20 20 28 2d 73 75 6d 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ..........(-sum.())............. |
| 2d6c0 | 20 20 e2 87 92 20 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 75 6d 20 27 28 31 29 29 0a 20 20 | ......0...........(-sum.'(1))... |
| 2d6e0 | 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 75 | ................1...........(-su |
| 2d700 | 6d 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 | m.'(1.2.3.4))................... |
| 2d720 | 31 30 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 28 | 10...--.Function:.-running-sum.( |
| 2d740 | 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 72 75 | list)......Return.a.list.with.ru |
| 2d760 | 6e 6e 69 6e 67 20 73 75 6d 73 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 20 20 4c 49 | nning.sums.of.items.in.LIST...LI |
| 2d780 | 53 54 20 6d 75 73 74 20 62 65 0a 20 20 20 20 20 6e 6f 6e 2d 65 6d 70 74 79 2e 0a 0a 20 20 20 20 | ST.must.be......non-empty....... |
| 2d7a0 | 20 20 20 20 20 20 28 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 27 28 31 20 32 20 33 20 34 29 29 0a | ......(-running-sum.'(1.2.3.4)). |
| 2d7c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 33 20 36 20 31 30 29 0a 20 20 20 | ..................(1.3.6.10).... |
| 2d7e0 | 20 20 20 20 20 20 20 28 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 27 28 31 29 29 0a 20 20 20 20 20 | .......(-running-sum.'(1))...... |
| 2d800 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 75 6e | .............(1)...........(-run |
| 2d820 | 6e 69 6e 67 2d 73 75 6d 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 | ning-sum.())...............error |
| 2d840 | e2 86 92 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 75 6d 65 6e 74 3a 20 63 6f 6e 73 70 2c 20 | ....Wrong.type.argument:.consp,. |
| 2d860 | 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 72 6f 64 75 63 74 20 28 6c 69 73 | nil...--.Function:.-product.(lis |
| 2d880 | 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 70 72 6f 64 75 63 74 20 6f 66 20 4c 49 | t)......Return.the.product.of.LI |
| 2d8a0 | 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 72 6f 64 75 63 74 20 28 29 29 0a 20 20 20 | ST.............(-product.()).... |
| 2d8c0 | 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 72 6f | ...............1...........(-pro |
| 2d8e0 | 64 75 63 74 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 | duct.'(1))...................1.. |
| 2d900 | 20 20 20 20 20 20 20 20 20 28 2d 70 72 6f 64 75 63 74 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 | .........(-product.'(1.2.3.4)).. |
| 2d920 | 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 34 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f | .................24...--.Functio |
| 2d940 | 6e 3a 20 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 28 6c 69 73 74 29 0a 20 20 20 20 20 | n:.-running-product.(list)...... |
| 2d960 | 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 72 75 6e 6e 69 6e 67 20 70 72 6f 64 75 | Return.a.list.with.running.produ |
| 2d980 | 63 74 73 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 20 20 4c 49 53 54 20 6d 75 73 74 | cts.of.items.in.LIST...LIST.must |
| 2d9a0 | 20 62 65 0a 20 20 20 20 20 6e 6f 6e 2d 65 6d 70 74 79 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 | .be......non-empty.............( |
| 2d9c0 | 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 | -running-product.'(1.2.3.4)).... |
| 2d9e0 | 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 36 20 32 34 29 0a 20 20 20 20 20 20 | ...............(1.2.6.24)....... |
| 2da00 | 20 20 20 20 28 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 27 28 31 29 29 0a 20 20 20 20 | ....(-running-product.'(1))..... |
| 2da20 | 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 75 | ..............(1)...........(-ru |
| 2da40 | 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nning-product.())............... |
| 2da60 | 65 72 72 6f 72 e2 86 92 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 75 6d 65 6e 74 3a 20 63 6f | error....Wrong.type.argument:.co |
| 2da80 | 6e 73 70 2c 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 6e 69 74 73 20 28 | nsp,.nil...--.Function:.-inits.( |
| 2daa0 | 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 6c 6c 20 70 72 65 66 69 78 65 73 20 6f | list)......Return.all.prefixes.o |
| 2dac0 | 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 69 74 73 20 27 28 31 20 32 | f.LIST.............(-inits.'(1.2 |
| 2dae0 | 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 20 28 31 | .3.4))...................(nil.(1 |
| 2db00 | 29 20 28 31 20 32 29 20 28 31 20 32 20 33 29 20 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 | ).(1.2).(1.2.3).(1.2.3.4))...... |
| 2db20 | 20 20 20 20 20 28 2d 69 6e 69 74 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .....(-inits.nil)............... |
| 2db40 | e2 87 92 20 28 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 69 74 73 20 27 28 31 29 | ....(nil)...........(-inits.'(1) |
| 2db60 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 20 28 31 29 29 0a 0a 20 | )...................(nil.(1))... |
| 2db80 | 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 61 69 6c 73 20 28 6c 69 73 74 29 0a 20 20 20 20 20 | --.Function:.-tails.(list)...... |
| 2dba0 | 52 65 74 75 72 6e 20 61 6c 6c 20 73 75 66 66 69 78 65 73 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 | Return.all.suffixes.of.LIST..... |
| 2dbc0 | 20 20 20 20 20 20 20 20 28 2d 74 61 69 6c 73 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 | ........(-tails.'(1.2.3.4))..... |
| 2dbe0 | 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 20 34 29 20 28 32 20 33 20 34 29 | ..............((1.2.3.4).(2.3.4) |
| 2dc00 | 20 28 33 20 34 29 20 28 34 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 69 6c | .(3.4).(4).nil)...........(-tail |
| 2dc20 | 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 29 0a 20 | s.nil)...................(nil).. |
| 2dc40 | 20 20 20 20 20 20 20 20 20 28 2d 74 61 69 6c 73 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 | .........(-tails.'(1)).......... |
| 2dc60 | 20 20 20 20 20 e2 87 92 20 28 28 31 29 20 6e 69 6c 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e | .........((1).nil)...--.Function |
| 2dc80 | 3a 20 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 | :.-common-prefix.(&rest.lists).. |
| 2dca0 | 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 63 6f 6d 6d 6f 6e 20 70 72 | ....Return.the.longest.common.pr |
| 2dcc0 | 65 66 69 78 20 6f 66 20 4c 49 53 54 53 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d 6d | efix.of.LISTS.............(-comm |
| 2dce0 | 6f 6e 2d 70 72 65 66 69 78 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 | on-prefix.'(1))................. |
| 2dd00 | 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 | ..(1)...........(-common-prefix. |
| 2dd20 | 27 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 | '(1.2).'(3.4).'(1.2))........... |
| 2dd40 | 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d 6d 6f 6e 2d 70 72 | ........()...........(-common-pr |
| 2dd60 | 65 66 69 78 20 27 28 31 20 32 29 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 20 34 29 29 | efix.'(1.2).'(1.2.3).'(1.2.3.4)) |
| 2dd80 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 29 0a 0a 20 2d 2d 20 46 75 | ...................(1.2)...--.Fu |
| 2dda0 | 6e 63 74 69 6f 6e 3a 20 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 28 26 72 65 73 74 20 6c 69 | nction:.-common-suffix.(&rest.li |
| 2ddc0 | 73 74 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 63 6f 6d | sts)......Return.the.longest.com |
| 2dde0 | 6d 6f 6e 20 73 75 66 66 69 78 20 6f 66 20 4c 49 53 54 53 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 | mon.suffix.of.LISTS............. |
| 2de00 | 28 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 | (-common-suffix.'(1))........... |
| 2de20 | 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d 6d 6f 6e 2d 73 | ........(1)...........(-common-s |
| 2de40 | 75 66 66 69 78 20 27 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 31 20 32 29 29 0a 20 20 20 20 | uffix.'(1.2).'(3.4).'(1.2))..... |
| 2de60 | 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d | ..............()...........(-com |
| 2de80 | 6d 6f 6e 2d 73 75 66 66 69 78 20 27 28 31 20 32 20 33 20 34 29 20 27 28 32 20 33 20 34 29 20 27 | mon-suffix.'(1.2.3.4).'(2.3.4).' |
| 2dea0 | 28 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 34 29 0a 0a | (3.4))...................(3.4).. |
| 2dec0 | 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 69 6e 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 | .--.Function:.-min.(list)......R |
| 2dee0 | 65 74 75 72 6e 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 76 61 6c 75 65 20 66 72 6f 6d 20 4c 49 | eturn.the.smallest.value.from.LI |
| 2df00 | 53 54 20 6f 66 20 6e 75 6d 62 65 72 73 20 6f 72 20 6d 61 72 6b 65 72 73 2e 0a 0a 20 20 20 20 20 | ST.of.numbers.or.markers........ |
| 2df20 | 20 20 20 20 20 28 2d 6d 69 6e 20 27 28 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 | .....(-min.'(0))................ |
| 2df40 | 87 92 20 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 69 6e 20 27 28 33 20 32 20 31 29 29 0a 20 | ...0...........(-min.'(3.2.1)).. |
| 2df60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d | .................1...........(-m |
| 2df80 | 69 6e 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 | in.'(1.2.3))...................1 |
| 2dfa0 | 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 69 6e 2d 62 79 20 28 63 6f 6d 70 61 72 61 | ...--.Function:.-min-by.(compara |
| 2dfc0 | 74 6f 72 20 6c 69 73 74 29 0a 20 20 20 20 20 54 61 6b 65 20 61 20 63 6f 6d 70 61 72 69 73 6f 6e | tor.list)......Take.a.comparison |
| 2dfe0 | 20 66 75 6e 63 74 69 6f 6e 20 43 4f 4d 50 41 52 41 54 4f 52 20 61 6e 64 20 61 20 4c 49 53 54 20 | .function.COMPARATOR.and.a.LIST. |
| 2e000 | 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 0a 20 20 20 20 20 6c 65 61 73 74 20 65 6c 65 6d 65 6e | and.return.the......least.elemen |
| 2e020 | 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 62 79 20 74 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 | t.of.the.list.by.the.comparison. |
| 2e040 | 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 20 63 6f 6d 62 69 6e 61 | function........See.also.combina |
| 2e060 | 74 6f 72 20 e2 80 98 2d 6f 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6f 6e 3a 3a 29 20 77 68 69 63 | tor....-on....(*note.-on::).whic |
| 2e080 | 68 20 63 61 6e 20 74 72 61 6e 73 66 6f 72 6d 20 74 68 65 0a 20 20 20 20 20 76 61 6c 75 65 73 20 | h.can.transform.the......values. |
| 2e0a0 | 62 65 66 6f 72 65 20 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 6d 2e 0a 0a 20 20 20 20 20 20 20 20 | before.comparing.them........... |
| 2e0c0 | 20 20 28 2d 6d 69 6e 2d 62 79 20 27 3e 20 27 28 34 20 33 20 36 20 31 29 29 0a 20 20 20 20 20 20 | ..(-min-by.'>.'(4.3.6.1))....... |
| 2e0e0 | 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 69 6e 2d 62 | ............1...........(--min-b |
| 2e100 | 79 20 28 3e 20 28 63 61 72 20 69 74 29 20 28 63 61 72 20 6f 74 68 65 72 29 29 20 27 28 28 31 20 | y.(>.(car.it).(car.other)).'((1. |
| 2e120 | 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 | 2.3).(2).(3.2)))................ |
| 2e140 | 87 92 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 69 6e 2d 62 79 20 28 | ...(1.2.3)...........(--min-by.( |
| 2e160 | 3e 20 28 6c 65 6e 67 74 68 20 69 74 29 20 28 6c 65 6e 67 74 68 20 6f 74 68 65 72 29 29 20 27 28 | >.(length.it).(length.other)).'( |
| 2e180 | 28 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | (1.2.3).(2).(3.2)))............. |
| 2e1a0 | 20 20 e2 87 92 20 28 32 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 78 20 28 6c | ......(2)...--.Function:.-max.(l |
| 2e1c0 | 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6c 61 72 67 65 73 74 20 76 61 6c | ist)......Return.the.largest.val |
| 2e1e0 | 75 65 20 66 72 6f 6d 20 4c 49 53 54 20 6f 66 20 6e 75 6d 62 65 72 73 20 6f 72 20 6d 61 72 6b 65 | ue.from.LIST.of.numbers.or.marke |
| 2e200 | 72 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 78 20 27 28 30 29 29 0a 20 20 20 20 20 | rs.............(-max.'(0))...... |
| 2e220 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 78 20 27 | .............0...........(-max.' |
| 2e240 | 28 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 33 0a 20 20 20 | (3.2.1))...................3.... |
| 2e260 | 20 20 20 20 20 20 20 28 2d 6d 61 78 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 | .......(-max.'(1.2.3)).......... |
| 2e280 | 20 20 20 20 20 e2 87 92 20 33 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 78 2d 62 | .........3...--.Function:.-max-b |
| 2e2a0 | 79 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 20 20 20 54 61 6b 65 20 61 20 | y.(comparator.list)......Take.a. |
| 2e2c0 | 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 20 43 4f 4d 50 41 52 41 54 4f 52 20 61 | comparison.function.COMPARATOR.a |
| 2e2e0 | 6e 64 20 61 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 0a 20 20 20 20 20 67 72 | nd.a.LIST.and.return.the......gr |
| 2e300 | 65 61 74 65 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 62 79 20 74 68 | eatest.element.of.the.list.by.th |
| 2e320 | 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 53 65 65 | e.comparison.function........See |
| 2e340 | 20 61 6c 73 6f 20 63 6f 6d 62 69 6e 61 74 6f 72 20 e2 80 98 2d 6f 6e e2 80 99 20 28 2a 6e 6f 74 | .also.combinator....-on....(*not |
| 2e360 | 65 20 2d 6f 6e 3a 3a 29 20 77 68 69 63 68 20 63 61 6e 20 74 72 61 6e 73 66 6f 72 6d 20 74 68 65 | e.-on::).which.can.transform.the |
| 2e380 | 0a 20 20 20 20 20 76 61 6c 75 65 73 20 62 65 66 6f 72 65 20 63 6f 6d 70 61 72 69 6e 67 20 74 68 | ......values.before.comparing.th |
| 2e3a0 | 65 6d 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 78 2d 62 79 20 27 3e 20 27 28 34 20 33 | em.............(-max-by.'>.'(4.3 |
| 2e3c0 | 20 36 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 36 0a 20 20 20 20 20 | .6.1))...................6...... |
| 2e3e0 | 20 20 20 20 20 28 2d 2d 6d 61 78 2d 62 79 20 28 3e 20 28 63 61 72 20 69 74 29 20 28 63 61 72 20 | .....(--max-by.(>.(car.it).(car. |
| 2e400 | 6f 74 68 65 72 29 29 20 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 0a 20 20 | other)).'((1.2.3).(2).(3.2)))... |
| 2e420 | 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 | ................(3.2)........... |
| 2e440 | 28 2d 2d 6d 61 78 2d 62 79 20 28 3e 20 28 6c 65 6e 67 74 68 20 69 74 29 20 28 6c 65 6e 67 74 68 | (--max-by.(>.(length.it).(length |
| 2e460 | 20 6f 74 68 65 72 29 29 20 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 0a 20 | .other)).'((1.2.3).(2).(3.2))).. |
| 2e480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 0a 20 2d 2d 20 46 75 | .................(1.2.3)...--.Fu |
| 2e4a0 | 6e 63 74 69 6f 6e 3a 20 2d 66 72 65 71 75 65 6e 63 69 65 73 20 28 6c 69 73 74 29 0a 20 20 20 20 | nction:.-frequencies.(list)..... |
| 2e4c0 | 20 43 6f 75 6e 74 20 74 68 65 20 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 65 61 63 68 20 64 | .Count.the.occurrences.of.each.d |
| 2e4e0 | 69 73 74 69 6e 63 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 52 | istinct.element.of.LIST........R |
| 2e500 | 65 74 75 72 6e 20 61 6e 20 61 6c 69 73 74 20 6f 66 20 28 45 4c 45 4d 45 4e 54 20 2e 20 20 4e 29 | eturn.an.alist.of.(ELEMENT....N) |
| 2e520 | 2c 20 77 68 65 72 65 20 65 61 63 68 20 45 4c 45 4d 45 4e 54 20 6f 63 63 75 72 73 20 4e 0a 20 20 | ,.where.each.ELEMENT.occurs.N... |
| 2e540 | 20 20 20 74 69 6d 65 73 20 69 6e 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 54 68 65 20 74 65 73 74 | ...times.in.LIST........The.test |
| 2e560 | 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 e2 80 98 65 71 | .for.equality.is.done.with....eq |
| 2e580 | 75 61 6c e2 80 99 2c 20 6f 72 20 77 69 74 68 20 e2 80 98 2d 63 6f 6d 70 61 72 65 2d 66 6e e2 80 | ual...,.or.with....-compare-fn.. |
| 2e5a0 | 99 0a 20 20 20 20 20 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e | .......if.that.is.non-...nil.... |
| 2e5c0 | 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 20 e2 80 98 2d 63 6f 75 6e 74 e2 80 99 20 28 2a 6e | .......See.also....-count....(*n |
| 2e5e0 | 6f 74 65 20 2d 63 6f 75 6e 74 3a 3a 29 20 61 6e 64 20 e2 80 98 2d 67 72 6f 75 70 2d 62 79 e2 80 | ote.-count::).and....-group-by.. |
| 2e600 | 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 67 72 6f 75 70 2d 62 79 3a 3a 29 2e 0a 0a 20 20 20 | ..(*note......-group-by::)...... |
| 2e620 | 20 20 20 20 20 20 20 28 2d 66 72 65 71 75 65 6e 63 69 65 73 20 28 29 29 0a 20 20 20 20 20 20 20 | .......(-frequencies.())........ |
| 2e640 | 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 72 65 71 75 65 | ...........()...........(-freque |
| 2e660 | 6e 63 69 65 73 20 27 28 31 20 32 20 33 20 31 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ncies.'(1.2.3.1.2.1))........... |
| 2e680 | 20 20 20 20 e2 87 92 20 28 28 31 20 2e 20 33 29 20 28 32 20 2e 20 32 29 20 28 33 20 2e 20 31 29 | ........((1...3).(2...2).(3...1) |
| 2e6a0 | 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 2d 63 6f 6d 70 61 72 65 2d 66 6e 20 23 | )...........(let.((-compare-fn.# |
| 2e6c0 | 27 73 74 72 69 6e 67 3d 29 29 20 28 2d 66 72 65 71 75 65 6e 63 69 65 73 20 27 28 61 20 22 61 22 | 'string=)).(-frequencies.'(a."a" |
| 2e6e0 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 61 20 2e 20 32 29 29 0a | )))...................((a...2)). |
| 2e700 | 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 55 6e 66 6f 6c | ...File:.dash.info,..Node:.Unfol |
| 2e720 | 64 69 6e 67 2c 20 20 4e 65 78 74 3a 20 50 72 65 64 69 63 61 74 65 73 2c 20 20 50 72 65 76 3a 20 | ding,..Next:.Predicates,..Prev:. |
| 2e740 | 52 65 64 75 63 74 69 6f 6e 73 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 35 20 | Reductions,..Up:.Functions..2.5. |
| 2e760 | 55 6e 66 6f 6c 64 69 6e 67 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 4f 70 65 72 61 74 69 | Unfolding.=============..Operati |
| 2e780 | 6f 6e 73 20 64 75 61 6c 20 74 6f 20 72 65 64 75 63 74 69 6f 6e 73 2c 20 62 75 69 6c 64 69 6e 67 | ons.dual.to.reductions,.building |
| 2e7a0 | 20 6c 69 73 74 73 20 66 72 6f 6d 20 61 20 73 65 65 64 20 76 61 6c 75 65 20 72 61 74 68 65 72 0a | .lists.from.a.seed.value.rather. |
| 2e7c0 | 74 68 61 6e 20 63 6f 6e 73 75 6d 69 6e 67 20 61 20 6c 69 73 74 20 74 6f 20 70 72 6f 64 75 63 65 | than.consuming.a.list.to.produce |
| 2e7e0 | 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 | .a.single.value....--.Function:. |
| 2e800 | 2d 69 74 65 72 61 74 65 20 28 66 75 6e 20 69 6e 69 74 20 6e 29 0a 20 20 20 20 20 52 65 74 75 72 | -iterate.(fun.init.n)......Retur |
| 2e820 | 6e 20 61 20 6c 69 73 74 20 6f 66 20 69 74 65 72 61 74 65 64 20 61 70 70 6c 69 63 61 74 69 6f 6e | n.a.list.of.iterated.application |
| 2e840 | 73 20 6f 66 20 46 55 4e 20 74 6f 20 49 4e 49 54 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 6d 65 61 | s.of.FUN.to.INIT........This.mea |
| 2e860 | 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 6f 72 6d 3a 0a 0a 20 20 20 20 20 28 49 4e | ns.a.list.of.the.form:.......(IN |
| 2e880 | 49 54 20 28 46 55 4e 20 49 4e 49 54 29 20 28 46 55 4e 20 28 46 55 4e 20 49 4e 49 54 29 29 20 2e | IT.(FUN.INIT).(FUN.(FUN.INIT)).. |
| 2e8a0 | 2e 2e 29 0a 0a 20 20 20 20 20 4e 20 69 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 | ..).......N.is.the.length.of.the |
| 2e8c0 | 20 72 65 74 75 72 6e 65 64 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 74 65 | .returned.list.............(-ite |
| 2e8e0 | 72 61 74 65 20 23 27 31 2b 20 31 20 31 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 | rate.#'1+.1.10)................. |
| 2e900 | 92 20 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 20 31 30 29 0a 20 20 20 20 20 20 20 | ..(1.2.3.4.5.6.7.8.9.10)........ |
| 2e920 | 20 20 20 28 2d 69 74 65 72 61 74 65 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2b 20 78 20 78 29 | ...(-iterate.(lambda.(x).(+.x.x) |
| 2e940 | 29 20 32 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 34 20 38 20 | ).2.5)...................(2.4.8. |
| 2e960 | 31 36 20 33 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 69 74 65 72 61 74 65 20 28 2a 20 69 | 16.32)...........(--iterate.(*.i |
| 2e980 | 74 20 69 74 29 20 32 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 | t.it).2.5)...................(2. |
| 2e9a0 | 34 20 31 36 20 32 35 36 20 36 35 35 33 36 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d | 4.16.256.65536)...--.Function:.- |
| 2e9c0 | 75 6e 66 6f 6c 64 20 28 66 75 6e 20 73 65 65 64 29 0a 20 20 20 20 20 42 75 69 6c 64 20 61 20 6c | unfold.(fun.seed)......Build.a.l |
| 2e9e0 | 69 73 74 20 66 72 6f 6d 20 53 45 45 44 20 75 73 69 6e 67 20 46 55 4e 2e 0a 0a 20 20 20 20 20 54 | ist.from.SEED.using.FUN........T |
| 2ea00 | 68 69 73 20 69 73 20 22 64 75 61 6c 22 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f 20 e2 80 98 2d 72 | his.is."dual".operation.to....-r |
| 2ea20 | 65 64 75 63 65 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 3a 3a 29 3a 20 | educe-r....(*note.-reduce-r::):. |
| 2ea40 | 77 68 69 6c 65 0a 20 20 20 20 20 2d 72 65 64 75 63 65 2d 72 20 63 6f 6e 73 75 6d 65 73 20 61 20 | while......-reduce-r.consumes.a. |
| 2ea60 | 6c 69 73 74 20 74 6f 20 70 72 6f 64 75 63 65 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 2c 20 | list.to.produce.a.single.value,. |
| 2ea80 | e2 80 98 2d 75 6e 66 6f 6c 64 e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 75 6e 66 6f 6c | ...-unfold.........(*note.-unfol |
| 2eaa0 | 64 3a 3a 29 20 74 61 6b 65 73 20 61 20 73 65 65 64 20 76 61 6c 75 65 20 61 6e 64 20 62 75 69 6c | d::).takes.a.seed.value.and.buil |
| 2eac0 | 64 73 20 61 20 28 70 6f 74 65 6e 74 69 61 6c 6c 79 0a 20 20 20 20 20 69 6e 66 69 6e 69 74 65 21 | ds.a.(potentially......infinite! |
| 2eae0 | 29 20 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 46 55 4e 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e | )..list........FUN.should.return |
| 2eb00 | 20 e2 80 98 6e 69 6c e2 80 99 20 74 6f 20 73 74 6f 70 20 74 68 65 20 67 65 6e 65 72 61 74 69 6e | ....nil....to.stop.the.generatin |
| 2eb20 | 67 20 70 72 6f 63 65 73 73 2c 20 6f 72 20 61 20 63 6f 6e 73 0a 20 20 20 20 20 28 41 20 2e 20 20 | g.process,.or.a.cons......(A.... |
| 2eb40 | 42 29 2c 20 77 68 65 72 65 20 41 20 77 69 6c 6c 20 62 65 20 70 72 65 70 65 6e 64 65 64 20 74 6f | B),.where.A.will.be.prepended.to |
| 2eb60 | 20 74 68 65 20 72 65 73 75 6c 74 20 61 6e 64 20 42 20 69 73 20 74 68 65 20 6e 65 77 0a 20 20 20 | .the.result.and.B.is.the.new.... |
| 2eb80 | 20 20 73 65 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 66 6f 6c 64 20 28 6c 61 6d | ..seed.............(-unfold.(lam |
| 2eba0 | 62 64 61 20 28 78 29 20 28 75 6e 6c 65 73 73 20 28 3d 20 78 20 30 29 20 28 63 6f 6e 73 20 78 20 | bda.(x).(unless.(=.x.0).(cons.x. |
| 2ebc0 | 28 31 2d 20 78 29 29 29 29 20 31 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 | (1-.x)))).10)................... |
| 2ebe0 | 28 31 30 20 39 20 38 20 37 20 36 20 35 20 34 20 33 20 32 20 31 29 0a 20 20 20 20 20 20 20 20 20 | (10.9.8.7.6.5.4.3.2.1).......... |
| 2ec00 | 20 28 2d 2d 75 6e 66 6f 6c 64 20 28 77 68 65 6e 20 69 74 20 28 63 6f 6e 73 20 69 74 20 28 63 64 | .(--unfold.(when.it.(cons.it.(cd |
| 2ec20 | 72 20 69 74 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | r.it))).'(1.2.3.4))............. |
| 2ec40 | 20 20 e2 87 92 20 28 28 31 20 32 20 33 20 34 29 20 28 32 20 33 20 34 29 20 28 33 20 34 29 20 28 | ......((1.2.3.4).(2.3.4).(3.4).( |
| 2ec60 | 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 75 6e 66 6f 6c 64 20 28 77 68 65 6e 20 69 74 | 4))...........(--unfold.(when.it |
| 2ec80 | 20 28 63 6f 6e 73 20 69 74 20 28 62 75 74 6c 61 73 74 20 69 74 29 29 29 20 27 28 31 20 32 20 33 | .(cons.it.(butlast.it))).'(1.2.3 |
| 2eca0 | 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 20 34 | .4))...................((1.2.3.4 |
| 2ecc0 | 29 20 28 31 20 32 20 33 29 20 28 31 20 32 29 20 28 31 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 | ).(1.2.3).(1.2).(1))...--.Functi |
| 2ece0 | 6f 6e 3a 20 2d 72 65 70 65 61 74 20 28 6e 20 78 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 | on:.-repeat.(n.x)......Return.a. |
| 2ed00 | 6e 65 77 20 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 4e 20 77 69 74 68 20 65 61 63 68 20 65 | new.list.of.length.N.with.each.e |
| 2ed20 | 6c 65 6d 65 6e 74 20 62 65 69 6e 67 20 58 2e 20 20 52 65 74 75 72 6e 0a 20 20 20 20 20 e2 80 98 | lement.being.X...Return......... |
| 2ed40 | 6e 69 6c e2 80 99 20 69 66 20 4e 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 31 2e 0a 0a 20 20 20 | nil....if.N.is.less.than.1...... |
| 2ed60 | 20 20 20 20 20 20 20 28 2d 72 65 70 65 61 74 20 33 20 3a 61 29 0a 20 20 20 20 20 20 20 20 20 20 | .......(-repeat.3.:a)........... |
| 2ed80 | 20 20 20 20 e2 87 92 20 28 3a 61 20 3a 61 20 3a 61 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 | ........(:a.:a.:a)...........(-r |
| 2eda0 | 65 70 65 61 74 20 31 20 3a 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 3a | epeat.1.:a)...................(: |
| 2edc0 | 61 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 65 61 74 20 30 20 3a 61 29 0a 20 20 20 20 | a)...........(-repeat.0.:a)..... |
| 2ede0 | 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 | ..............()...--.Function:. |
| 2ee00 | 2d 63 79 63 6c 65 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 6e 20 69 6e 66 | -cycle.(list)......Return.an.inf |
| 2ee20 | 69 6e 69 74 65 20 63 69 72 63 75 6c 61 72 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 2e 20 20 54 68 | inite.circular.copy.of.LIST...Th |
| 2ee40 | 65 20 72 65 74 75 72 6e 65 64 20 6c 69 73 74 20 63 79 63 6c 65 73 0a 20 20 20 20 20 74 68 72 6f | e.returned.list.cycles......thro |
| 2ee60 | 75 67 68 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 61 6e 64 20 72 65 70 | ugh.the.elements.of.LIST.and.rep |
| 2ee80 | 65 61 74 73 20 66 72 6f 6d 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 2e 0a 0a 20 20 20 20 20 20 | eats.from.the.beginning......... |
| 2eea0 | 20 20 20 20 28 2d 74 61 6b 65 20 35 20 28 2d 63 79 63 6c 65 20 27 28 31 20 32 20 33 29 29 29 0a | ....(-take.5.(-cycle.'(1.2.3))). |
| 2eec0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 31 20 32 29 0a 20 20 | ..................(1.2.3.1.2)... |
| 2eee0 | 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 20 37 20 28 2d 63 79 63 6c 65 20 27 28 31 20 22 61 6e | ........(-take.7.(-cycle.'(1."an |
| 2ef00 | 64 22 20 33 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 22 61 6e | d".3)))...................(1."an |
| 2ef20 | 64 22 20 33 20 31 20 22 61 6e 64 22 20 33 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 | d".3.1."and".3.1)...........(-zi |
| 2ef40 | 70 2d 6c 69 73 74 73 20 28 2d 63 79 63 6c 65 20 27 28 33 29 29 20 27 28 31 20 32 29 29 0a 20 20 | p-lists.(-cycle.'(3)).'(1.2))... |
| 2ef60 | 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 33 20 31 29 20 28 33 20 32 29 29 0a 0a 1f | ................((3.1).(3.2))... |
| 2ef80 | 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 50 72 65 64 69 63 61 | .File:.dash.info,..Node:.Predica |
| 2efa0 | 74 65 73 2c 20 20 4e 65 78 74 3a 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2c 20 20 50 72 65 76 3a | tes,..Next:.Partitioning,..Prev: |
| 2efc0 | 20 55 6e 66 6f 6c 64 69 6e 67 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 36 20 | .Unfolding,..Up:.Functions..2.6. |
| 2efe0 | 50 72 65 64 69 63 61 74 65 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 52 65 64 75 63 | Predicates.==============..Reduc |
| 2f000 | 74 69 6f 6e 73 20 6f 66 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6c 69 73 74 73 20 74 6f 20 61 20 | tions.of.one.or.more.lists.to.a. |
| 2f020 | 62 6f 6f 6c 65 61 6e 20 76 61 6c 75 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 | boolean.value....--.Function:.-s |
| 2f040 | 6f 6d 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 28 50 52 45 | ome.(pred.list)......Return.(PRE |
| 2f060 | 44 20 78 29 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20 4c 49 53 54 20 69 74 65 6d 20 77 68 65 | D.x).for.the.first.LIST.item.whe |
| 2f080 | 72 65 20 28 50 52 45 44 20 78 29 20 69 73 0a 20 20 20 20 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 | re.(PRED.x).is......non-...nil.. |
| 2f0a0 | 99 2c 20 65 6c 73 65 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 | .,.else....nil...........Alias:. |
| 2f0c0 | e2 80 98 2d 61 6e 79 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 | ...-any...........This.function. |
| 2f0e0 | 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 | ..s.anaphoric.counterpart.is.... |
| 2f100 | 2d 2d 73 6f 6d 65 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 20 23 27 73 | --some................(-some.#'s |
| 2f120 | 74 72 69 6e 67 70 20 27 28 31 20 22 32 22 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | tringp.'(1."2".3)).............. |
| 2f140 | 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 73 6f 6d 65 20 28 73 74 72 69 6e 67 | .....t...........(--some.(string |
| 2f160 | 2d 6d 61 74 63 68 2d 70 20 22 78 22 20 69 74 29 20 27 28 22 66 6f 6f 22 20 22 61 78 65 22 20 22 | -match-p."x".it).'("foo"."axe"." |
| 2f180 | 78 6f 72 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 | xor"))...................1...... |
| 2f1a0 | 20 20 20 20 20 28 2d 2d 73 6f 6d 65 20 28 3d 20 69 74 2d 69 6e 64 65 78 20 33 29 20 27 28 30 20 | .....(--some.(=.it-index.3).'(0. |
| 2f1c0 | 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d | 1.2))...................nil...-- |
| 2f1e0 | 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 76 65 72 79 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 | .Function:.-every.(pred.list)... |
| 2f200 | 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 50 52 45 44 20 | ...Return.non-...nil....if.PRED. |
| 2f220 | 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 66 6f 72 20 61 6c 6c 20 69 74 | returns.non-...nil....for.all.it |
| 2f240 | 65 6d 73 20 69 6e 20 4c 49 53 54 2e 0a 20 20 20 20 20 49 66 20 73 6f 2c 20 72 65 74 75 72 6e 20 | ems.in.LIST.......If.so,.return. |
| 2f260 | 74 68 65 20 6c 61 73 74 20 73 75 63 68 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 2e 20 20 4f | the.last.such.result.of.PRED...O |
| 2f280 | 74 68 65 72 77 69 73 65 2c 20 6f 6e 63 65 20 61 6e 0a 20 20 20 20 20 69 74 65 6d 20 69 73 20 72 | therwise,.once.an......item.is.r |
| 2f2a0 | 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 e2 80 | eached.for.which.PRED.returns... |
| 2f2c0 | 98 6e 69 6c e2 80 99 2c 20 72 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 20 77 69 74 68 6f 75 | .nil...,.return....nil....withou |
| 2f2e0 | 74 0a 20 20 20 20 20 63 61 6c 6c 69 6e 67 20 50 52 45 44 20 6f 6e 20 61 6e 79 20 66 75 72 74 68 | t......calling.PRED.on.any.furth |
| 2f300 | 65 72 20 4c 49 53 54 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e | er.LIST.elements........This.fun |
| 2f320 | 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 e2 80 98 2d 65 76 65 72 79 2d 70 e2 80 99 2c 20 62 75 | ction.is.like....-every-p...,.bu |
| 2f340 | 74 20 6f 6e 20 73 75 63 63 65 73 73 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 0a 20 20 | t.on.success.returns.the.last... |
| 2f360 | 20 20 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 20 | ...non-...nil....result.of.PRED. |
| 2f380 | 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 e2 80 98 74 e2 80 99 2e 0a 0a 20 20 20 20 20 54 | instead.of.just....t...........T |
| 2f3a0 | 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 | his.function...s.anaphoric.count |
| 2f3c0 | 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 65 76 65 72 79 e2 80 99 2e 0a 0a 20 20 20 20 20 20 | erpart.is....--every............ |
| 2f3e0 | 20 20 20 20 28 2d 65 76 65 72 79 20 23 27 6e 75 6d 62 65 72 70 20 27 28 31 20 32 20 33 29 29 0a | ....(-every.#'numberp.'(1.2.3)). |
| 2f400 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d | ..................t...........(- |
| 2f420 | 2d 65 76 65 72 79 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 78 22 20 69 74 29 20 27 | -every.(string-match-p."x".it).' |
| 2f440 | 28 22 61 78 65 22 20 22 78 6f 72 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 | ("axe"."xor")).................. |
| 2f460 | 20 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 65 76 65 72 79 20 28 3d 20 69 74 20 69 74 2d 69 | .0...........(--every.(=.it.it-i |
| 2f480 | 6e 64 65 78 29 20 27 28 30 20 31 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 | ndex).'(0.1.3))................. |
| 2f4a0 | 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 61 6e 79 3f 20 28 70 72 65 64 | ..nil...--.Function:.-any?.(pred |
| 2f4c0 | 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 e2 80 98 74 e2 80 99 20 69 66 20 28 50 | .list)......Return....t....if.(P |
| 2f4e0 | 52 45 44 20 58 29 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 66 6f 72 20 61 6e 79 20 | RED.X).is.non-...nil....for.any. |
| 2f500 | 58 20 69 6e 20 4c 49 53 54 2c 20 65 6c 73 65 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 | X.in.LIST,.else....nil.......... |
| 2f520 | 20 41 6c 69 61 73 3a 20 e2 80 98 2d 61 6e 79 2d 70 e2 80 99 2c 20 e2 80 98 2d 73 6f 6d 65 3f e2 | .Alias:....-any-p...,....-some?. |
| 2f540 | 80 99 2c 20 e2 80 98 2d 73 6f 6d 65 2d 70 e2 80 99 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 61 | ..,....-some-p...............(-a |
| 2f560 | 6e 79 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 6e 69 6c 20 30 20 74 29 29 0a 20 20 20 20 20 20 | ny?.#'numberp.'(nil.0.t))....... |
| 2f580 | 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 61 6e 79 3f 20 23 | ............t...........(-any?.# |
| 2f5a0 | 27 6e 75 6d 62 65 72 70 20 27 28 6e 69 6c 20 74 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | 'numberp.'(nil.t.t))............ |
| 2f5c0 | 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 61 6e 79 3f 20 23 27 6e 75 | .......nil...........(-any?.#'nu |
| 2f5e0 | 6c 6c 20 27 28 31 20 33 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e | ll.'(1.3.5))...................n |
| 2f600 | 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 61 6c 6c 3f 20 28 70 72 65 64 20 6c 69 | il...--.Function:.-all?.(pred.li |
| 2f620 | 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 e2 80 98 74 e2 80 99 20 69 66 20 28 50 52 45 44 | st)......Return....t....if.(PRED |
| 2f640 | 20 58 29 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 66 6f 72 20 61 6c 6c 20 58 20 69 | .X).is.non-...nil....for.all.X.i |
| 2f660 | 6e 20 4c 49 53 54 2c 20 65 6c 73 65 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 20 20 20 20 20 49 6e 20 | n.LIST,.else....nil..........In. |
| 2f680 | 74 68 65 20 6c 61 74 74 65 72 20 63 61 73 65 2c 20 73 74 6f 70 20 61 66 74 65 72 20 74 68 65 20 | the.latter.case,.stop.after.the. |
| 2f6a0 | 66 69 72 73 74 20 58 20 66 6f 72 20 77 68 69 63 68 20 28 50 52 45 44 20 58 29 20 69 73 0a 20 20 | first.X.for.which.(PRED.X).is... |
| 2f6c0 | 20 20 20 e2 80 98 6e 69 6c e2 80 99 2c 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 50 52 | ......nil...,.without.calling.PR |
| 2f6e0 | 45 44 20 6f 6e 20 61 6e 79 20 73 75 62 73 65 71 75 65 6e 74 20 65 6c 65 6d 65 6e 74 73 20 6f 66 | ED.on.any.subsequent.elements.of |
| 2f700 | 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 54 68 65 20 73 69 6d 69 6c 61 72 20 66 75 6e 63 74 69 6f | .LIST........The.similar.functio |
| 2f720 | 6e 20 e2 80 98 2d 65 76 65 72 79 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 65 76 65 72 79 3a 3a 29 20 | n....-every....(*note.-every::). |
| 2f740 | 69 73 20 6d 6f 72 65 20 77 69 64 65 6c 79 0a 20 20 20 20 20 75 73 65 66 75 6c 2c 20 73 69 6e 63 | is.more.widely......useful,.sinc |
| 2f760 | 65 20 69 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 20 6e 6f 6e 2d e2 80 98 6e 69 6c | e.it.returns.the.last.non-...nil |
| 2f780 | e2 80 99 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 20 69 6e 73 74 65 61 64 0a 20 20 20 20 20 | ....result.of.PRED.instead...... |
| 2f7a0 | 6f 66 20 6a 75 73 74 20 e2 80 98 74 e2 80 99 20 6f 6e 20 73 75 63 63 65 73 73 2e 0a 0a 20 20 20 | of.just....t....on.success...... |
| 2f7c0 | 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 61 6c 6c 2d 70 e2 80 99 2c 20 e2 80 98 2d 65 76 65 72 79 | ..Alias:....-all-p...,....-every |
| 2f7e0 | 2d 70 e2 80 99 2c 20 e2 80 98 2d 65 76 65 72 79 3f e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 | -p...,....-every?...........This |
| 2f800 | 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 | .function...s.anaphoric.counterp |
| 2f820 | 61 72 74 20 69 73 20 e2 80 98 2d 2d 61 6c 6c 3f e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 | art.is....--all?................ |
| 2f840 | 28 2d 61 6c 6c 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 | (-all?.#'numberp.'(1.2.3))...... |
| 2f860 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 61 6c 6c 3f 20 | .............t...........(-all?. |
| 2f880 | 23 27 6e 75 6d 62 65 72 70 20 27 28 32 20 74 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | #'numberp.'(2.t.6))............. |
| 2f8a0 | 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 61 6c 6c 3f 20 28 3d 20 30 | ......nil...........(--all?.(=.0 |
| 2f8c0 | 20 28 25 20 69 74 20 32 29 29 20 27 28 32 20 34 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | .(%.it.2)).'(2.4.6))............ |
| 2f8e0 | 20 20 20 e2 87 92 20 74 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6e 6f 6e 65 3f 20 28 | .......t...--.Function:.-none?.( |
| 2f900 | 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 e2 80 98 74 e2 80 99 20 69 | pred.list)......Return....t....i |
| 2f920 | 66 20 28 50 52 45 44 20 58 29 20 69 73 20 e2 80 98 6e 69 6c e2 80 99 20 66 6f 72 20 61 6c 6c 20 | f.(PRED.X).is....nil....for.all. |
| 2f940 | 58 20 69 6e 20 4c 49 53 54 2c 20 65 6c 73 65 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 | X.in.LIST,.else....nil.......... |
| 2f960 | 20 41 6c 69 61 73 3a 20 e2 80 98 2d 6e 6f 6e 65 2d 70 e2 80 99 0a 0a 20 20 20 20 20 20 20 20 20 | .Alias:....-none-p.............. |
| 2f980 | 20 28 2d 6e 6f 6e 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 | .(-none?.'even?.'(1.2.3))....... |
| 2f9a0 | 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6e 6f 6e 65 | ............nil...........(-none |
| 2f9c0 | 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 33 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ?.'even?.'(1.3.5)).............. |
| 2f9e0 | 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6e 6f 6e 65 3f 20 28 3d 20 30 20 28 | .....t...........(--none?.(=.0.( |
| 2fa00 | 25 20 69 74 20 32 29 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | %.it.2)).'(1.2.3)).............. |
| 2fa20 | 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6f 6e 6c 79 2d 73 6f | .....nil...--.Function:.-only-so |
| 2fa40 | 6d 65 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 e2 80 98 74 | me?.(pred.list)......Return....t |
| 2fa60 | e2 80 99 20 69 66 20 64 69 66 66 65 72 65 6e 74 20 4c 49 53 54 20 69 74 65 6d 73 20 62 6f 74 68 | ....if.different.LIST.items.both |
| 2fa80 | 20 73 61 74 69 73 66 79 20 61 6e 64 20 64 6f 20 6e 6f 74 20 73 61 74 69 73 66 79 0a 20 20 20 20 | .satisfy.and.do.not.satisfy..... |
| 2faa0 | 20 50 52 45 44 2e 20 20 54 68 61 74 20 69 73 2c 20 69 66 20 50 52 45 44 20 72 65 74 75 72 6e 73 | .PRED...That.is,.if.PRED.returns |
| 2fac0 | 20 62 6f 74 68 20 e2 80 98 6e 69 6c e2 80 99 20 66 6f 72 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 | .both....nil....for.at.least.one |
| 2fae0 | 20 69 74 65 6d 2c 0a 20 20 20 20 20 61 6e 64 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 66 6f | .item,......and.non-...nil....fo |
| 2fb00 | 72 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 6f 74 68 65 72 20 69 74 65 6d 20 69 6e 20 4c 49 53 | r.at.least.one.other.item.in.LIS |
| 2fb20 | 54 2e 20 20 52 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 0a 20 20 20 20 20 61 6c 6c | T...Return....nil....if......all |
| 2fb40 | 20 69 74 65 6d 73 20 73 61 74 69 73 66 79 20 74 68 65 20 70 72 65 64 69 63 61 74 65 20 6f 72 20 | .items.satisfy.the.predicate.or. |
| 2fb60 | 6e 6f 6e 65 20 6f 66 20 74 68 65 6d 20 64 6f 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 | none.of.them.do........Alias:... |
| 2fb80 | 98 2d 6f 6e 6c 79 2d 73 6f 6d 65 2d 70 e2 80 99 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6f 6e | .-only-some-p...............(-on |
| 2fba0 | 6c 79 2d 73 6f 6d 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 | ly-some?.'even?.'(1.2.3))....... |
| 2fbc0 | 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6f 6e 6c 79 2d 73 | ............t...........(-only-s |
| 2fbe0 | 6f 6d 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 33 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ome?.'even?.'(1.3.5))........... |
| 2fc00 | 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6f 6e 6c 79 2d 73 6f 6d | ........nil...........(-only-som |
| 2fc20 | 65 3f 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | e?.'even?.'(2.4.6))............. |
| 2fc40 | 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 6e 74 61 69 | ......nil...--.Function:.-contai |
| 2fc60 | 6e 73 3f 20 28 6c 69 73 74 20 65 6c 65 6d 65 6e 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e | ns?.(list.element)......Return.n |
| 2fc80 | 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 45 4c | on-...nil....if.LIST.contains.EL |
| 2fca0 | 45 4d 45 4e 54 2e 0a 0a 20 20 20 20 20 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 | EMENT........The.test.for.equali |
| 2fcc0 | 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 e2 80 98 65 71 75 61 6c e2 80 99 2c 20 6f 72 20 | ty.is.done.with....equal...,.or. |
| 2fce0 | 77 69 74 68 20 e2 80 98 2d 63 6f 6d 70 61 72 65 2d 66 6e e2 80 99 0a 20 20 20 20 20 69 66 20 74 | with....-compare-fn.........if.t |
| 2fd00 | 68 61 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 20 20 41 73 20 77 69 74 68 20 e2 | hat.is.non-...nil......As.with.. |
| 2fd20 | 80 98 6d 65 6d 62 65 72 e2 80 99 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 | ..member...,.the.return.value.is |
| 2fd40 | 0a 20 20 20 20 20 61 63 74 75 61 6c 6c 79 20 74 68 65 20 74 61 69 6c 20 6f 66 20 4c 49 53 54 20 | ......actually.the.tail.of.LIST. |
| 2fd60 | 77 68 6f 73 65 20 63 61 72 20 69 73 20 45 4c 45 4d 45 4e 54 2e 0a 0a 20 20 20 20 20 41 6c 69 61 | whose.car.is.ELEMENT........Alia |
| 2fd80 | 73 3a 20 e2 80 98 2d 63 6f 6e 74 61 69 6e 73 2d 70 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 | s:....-contains-p............... |
| 2fda0 | 20 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 20 31 29 0a 20 20 20 20 20 20 20 | .(-contains?.'(1.2.3).1)........ |
| 2fdc0 | 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 | ...........(1.2.3)...........(-c |
| 2fde0 | 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ontains?.'(1.2.3).2)............ |
| 2fe00 | 20 20 20 e2 87 92 20 28 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 74 61 69 6e | .......(2.3)...........(-contain |
| 2fe20 | 73 3f 20 27 28 31 20 32 20 33 29 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 | s?.'(1.2.3).4).................. |
| 2fe40 | 20 28 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 73 2d 70 72 65 66 69 78 3f 20 28 | .()...--.Function:.-is-prefix?.( |
| 2fe60 | 70 72 65 66 69 78 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d e2 80 98 | prefix.list)......Return.non-... |
| 2fe80 | 6e 69 6c e2 80 99 20 69 66 20 50 52 45 46 49 58 20 69 73 20 61 20 70 72 65 66 69 78 20 6f 66 20 | nil....if.PREFIX.is.a.prefix.of. |
| 2fea0 | 4c 49 53 54 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 69 73 2d 70 72 65 66 69 78 | LIST........Alias:....-is-prefix |
| 2fec0 | 2d 70 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 73 2d 70 72 65 66 69 78 3f 20 27 | -p................(-is-prefix?.' |
| 2fee0 | 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 | (1.2.3).'(1.2.3.4.5))........... |
| 2ff00 | 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 73 2d 70 72 65 66 69 78 3f | ........t...........(-is-prefix? |
| 2ff20 | 20 27 28 31 20 32 20 33 20 34 20 35 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 | .'(1.2.3.4.5).'(1.2.3))......... |
| 2ff40 | 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 73 2d 70 72 65 | ..........nil...........(-is-pre |
| 2ff60 | 66 69 78 3f 20 27 28 31 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 | fix?.'(1.3).'(1.2.3.4.5))....... |
| 2ff80 | 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d | ............nil...--.Function:.- |
| 2ffa0 | 69 73 2d 73 75 66 66 69 78 3f 20 28 73 75 66 66 69 78 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 | is-suffix?.(suffix.list)......Re |
| 2ffc0 | 74 75 72 6e 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 53 55 46 46 49 58 20 69 73 20 | turn.non-...nil....if.SUFFIX.is. |
| 2ffe0 | 61 20 73 75 66 66 69 78 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 | a.suffix.of.LIST........Alias:.. |
| 30000 | 80 98 2d 69 73 2d 73 75 66 66 69 78 2d 70 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d | ..-is-suffix-p................(- |
| 30020 | 69 73 2d 73 75 66 66 69 78 3f 20 27 28 33 20 34 20 35 29 20 27 28 31 20 32 20 33 20 34 20 35 29 | is-suffix?.'(3.4.5).'(1.2.3.4.5) |
| 30040 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 | )...................t........... |
| 30060 | 28 2d 69 73 2d 73 75 66 66 69 78 3f 20 27 28 31 20 32 20 33 20 34 20 35 29 20 27 28 33 20 34 20 | (-is-suffix?.'(1.2.3.4.5).'(3.4. |
| 30080 | 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 | 5))...................nil....... |
| 300a0 | 20 20 20 20 28 2d 69 73 2d 73 75 66 66 69 78 3f 20 27 28 33 20 35 29 20 27 28 31 20 32 20 33 20 | ....(-is-suffix?.'(3.5).'(1.2.3. |
| 300c0 | 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d | 4.5))...................nil...-- |
| 300e0 | 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 73 2d 69 6e 66 69 78 3f 20 28 69 6e 66 69 78 20 6c 69 73 | .Function:.-is-infix?.(infix.lis |
| 30100 | 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 | t)......Return.non-...nil....if. |
| 30120 | 49 4e 46 49 58 20 69 73 20 69 6e 66 69 78 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 54 68 | INFIX.is.infix.of.LIST........Th |
| 30140 | 69 73 20 6f 70 65 72 61 74 69 6f 6e 20 72 75 6e 73 20 69 6e 20 4f 28 6e 5e 32 29 20 74 69 6d 65 | is.operation.runs.in.O(n^2).time |
| 30160 | 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 69 73 2d 69 6e 66 69 78 2d 70 e2 80 99 0a | .......Alias:....-is-infix-p.... |
| 30180 | 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 73 2d 69 6e 66 69 78 3f 20 27 28 31 20 32 20 33 29 20 | ...........(-is-infix?.'(1.2.3). |
| 301a0 | 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 | '(1.2.3.4.5))................... |
| 301c0 | 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 73 2d 69 6e 66 69 78 3f 20 27 28 32 20 33 20 34 29 | t...........(-is-infix?.'(2.3.4) |
| 301e0 | 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 | .'(1.2.3.4.5)).................. |
| 30200 | 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 73 2d 69 6e 66 69 78 3f 20 27 28 33 20 34 20 35 | .t...........(-is-infix?.'(3.4.5 |
| 30220 | 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 | ).'(1.2.3.4.5))................. |
| 30240 | 92 20 74 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 28 | ..t...--.Function:.-cons-pair?.( |
| 30260 | 6f 62 6a 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 | obj)......Return.non-...nil....i |
| 30280 | 66 20 4f 42 4a 20 69 73 20 61 20 74 72 75 65 20 63 6f 6e 73 20 70 61 69 72 2e 20 20 54 68 61 74 | f.OBJ.is.a.true.cons.pair...That |
| 302a0 | 20 69 73 2c 20 61 20 63 6f 6e 73 20 28 41 20 2e 0a 20 20 20 20 20 42 29 20 77 68 65 72 65 20 42 | .is,.a.cons.(A........B).where.B |
| 302c0 | 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 | .is.not.a.list........Alias:.... |
| 302e0 | 2d 63 6f 6e 73 2d 70 61 69 72 2d 70 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f | -cons-pair-p................(-co |
| 30300 | 6e 73 2d 70 61 69 72 3f 20 27 28 31 20 2e 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ns-pair?.'(1...2)).............. |
| 30320 | 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 27 28 | .....t...........(-cons-pair?.'( |
| 30340 | 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 | 1.2))...................nil..... |
| 30360 | 20 20 20 20 20 20 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 | ......(-cons-pair?.'(1))........ |
| 30380 | 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 | ...........nil....File:.dash.inf |
| 303a0 | 6f 2c 20 20 4e 6f 64 65 3a 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2c 20 20 4e 65 78 74 3a 20 49 | o,..Node:.Partitioning,..Next:.I |
| 303c0 | 6e 64 65 78 69 6e 67 2c 20 20 50 72 65 76 3a 20 50 72 65 64 69 63 61 74 65 73 2c 20 20 55 70 3a | ndexing,..Prev:.Predicates,..Up: |
| 303e0 | 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 37 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 0a 3d 3d 3d | .Functions..2.7.Partitioning.=== |
| 30400 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 70 61 72 74 69 74 69 | =============..Functions.partiti |
| 30420 | 6f 6e 69 6e 67 20 74 68 65 20 69 6e 70 75 74 20 6c 69 73 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 | oning.the.input.list.into.a.list |
| 30440 | 20 6f 66 20 6c 69 73 74 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 70 6c 69 74 | .of.lists....--.Function:.-split |
| 30460 | 2d 61 74 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 53 70 6c 69 74 20 4c 49 53 54 20 69 6e 74 | -at.(n.list)......Split.LIST.int |
| 30480 | 6f 20 74 77 6f 20 73 75 62 6c 69 73 74 73 20 61 66 74 65 72 20 74 68 65 20 4e 74 68 20 65 6c 65 | o.two.sublists.after.the.Nth.ele |
| 304a0 | 6d 65 6e 74 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 0a 20 20 20 20 20 61 20 6c 69 73 74 | ment...The.result.is......a.list |
| 304c0 | 20 6f 66 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 28 54 41 4b 45 20 44 52 4f 50 29 20 77 68 65 | .of.two.elements.(TAKE.DROP).whe |
| 304e0 | 72 65 20 54 41 4b 45 20 69 73 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 0a 20 20 20 | re.TAKE.is.a.new.list.of.the.... |
| 30500 | 20 20 66 69 72 73 74 20 4e 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2c 20 61 6e 64 20 | ..first.N.elements.of.LIST,.and. |
| 30520 | 44 52 4f 50 20 69 73 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 6f | DROP.is.the.remaining.elements.o |
| 30540 | 66 0a 20 20 20 20 20 4c 49 53 54 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 2e 20 20 54 41 4b 45 20 | f......LIST.(not.a.copy)...TAKE. |
| 30560 | 61 6e 64 20 44 52 4f 50 20 61 72 65 20 6c 69 6b 65 20 74 68 65 20 72 65 73 75 6c 74 73 20 6f 66 | and.DROP.are.like.the.results.of |
| 30580 | 20 e2 80 98 2d 74 61 6b 65 e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 74 61 6b 65 3a 3a | ....-take.........(*note.-take:: |
| 305a0 | 29 20 61 6e 64 20 e2 80 98 2d 64 72 6f 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 64 72 6f 70 3a 3a | ).and....-drop....(*note.-drop:: |
| 305c0 | 29 2c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2c 20 62 75 74 20 74 68 65 0a 20 20 20 20 20 73 70 | ),.respectively,.but.the......sp |
| 305e0 | 6c 69 74 20 69 73 20 64 6f 6e 65 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 6c 69 73 74 20 74 72 61 | lit.is.done.in.a.single.list.tra |
| 30600 | 76 65 72 73 61 6c 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 74 2d 61 74 20 33 20 | versal.............(-split-at.3. |
| 30620 | 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 | '(1.2.3.4.5))................... |
| 30640 | 28 28 31 20 32 20 33 29 20 28 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 | ((1.2.3).(4.5))...........(-spli |
| 30660 | 74 2d 61 74 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 | t-at.17.'(1.2.3.4.5))........... |
| 30680 | 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 20 34 20 35 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 | ........((1.2.3.4.5).nil)....... |
| 306a0 | 20 20 20 20 28 2d 73 70 6c 69 74 2d 61 74 20 30 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 | ....(-split-at.0.'(1.2.3.4.5)).. |
| 306c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 20 28 31 20 32 20 33 20 34 20 35 | .................(nil.(1.2.3.4.5 |
| 306e0 | 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 70 6c 69 74 2d 77 69 74 68 20 28 70 | ))...--.Function:.-split-with.(p |
| 30700 | 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 53 70 6c 69 74 20 4c 49 53 54 20 69 6e 74 6f 20 61 | red.list)......Split.LIST.into.a |
| 30720 | 20 70 72 65 66 69 78 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 2c 20 61 6e 64 20 74 68 65 | .prefix.satisfying.PRED,.and.the |
| 30740 | 20 72 65 73 74 2e 20 20 54 68 65 20 66 69 72 73 74 0a 20 20 20 20 20 73 75 62 6c 69 73 74 20 69 | .rest...The.first......sublist.i |
| 30760 | 73 20 74 68 65 20 70 72 65 66 69 78 20 6f 66 20 4c 49 53 54 20 77 69 74 68 20 73 75 63 63 65 73 | s.the.prefix.of.LIST.with.succes |
| 30780 | 73 69 76 65 20 65 6c 65 6d 65 6e 74 73 20 73 61 74 69 73 66 79 69 6e 67 0a 20 20 20 20 20 50 52 | sive.elements.satisfying......PR |
| 307a0 | 45 44 2c 20 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 20 73 75 62 6c 69 73 74 20 69 73 20 74 68 | ED,.and.the.second.sublist.is.th |
| 307c0 | 65 20 72 65 6d 61 69 6e 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 | e.remaining.elements.that.do.not |
| 307e0 | 2e 0a 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 6c 69 6b 65 20 70 65 72 66 6f 72 | .......The.result.is.like.perfor |
| 30800 | 6d 69 6e 67 0a 0a 20 20 20 20 20 28 28 2d 74 61 6b 65 2d 77 68 69 6c 65 20 50 52 45 44 20 4c 49 | ming.......((-take-while.PRED.LI |
| 30820 | 53 54 29 20 28 2d 64 72 6f 70 2d 77 68 69 6c 65 20 50 52 45 44 20 4c 49 53 54 29 29 0a 0a 20 20 | ST).(-drop-while.PRED.LIST)).... |
| 30840 | 20 20 20 62 75 74 20 69 6e 20 6e 6f 20 6d 6f 72 65 20 74 68 61 6e 20 61 20 73 69 6e 67 6c 65 20 | ...but.in.no.more.than.a.single. |
| 30860 | 70 61 73 73 20 74 68 72 6f 75 67 68 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d | pass.through.LIST.............(- |
| 30880 | 73 70 6c 69 74 2d 77 69 74 68 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 | split-with.'even?.'(1.2.3.4))... |
| 308a0 | 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 20 28 31 20 32 20 33 20 34 29 29 0a | ................(nil.(1.2.3.4)). |
| 308c0 | 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 74 2d 77 69 74 68 20 27 65 76 65 6e 3f 20 27 28 | ..........(-split-with.'even?.'( |
| 308e0 | 32 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 32 20 | 2.4.5.6))...................((2. |
| 30900 | 34 29 20 28 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 73 70 6c 69 74 2d 77 69 74 | 4).(5.6))...........(--split-wit |
| 30920 | 68 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 | h.(<.it.4).'(1.2.3.4.3.2.1)).... |
| 30940 | 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 34 20 33 20 32 20 31 | ...............((1.2.3).(4.3.2.1 |
| 30960 | 29 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 73 70 6c 69 74 2d 6f 6e 20 28 69 74 65 6d 20 6c | ))...--.Macro:.-split-on.(item.l |
| 30980 | 69 73 74 29 0a 20 20 20 20 20 53 70 6c 69 74 20 74 68 65 20 4c 49 53 54 20 65 61 63 68 20 74 69 | ist)......Split.the.LIST.each.ti |
| 309a0 | 6d 65 20 49 54 45 4d 20 69 73 20 66 6f 75 6e 64 2e 0a 0a 20 20 20 20 20 55 6e 6c 69 6b 65 20 e2 | me.ITEM.is.found........Unlike.. |
| 309c0 | 80 98 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 70 61 72 74 69 | ..-partition-by....(*note.-parti |
| 309e0 | 74 69 6f 6e 2d 62 79 3a 3a 29 2c 20 74 68 65 20 49 54 45 4d 20 69 73 0a 20 20 20 20 20 64 69 73 | tion-by::),.the.ITEM.is......dis |
| 30a00 | 63 61 72 64 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 73 2e 20 20 45 6d 70 74 79 20 | carded.from.the.results...Empty. |
| 30a20 | 6c 69 73 74 73 20 61 72 65 20 61 6c 73 6f 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 65 0a | lists.are.also.removed.from.the. |
| 30a40 | 20 20 20 20 20 72 65 73 75 6c 74 2e 0a 0a 20 20 20 20 20 43 6f 6d 70 61 72 69 73 6f 6e 20 69 73 | .....result........Comparison.is |
| 30a60 | 20 64 6f 6e 65 20 62 79 20 e2 80 98 65 71 75 61 6c e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 65 20 | .done.by....equal...........See. |
| 30a80 | 61 6c 73 6f 20 e2 80 98 2d 73 70 6c 69 74 2d 77 68 65 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 | also....-split-when....(*note.-s |
| 30aa0 | 70 6c 69 74 2d 77 68 65 6e 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 74 2d | plit-when::)............(-split- |
| 30ac0 | 6f 6e 20 27 7c 20 27 28 4e 69 6c 20 7c 20 4c 65 61 66 20 61 20 7c 20 4e 6f 64 65 20 5b 54 72 65 | on.'|.'(Nil.|.Leaf.a.|.Node.[Tre |
| 30ae0 | 65 20 61 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 4e 69 6c 29 20 | e.a]))...................((Nil). |
| 30b00 | 28 4c 65 61 66 20 61 29 20 28 4e 6f 64 65 20 5b 54 72 65 65 20 61 5d 29 29 0a 20 20 20 20 20 20 | (Leaf.a).(Node.[Tree.a]))....... |
| 30b20 | 20 20 20 20 28 2d 73 70 6c 69 74 2d 6f 6e 20 3a 65 6e 64 67 72 6f 75 70 20 27 28 22 61 22 20 22 | ....(-split-on.:endgroup.'("a"." |
| 30b40 | 62 22 20 3a 65 6e 64 67 72 6f 75 70 20 22 63 22 20 3a 65 6e 64 67 72 6f 75 70 20 22 64 22 20 22 | b".:endgroup."c".:endgroup."d"." |
| 30b60 | 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 22 61 22 20 22 62 22 | e"))...................(("a"."b" |
| 30b80 | 29 20 28 22 63 22 29 20 28 22 64 22 20 22 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 | ).("c").("d"."e"))...........(-s |
| 30ba0 | 70 6c 69 74 2d 6f 6e 20 3a 65 6e 64 67 72 6f 75 70 20 27 28 22 61 22 20 22 62 22 20 3a 65 6e 64 | plit-on.:endgroup.'("a"."b".:end |
| 30bc0 | 67 72 6f 75 70 20 3a 65 6e 64 67 72 6f 75 70 20 22 64 22 20 22 65 22 29 29 0a 20 20 20 20 20 20 | group.:endgroup."d"."e"))....... |
| 30be0 | 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 22 61 22 20 22 62 22 29 20 28 22 64 22 20 22 65 22 29 | ............(("a"."b").("d"."e") |
| 30c00 | 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 70 6c 69 74 2d 77 68 65 6e 20 28 66 6e | )...--.Function:.-split-when.(fn |
| 30c20 | 20 6c 69 73 74 29 0a 20 20 20 20 20 53 70 6c 69 74 20 74 68 65 20 4c 49 53 54 20 6f 6e 20 65 61 | .list)......Split.the.LIST.on.ea |
| 30c40 | 63 68 20 65 6c 65 6d 65 6e 74 20 77 68 65 72 65 20 46 4e 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d | ch.element.where.FN.returns.non- |
| 30c60 | e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 55 6e 6c 69 6b 65 20 e2 80 98 2d 70 61 72 74 | ...nil...........Unlike....-part |
| 30c80 | 69 74 69 6f 6e 2d 62 79 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 | ition-by....(*note.-partition-by |
| 30ca0 | 3a 3a 29 2c 20 74 68 65 20 22 6d 61 74 63 68 65 64 22 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 20 | ::),.the."matched"......element. |
| 30cc0 | 69 73 20 64 69 73 63 61 72 64 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 73 2e 20 20 | is.discarded.from.the.results... |
| 30ce0 | 45 6d 70 74 79 20 6c 69 73 74 73 20 61 72 65 20 61 6c 73 6f 0a 20 20 20 20 20 72 65 6d 6f 76 65 | Empty.lists.are.also......remove |
| 30d00 | 64 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 | d.from.the.result........This.fu |
| 30d20 | 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 74 68 6f 75 67 68 74 20 6f 66 20 61 73 20 61 20 67 65 | nction.can.be.thought.of.as.a.ge |
| 30d40 | 6e 65 72 61 6c 69 7a 61 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 e2 80 98 73 70 6c 69 74 2d 73 74 | neralization.of.........split-st |
| 30d60 | 72 69 6e 67 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 74 2d 77 68 65 6e | ring................(-split-when |
| 30d80 | 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 | .'even?.'(1.2.3.4.5.6))......... |
| 30da0 | 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 20 28 33 29 20 28 35 29 29 0a 20 20 20 20 20 20 20 20 | ..........((1).(3).(5))......... |
| 30dc0 | 20 20 28 2d 73 70 6c 69 74 2d 77 68 65 6e 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 20 | ..(-split-when.'even?.'(1.2.3.4. |
| 30de0 | 36 20 38 20 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 20 28 | 6.8.9))...................((1).( |
| 30e00 | 33 29 20 28 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 73 70 6c 69 74 2d 77 68 65 6e 20 | 3).(9))...........(--split-when. |
| 30e20 | 28 6d 65 6d 71 20 69 74 20 27 28 26 6f 70 74 69 6f 6e 61 6c 20 26 72 65 73 74 29 29 20 27 28 61 | (memq.it.'(&optional.&rest)).'(a |
| 30e40 | 20 62 20 26 6f 70 74 69 6f 6e 61 6c 20 63 20 64 20 26 72 65 73 74 20 61 72 67 73 29 29 0a 20 20 | .b.&optional.c.d.&rest.args))... |
| 30e60 | 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 61 20 62 29 20 28 63 20 64 29 20 28 61 72 | ................((a.b).(c.d).(ar |
| 30e80 | 67 73 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 65 70 61 72 61 74 65 20 28 70 | gs))...--.Function:.-separate.(p |
| 30ea0 | 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 53 70 6c 69 74 20 4c 49 53 54 20 69 6e 74 6f 20 74 | red.list)......Split.LIST.into.t |
| 30ec0 | 77 6f 20 73 75 62 6c 69 73 74 73 20 62 61 73 65 64 20 6f 6e 20 77 68 65 74 68 65 72 20 69 74 65 | wo.sublists.based.on.whether.ite |
| 30ee0 | 6d 73 20 73 61 74 69 73 66 79 20 50 52 45 44 2e 0a 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 | ms.satisfy.PRED.......The.result |
| 30f00 | 20 69 73 20 6c 69 6b 65 20 70 65 72 66 6f 72 6d 69 6e 67 0a 0a 20 20 20 20 20 28 28 2d 66 69 6c | .is.like.performing.......((-fil |
| 30f20 | 74 65 72 20 50 52 45 44 20 4c 49 53 54 29 20 28 2d 72 65 6d 6f 76 65 20 50 52 45 44 20 4c 49 53 | ter.PRED.LIST).(-remove.PRED.LIS |
| 30f40 | 54 29 29 0a 0a 20 20 20 20 20 62 75 74 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 70 61 73 73 20 74 | T)).......but.in.a.single.pass.t |
| 30f60 | 68 72 6f 75 67 68 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 70 61 72 61 | hrough.LIST.............(-separa |
| 30f80 | 74 65 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 3d 20 30 20 28 25 20 6e 75 6d 20 32 29 29 | te.(lambda.(num).(=.0.(%.num.2)) |
| 30fa0 | 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ).'(1.2.3.4.5.6.7))............. |
| 30fc0 | 20 20 e2 87 92 20 28 28 32 20 34 20 36 29 20 28 31 20 33 20 35 20 37 29 29 0a 20 20 20 20 20 20 | ......((2.4.6).(1.3.5.7))....... |
| 30fe0 | 20 20 20 20 28 2d 2d 73 65 70 61 72 61 74 65 20 28 3c 20 69 74 20 35 29 20 27 28 33 20 37 20 35 | ....(--separate.(<.it.5).'(3.7.5 |
| 31000 | 20 39 20 33 20 32 20 31 20 34 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 | .9.3.2.1.4.6)).................. |
| 31020 | 20 28 28 33 20 33 20 32 20 31 20 34 29 20 28 37 20 35 20 39 20 36 29 29 0a 20 20 20 20 20 20 20 | .((3.3.2.1.4).(7.5.9.6))........ |
| 31040 | 20 20 20 28 2d 73 65 70 61 72 61 74 65 20 27 63 64 72 20 27 28 28 31 20 32 29 20 28 31 29 20 28 | ...(-separate.'cdr.'((1.2).(1).( |
| 31060 | 31 20 32 20 33 29 20 28 34 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 | 1.2.3).(4)))...................( |
| 31080 | 28 28 31 20 32 29 20 28 31 20 32 20 33 29 29 20 28 28 31 29 20 28 34 29 29 29 0a 0a 20 2d 2d 20 | ((1.2).(1.2.3)).((1).(4)))...--. |
| 310a0 | 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 20 28 6e 20 6c 69 73 74 29 0a 20 20 | Function:.-partition.(n.list)... |
| 310c0 | 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 69 74 | ...Return.a.new.list.with.the.it |
| 310e0 | 65 6d 73 20 69 6e 20 4c 49 53 54 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 4e 2d 73 69 7a 65 64 | ems.in.LIST.grouped.into.N-sized |
| 31100 | 0a 20 20 20 20 20 73 75 62 6c 69 73 74 73 2e 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f | ......sublists...If.there.are.no |
| 31120 | 74 20 65 6e 6f 75 67 68 20 69 74 65 6d 73 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 6c 61 73 74 20 | t.enough.items.to.make.the.last. |
| 31140 | 67 72 6f 75 70 0a 20 20 20 20 20 4e 2d 73 69 7a 65 64 2c 20 74 68 6f 73 65 20 69 74 65 6d 73 20 | group......N-sized,.those.items. |
| 31160 | 61 72 65 20 64 69 73 63 61 72 64 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 | are.discarded.............(-part |
| 31180 | 69 74 69 6f 6e 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 | ition.2.'(1.2.3.4.5.6))......... |
| 311a0 | 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 0a 20 20 | ..........((1.2).(3.4).(5.6))... |
| 311c0 | 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 20 32 20 27 28 31 20 32 20 33 20 34 20 | ........(-partition.2.'(1.2.3.4. |
| 311e0 | 35 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 | 5.6.7))...................((1.2) |
| 31200 | 20 28 33 20 34 29 20 28 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 | .(3.4).(5.6))...........(-partit |
| 31220 | 69 6f 6e 20 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 | ion.3.'(1.2.3.4.5.6.7))......... |
| 31240 | 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 34 20 35 20 36 29 29 0a 0a 20 2d 2d | ..........((1.2.3).(4.5.6))...-- |
| 31260 | 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 28 6e 20 6c 69 73 | .Function:.-partition-all.(n.lis |
| 31280 | 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 | t)......Return.a.new.list.with.t |
| 312a0 | 68 65 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 4e 2d | he.items.in.LIST.grouped.into.N- |
| 312c0 | 73 69 7a 65 64 0a 20 20 20 20 20 73 75 62 6c 69 73 74 73 2e 20 20 54 68 65 20 6c 61 73 74 20 67 | sized......sublists...The.last.g |
| 312e0 | 72 6f 75 70 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 4e 20 69 74 65 | roup.may.contain.less.than.N.ite |
| 31300 | 6d 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 32 | ms.............(-partition-all.2 |
| 31320 | 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 | .'(1.2.3.4.5.6))................ |
| 31340 | 87 92 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 | ...((1.2).(3.4).(5.6)).......... |
| 31360 | 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 | .(-partition-all.2.'(1.2.3.4.5.6 |
| 31380 | 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 28 33 | .7))...................((1.2).(3 |
| 313a0 | 20 34 29 20 28 35 20 36 29 20 28 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 | .4).(5.6).(7))...........(-parti |
| 313c0 | 74 69 6f 6e 2d 61 6c 6c 20 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 | tion-all.3.'(1.2.3.4.5.6.7)).... |
| 313e0 | 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 34 20 35 20 36 29 20 | ...............((1.2.3).(4.5.6). |
| 31400 | 28 37 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 69 | (7))...--.Function:.-partition-i |
| 31420 | 6e 2d 73 74 65 70 73 20 28 6e 20 73 74 65 70 20 6c 69 73 74 29 0a 20 20 20 20 20 50 61 72 74 69 | n-steps.(n.step.list)......Parti |
| 31440 | 74 69 6f 6e 20 4c 49 53 54 20 69 6e 74 6f 20 73 75 62 6c 69 73 74 73 20 6f 66 20 6c 65 6e 67 74 | tion.LIST.into.sublists.of.lengt |
| 31460 | 68 20 4e 20 74 68 61 74 20 61 72 65 20 53 54 45 50 20 69 74 65 6d 73 20 61 70 61 72 74 2e 0a 20 | h.N.that.are.STEP.items.apart... |
| 31480 | 20 20 20 20 4c 69 6b 65 20 e2 80 98 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 | ....Like....-partition-all-in-st |
| 314a0 | 65 70 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d | eps....(*note.-partition-all-in- |
| 314c0 | 73 74 65 70 73 3a 3a 29 2c 0a 20 20 20 20 20 62 75 74 20 69 66 20 74 68 65 72 65 20 61 72 65 20 | steps::),......but.if.there.are. |
| 314e0 | 6e 6f 74 20 65 6e 6f 75 67 68 20 69 74 65 6d 73 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 6c 61 73 | not.enough.items.to.make.the.las |
| 31500 | 74 20 67 72 6f 75 70 20 4e 2d 73 69 7a 65 64 2c 0a 20 20 20 20 20 74 68 6f 73 65 20 69 74 65 6d | t.group.N-sized,......those.item |
| 31520 | 73 20 61 72 65 20 64 69 73 63 61 72 64 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 | s.are.discarded.............(-pa |
| 31540 | 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 20 32 20 31 20 27 28 31 20 32 20 33 20 34 29 29 | rtition-in-steps.2.1.'(1.2.3.4)) |
| 31560 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 28 32 20 33 29 20 | ...................((1.2).(2.3). |
| 31580 | 28 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d | (3.4))...........(-partition-in- |
| 315a0 | 73 74 65 70 73 20 33 20 32 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 | steps.3.2.'(1.2.3.4))........... |
| 315c0 | 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 | ........((1.2.3))...........(-pa |
| 315e0 | 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 20 33 20 32 20 27 28 31 20 32 20 33 20 34 20 35 | rtition-in-steps.3.2.'(1.2.3.4.5 |
| 31600 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 33 | ))...................((1.2.3).(3 |
| 31620 | 20 34 20 35 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e | .4.5))...--.Function:.-partition |
| 31640 | 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 28 6e 20 73 74 65 70 20 6c 69 73 74 29 0a 20 20 20 20 | -all-in-steps.(n.step.list)..... |
| 31660 | 20 50 61 72 74 69 74 69 6f 6e 20 4c 49 53 54 20 69 6e 74 6f 20 73 75 62 6c 69 73 74 73 20 6f 66 | .Partition.LIST.into.sublists.of |
| 31680 | 20 6c 65 6e 67 74 68 20 4e 20 74 68 61 74 20 61 72 65 20 53 54 45 50 20 69 74 65 6d 73 20 61 70 | .length.N.that.are.STEP.items.ap |
| 316a0 | 61 72 74 2e 0a 20 20 20 20 20 41 64 6a 61 63 65 6e 74 20 67 72 6f 75 70 73 20 6d 61 79 20 6f 76 | art.......Adjacent.groups.may.ov |
| 316c0 | 65 72 6c 61 70 20 69 66 20 4e 20 65 78 63 65 65 64 73 20 74 68 65 20 53 54 45 50 20 73 74 72 69 | erlap.if.N.exceeds.the.STEP.stri |
| 316e0 | 64 65 2e 20 20 54 72 61 69 6c 69 6e 67 0a 20 20 20 20 20 67 72 6f 75 70 73 20 6d 61 79 20 63 6f | de...Trailing......groups.may.co |
| 31700 | 6e 74 61 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 4e 20 69 74 65 6d 73 2e 0a 0a 20 20 20 20 20 20 | ntain.less.than.N.items......... |
| 31720 | 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 32 20 31 | ....(-partition-all-in-steps.2.1 |
| 31740 | 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 | .'(1.2.3.4))...................( |
| 31760 | 28 31 20 32 29 20 28 32 20 33 29 20 28 33 20 34 29 20 28 34 29 29 0a 20 20 20 20 20 20 20 20 20 | (1.2).(2.3).(3.4).(4)).......... |
| 31780 | 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 33 20 32 20 27 28 | .(-partition-all-in-steps.3.2.'( |
| 317a0 | 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 | 1.2.3.4))...................((1. |
| 317c0 | 32 20 33 29 20 28 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f | 2.3).(3.4))...........(-partitio |
| 317e0 | 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 33 20 32 20 27 28 31 20 32 20 33 20 34 20 35 29 29 | n-all-in-steps.3.2.'(1.2.3.4.5)) |
| 31800 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 33 20 34 | ...................((1.2.3).(3.4 |
| 31820 | 20 35 29 20 28 35 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 | .5).(5))...--.Function:.-partiti |
| 31840 | 6f 6e 2d 62 79 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 41 70 70 6c 79 20 46 4e 20 74 6f | on-by.(fn.list)......Apply.FN.to |
| 31860 | 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2c 20 73 70 6c 69 74 74 69 6e 67 20 69 74 | .each.item.in.LIST,.splitting.it |
| 31880 | 20 65 61 63 68 20 74 69 6d 65 20 46 4e 20 72 65 74 75 72 6e 73 20 61 0a 20 20 20 20 20 6e 65 77 | .each.time.FN.returns.a......new |
| 318a0 | 20 76 61 6c 75 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 | .value.............(-partition-b |
| 318c0 | 79 20 27 65 76 65 6e 3f 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 | y.'even?.())...................( |
| 318e0 | 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 27 65 76 65 6e | )...........(-partition-by.'even |
| 31900 | 3f 20 27 28 31 20 31 20 32 20 32 20 32 20 33 20 34 20 36 20 38 29 29 0a 20 20 20 20 20 20 20 20 | ?.'(1.1.2.2.2.3.4.6.8))......... |
| 31920 | 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 31 29 20 28 32 20 32 20 32 29 20 28 33 29 20 28 34 20 | ..........((1.1).(2.2.2).(3).(4. |
| 31940 | 36 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 | 6.8))...........(--partition-by. |
| 31960 | 28 3c 20 69 74 20 33 29 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 20 | (<.it.3).'(1.2.3.4.3.2.1))...... |
| 31980 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 28 33 20 34 20 33 29 20 28 32 20 31 | .............((1.2).(3.4.3).(2.1 |
| 319a0 | 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d | ))...--.Function:.-partition-by- |
| 319c0 | 68 65 61 64 65 72 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 41 70 70 6c 79 20 46 4e 20 74 | header.(fn.list)......Apply.FN.t |
| 319e0 | 6f 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2e 20 20 54 68 61 74 20 | o.the.first.item.in.LIST...That. |
| 31a00 | 69 73 20 74 68 65 20 68 65 61 64 65 72 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 41 70 70 6c 79 20 | is.the.header.value.......Apply. |
| 31a20 | 46 4e 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2c 20 73 70 6c 69 74 74 69 | FN.to.each.item.in.LIST,.splitti |
| 31a40 | 6e 67 20 69 74 20 65 61 63 68 20 74 69 6d 65 20 46 4e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 | ng.it.each.time.FN.returns...... |
| 31a60 | 74 68 65 20 68 65 61 64 65 72 20 76 61 6c 75 65 2c 20 62 75 74 20 6f 6e 6c 79 20 61 66 74 65 72 | the.header.value,.but.only.after |
| 31a80 | 20 73 65 65 69 6e 67 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 6f 74 68 65 72 20 76 61 6c 75 65 | .seeing.at.least.one.other.value |
| 31aa0 | 0a 20 20 20 20 20 28 74 68 65 20 62 6f 64 79 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d | ......(the.body).............(-- |
| 31ac0 | 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 3d 20 69 74 20 31 29 20 27 28 31 | partition-by-header.(=.it.1).'(1 |
| 31ae0 | 20 32 20 33 20 31 20 32 20 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .2.3.1.2.1.2.3.4)).............. |
| 31b00 | 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 31 20 32 29 20 28 31 20 32 20 33 20 34 29 29 0a 20 | .....((1.2.3).(1.2).(1.2.3.4)).. |
| 31b20 | 20 20 20 20 20 20 20 20 20 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 | .........(--partition-by-header. |
| 31b40 | 28 3e 20 69 74 20 30 29 20 27 28 31 20 32 20 30 20 31 20 30 20 31 20 32 20 33 20 30 29 29 0a 20 | (>.it.0).'(1.2.0.1.0.1.2.3.0)).. |
| 31b60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 30 29 20 28 31 20 30 29 20 | .................((1.2.0).(1.0). |
| 31b80 | 28 31 20 32 20 33 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e | (1.2.3.0))...........(-partition |
| 31ba0 | 2d 62 79 2d 68 65 61 64 65 72 20 27 65 76 65 6e 3f 20 27 28 32 20 31 20 31 20 31 20 34 20 31 20 | -by-header.'even?.'(2.1.1.1.4.1. |
| 31bc0 | 33 20 35 20 36 20 36 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 | 3.5.6.6.1))...................(( |
| 31be0 | 32 20 31 20 31 20 31 29 20 28 34 20 31 20 33 20 35 29 20 28 36 20 36 20 31 29 29 0a 0a 20 2d 2d | 2.1.1.1).(4.1.3.5).(6.6.1))...-- |
| 31c00 | 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 | .Function:.-partition-after-pred |
| 31c20 | 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 20 4c 49 53 54 | .(pred.list)......Partition.LIST |
| 31c40 | 20 61 66 74 65 72 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 66 6f 72 20 77 68 69 63 68 20 50 52 | .after.each.element.for.which.PR |
| 31c60 | 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 | ED.returns.non-...nil........... |
| 31c80 | 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e | This.function...s.anaphoric.coun |
| 31ca0 | 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d | terpart.is....--partition-after- |
| 31cc0 | 70 72 65 64 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d | pred................(-partition- |
| 31ce0 | 61 66 74 65 72 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 28 29 29 0a 20 20 20 20 20 20 | after-pred.#'booleanp.())....... |
| 31d00 | 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 | ............()...........(-parti |
| 31d20 | 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 27 28 74 20 74 | tion-after-pred.#'booleanp.'(t.t |
| 31d40 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 74 29 20 28 74 29 29 0a 20 | ))...................((t).(t)).. |
| 31d60 | 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 | .........(-partition-after-pred. |
| 31d80 | 23 27 62 6f 6f 6c 65 61 6e 70 20 27 28 30 20 30 20 74 20 74 20 30 20 74 29 29 0a 20 20 20 20 20 | #'booleanp.'(0.0.t.t.0.t))...... |
| 31da0 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 30 20 30 20 74 29 20 28 74 29 20 28 30 20 74 29 29 | .............((0.0.t).(t).(0.t)) |
| 31dc0 | 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 | ...--.Function:.-partition-befor |
| 31de0 | 65 2d 70 72 65 64 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 50 61 72 74 69 74 69 6f | e-pred.(pred.list)......Partitio |
| 31e00 | 6e 20 64 69 72 65 63 74 6c 79 20 62 65 66 6f 72 65 20 65 61 63 68 20 74 69 6d 65 20 50 52 45 44 | n.directly.before.each.time.PRED |
| 31e20 | 20 69 73 20 74 72 75 65 20 6f 6e 20 61 6e 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 20 20 20 20 20 4c | .is.true.on.an.element.of......L |
| 31e40 | 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f | IST.............(-partition-befo |
| 31e60 | 72 65 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 | re-pred.#'booleanp.()).......... |
| 31e80 | 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f | .........()...........(-partitio |
| 31ea0 | 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 27 28 30 20 74 29 29 | n-before-pred.#'booleanp.'(0.t)) |
| 31ec0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 30 29 20 28 74 29 29 0a 20 20 20 | ...................((0).(t)).... |
| 31ee0 | 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 23 | .......(-partition-before-pred.# |
| 31f00 | 27 62 6f 6f 6c 65 61 6e 70 20 27 28 30 20 30 20 74 20 30 20 74 20 74 29 29 0a 20 20 20 20 20 20 | 'booleanp.'(0.0.t.0.t.t))....... |
| 31f20 | 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 30 20 30 29 20 28 74 20 30 29 20 28 74 29 20 28 74 29 | ............((0.0).(t.0).(t).(t) |
| 31f40 | 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f | )...--.Function:.-partition-befo |
| 31f60 | 72 65 2d 69 74 65 6d 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 20 20 20 20 20 50 61 72 74 69 74 69 | re-item.(item.list)......Partiti |
| 31f80 | 6f 6e 20 64 69 72 65 63 74 6c 79 20 62 65 66 6f 72 65 20 65 61 63 68 20 74 69 6d 65 20 49 54 45 | on.directly.before.each.time.ITE |
| 31fa0 | 4d 20 61 70 70 65 61 72 73 20 69 6e 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d | M.appears.in.LIST.............(- |
| 31fc0 | 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 20 33 20 28 29 29 0a 20 20 20 20 | partition-before-item.3.())..... |
| 31fe0 | 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 | ..............()...........(-par |
| 32000 | 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 20 33 20 27 28 31 29 29 0a 20 20 20 20 20 | tition-before-item.3.'(1))...... |
| 32020 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 | .............((1))...........(-p |
| 32040 | 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 20 33 20 27 28 33 29 29 0a 20 20 20 | artition-before-item.3.'(3)).... |
| 32060 | 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 33 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 | ...............((3))...--.Functi |
| 32080 | 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 28 69 74 65 6d 20 | on:.-partition-after-item.(item. |
| 320a0 | 6c 69 73 74 29 0a 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 61 66 | list)......Partition.directly.af |
| 320c0 | 74 65 72 20 65 61 63 68 20 74 69 6d 65 20 49 54 45 4d 20 61 70 70 65 61 72 73 20 69 6e 20 4c 49 | ter.each.time.ITEM.appears.in.LI |
| 320e0 | 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 | ST.............(-partition-after |
| 32100 | 2d 69 74 65 6d 20 33 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 | -item.3.())...................() |
| 32120 | 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 | ...........(-partition-after-ite |
| 32140 | 6d 20 33 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 | m.3.'(1))...................((1) |
| 32160 | 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 | )...........(-partition-after-it |
| 32180 | 65 6d 20 33 20 27 28 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 33 | em.3.'(3))...................((3 |
| 321a0 | 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 67 72 6f 75 70 2d 62 79 20 28 66 6e 20 | ))...--.Function:.-group-by.(fn. |
| 321c0 | 6c 69 73 74 29 0a 20 20 20 20 20 53 65 70 61 72 61 74 65 20 4c 49 53 54 20 69 6e 74 6f 20 61 6e | list)......Separate.LIST.into.an |
| 321e0 | 20 61 6c 69 73 74 20 77 68 6f 73 65 20 6b 65 79 73 20 61 72 65 20 46 4e 20 61 70 70 6c 69 65 64 | .alist.whose.keys.are.FN.applied |
| 32200 | 20 74 6f 20 74 68 65 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2e 20 20 | .to.the......elements.of.LIST... |
| 32220 | 4b 65 79 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 62 79 20 e2 80 98 65 71 75 61 6c e2 80 99 | Keys.are.compared.by....equal... |
| 32240 | 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 67 72 6f 75 70 2d 62 79 20 27 65 76 65 6e 3f 20 28 | .............(-group-by.'even?.( |
| 32260 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 | ))...................()......... |
| 32280 | 20 20 28 2d 67 72 6f 75 70 2d 62 79 20 27 65 76 65 6e 3f 20 27 28 31 20 31 20 32 20 32 20 32 20 | ..(-group-by.'even?.'(1.1.2.2.2. |
| 322a0 | 33 20 34 20 36 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 6e 69 | 3.4.6.8))...................((ni |
| 322c0 | 6c 20 31 20 31 20 33 29 20 28 74 20 32 20 32 20 32 20 34 20 36 20 38 29 29 0a 20 20 20 20 20 20 | l.1.1.3).(t.2.2.2.4.6.8))....... |
| 322e0 | 20 20 20 20 28 2d 2d 67 72 6f 75 70 2d 62 79 20 28 63 61 72 20 28 73 70 6c 69 74 2d 73 74 72 69 | ....(--group-by.(car.(split-stri |
| 32300 | 6e 67 20 69 74 20 22 2f 22 29 29 20 27 28 22 61 2f 62 22 20 22 63 2f 64 22 20 22 61 2f 65 22 29 | ng.it."/")).'("a/b"."c/d"."a/e") |
| 32320 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 22 61 22 20 22 61 2f 62 22 20 | )...................(("a"."a/b". |
| 32340 | 22 61 2f 65 22 29 20 28 22 63 22 20 22 63 2f 64 22 29 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 | "a/e").("c"."c/d"))....File:.das |
| 32360 | 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 49 6e 64 65 78 69 6e 67 2c 20 20 4e 65 78 74 3a 20 | h.info,..Node:.Indexing,..Next:. |
| 32380 | 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 50 61 72 74 69 74 69 6f 6e | Set.operations,..Prev:.Partition |
| 323a0 | 69 6e 67 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 38 20 49 6e 64 65 78 69 6e | ing,..Up:.Functions..2.8.Indexin |
| 323c0 | 67 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 72 65 74 72 69 65 | g.============..Functions.retrie |
| 323e0 | 76 69 6e 67 20 6f 72 20 73 6f 72 74 69 6e 67 20 62 61 73 65 64 20 6f 6e 20 6c 69 73 74 20 69 6e | ving.or.sorting.based.on.list.in |
| 32400 | 64 69 63 65 73 20 61 6e 64 20 72 65 6c 61 74 65 64 0a 70 72 65 64 69 63 61 74 65 73 2e 0a 0a 20 | dices.and.related.predicates.... |
| 32420 | 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 28 65 6c 65 6d 20 6c | --.Function:.-elem-index.(elem.l |
| 32440 | 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 6e 64 65 78 | ist)......Return.the.first.index |
| 32460 | 20 6f 66 20 45 4c 45 4d 20 69 6e 20 4c 49 53 54 2e 20 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 | .of.ELEM.in.LIST...That.is,.the. |
| 32480 | 69 6e 64 65 78 20 77 69 74 68 69 6e 0a 20 20 20 20 20 4c 49 53 54 20 6f 66 20 74 68 65 20 66 69 | index.within......LIST.of.the.fi |
| 324a0 | 72 73 74 20 65 6c 65 6d 65 6e 74 20 74 68 61 74 20 69 73 20 e2 80 98 65 71 75 61 6c e2 80 99 20 | rst.element.that.is....equal.... |
| 324c0 | 74 6f 20 45 4c 45 4d 2e 20 20 52 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 0a 20 20 | to.ELEM...Return....nil....if... |
| 324e0 | 20 20 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 2e 0a 0a 20 20 | ...there.is.no.such.element..... |
| 32500 | 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 66 69 6e 64 2d 69 6e 64 65 78 e2 80 99 20 28 | ...See.also:....-find-index....( |
| 32520 | 2a 6e 6f 74 65 20 2d 66 69 6e 64 2d 69 6e 64 65 78 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 | *note.-find-index::)............ |
| 32540 | 20 28 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 32 20 27 28 36 20 37 20 38 20 33 20 34 29 29 0a 20 20 | .(-elem-index.2.'(6.7.8.3.4))... |
| 32560 | 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d | ................nil...........(- |
| 32580 | 65 6c 65 6d 2d 69 6e 64 65 78 20 22 62 61 72 22 20 27 28 22 66 6f 6f 22 20 22 62 61 72 22 20 22 | elem-index."bar".'("foo"."bar"." |
| 325a0 | 62 61 7a 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 | baz"))...................1...... |
| 325c0 | 20 20 20 20 20 28 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 27 28 31 20 32 29 20 27 28 28 33 29 20 28 | .....(-elem-index.'(1.2).'((3).( |
| 325e0 | 35 20 36 29 20 28 31 20 32 29 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 | 5.6).(1.2).nil))................ |
| 32600 | 87 92 20 32 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 | ...2...--.Function:.-elem-indice |
| 32620 | 73 20 28 65 6c 65 6d 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6c 69 | s.(elem.list)......Return.the.li |
| 32640 | 73 74 20 6f 66 20 69 6e 64 69 63 65 73 20 61 74 20 77 68 69 63 68 20 45 4c 45 4d 20 61 70 70 65 | st.of.indices.at.which.ELEM.appe |
| 32660 | 61 72 73 20 69 6e 20 4c 49 53 54 2e 20 20 54 68 61 74 20 69 73 2c 0a 20 20 20 20 20 74 68 65 20 | ars.in.LIST...That.is,......the. |
| 32680 | 69 6e 64 69 63 65 73 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 | indices.of.all.elements.of.LIST. |
| 326a0 | e2 80 98 65 71 75 61 6c e2 80 99 20 74 6f 20 45 4c 45 4d 2c 20 69 6e 20 74 68 65 20 73 61 6d 65 | ...equal....to.ELEM,.in.the.same |
| 326c0 | 0a 20 20 20 20 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 20 61 73 20 74 68 65 79 20 61 70 | ......ascending.order.as.they.ap |
| 326e0 | 70 65 61 72 20 69 6e 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 6c 65 6d 2d | pear.in.LIST.............(-elem- |
| 32700 | 69 6e 64 69 63 65 73 20 32 20 27 28 36 20 37 20 38 20 33 20 34 20 31 29 29 0a 20 20 20 20 20 20 | indices.2.'(6.7.8.3.4.1))....... |
| 32720 | 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 6c 65 6d 2d | ............()...........(-elem- |
| 32740 | 69 6e 64 69 63 65 73 20 22 62 61 72 22 20 27 28 22 66 6f 6f 22 20 22 62 61 72 22 20 22 62 61 7a | indices."bar".'("foo"."bar"."baz |
| 32760 | 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 | "))...................(1)....... |
| 32780 | 20 20 20 20 28 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 27 28 31 20 32 29 20 27 28 28 33 29 20 | ....(-elem-indices.'(1.2).'((3). |
| 327a0 | 28 31 20 32 29 20 28 35 20 36 29 20 28 31 20 32 29 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 | (1.2).(5.6).(1.2).nil))......... |
| 327c0 | 20 20 20 20 20 20 e2 87 92 20 28 31 20 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d | ..........(1.3)...--.Function:.- |
| 327e0 | 66 69 6e 64 2d 69 6e 64 65 78 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 | find-index.(pred.list)......Retu |
| 32800 | 72 6e 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 73 | rn.the.index.of.the.first.item.s |
| 32820 | 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 69 6e 20 4c 49 53 54 2e 20 20 52 65 74 75 72 6e 0a | atisfying.PRED.in.LIST...Return. |
| 32840 | 20 20 20 20 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 6e 6f 20 73 75 63 68 20 69 74 65 6d 20 69 | ........nil....if.no.such.item.i |
| 32860 | 73 20 66 6f 75 6e 64 2e 0a 0a 20 20 20 20 20 50 52 45 44 20 69 73 20 63 61 6c 6c 65 64 20 77 69 | s.found........PRED.is.called.wi |
| 32880 | 74 68 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 73 | th.one.argument,.the.current.lis |
| 328a0 | 74 20 65 6c 65 6d 65 6e 74 2c 20 75 6e 74 69 6c 0a 20 20 20 20 20 69 74 20 72 65 74 75 72 6e 73 | t.element,.until......it.returns |
| 328c0 | 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 61 74 20 77 68 69 63 68 20 70 6f 69 6e 74 20 74 | .non-...nil...,.at.which.point.t |
| 328e0 | 68 65 20 73 65 61 72 63 68 20 74 65 72 6d 69 6e 61 74 65 73 2e 0a 0a 20 20 20 20 20 54 68 69 73 | he.search.terminates........This |
| 32900 | 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 | .function...s.anaphoric.counterp |
| 32920 | 61 72 74 20 69 73 20 e2 80 98 2d 2d 66 69 6e 64 2d 69 6e 64 65 78 e2 80 99 2e 0a 0a 20 20 20 20 | art.is....--find-index.......... |
| 32940 | 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 66 69 72 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d | .See.also:....-first....(*note.- |
| 32960 | 66 69 72 73 74 3a 3a 29 2c 20 e2 80 98 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 e2 80 99 | first::),....-find-last-index... |
| 32980 | 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 3a 3a 29 | .(*note......-find-last-index::) |
| 329a0 | 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6e 64 2d 69 6e 64 65 78 20 23 27 6e 75 6d 62 | .............(-find-index.#'numb |
| 329c0 | 65 72 70 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 | erp.'(a.b.c))................... |
| 329e0 | 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6e 64 2d 69 6e 64 65 78 20 23 27 6e 61 74 | nil...........(-find-index.#'nat |
| 32a00 | 6e 75 6d 70 20 27 28 31 20 30 20 2d 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 | nump.'(1.0.-1))................. |
| 32a20 | 92 20 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 6e 64 2d 69 6e 64 65 78 20 28 3e 20 69 | ..0...........(--find-index.(>.i |
| 32a40 | 74 20 35 29 20 27 28 32 20 34 20 31 20 36 20 33 20 33 20 35 20 38 29 29 0a 20 20 20 20 20 20 20 | t.5).'(2.4.1.6.3.3.5.8))........ |
| 32a60 | 20 20 20 20 20 20 20 e2 87 92 20 33 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 69 6e | ...........3...--.Function:.-fin |
| 32a80 | 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 | d-last-index.(pred.list)......Re |
| 32aa0 | 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 | turn.the.index.of.the.last.item. |
| 32ac0 | 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 69 6e 20 4c 49 53 54 2e 20 20 52 65 74 75 72 6e | satisfying.PRED.in.LIST...Return |
| 32ae0 | 0a 20 20 20 20 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 6e 6f 20 73 75 63 68 20 69 74 65 6d 20 | .........nil....if.no.such.item. |
| 32b00 | 69 73 20 66 6f 75 6e 64 2e 0a 0a 20 20 20 20 20 50 72 65 64 69 63 61 74 65 20 50 52 45 44 20 69 | is.found........Predicate.PRED.i |
| 32b20 | 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 65 61 63 68 20 | s.called.with.one.argument.each. |
| 32b40 | 74 69 6d 65 2c 20 6e 61 6d 65 6c 79 20 74 68 65 0a 20 20 20 20 20 63 75 72 72 65 6e 74 20 6c 69 | time,.namely.the......current.li |
| 32b60 | 73 74 20 65 6c 65 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 | st.element........This.function. |
| 32b80 | 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 | ..s.anaphoric.counterpart.is.... |
| 32ba0 | 2d 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 65 20 | --find-last-index...........See. |
| 32bc0 | 61 6c 73 6f 3a 20 e2 80 98 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 61 73 74 3a 3a | also:....-last....(*note.-last:: |
| 32be0 | 29 2c 20 e2 80 98 2d 66 69 6e 64 2d 69 6e 64 65 78 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 | ),....-find-index....(*note..... |
| 32c00 | 20 2d 66 69 6e 64 2d 69 6e 64 65 78 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 | .-find-index::).............(-fi |
| 32c20 | 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 23 27 6e 75 6d 62 65 72 70 20 27 28 61 20 62 20 63 29 | nd-last-index.#'numberp.'(a.b.c) |
| 32c40 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 | )...................nil......... |
| 32c60 | 20 20 28 2d 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 3e 20 69 74 20 35 29 20 27 28 | ..(--find-last-index.(>.it.5).'( |
| 32c80 | 32 20 37 20 31 20 36 20 33 20 38 20 35 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 2.7.1.6.3.8.5.2))............... |
| 32ca0 | e2 87 92 20 35 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 | ....5...........(-find-last-inde |
| 32cc0 | 78 20 28 2d 70 61 72 74 69 61 6c 20 23 27 73 74 72 69 6e 67 3c 20 27 61 29 20 27 28 63 20 62 20 | x.(-partial.#'string<.'a).'(c.b. |
| 32ce0 | 61 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 0a 20 2d 2d 20 46 75 6e | a))...................1...--.Fun |
| 32d00 | 63 74 69 6f 6e 3a 20 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 28 70 72 65 64 20 6c 69 73 74 29 | ction:.-find-indices.(pred.list) |
| 32d20 | 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 69 6e 64 69 63 65 73 | ......Return.the.list.of.indices |
| 32d40 | 20 69 6e 20 4c 49 53 54 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 2e 0a 0a 20 20 20 20 20 | .in.LIST.satisfying.PRED........ |
| 32d60 | 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 74 75 72 6e 20 69 73 20 | Each.element.of.LIST.in.turn.is. |
| 32d80 | 70 61 73 73 65 64 20 74 6f 20 50 52 45 44 2e 20 20 49 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 | passed.to.PRED...If.the.result.i |
| 32da0 | 73 0a 20 20 20 20 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 20 69 6e 64 65 78 20 | s......non-...nil...,.the.index. |
| 32dc0 | 6f 66 20 74 68 61 74 20 65 6c 65 6d 65 6e 74 20 69 6e 20 4c 49 53 54 20 69 73 20 69 6e 63 6c 75 | of.that.element.in.LIST.is.inclu |
| 32de0 | 64 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 2e 20 20 54 68 65 20 72 65 74 | ded.in.the......result...The.ret |
| 32e00 | 75 72 6e 65 64 20 69 6e 64 69 63 65 73 20 61 72 65 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f | urned.indices.are.in.ascending.o |
| 32e20 | 72 64 65 72 2c 20 69 2e 65 2e 2c 20 69 6e 20 74 68 65 0a 20 20 20 20 20 73 61 6d 65 20 6f 72 64 | rder,.i.e.,.in.the......same.ord |
| 32e40 | 65 72 20 61 73 20 74 68 65 79 20 61 70 70 65 61 72 20 69 6e 20 4c 49 53 54 2e 0a 0a 20 20 20 20 | er.as.they.appear.in.LIST....... |
| 32e60 | 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 | .This.function...s.anaphoric.cou |
| 32e80 | 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 e2 80 99 | nterpart.is....--find-indices... |
| 32ea0 | 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 66 69 6e 64 2d 69 6e 64 65 78 | ........See.also:....-find-index |
| 32ec0 | e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 69 6e 64 2d 69 6e 64 65 78 3a 3a 29 2c 20 e2 80 98 2d 65 | ....(*note.-find-index::),....-e |
| 32ee0 | 6c 65 6d 2d 69 6e 64 69 63 65 73 e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 65 6c 65 6d | lem-indices.........(*note.-elem |
| 32f00 | 2d 69 6e 64 69 63 65 73 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6e 64 2d 69 | -indices::).............(-find-i |
| 32f20 | 6e 64 69 63 65 73 20 23 27 6e 75 6d 62 65 72 70 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 | ndices.#'numberp.'(a.b.c))...... |
| 32f40 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6e 64 | .............()...........(-find |
| 32f60 | 2d 69 6e 64 69 63 65 73 20 23 27 6e 75 6d 62 65 72 70 20 27 28 38 20 31 20 64 20 32 20 62 20 63 | -indices.#'numberp.'(8.1.d.2.b.c |
| 32f80 | 20 61 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 31 20 33 20 | .a.3))...................(0.1.3. |
| 32fa0 | 37 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 28 3e 20 | 7)...........(--find-indices.(>. |
| 32fc0 | 69 74 20 35 29 20 27 28 32 20 34 20 31 20 36 20 33 20 33 20 35 20 38 29 29 0a 20 20 20 20 20 20 | it.5).'(2.4.1.6.3.3.5.8))....... |
| 32fe0 | 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 37 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a | ............(3.7)...--.Function: |
| 33000 | 20 2d 67 72 61 64 65 2d 75 70 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 20 | .-grade-up.(comparator.list).... |
| 33020 | 20 20 47 72 61 64 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 75 73 69 6e 67 20 43 | ..Grade.elements.of.LIST.using.C |
| 33040 | 4f 4d 50 41 52 41 54 4f 52 20 72 65 6c 61 74 69 6f 6e 2e 20 20 54 68 69 73 20 79 69 65 6c 64 73 | OMPARATOR.relation...This.yields |
| 33060 | 20 61 0a 20 20 20 20 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 76 65 63 74 6f 72 20 73 75 63 68 20 | .a......permutation.vector.such. |
| 33080 | 74 68 61 74 20 61 70 70 6c 79 69 6e 67 20 74 68 69 73 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 74 | that.applying.this.permutation.t |
| 330a0 | 6f 20 4c 49 53 54 0a 20 20 20 20 20 73 6f 72 74 73 20 69 74 20 69 6e 20 61 73 63 65 6e 64 69 6e | o.LIST......sorts.it.in.ascendin |
| 330c0 | 67 20 6f 72 64 65 72 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 67 72 61 64 65 2d 75 70 20 23 | g.order.............(-grade-up.# |
| 330e0 | 27 3c 20 27 28 33 20 31 20 34 20 32 20 31 20 33 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | '<.'(3.1.4.2.1.3.3))............ |
| 33100 | 20 20 20 e2 87 92 20 28 31 20 34 20 33 20 30 20 35 20 36 20 32 29 0a 20 20 20 20 20 20 20 20 20 | .......(1.4.3.0.5.6.2).......... |
| 33120 | 20 28 6c 65 74 20 28 28 6c 20 27 28 33 20 31 20 34 20 32 20 31 20 33 20 33 29 29 29 20 28 2d 73 | .(let.((l.'(3.1.4.2.1.3.3))).(-s |
| 33140 | 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 28 2d 67 72 61 64 65 2d 75 70 20 23 27 3c 20 | elect-by-indices.(-grade-up.#'<. |
| 33160 | 6c 29 20 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 31 20 32 20 | l).l))...................(1.1.2. |
| 33180 | 33 20 33 20 33 20 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 67 72 61 64 65 2d 64 | 3.3.3.4)...--.Function:.-grade-d |
| 331a0 | 6f 77 6e 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 20 20 20 47 72 61 64 65 | own.(comparator.list)......Grade |
| 331c0 | 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 75 73 69 6e 67 20 43 4f 4d 50 41 52 41 54 | .elements.of.LIST.using.COMPARAT |
| 331e0 | 4f 52 20 72 65 6c 61 74 69 6f 6e 2e 20 20 54 68 69 73 20 79 69 65 6c 64 73 20 61 0a 20 20 20 20 | OR.relation...This.yields.a..... |
| 33200 | 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 76 65 63 74 6f 72 20 73 75 63 68 20 74 68 61 74 20 61 70 | .permutation.vector.such.that.ap |
| 33220 | 70 6c 79 69 6e 67 20 74 68 69 73 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 74 6f 20 4c 49 53 54 0a | plying.this.permutation.to.LIST. |
| 33240 | 20 20 20 20 20 73 6f 72 74 73 20 69 74 20 69 6e 20 64 65 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 | .....sorts.it.in.descending.orde |
| 33260 | 72 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 67 72 61 64 65 2d 64 6f 77 6e 20 23 27 3c 20 27 | r.............(-grade-down.#'<.' |
| 33280 | 28 33 20 31 20 34 20 32 20 31 20 33 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 | (3.1.4.2.1.3.3))................ |
| 332a0 | 87 92 20 28 32 20 30 20 35 20 36 20 33 20 31 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 | ...(2.0.5.6.3.1.4)...........(le |
| 332c0 | 74 20 28 28 6c 20 27 28 33 20 31 20 34 20 32 20 31 20 33 20 33 29 29 29 20 28 2d 73 65 6c 65 63 | t.((l.'(3.1.4.2.1.3.3))).(-selec |
| 332e0 | 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 28 2d 67 72 61 64 65 2d 64 6f 77 6e 20 23 27 3c 20 6c 29 | t-by-indices.(-grade-down.#'<.l) |
| 33300 | 20 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 20 33 20 33 20 33 20 | .l))...................(4.3.3.3. |
| 33320 | 32 20 31 20 31 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 | 2.1.1)....File:.dash.info,..Node |
| 33340 | 3a 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 4f 74 68 65 72 20 6c | :.Set.operations,..Next:.Other.l |
| 33360 | 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 49 6e 64 65 78 69 6e 67 2c | ist.operations,..Prev:.Indexing, |
| 33380 | 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 39 20 53 65 74 20 6f 70 65 72 61 74 69 | ..Up:.Functions..2.9.Set.operati |
| 333a0 | 6f 6e 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 4f 70 65 72 61 74 69 6f | ons.==================..Operatio |
| 333c0 | 6e 73 20 70 72 65 74 65 6e 64 69 6e 67 20 6c 69 73 74 73 20 61 72 65 20 73 65 74 73 2e 0a 0a 20 | ns.pretending.lists.are.sets.... |
| 333e0 | 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 75 6e 69 6f 6e 20 28 6c 69 73 74 31 20 6c 69 73 74 32 | --.Function:.-union.(list1.list2 |
| 33400 | 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 64 69 73 74 | )......Return.a.new.list.of.dist |
| 33420 | 69 6e 63 74 20 65 6c 65 6d 65 6e 74 73 20 61 70 70 65 61 72 69 6e 67 20 69 6e 20 65 69 74 68 65 | inct.elements.appearing.in.eithe |
| 33440 | 72 20 4c 49 53 54 31 20 6f 72 0a 20 20 20 20 20 4c 49 53 54 32 2e 0a 0a 20 20 20 20 20 54 68 65 | r.LIST1.or......LIST2........The |
| 33460 | 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 | .test.for.equality.is.done.with. |
| 33480 | e2 80 98 65 71 75 61 6c e2 80 99 2c 20 6f 72 20 77 69 74 68 20 e2 80 98 2d 63 6f 6d 70 61 72 65 | ...equal...,.or.with....-compare |
| 334a0 | 2d 66 6e e2 80 99 0a 20 20 20 20 20 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 | -fn.........if.that.is.non-...ni |
| 334c0 | 6c e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 69 6f 6e 20 27 28 31 20 32 20 33 | l................(-union.'(1.2.3 |
| 334e0 | 29 20 27 28 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 | ).'(3.4.5))...................(1 |
| 33500 | 20 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 69 6f 6e 20 27 28 31 20 | .2.3.4.5)...........(-union.'(1. |
| 33520 | 32 20 32 20 34 29 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 | 2.2.4).())...................(1. |
| 33540 | 32 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 69 6f 6e 20 27 28 31 20 31 20 32 20 32 | 2.4)...........(-union.'(1.1.2.2 |
| 33560 | 29 20 27 28 34 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 | ).'(4.4.3.2.1))................. |
| 33580 | 92 20 28 31 20 32 20 34 20 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 64 69 66 66 | ..(1.2.4.3)...--.Function:.-diff |
| 335a0 | 65 72 65 6e 63 65 20 28 6c 69 73 74 31 20 6c 69 73 74 32 29 0a 20 20 20 20 20 52 65 74 75 72 6e | erence.(list1.list2)......Return |
| 335c0 | 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 64 69 73 74 69 6e 63 74 20 6d 65 | .a.new.list.with.the.distinct.me |
| 335e0 | 6d 62 65 72 73 20 6f 66 20 4c 49 53 54 31 20 74 68 61 74 20 61 72 65 20 6e 6f 74 0a 20 20 20 20 | mbers.of.LIST1.that.are.not..... |
| 33600 | 20 69 6e 20 4c 49 53 54 32 2e 0a 0a 20 20 20 20 20 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 | .in.LIST2........The.test.for.eq |
| 33620 | 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 e2 80 98 65 71 75 61 6c e2 80 99 2c | uality.is.done.with....equal..., |
| 33640 | 20 6f 72 20 77 69 74 68 20 e2 80 98 2d 63 6f 6d 70 61 72 65 2d 66 6e e2 80 99 0a 20 20 20 20 20 | .or.with....-compare-fn......... |
| 33660 | 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 | if.that.is.non-...nil........... |
| 33680 | 20 20 20 20 20 28 2d 64 69 66 66 65 72 65 6e 63 65 20 28 29 20 28 29 29 0a 20 20 20 20 20 20 20 | .....(-difference.().())........ |
| 336a0 | 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 69 66 66 65 72 | ...........()...........(-differ |
| 336c0 | 65 6e 63 65 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 | ence.'(1.2.3).'(4.5.6))......... |
| 336e0 | 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 69 | ..........(1.2.3)...........(-di |
| 33700 | 66 66 65 72 65 6e 63 65 20 27 28 31 20 32 20 33 20 34 29 20 27 28 33 20 34 20 35 20 36 29 29 0a | fference.'(1.2.3.4).'(3.4.5.6)). |
| 33720 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 29 0a 0a 20 2d 2d 20 46 75 6e | ..................(1.2)...--.Fun |
| 33740 | 63 74 69 6f 6e 3a 20 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 28 6c 69 73 74 31 20 6c 69 73 74 | ction:.-intersection.(list1.list |
| 33760 | 32 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 64 69 73 | 2)......Return.a.new.list.of.dis |
| 33780 | 74 69 6e 63 74 20 65 6c 65 6d 65 6e 74 73 20 61 70 70 65 61 72 69 6e 67 20 69 6e 20 62 6f 74 68 | tinct.elements.appearing.in.both |
| 337a0 | 20 4c 49 53 54 31 20 61 6e 64 0a 20 20 20 20 20 4c 49 53 54 32 2e 0a 0a 20 20 20 20 20 54 68 65 | .LIST1.and......LIST2........The |
| 337c0 | 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 | .test.for.equality.is.done.with. |
| 337e0 | e2 80 98 65 71 75 61 6c e2 80 99 2c 20 6f 72 20 77 69 74 68 20 e2 80 98 2d 63 6f 6d 70 61 72 65 | ...equal...,.or.with....-compare |
| 33800 | 2d 66 6e e2 80 99 0a 20 20 20 20 20 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 | -fn.........if.that.is.non-...ni |
| 33820 | 6c e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 | l................(-intersection. |
| 33840 | 28 29 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 | ().())...................()..... |
| 33860 | 20 20 20 20 20 20 28 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 27 28 31 20 32 20 33 29 20 27 28 | ......(-intersection.'(1.2.3).'( |
| 33880 | 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 | 4.5.6))...................().... |
| 338a0 | 20 20 20 20 20 20 20 28 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 27 28 31 20 32 20 32 20 33 29 | .......(-intersection.'(1.2.2.3) |
| 338c0 | 20 27 28 34 20 33 20 33 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 | .'(4.3.3.2))...................( |
| 338e0 | 32 20 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 6f 77 65 72 73 65 74 20 28 6c | 2.3)...--.Function:.-powerset.(l |
| 33900 | 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 70 6f 77 65 72 20 73 65 74 20 6f | ist)......Return.the.power.set.o |
| 33920 | 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 6f 77 65 72 73 65 74 20 28 29 | f.LIST.............(-powerset.() |
| 33940 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 29 0a 20 20 20 20 20 20 | )...................(nil)....... |
| 33960 | 20 20 20 20 28 2d 70 6f 77 65 72 73 65 74 20 27 28 78 20 79 29 29 0a 20 20 20 20 20 20 20 20 20 | ....(-powerset.'(x.y)).......... |
| 33980 | 20 20 20 20 20 e2 87 92 20 28 28 78 20 79 29 20 28 78 29 20 28 79 29 20 6e 69 6c 29 0a 20 20 20 | .........((x.y).(x).(y).nil).... |
| 339a0 | 20 20 20 20 20 20 20 28 2d 70 6f 77 65 72 73 65 74 20 27 28 78 20 79 20 7a 29 29 0a 20 20 20 20 | .......(-powerset.'(x.y.z))..... |
| 339c0 | 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 78 20 79 20 7a 29 20 28 78 20 79 29 20 28 78 20 | ..............((x.y.z).(x.y).(x. |
| 339e0 | 7a 29 20 28 78 29 20 28 79 20 7a 29 20 28 79 29 20 28 7a 29 20 6e 69 6c 29 0a 0a 20 2d 2d 20 46 | z).(x).(y.z).(y).(z).nil)...--.F |
| 33a00 | 75 6e 63 74 69 6f 6e 3a 20 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 28 6c 69 73 74 29 0a 20 20 | unction:.-permutations.(list)... |
| 33a20 | 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 64 69 73 74 69 6e 63 74 20 70 65 72 6d 75 74 61 74 69 | ...Return.the.distinct.permutati |
| 33a40 | 6f 6e 73 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 44 75 70 6c 69 63 61 74 65 20 65 6c 65 | ons.of.LIST........Duplicate.ele |
| 33a60 | 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 61 72 65 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 | ments.of.LIST.are.determined.by. |
| 33a80 | e2 80 98 65 71 75 61 6c e2 80 99 2c 20 6f 72 20 62 79 0a 20 20 20 20 20 e2 80 98 2d 63 6f 6d 70 | ...equal...,.or.by.........-comp |
| 33aa0 | 61 72 65 2d 66 6e e2 80 99 20 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 | are-fn....if.that.is.non-...nil. |
| 33ac0 | 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 28 29 | ...............(-permutations.() |
| 33ae0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 29 0a 20 20 20 20 20 20 | )...................(nil)....... |
| 33b00 | 20 20 20 20 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 27 28 61 20 61 20 62 29 29 0a 20 20 20 | ....(-permutations.'(a.a.b)).... |
| 33b20 | 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 61 20 61 20 62 29 20 28 61 20 62 20 61 29 20 | ...............((a.a.b).(a.b.a). |
| 33b40 | 28 62 20 61 20 61 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e | (b.a.a))...........(-permutation |
| 33b60 | 73 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 | s.'(a.b.c))...................(( |
| 33b80 | 61 20 62 20 63 29 20 28 61 20 63 20 62 29 20 28 62 20 61 20 63 29 20 28 62 20 63 20 61 29 20 28 | a.b.c).(a.c.b).(b.a.c).(b.c.a).( |
| 33ba0 | 63 20 61 20 62 29 20 28 63 20 62 20 61 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d | c.a.b).(c.b.a))...--.Function:.- |
| 33bc0 | 64 69 73 74 69 6e 63 74 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 63 6f | distinct.(list)......Return.a.co |
| 33be0 | 70 79 20 6f 66 20 4c 49 53 54 20 77 69 74 68 20 61 6c 6c 20 64 75 70 6c 69 63 61 74 65 20 65 6c | py.of.LIST.with.all.duplicate.el |
| 33c00 | 65 6d 65 6e 74 73 20 72 65 6d 6f 76 65 64 2e 0a 0a 20 20 20 20 20 54 68 65 20 74 65 73 74 20 66 | ements.removed........The.test.f |
| 33c20 | 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 e2 80 98 65 71 75 61 | or.equality.is.done.with....equa |
| 33c40 | 6c e2 80 99 2c 20 6f 72 20 77 69 74 68 20 e2 80 98 2d 63 6f 6d 70 61 72 65 2d 66 6e e2 80 99 0a | l...,.or.with....-compare-fn.... |
| 33c60 | 20 20 20 20 20 69 66 20 74 68 61 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 0a | .....if.that.is.non-...nil...... |
| 33c80 | 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 75 6e 69 71 e2 80 99 2e 0a 0a 20 20 20 20 20 20 | .....Alias:....-uniq............ |
| 33ca0 | 20 20 20 20 28 2d 64 69 73 74 69 6e 63 74 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....(-distinct.()).............. |
| 33cc0 | 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 69 73 74 69 6e 63 74 20 27 28 31 | .....()...........(-distinct.'(1 |
| 33ce0 | 20 31 20 32 20 33 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 | .1.2.3.3))...................(1. |
| 33d00 | 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 69 73 74 69 6e 63 74 20 27 28 74 20 74 20 | 2.3)...........(-distinct.'(t.t. |
| 33d20 | 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 74 29 0a 0a 20 2d 2d 20 46 | t))...................(t)...--.F |
| 33d40 | 75 6e 63 74 69 6f 6e 3a 20 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 28 6c 69 73 74 31 20 6c 69 73 | unction:.-same-items?.(list1.lis |
| 33d60 | 74 32 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 | t2)......Return.non-...nil....if |
| 33d80 | 20 4c 49 53 54 31 20 61 6e 64 20 4c 49 53 54 32 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 64 | .LIST1.and.LIST2.have.the.same.d |
| 33da0 | 69 73 74 69 6e 63 74 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 54 68 65 | istinct......elements........The |
| 33dc0 | 20 6f 72 64 65 72 20 6f 66 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 6c 69 | .order.of.the.elements.in.the.li |
| 33de0 | 73 74 73 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 74 65 72 2e 20 20 54 68 65 20 6c 69 73 74 73 0a | sts.does.not.matter...The.lists. |
| 33e00 | 20 20 20 20 20 6d 61 79 20 62 65 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 6c 65 6e 67 74 68 73 | .....may.be.of.different.lengths |
| 33e20 | 2c 20 69 2e 65 2e 2c 20 63 6f 6e 74 61 69 6e 20 64 75 70 6c 69 63 61 74 65 20 65 6c 65 6d 65 6e | ,.i.e.,.contain.duplicate.elemen |
| 33e40 | 74 73 2e 20 20 54 68 65 0a 20 20 20 20 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 | ts...The......test.for.equality. |
| 33e60 | 69 73 20 64 6f 6e 65 20 77 69 74 68 20 e2 80 98 65 71 75 61 6c e2 80 99 2c 20 6f 72 20 77 69 74 | is.done.with....equal...,.or.wit |
| 33e80 | 68 20 e2 80 98 2d 63 6f 6d 70 61 72 65 2d 66 6e e2 80 99 20 69 66 0a 20 20 20 20 20 74 68 61 74 | h....-compare-fn....if......that |
| 33ea0 | 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 | .is.non-...nil...........Alias:. |
| 33ec0 | e2 80 98 2d 73 61 6d 65 2d 69 74 65 6d 73 2d 70 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 | ...-same-items-p................ |
| 33ee0 | 28 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 29 29 | (-same-items?.'(1.2.3).'(1.2.3)) |
| 33f00 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 | ...................t...........( |
| 33f20 | 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 27 28 31 20 31 20 32 20 33 29 20 27 28 33 20 33 20 32 20 | -same-items?.'(1.1.2.3).'(3.3.2. |
| 33f40 | 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 | 1))...................t......... |
| 33f60 | 20 20 28 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 | ..(-same-items?.'(1.2.3).'(1.2.3 |
| 33f80 | 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 1f 0a 46 69 | .4))...................nil....Fi |
| 33fa0 | 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4f 74 68 65 72 20 6c 69 73 74 | le:.dash.info,..Node:.Other.list |
| 33fc0 | 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 54 72 65 65 20 6f 70 65 72 61 74 69 | .operations,..Next:.Tree.operati |
| 33fe0 | 6f 6e 73 2c 20 20 50 72 65 76 3a 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 55 70 3a | ons,..Prev:.Set.operations,..Up: |
| 34000 | 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 30 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 | .Functions..2.10.Other.list.oper |
| 34020 | 61 74 69 6f 6e 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ations.========================= |
| 34040 | 3d 0a 0a 4f 74 68 65 72 20 6c 69 73 74 20 66 75 6e 63 74 69 6f 6e 73 20 6e 6f 74 20 66 69 74 20 | =..Other.list.functions.not.fit. |
| 34060 | 74 6f 20 62 65 20 63 6c 61 73 73 69 66 69 65 64 20 65 6c 73 65 77 68 65 72 65 2e 0a 0a 20 2d 2d | to.be.classified.elsewhere....-- |
| 34080 | 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 6f 74 61 74 65 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 | .Function:.-rotate.(n.list)..... |
| 340a0 | 20 52 6f 74 61 74 65 20 4c 49 53 54 20 4e 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 67 | .Rotate.LIST.N.places.to.the.rig |
| 340c0 | 68 74 20 28 6c 65 66 74 20 69 66 20 4e 20 69 73 20 6e 65 67 61 74 69 76 65 29 2e 20 20 54 68 65 | ht.(left.if.N.is.negative)...The |
| 340e0 | 0a 20 20 20 20 20 74 69 6d 65 20 63 6f 6d 70 6c 65 78 69 74 79 20 69 73 20 4f 28 6e 29 2e 0a 0a | ......time.complexity.is.O(n)... |
| 34100 | 20 20 20 20 20 20 20 20 20 20 28 2d 72 6f 74 61 74 65 20 33 20 27 28 31 20 32 20 33 20 34 20 35 | ..........(-rotate.3.'(1.2.3.4.5 |
| 34120 | 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 20 36 20 37 20 | .6.7))...................(5.6.7. |
| 34140 | 31 20 32 20 33 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 6f 74 61 74 65 20 2d 33 20 27 | 1.2.3.4)...........(-rotate.-3.' |
| 34160 | 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 | (1.2.3.4.5.6.7))................ |
| 34180 | 87 92 20 28 34 20 35 20 36 20 37 20 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 | ...(4.5.6.7.1.2.3)...........(-r |
| 341a0 | 6f 74 61 74 65 20 31 36 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 20 | otate.16.'(1.2.3.4.5.6.7))...... |
| 341c0 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 36 20 37 20 31 20 32 20 33 20 34 20 35 29 0a 0a 20 2d | .............(6.7.1.2.3.4.5)...- |
| 341e0 | 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 6e 73 2a 20 28 26 72 65 73 74 20 61 72 67 73 29 0a | -.Function:.-cons*.(&rest.args). |
| 34200 | 20 20 20 20 20 4d 61 6b 65 20 61 20 6e 65 77 20 6c 69 73 74 20 66 72 6f 6d 20 74 68 65 20 65 6c | .....Make.a.new.list.from.the.el |
| 34220 | 65 6d 65 6e 74 73 20 6f 66 20 41 52 47 53 2e 20 20 54 68 65 20 6c 61 73 74 20 32 20 65 6c 65 6d | ements.of.ARGS...The.last.2.elem |
| 34240 | 65 6e 74 73 20 6f 66 0a 20 20 20 20 20 41 52 47 53 20 61 72 65 20 75 73 65 64 20 61 73 20 74 68 | ents.of......ARGS.are.used.as.th |
| 34260 | 65 20 66 69 6e 61 6c 20 63 6f 6e 73 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 2c 20 73 6f 20 69 | e.final.cons.of.the.result,.so.i |
| 34280 | 66 20 74 68 65 20 66 69 6e 61 6c 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 20 6f 66 20 41 52 47 53 | f.the.final......element.of.ARGS |
| 342a0 | 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 | .is.not.a.list,.the.result.is.a. |
| 342c0 | 64 6f 74 74 65 64 20 6c 69 73 74 2e 20 20 57 69 74 68 0a 20 20 20 20 20 6e 6f 20 41 52 47 53 2c | dotted.list...With......no.ARGS, |
| 342e0 | 20 72 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d | .return....nil................(- |
| 34300 | 63 6f 6e 73 2a 20 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 | cons*.1.2)...................(1. |
| 34320 | 2e 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 73 2a 20 31 20 32 20 33 29 0a 20 20 | ..2)...........(-cons*.1.2.3)... |
| 34340 | 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 2e 20 33 29 0a 20 20 20 20 20 20 | ................(1.2...3)....... |
| 34360 | 20 20 20 20 28 2d 63 6f 6e 73 2a 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 | ....(-cons*.1).................. |
| 34380 | 20 31 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 6e 6f 63 20 28 6c 69 73 74 20 65 6c | .1...--.Function:.-snoc.(list.el |
| 343a0 | 65 6d 20 26 72 65 73 74 20 65 6c 65 6d 65 6e 74 73 29 0a 20 20 20 20 20 41 70 70 65 6e 64 20 45 | em.&rest.elements)......Append.E |
| 343c0 | 4c 45 4d 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 0a 0a 20 20 20 | LEM.to.the.end.of.the.list...... |
| 343e0 | 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 e2 80 98 63 6f 6e 73 e2 80 99 2c 20 62 75 74 20 6f | ..This.is.like....cons...,.but.o |
| 34400 | 70 65 72 61 74 65 73 20 6f 6e 20 74 68 65 20 65 6e 64 20 6f 66 20 6c 69 73 74 2e 0a 0a 20 20 20 | perates.on.the.end.of.list...... |
| 34420 | 20 20 49 66 20 61 6e 79 20 45 4c 45 4d 45 4e 54 53 20 61 72 65 20 67 69 76 65 6e 2c 20 61 70 70 | ..If.any.ELEMENTS.are.given,.app |
| 34440 | 65 6e 64 20 74 68 65 6d 20 74 6f 20 74 68 65 20 6c 69 73 74 20 61 73 20 77 65 6c 6c 2e 0a 0a 20 | end.them.to.the.list.as.well.... |
| 34460 | 20 20 20 20 20 20 20 20 20 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 33 29 20 34 29 0a 20 20 20 20 | .........(-snoc.'(1.2.3).4)..... |
| 34480 | 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 29 0a 20 20 20 20 20 20 20 20 | ..............(1.2.3.4)......... |
| 344a0 | 20 20 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 33 29 20 34 20 35 20 36 29 0a 20 20 20 20 20 20 20 | ..(-snoc.'(1.2.3).4.5.6)........ |
| 344c0 | 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 20 36 29 0a 20 20 20 20 20 20 20 | ...........(1.2.3.4.5.6)........ |
| 344e0 | 20 20 20 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 | ...(-snoc.'(1.2.3).'(4.5.6)).... |
| 34500 | 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 28 34 20 35 20 36 29 29 0a 0a | ...............(1.2.3.(4.5.6)).. |
| 34520 | 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 6e 74 65 72 70 6f 73 65 20 28 73 65 70 20 6c 69 | .--.Function:.-interpose.(sep.li |
| 34540 | 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 61 6c | st)......Return.a.new.list.of.al |
| 34560 | 6c 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 4c 49 53 54 20 73 65 70 61 72 61 74 65 64 20 62 79 20 | l.elements.in.LIST.separated.by. |
| 34580 | 53 45 50 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 | SEP.............(-interpose."-". |
| 345a0 | 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 | ())...................()........ |
| 345c0 | 20 20 20 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 27 28 22 61 22 29 29 0a 20 20 20 20 20 | ...(-interpose."-".'("a"))...... |
| 345e0 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 61 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 | .............("a")...........(-i |
| 34600 | 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 27 28 22 61 22 20 22 62 22 20 22 63 22 29 29 0a 20 20 20 | nterpose."-".'("a"."b"."c")).... |
| 34620 | 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 61 22 20 22 2d 22 20 22 62 22 20 22 2d 22 20 | ...............("a"."-"."b"."-". |
| 34640 | 22 63 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 6e 74 65 72 6c 65 61 76 65 20 | "c")...--.Function:.-interleave. |
| 34660 | 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 | (&rest.lists)......Return.a.new. |
| 34680 | 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 65 61 63 68 20 6c | list.of.the.first.item.in.each.l |
| 346a0 | 69 73 74 2c 20 74 68 65 6e 20 74 68 65 20 73 65 63 6f 6e 64 0a 20 20 20 20 20 65 74 63 2e 0a 0a | ist,.then.the.second......etc... |
| 346c0 | 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 74 65 72 6c 65 61 76 65 20 27 28 31 20 32 29 20 27 28 | ..........(-interleave.'(1.2).'( |
| 346e0 | 22 61 22 20 22 62 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 22 | "a"."b"))...................(1." |
| 34700 | 61 22 20 32 20 22 62 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 74 65 72 6c 65 61 76 65 | a".2."b")...........(-interleave |
| 34720 | 20 27 28 31 20 32 29 20 27 28 22 61 22 20 22 62 22 29 20 27 28 22 41 22 20 22 42 22 29 29 0a 20 | .'(1.2).'("a"."b").'("A"."B")).. |
| 34740 | 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 22 61 22 20 22 41 22 20 32 20 22 62 | .................(1."a"."A".2."b |
| 34760 | 22 20 22 42 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 74 65 72 6c 65 61 76 65 20 27 28 | "."B")...........(-interleave.'( |
| 34780 | 31 20 32 20 33 29 20 27 28 22 61 22 20 22 62 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | 1.2.3).'("a"."b")).............. |
| 347a0 | 20 e2 87 92 20 28 31 20 22 61 22 20 32 20 22 62 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e | .....(1."a".2."b")...--.Function |
| 347c0 | 3a 20 2d 69 6f 74 61 20 28 63 6f 75 6e 74 20 26 6f 70 74 69 6f 6e 61 6c 20 73 74 61 72 74 20 73 | :.-iota.(count.&optional.start.s |
| 347e0 | 74 65 70 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 | tep)......Return.a.list.containi |
| 34800 | 6e 67 20 43 4f 55 4e 54 20 6e 75 6d 62 65 72 73 2e 20 20 53 74 61 72 74 73 20 66 72 6f 6d 20 53 | ng.COUNT.numbers...Starts.from.S |
| 34820 | 54 41 52 54 20 61 6e 64 20 61 64 64 73 0a 20 20 20 20 20 53 54 45 50 20 65 61 63 68 20 74 69 6d | TART.and.adds......STEP.each.tim |
| 34840 | 65 2e 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 53 54 41 52 54 20 69 73 20 7a 65 72 6f 2c 20 74 | e...The.default.START.is.zero,.t |
| 34860 | 68 65 20 64 65 66 61 75 6c 74 20 53 54 45 50 20 69 73 20 31 2e 0a 20 20 20 20 20 54 68 69 73 20 | he.default.STEP.is.1.......This. |
| 34880 | 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 69 74 73 20 6e 61 6d 65 20 66 72 6f 6d 20 74 68 65 | function.takes.its.name.from.the |
| 348a0 | 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 70 72 69 6d 69 74 69 76 65 20 69 6e 0a 20 20 20 20 | .corresponding.primitive.in..... |
| 348c0 | 20 74 68 65 20 41 50 4c 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d | .the.APL.language.............(- |
| 348e0 | 69 6f 74 61 20 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 31 20 32 | iota.6)...................(0.1.2 |
| 34900 | 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6f 74 61 20 34 20 32 2e 35 20 2d | .3.4.5)...........(-iota.4.2.5.- |
| 34920 | 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 2e 35 20 30 2e 35 20 2d 31 | 2)...................(2.5.0.5.-1 |
| 34940 | 2e 35 20 2d 33 2e 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6f 74 61 20 2d 31 29 0a 20 20 | .5.-3.5)...........(-iota.-1)... |
| 34960 | 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 e2 86 92 20 57 72 6f 6e 67 20 74 79 70 65 20 | ............error....Wrong.type. |
| 34980 | 61 72 67 75 6d 65 6e 74 3a 20 6e 61 74 6e 75 6d 70 2c 20 2d 31 0a 0a 20 2d 2d 20 46 75 6e 63 74 | argument:.natnump,.-1...--.Funct |
| 349a0 | 69 6f 6e 3a 20 2d 7a 69 70 2d 77 69 74 68 20 28 66 6e 20 6c 69 73 74 31 20 6c 69 73 74 32 29 0a | ion:.-zip-with.(fn.list1.list2). |
| 349c0 | 20 20 20 20 20 5a 69 70 20 4c 49 53 54 31 20 61 6e 64 20 4c 49 53 54 32 20 69 6e 74 6f 20 61 20 | .....Zip.LIST1.and.LIST2.into.a. |
| 349e0 | 6e 65 77 20 6c 69 73 74 20 75 73 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 2e 20 | new.list.using.the.function.FN.. |
| 34a00 | 20 54 68 61 74 0a 20 20 20 20 20 69 73 2c 20 61 70 70 6c 79 20 46 4e 20 70 61 69 72 77 69 73 65 | .That......is,.apply.FN.pairwise |
| 34a20 | 20 74 61 6b 69 6e 67 20 61 73 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 6e 65 | .taking.as.first.argument.the.ne |
| 34a40 | 78 74 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 20 20 20 20 20 4c 49 53 54 31 20 61 6e 64 20 61 73 20 | xt.element.of......LIST1.and.as. |
| 34a60 | 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 6e 65 78 74 20 65 6c 65 6d 65 6e 74 | second.argument.the.next.element |
| 34a80 | 20 6f 66 20 4c 49 53 54 32 20 61 74 20 74 68 65 0a 20 20 20 20 20 63 6f 72 72 65 73 70 6f 6e 64 | .of.LIST2.at.the......correspond |
| 34aa0 | 69 6e 67 20 70 6f 73 69 74 69 6f 6e 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 73 20 | ing.position...The.result.is.as. |
| 34ac0 | 6c 6f 6e 67 20 61 73 20 74 68 65 20 73 68 6f 72 74 65 72 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 | long.as.the.shorter.list........ |
| 34ae0 | 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e | This.function...s.anaphoric.coun |
| 34b00 | 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 7a 69 70 2d 77 69 74 68 e2 80 99 2e 0a 0a 20 20 | terpart.is....--zip-with........ |
| 34b20 | 20 20 20 46 6f 72 20 6f 74 68 65 72 20 7a 69 70 73 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d | ...For.other.zips,.see.also....- |
| 34b40 | 7a 69 70 2d 6c 69 73 74 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 2d 6c 69 73 74 73 3a 3a | zip-lists....(*note.-zip-lists:: |
| 34b60 | 29 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 2d 7a 69 70 2d 66 69 6c 6c e2 80 99 20 28 2a 6e 6f 74 | ).and.........-zip-fill....(*not |
| 34b80 | 65 20 2d 7a 69 70 2d 66 69 6c 6c 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 | e.-zip-fill::).............(-zip |
| 34ba0 | 2d 77 69 74 68 20 23 27 2b 20 27 28 31 20 32 20 33 20 34 29 20 27 28 35 20 36 20 37 29 29 0a 20 | -with.#'+.'(1.2.3.4).'(5.6.7)).. |
| 34bc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 36 20 38 20 31 30 29 0a 20 20 20 20 20 20 | .................(6.8.10)....... |
| 34be0 | 20 20 20 20 28 2d 7a 69 70 2d 77 69 74 68 20 23 27 63 6f 6e 73 20 27 28 31 20 32 20 33 29 20 27 | ....(-zip-with.#'cons.'(1.2.3).' |
| 34c00 | 28 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 | (4.5.6.7))...................((1 |
| 34c20 | 20 2e 20 34 29 20 28 32 20 2e 20 35 29 20 28 33 20 2e 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 | ...4).(2...5).(3...6)).......... |
| 34c40 | 20 28 2d 2d 7a 69 70 2d 77 69 74 68 20 28 66 6f 72 6d 61 74 20 22 25 73 20 26 20 25 73 22 20 69 | .(--zip-with.(format."%s.&.%s".i |
| 34c60 | 74 20 6f 74 68 65 72 29 20 27 28 42 61 74 6d 61 6e 20 4a 65 6b 79 6c 6c 29 20 27 28 52 6f 62 69 | t.other).'(Batman.Jekyll).'(Robi |
| 34c80 | 6e 20 48 79 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 42 61 74 | n.Hyde))...................("Bat |
| 34ca0 | 6d 61 6e 20 26 20 52 6f 62 69 6e 22 20 22 4a 65 6b 79 6c 6c 20 26 20 48 79 64 65 22 29 0a 0a 20 | man.&.Robin"."Jekyll.&.Hyde")... |
| 34cc0 | 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 7a 69 70 2d 70 61 69 72 20 28 6c 69 73 74 31 20 6c 69 | --.Function:.-zip-pair.(list1.li |
| 34ce0 | 73 74 32 29 0a 20 20 20 20 20 5a 69 70 20 4c 49 53 54 31 20 61 6e 64 20 4c 49 53 54 32 20 74 6f | st2)......Zip.LIST1.and.LIST2.to |
| 34d00 | 67 65 74 68 65 72 2e 0a 0a 20 20 20 20 20 4d 61 6b 65 20 61 20 70 61 69 72 20 77 69 74 68 20 74 | gether........Make.a.pair.with.t |
| 34d20 | 68 65 20 68 65 61 64 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 | he.head.of.each.list,.followed.b |
| 34d40 | 79 20 61 20 70 61 69 72 20 77 69 74 68 20 74 68 65 0a 20 20 20 20 20 73 65 63 6f 6e 64 20 65 6c | y.a.pair.with.the......second.el |
| 34d60 | 65 6d 65 6e 74 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 20 | ement.of.each.list,.and.so.on... |
| 34d80 | 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 70 61 69 72 73 0a 20 20 20 20 20 72 65 74 75 72 6e 65 | The.number.of.pairs......returne |
| 34da0 | 64 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 | d.is.equal.to.the.length.of.the. |
| 34dc0 | 73 68 6f 72 74 65 72 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c | shorter.input.list........See.al |
| 34de0 | 73 6f 3a 20 e2 80 98 2d 7a 69 70 2d 6c 69 73 74 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 | so:....-zip-lists....(*note.-zip |
| 34e00 | 2d 6c 69 73 74 73 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 70 61 69 72 | -lists::).............(-zip-pair |
| 34e20 | 20 27 28 31 20 32 20 33 20 34 29 20 27 28 35 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 | .'(1.2.3.4).'(5.6.7))........... |
| 34e40 | 20 20 20 20 e2 87 92 20 28 28 31 20 2e 20 35 29 20 28 32 20 2e 20 36 29 20 28 33 20 2e 20 37 29 | ........((1...5).(2...6).(3...7) |
| 34e60 | 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 70 61 69 72 20 27 28 31 20 32 20 33 29 20 | )...........(-zip-pair.'(1.2.3). |
| 34e80 | 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 | '(4.5.6))...................((1. |
| 34ea0 | 2e 20 34 29 20 28 32 20 2e 20 35 29 20 28 33 20 2e 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ..4).(2...5).(3...6))........... |
| 34ec0 | 28 2d 7a 69 70 2d 70 61 69 72 20 27 28 31 20 32 29 20 27 28 33 29 29 0a 20 20 20 20 20 20 20 20 | (-zip-pair.'(1.2).'(3))......... |
| 34ee0 | 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 2e 20 33 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f | ..........((1...3))...--.Functio |
| 34f00 | 6e 3a 20 2d 7a 69 70 2d 6c 69 73 74 73 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 20 20 | n:.-zip-lists.(&rest.lists)..... |
| 34f20 | 20 5a 69 70 20 4c 49 53 54 53 20 74 6f 67 65 74 68 65 72 2e 0a 0a 20 20 20 20 20 47 72 6f 75 70 | .Zip.LISTS.together........Group |
| 34f40 | 20 74 68 65 20 68 65 61 64 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 | .the.head.of.each.list,.followed |
| 34f60 | 20 62 79 20 74 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 6f 66 20 65 61 63 68 0a 20 | .by.the.second.element.of.each.. |
| 34f80 | 20 20 20 20 6c 69 73 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 20 54 68 65 20 6e 75 6d 62 65 72 | ....list,.and.so.on...The.number |
| 34fa0 | 20 6f 66 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 69 73 20 65 71 75 61 6c 20 | .of.returned.groupings.is.equal. |
| 34fc0 | 74 6f 20 74 68 65 0a 20 20 20 20 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 | to.the......length.of.the.shorte |
| 34fe0 | 73 74 20 69 6e 70 75 74 20 6c 69 73 74 2c 20 61 6e 64 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 | st.input.list,.and.the.length.of |
| 35000 | 20 65 61 63 68 20 67 72 6f 75 70 69 6e 67 0a 20 20 20 20 20 69 73 20 65 71 75 61 6c 20 74 6f 20 | .each.grouping......is.equal.to. |
| 35020 | 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e 70 75 74 20 4c 49 53 54 53 2e 0a 0a 20 20 20 20 | the.number.of.input.LISTS....... |
| 35040 | 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 6c 77 61 79 73 20 61 20 6c 69 | .The.return.value.is.always.a.li |
| 35060 | 73 74 20 6f 66 20 70 72 6f 70 65 72 20 6c 69 73 74 73 2c 20 69 6e 20 63 6f 6e 74 72 61 73 74 20 | st.of.proper.lists,.in.contrast. |
| 35080 | 74 6f 0a 20 20 20 20 20 e2 80 98 2d 7a 69 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 3a 3a | to.........-zip....(*note.-zip:: |
| 350a0 | 29 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 64 6f 74 74 65 64 | ).which.returns.a.list.of.dotted |
| 350c0 | 20 70 61 69 72 73 20 77 68 65 6e 0a 20 20 20 20 20 6f 6e 6c 79 20 74 77 6f 20 69 6e 70 75 74 20 | .pairs.when......only.two.input. |
| 350e0 | 4c 49 53 54 53 20 61 72 65 20 70 72 6f 76 69 64 65 64 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c | LISTS.are.provided........See.al |
| 35100 | 73 6f 3a 20 e2 80 98 2d 7a 69 70 2d 70 61 69 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 2d | so:....-zip-pair....(*note.-zip- |
| 35120 | 70 61 69 72 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 6c 69 73 74 73 20 | pair::).............(-zip-lists. |
| 35140 | 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | '(1.2.3).'(4.5.6)).............. |
| 35160 | 20 e2 87 92 20 28 28 31 20 34 29 20 28 32 20 35 29 20 28 33 20 36 29 29 0a 20 20 20 20 20 20 20 | .....((1.4).(2.5).(3.6))........ |
| 35180 | 20 20 20 28 2d 7a 69 70 2d 6c 69 73 74 73 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 20 | ...(-zip-lists.'(1.2.3).'(4.5.6. |
| 351a0 | 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 34 29 20 28 32 20 | 7))...................((1.4).(2. |
| 351c0 | 35 29 20 28 33 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 6c 69 73 74 73 20 | 5).(3.6))...........(-zip-lists. |
| 351e0 | 27 28 31 20 32 29 20 27 28 33 20 34 20 35 29 20 27 28 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 | '(1.2).'(3.4.5).'(6))........... |
| 35200 | 20 20 20 20 e2 87 92 20 28 28 31 20 33 20 36 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a | ........((1.3.6))...--.Function: |
| 35220 | 20 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c 6c 20 28 66 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 | .-zip-lists-fill.(fill-value.&re |
| 35240 | 73 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 5a 69 70 20 4c 49 53 54 53 20 74 6f 67 65 74 68 65 | st.lists)......Zip.LISTS.togethe |
| 35260 | 72 2c 20 70 61 64 64 69 6e 67 20 73 68 6f 72 74 65 72 20 6c 69 73 74 73 20 77 69 74 68 20 46 49 | r,.padding.shorter.lists.with.FI |
| 35280 | 4c 4c 2d 56 41 4c 55 45 2e 20 20 54 68 69 73 20 69 73 0a 20 20 20 20 20 6c 69 6b 65 20 e2 80 98 | LL-VALUE...This.is......like.... |
| 352a0 | 2d 7a 69 70 2d 6c 69 73 74 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 2d 6c 69 73 74 73 3a | -zip-lists....(*note.-zip-lists: |
| 352c0 | 3a 29 20 28 77 68 69 63 68 20 73 65 65 29 2c 20 65 78 63 65 70 74 20 69 74 0a 20 20 20 20 20 72 | :).(which.see),.except.it......r |
| 352e0 | 65 74 61 69 6e 73 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 61 74 20 70 6f 73 69 74 69 6f 6e 73 | etains.all.elements.at.positions |
| 35300 | 20 62 65 79 6f 6e 64 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 0a | .beyond.the.end.of.the.shortest. |
| 35320 | 20 20 20 20 20 6c 69 73 74 2e 20 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 65 74 75 72 6e | .....list...The.number.of.return |
| 35340 | 65 64 20 67 72 6f 75 70 69 6e 67 73 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e | ed.groupings.is.equal.to.the.len |
| 35360 | 67 74 68 20 6f 66 0a 20 20 20 20 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 69 6e 70 75 74 20 6c 69 | gth.of......the.longest.input.li |
| 35380 | 73 74 2c 20 61 6e 64 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 65 61 63 68 20 67 72 6f 75 70 | st,.and.the.length.of.each.group |
| 353a0 | 69 6e 67 20 69 73 20 65 71 75 61 6c 20 74 6f 0a 20 20 20 20 20 74 68 65 20 6e 75 6d 62 65 72 20 | ing.is.equal.to......the.number. |
| 353c0 | 6f 66 20 69 6e 70 75 74 20 4c 49 53 54 53 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 | of.input.LISTS.............(-zip |
| 353e0 | 2d 6c 69 73 74 73 2d 66 69 6c 6c 20 30 20 27 28 31 20 32 29 20 27 28 33 20 34 20 35 29 20 27 28 | -lists-fill.0.'(1.2).'(3.4.5).'( |
| 35400 | 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 33 20 36 29 20 28 | 6))...................((1.3.6).( |
| 35420 | 32 20 34 20 30 29 20 28 30 20 35 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d | 2.4.0).(0.5.0))...........(-zip- |
| 35440 | 6c 69 73 74 73 2d 66 69 6c 6c 20 30 20 27 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 35 20 36 | lists-fill.0.'(1.2).'(3.4).'(5.6 |
| 35460 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 33 20 35 29 20 28 32 | ))...................((1.3.5).(2 |
| 35480 | 20 34 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c | .4.6))...........(-zip-lists-fil |
| 354a0 | 6c 20 30 20 27 28 31 20 32 20 33 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | l.0.'(1.2.3).nil)............... |
| 354c0 | e2 87 92 20 28 28 31 20 30 29 20 28 32 20 30 29 20 28 33 20 30 29 29 0a 0a 20 2d 2d 20 46 75 6e | ....((1.0).(2.0).(3.0))...--.Fun |
| 354e0 | 63 74 69 6f 6e 3a 20 2d 7a 69 70 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 5a | ction:.-zip.(&rest.lists)......Z |
| 35500 | 69 70 20 4c 49 53 54 53 20 74 6f 67 65 74 68 65 72 2e 0a 0a 20 20 20 20 20 47 72 6f 75 70 20 74 | ip.LISTS.together........Group.t |
| 35520 | 68 65 20 68 65 61 64 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 | he.head.of.each.list,.followed.b |
| 35540 | 79 20 74 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 6f 66 20 65 61 63 68 0a 20 20 20 | y.the.second.element.of.each.... |
| 35560 | 20 20 6c 69 73 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 20 54 68 65 20 6e 75 6d 62 65 72 20 6f | ..list,.and.so.on...The.number.o |
| 35580 | 66 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 69 73 20 65 71 75 61 6c 20 74 6f | f.returned.groupings.is.equal.to |
| 355a0 | 20 74 68 65 0a 20 20 20 20 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 | .the......length.of.the.shortest |
| 355c0 | 20 69 6e 70 75 74 20 6c 69 73 74 2c 20 61 6e 64 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 | .input.list,.and.the.number.of.i |
| 355e0 | 74 65 6d 73 20 69 6e 20 65 61 63 68 0a 20 20 20 20 20 67 72 6f 75 70 69 6e 67 20 69 73 20 65 71 | tems.in.each......grouping.is.eq |
| 35600 | 75 61 6c 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e 70 75 74 20 4c 49 53 54 53 | ual.to.the.number.of.input.LISTS |
| 35620 | 2e 0a 0a 20 20 20 20 20 49 66 20 6f 6e 6c 79 20 74 77 6f 20 4c 49 53 54 53 20 61 72 65 20 70 72 | ........If.only.two.LISTS.are.pr |
| 35640 | 6f 76 69 64 65 64 20 61 73 20 61 72 67 75 6d 65 6e 74 73 2c 20 72 65 74 75 72 6e 20 74 68 65 20 | ovided.as.arguments,.return.the. |
| 35660 | 67 72 6f 75 70 69 6e 67 73 0a 20 20 20 20 20 61 73 20 61 20 6c 69 73 74 20 6f 66 20 64 6f 74 74 | groupings......as.a.list.of.dott |
| 35680 | 65 64 20 70 61 69 72 73 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 20 74 68 65 | ed.pairs...Otherwise,.return.the |
| 356a0 | 20 67 72 6f 75 70 69 6e 67 73 20 61 73 20 61 0a 20 20 20 20 20 6c 69 73 74 20 6f 66 20 70 72 6f | .groupings.as.a......list.of.pro |
| 356c0 | 70 65 72 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 53 69 6e 63 65 20 74 68 65 20 72 65 74 75 72 | per.lists........Since.the.retur |
| 356e0 | 6e 20 76 61 6c 75 65 20 63 68 61 6e 67 65 73 20 66 6f 72 6d 20 64 65 70 65 6e 64 69 6e 67 20 6f | n.value.changes.form.depending.o |
| 35700 | 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 2c 20 | n.the.number.of......arguments,. |
| 35720 | 69 74 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 | it.is.generally.recommended.to.u |
| 35740 | 73 65 20 e2 80 98 2d 7a 69 70 2d 6c 69 73 74 73 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 | se....-zip-lists....(*note...... |
| 35760 | 2d 7a 69 70 2d 6c 69 73 74 73 3a 3a 29 20 69 6e 73 74 65 61 64 2c 20 6f 72 20 e2 80 98 2d 7a 69 | -zip-lists::).instead,.or....-zi |
| 35780 | 70 2d 70 61 69 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 2d 70 61 69 72 3a 3a 29 20 69 66 | p-pair....(*note.-zip-pair::).if |
| 357a0 | 20 61 20 6c 69 73 74 0a 20 20 20 20 20 6f 66 20 64 6f 74 74 65 64 20 70 61 69 72 73 20 69 73 20 | .a.list......of.dotted.pairs.is. |
| 357c0 | 64 65 73 69 72 65 64 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 75 6e 7a | desired........See.also:....-unz |
| 357e0 | 69 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 75 6e 7a 69 70 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 | ip....(*note.-unzip::).......... |
| 35800 | 20 20 20 28 2d 7a 69 70 20 27 28 31 20 32 20 33 20 34 29 20 27 28 35 20 36 20 37 29 20 27 28 38 | ...(-zip.'(1.2.3.4).'(5.6.7).'(8 |
| 35820 | 20 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 35 20 38 29 20 | .9))...................((1.5.8). |
| 35840 | 28 32 20 36 20 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 20 27 28 31 20 32 20 33 | (2.6.9))...........(-zip.'(1.2.3 |
| 35860 | 29 20 27 28 34 20 35 20 36 29 20 27 28 37 20 38 20 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ).'(4.5.6).'(7.8.9))............ |
| 35880 | 20 20 20 e2 87 92 20 28 28 31 20 34 20 37 29 20 28 32 20 35 20 38 29 20 28 33 20 36 20 39 29 29 | .......((1.4.7).(2.5.8).(3.6.9)) |
| 358a0 | 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 | ...........(-zip.'(1.2.3))...... |
| 358c0 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 20 28 32 29 20 28 33 29 29 0a 0a 20 2d 2d 20 | .............((1).(2).(3))...--. |
| 358e0 | 46 75 6e 63 74 69 6f 6e 3a 20 2d 7a 69 70 2d 66 69 6c 6c 20 28 66 69 6c 6c 2d 76 61 6c 75 65 20 | Function:.-zip-fill.(fill-value. |
| 35900 | 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 5a 69 70 20 4c 49 53 54 53 20 74 6f 67 65 | &rest.lists)......Zip.LISTS.toge |
| 35920 | 74 68 65 72 2c 20 70 61 64 64 69 6e 67 20 73 68 6f 72 74 65 72 20 6c 69 73 74 73 20 77 69 74 68 | ther,.padding.shorter.lists.with |
| 35940 | 20 46 49 4c 4c 2d 56 41 4c 55 45 2e 20 20 54 68 69 73 20 69 73 0a 20 20 20 20 20 6c 69 6b 65 20 | .FILL-VALUE...This.is......like. |
| 35960 | e2 80 98 2d 7a 69 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 3a 3a 29 20 28 77 68 69 63 68 | ...-zip....(*note.-zip::).(which |
| 35980 | 20 73 65 65 29 2c 20 65 78 63 65 70 74 20 69 74 20 72 65 74 61 69 6e 73 20 61 6c 6c 0a 20 20 20 | .see),.except.it.retains.all.... |
| 359a0 | 20 20 65 6c 65 6d 65 6e 74 73 20 61 74 20 70 6f 73 69 74 69 6f 6e 73 20 62 65 79 6f 6e 64 20 74 | ..elements.at.positions.beyond.t |
| 359c0 | 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 6c 69 73 74 2e 20 20 54 68 | he.end.of.the.shortest.list...Th |
| 359e0 | 65 0a 20 20 20 20 20 6e 75 6d 62 65 72 20 6f 66 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 | e......number.of.returned.groupi |
| 35a00 | 6e 67 73 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 | ngs.is.equal.to.the.length.of.th |
| 35a20 | 65 20 6c 6f 6e 67 65 73 74 0a 20 20 20 20 20 69 6e 70 75 74 20 6c 69 73 74 2c 20 61 6e 64 20 74 | e.longest......input.list,.and.t |
| 35a40 | 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 65 61 63 68 20 67 72 6f 75 70 69 6e 67 20 69 73 20 65 71 | he.length.of.each.grouping.is.eq |
| 35a60 | 75 61 6c 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 6f 66 20 69 6e 70 75 74 20 | ual.to.the.number......of.input. |
| 35a80 | 4c 49 53 54 53 2e 0a 0a 20 20 20 20 20 53 69 6e 63 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 | LISTS........Since.the.return.va |
| 35aa0 | 6c 75 65 20 63 68 61 6e 67 65 73 20 66 6f 72 6d 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 | lue.changes.form.depending.on.th |
| 35ac0 | 65 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 2c 20 69 74 20 69 | e.number.of......arguments,.it.i |
| 35ae0 | 73 20 67 65 6e 65 72 61 6c 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 e2 | s.generally.recommended.to.use.. |
| 35b00 | 80 98 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c 6c e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 | ..-zip-lists-fill.........(*note |
| 35b20 | 20 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c 6c 3a 3a 29 20 69 6e 73 74 65 61 64 2c 20 75 6e 6c | .-zip-lists-fill::).instead,.unl |
| 35b40 | 65 73 73 20 61 20 6c 69 73 74 20 6f 66 20 64 6f 74 74 65 64 20 70 61 69 72 73 20 69 73 0a 20 20 | ess.a.list.of.dotted.pairs.is... |
| 35b60 | 20 20 20 65 78 70 6c 69 63 69 74 6c 79 20 64 65 73 69 72 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 | ...explicitly.desired........... |
| 35b80 | 20 20 28 2d 7a 69 70 2d 66 69 6c 6c 20 30 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 29 29 0a | ..(-zip-fill.0.'(1.2.3).'(4.5)). |
| 35ba0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 2e 20 34 29 20 28 32 20 2e 20 | ..................((1...4).(2... |
| 35bc0 | 35 29 20 28 33 20 2e 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 66 69 6c 6c | 5).(3...0))...........(-zip-fill |
| 35be0 | 20 30 20 28 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 | .0.().'(1.2.3))................. |
| 35c00 | 92 20 28 28 30 20 2e 20 31 29 20 28 30 20 2e 20 32 29 20 28 30 20 2e 20 33 29 29 0a 20 20 20 20 | ..((0...1).(0...2).(0...3))..... |
| 35c20 | 20 20 20 20 20 20 28 2d 7a 69 70 2d 66 69 6c 6c 20 30 20 27 28 31 20 32 29 20 27 28 33 20 34 29 | ......(-zip-fill.0.'(1.2).'(3.4) |
| 35c40 | 20 27 28 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 33 | .'(5.6))...................((1.3 |
| 35c60 | 20 35 29 20 28 32 20 34 20 36 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 75 6e 7a | .5).(2.4.6))...--.Function:.-unz |
| 35c80 | 69 70 2d 6c 69 73 74 73 20 28 6c 69 73 74 73 29 0a 20 20 20 20 20 55 6e 7a 69 70 20 4c 49 53 54 | ip-lists.(lists)......Unzip.LIST |
| 35ca0 | 53 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 20 6a 75 73 74 20 6c 69 6b 65 20 e2 80 | S........This.works.just.like... |
| 35cc0 | 98 2d 7a 69 70 2d 6c 69 73 74 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 2d 6c 69 73 74 73 | .-zip-lists....(*note.-zip-lists |
| 35ce0 | 3a 3a 29 20 28 77 68 69 63 68 20 73 65 65 29 2c 0a 20 20 20 20 20 62 75 74 20 74 61 6b 65 73 20 | ::).(which.see),......but.takes. |
| 35d00 | 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 76 61 72 | a.list.of.lists.instead.of.a.var |
| 35d20 | 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 2c 20 | iable.number.of......arguments,. |
| 35d40 | 73 75 63 68 20 74 68 61 74 0a 0a 20 20 20 20 20 28 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 20 28 2d | such.that.......(-unzip-lists.(- |
| 35d60 | 7a 69 70 2d 6c 69 73 74 73 20 41 52 47 53 2e 2e 2e 29 29 0a 0a 20 20 20 20 20 69 73 20 69 64 65 | zip-lists.ARGS...)).......is.ide |
| 35d80 | 6e 74 69 74 79 20 28 67 69 76 65 6e 20 74 68 61 74 20 74 68 65 20 6c 69 73 74 73 20 63 6f 6d 70 | ntity.(given.that.the.lists.comp |
| 35da0 | 72 69 73 69 6e 67 20 41 52 47 53 20 61 72 65 20 6f 66 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 | rising.ARGS.are.of.the.same..... |
| 35dc0 | 20 6c 65 6e 67 74 68 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 7a 69 70 2d 6c 69 73 | .length).............(-unzip-lis |
| 35de0 | 74 73 20 28 2d 7a 69 70 2d 6c 69 73 74 73 20 27 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 35 | ts.(-zip-lists.'(1.2).'(3.4).'(5 |
| 35e00 | 20 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 28 | .6)))...................((1.2).( |
| 35e20 | 33 20 34 29 20 28 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 7a 69 70 2d 6c 69 | 3.4).(5.6))...........(-unzip-li |
| 35e40 | 73 74 73 20 27 28 28 31 20 32 20 33 29 20 28 34 20 35 29 20 28 36 20 37 29 20 28 38 20 39 29 29 | sts.'((1.2.3).(4.5).(6.7).(8.9)) |
| 35e60 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 34 20 36 20 38 29 20 28 | )...................((1.4.6.8).( |
| 35e80 | 32 20 35 20 37 20 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 7a 69 70 2d 6c 69 73 74 | 2.5.7.9))...........(-unzip-list |
| 35ea0 | 73 20 27 28 28 31 20 32 20 33 29 20 28 34 20 35 20 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | s.'((1.2.3).(4.5.6)))........... |
| 35ec0 | 20 20 20 20 e2 87 92 20 28 28 31 20 34 29 20 28 32 20 35 29 20 28 33 20 36 29 29 0a 0a 20 2d 2d | ........((1.4).(2.5).(3.6))...-- |
| 35ee0 | 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 75 6e 7a 69 70 20 28 6c 69 73 74 73 29 0a 20 20 20 20 20 55 | .Function:.-unzip.(lists)......U |
| 35f00 | 6e 7a 69 70 20 4c 49 53 54 53 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 20 6a 75 73 | nzip.LISTS........This.works.jus |
| 35f20 | 74 20 6c 69 6b 65 20 e2 80 98 2d 7a 69 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 3a 3a 29 | t.like....-zip....(*note.-zip::) |
| 35f40 | 20 28 77 68 69 63 68 20 73 65 65 29 2c 20 62 75 74 20 74 61 6b 65 73 20 61 0a 20 20 20 20 20 6c | .(which.see),.but.takes.a......l |
| 35f60 | 69 73 74 20 6f 66 20 6c 69 73 74 73 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 76 61 72 69 61 62 | ist.of.lists.instead.of.a.variab |
| 35f80 | 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 73 75 63 68 20 74 68 61 | le.number.of.arguments,.such.tha |
| 35fa0 | 74 0a 0a 20 20 20 20 20 28 2d 75 6e 7a 69 70 20 28 2d 7a 69 70 20 4c 31 20 4c 32 20 4c 33 20 2e | t.......(-unzip.(-zip.L1.L2.L3.. |
| 35fc0 | 2e 2e 29 29 0a 0a 20 20 20 20 20 69 73 20 69 64 65 6e 74 69 74 79 20 28 67 69 76 65 6e 20 74 68 | ..)).......is.identity.(given.th |
| 35fe0 | 61 74 20 74 68 65 20 6c 69 73 74 73 20 61 72 65 20 6f 66 20 74 68 65 20 73 61 6d 65 20 6c 65 6e | at.the.lists.are.of.the.same.len |
| 36000 | 67 74 68 2c 20 61 6e 64 20 74 68 61 74 0a 20 20 20 20 20 e2 80 98 2d 7a 69 70 e2 80 99 20 28 2a | gth,.and.that.........-zip....(* |
| 36020 | 6e 6f 74 65 20 2d 7a 69 70 3a 3a 29 20 69 73 20 6e 6f 74 20 63 61 6c 6c 65 64 20 77 69 74 68 20 | note.-zip::).is.not.called.with. |
| 36040 | 74 77 6f 20 61 72 67 75 6d 65 6e 74 73 2c 20 62 65 63 61 75 73 65 20 6f 66 0a 20 20 20 20 20 74 | two.arguments,.because.of......t |
| 36060 | 68 65 20 63 61 76 65 61 74 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 69 74 73 20 64 6f 63 73 74 | he.caveat.described.in.its.docst |
| 36080 | 72 69 6e 67 29 2e 0a 0a 20 20 20 20 20 4e 6f 74 65 20 69 6e 20 70 61 72 74 69 63 75 6c 61 72 20 | ring)........Note.in.particular. |
| 360a0 | 74 68 61 74 20 63 61 6c 6c 69 6e 67 20 e2 80 98 2d 75 6e 7a 69 70 e2 80 99 20 28 2a 6e 6f 74 65 | that.calling....-unzip....(*note |
| 360c0 | 20 2d 75 6e 7a 69 70 3a 3a 29 20 6f 6e 20 61 20 6c 69 73 74 0a 20 20 20 20 20 6f 66 20 74 77 6f | .-unzip::).on.a.list......of.two |
| 360e0 | 20 6c 69 73 74 73 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 64 6f 74 | .lists.will.return.a.list.of.dot |
| 36100 | 74 65 64 20 70 61 69 72 73 2e 0a 0a 20 20 20 20 20 53 69 6e 63 65 20 74 68 65 20 72 65 74 75 72 | ted.pairs........Since.the.retur |
| 36120 | 6e 20 76 61 6c 75 65 20 63 68 61 6e 67 65 73 20 66 6f 72 6d 20 64 65 70 65 6e 64 69 6e 67 20 6f | n.value.changes.form.depending.o |
| 36140 | 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 4c 49 53 54 53 2c 20 69 74 20 69 | n.the.number.of......LISTS,.it.i |
| 36160 | 73 20 67 65 6e 65 72 61 6c 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 e2 | s.generally.recommended.to.use.. |
| 36180 | 80 98 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 75 | ..-unzip-lists....(*note......-u |
| 361a0 | 6e 7a 69 70 2d 6c 69 73 74 73 3a 3a 29 20 69 6e 73 74 65 61 64 2e 0a 0a 20 20 20 20 20 20 20 20 | nzip-lists::).instead........... |
| 361c0 | 20 20 28 2d 75 6e 7a 69 70 20 28 2d 7a 69 70 20 27 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 | ..(-unzip.(-zip.'(1.2).'(3.4).'( |
| 361e0 | 35 20 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 2e 20 32 | 5.6)))...................((1...2 |
| 36200 | 29 20 28 33 20 2e 20 34 29 20 28 35 20 2e 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 | ).(3...4).(5...6))...........(-u |
| 36220 | 6e 7a 69 70 20 27 28 28 31 20 32 20 33 29 20 28 34 20 35 20 36 29 29 29 0a 20 20 20 20 20 20 20 | nzip.'((1.2.3).(4.5.6)))........ |
| 36240 | 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 2e 20 34 29 20 28 32 20 2e 20 35 29 20 28 33 20 2e | ...........((1...4).(2...5).(3.. |
| 36260 | 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 7a 69 70 20 27 28 28 31 20 32 20 33 29 | .6))...........(-unzip.'((1.2.3) |
| 36280 | 20 28 34 20 35 29 20 28 36 20 37 29 20 28 38 20 39 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | .(4.5).(6.7).(8.9)))............ |
| 362a0 | 20 20 20 e2 87 92 20 28 28 31 20 34 20 36 20 38 29 20 28 32 20 35 20 37 20 39 29 29 0a 0a 20 2d | .......((1.4.6.8).(2.5.7.9))...- |
| 362c0 | 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 64 20 28 66 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 | -.Function:.-pad.(fill-value.&re |
| 362e0 | 73 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 50 61 64 20 65 61 63 68 20 6f 66 20 4c 49 53 54 53 | st.lists)......Pad.each.of.LISTS |
| 36300 | 20 77 69 74 68 20 46 49 4c 4c 2d 56 41 4c 55 45 20 75 6e 74 69 6c 20 74 68 65 79 20 61 6c 6c 20 | .with.FILL-VALUE.until.they.all. |
| 36320 | 68 61 76 65 20 65 71 75 61 6c 0a 20 20 20 20 20 6c 65 6e 67 74 68 73 2e 0a 0a 20 20 20 20 20 45 | have.equal......lengths........E |
| 36340 | 6e 73 75 72 65 20 61 6c 6c 20 4c 49 53 54 53 20 61 72 65 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 | nsure.all.LISTS.are.as.long.as.t |
| 36360 | 68 65 20 6c 6f 6e 67 65 73 74 20 6f 6e 65 20 62 79 20 72 65 70 65 61 74 65 64 6c 79 0a 20 20 20 | he.longest.one.by.repeatedly.... |
| 36380 | 20 20 61 70 70 65 6e 64 69 6e 67 20 46 49 4c 4c 2d 56 41 4c 55 45 20 74 6f 20 74 68 65 20 73 68 | ..appending.FILL-VALUE.to.the.sh |
| 363a0 | 6f 72 74 65 72 20 6c 69 73 74 73 2c 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 | orter.lists,.and.return.the.resu |
| 363c0 | 6c 74 69 6e 67 0a 20 20 20 20 20 4c 49 53 54 53 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 | lting......LISTS.............(-p |
| 363e0 | 61 64 20 30 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 29 | ad.0.())...................(nil) |
| 36400 | 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 64 20 30 20 27 28 31 20 32 29 20 27 28 33 20 34 29 | ...........(-pad.0.'(1.2).'(3.4) |
| 36420 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 28 33 20 34 29 | )...................((1.2).(3.4) |
| 36440 | 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 64 20 30 20 27 28 31 20 32 29 20 27 28 33 20 34 | )...........(-pad.0.'(1.2).'(3.4 |
| 36460 | 20 35 20 36 29 20 27 28 37 20 38 20 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 | .5.6).'(7.8.9))................. |
| 36480 | 92 20 28 28 31 20 32 20 30 20 30 29 20 28 33 20 34 20 35 20 36 29 20 28 37 20 38 20 39 20 30 29 | ..((1.2.0.0).(3.4.5.6).(7.8.9.0) |
| 364a0 | 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 61 62 6c 65 20 28 66 6e 20 26 72 65 73 | )...--.Function:.-table.(fn.&res |
| 364c0 | 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 43 6f 6d 70 75 74 65 20 6f 75 74 65 72 20 70 72 6f 64 | t.lists)......Compute.outer.prod |
| 364e0 | 75 63 74 20 6f 66 20 4c 49 53 54 53 20 75 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 46 4e 2e 0a | uct.of.LISTS.using.function.FN.. |
| 36500 | 0a 20 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 73 68 6f 75 6c 64 20 68 61 76 | ......The.function.FN.should.hav |
| 36520 | 65 20 74 68 65 20 73 61 6d 65 20 61 72 69 74 79 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f | e.the.same.arity.as.the.number.o |
| 36540 | 66 0a 20 20 20 20 20 73 75 70 70 6c 69 65 64 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 54 68 65 | f......supplied.lists........The |
| 36560 | 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 69 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 61 70 | .outer.product.is.computed.by.ap |
| 36580 | 70 6c 79 69 6e 67 20 66 6e 20 74 6f 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 0a 20 20 20 20 20 63 | plying.fn.to.all.possible......c |
| 365a0 | 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 63 72 65 61 74 65 64 20 62 79 20 74 61 6b 69 6e 67 20 6f 6e | ombinations.created.by.taking.on |
| 365c0 | 65 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 65 61 63 68 20 6c 69 73 74 20 69 6e 20 6f 72 64 65 | e.element.from.each.list.in.orde |
| 365e0 | 72 2e 0a 20 20 20 20 20 54 68 65 20 64 69 6d 65 6e 73 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 73 | r.......The.dimension.of.the.res |
| 36600 | 75 6c 74 20 69 73 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 2e 0a 0a 20 20 20 20 20 53 65 65 | ult.is.(length.lists)........See |
| 36620 | 20 61 6c 73 6f 3a 20 e2 80 98 2d 74 61 62 6c 65 2d 66 6c 61 74 e2 80 99 20 28 2a 6e 6f 74 65 20 | .also:....-table-flat....(*note. |
| 36640 | 2d 74 61 62 6c 65 2d 66 6c 61 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 62 6c | -table-flat::)............(-tabl |
| 36660 | 65 20 27 2a 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 | e.'*.'(1.2.3).'(1.2.3))......... |
| 36680 | 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 32 20 34 20 36 29 20 28 33 20 36 20 | ..........((1.2.3).(2.4.6).(3.6. |
| 366a0 | 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 62 6c 65 20 28 6c 61 6d 62 64 61 20 28 61 | 9))...........(-table.(lambda.(a |
| 366c0 | 20 62 29 20 28 2d 73 75 6d 20 28 2d 7a 69 70 2d 77 69 74 68 20 27 2a 20 61 20 62 29 29 29 20 27 | .b).(-sum.(-zip-with.'*.a.b))).' |
| 366e0 | 28 28 31 20 32 29 20 28 33 20 34 29 29 20 27 28 28 31 20 33 29 20 28 32 20 34 29 29 29 0a 20 20 | ((1.2).(3.4)).'((1.3).(2.4)))... |
| 36700 | 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 37 20 31 35 29 20 28 31 30 20 32 32 29 29 | ................((7.15).(10.22)) |
| 36720 | 0a 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 27 2d 74 61 62 6c 65 20 27 6c 69 73 74 20 | ...........(apply.'-table.'list. |
| 36740 | 28 2d 72 65 70 65 61 74 20 33 20 27 28 31 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | (-repeat.3.'(1.2)))............. |
| 36760 | 20 20 e2 87 92 20 28 28 28 28 31 20 31 20 31 29 20 28 32 20 31 20 31 29 29 20 28 28 31 20 32 20 | ......((((1.1.1).(2.1.1)).((1.2. |
| 36780 | 31 29 20 28 32 20 32 20 31 29 29 29 20 28 28 28 31 20 31 20 32 29 20 28 32 20 31 20 32 29 29 20 | 1).(2.2.1))).(((1.1.2).(2.1.2)). |
| 367a0 | 28 28 31 20 32 20 32 29 20 28 32 20 32 20 32 29 29 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f | ((1.2.2).(2.2.2))))...--.Functio |
| 367c0 | 6e 3a 20 2d 74 61 62 6c 65 2d 66 6c 61 74 20 28 66 6e 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a | n:.-table-flat.(fn.&rest.lists). |
| 367e0 | 20 20 20 20 20 43 6f 6d 70 75 74 65 20 66 6c 61 74 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 | .....Compute.flat.outer.product. |
| 36800 | 6f 66 20 4c 49 53 54 53 20 75 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 46 4e 2e 0a 0a 20 20 20 | of.LISTS.using.function.FN...... |
| 36820 | 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 | ..The.function.FN.should.have.th |
| 36840 | 65 20 73 61 6d 65 20 61 72 69 74 79 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 | e.same.arity.as.the.number.of... |
| 36860 | 20 20 20 73 75 70 70 6c 69 65 64 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 54 68 65 20 6f 75 74 | ...supplied.lists........The.out |
| 36880 | 65 72 20 70 72 6f 64 75 63 74 20 69 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 61 70 70 6c 79 69 | er.product.is.computed.by.applyi |
| 368a0 | 6e 67 20 66 6e 20 74 6f 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 0a 20 20 20 20 20 63 6f 6d 62 69 | ng.fn.to.all.possible......combi |
| 368c0 | 6e 61 74 69 6f 6e 73 20 63 72 65 61 74 65 64 20 62 79 20 74 61 6b 69 6e 67 20 6f 6e 65 20 65 6c | nations.created.by.taking.one.el |
| 368e0 | 65 6d 65 6e 74 20 66 72 6f 6d 20 65 61 63 68 20 6c 69 73 74 20 69 6e 20 6f 72 64 65 72 2e 0a 20 | ement.from.each.list.in.order... |
| 36900 | 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 73 20 61 72 65 20 66 6c 61 74 74 65 6e 65 64 2c 20 69 | ....The.results.are.flattened,.i |
| 36920 | 67 6e 6f 72 69 6e 67 20 74 68 65 20 74 65 6e 73 6f 72 20 73 74 72 75 63 74 75 72 65 20 6f 66 20 | gnoring.the.tensor.structure.of. |
| 36940 | 74 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 2e 20 20 54 68 69 73 20 69 73 20 65 71 75 69 76 61 | the......result...This.is.equiva |
| 36960 | 6c 65 6e 74 20 74 6f 20 63 61 6c 6c 69 6e 67 3a 0a 0a 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e | lent.to.calling:.......(-flatten |
| 36980 | 2d 6e 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 29 20 28 61 70 70 6c 79 20 e2 80 | -n.(1-.(length.lists)).(apply... |
| 369a0 | 99 2d 74 61 62 6c 65 20 66 6e 20 6c 69 73 74 73 29 29 0a 0a 20 20 20 20 20 62 75 74 20 74 68 65 | .-table.fn.lists)).......but.the |
| 369c0 | 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 68 65 72 65 20 69 73 20 6d 75 63 68 20 6d 6f 72 | .implementation.here.is.much.mor |
| 369e0 | 65 20 65 66 66 69 63 69 65 6e 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 | e.efficient........See.also:.... |
| 36a00 | 2d 66 6c 61 74 74 65 6e 2d 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 6c 61 74 74 65 6e 2d 6e 3a | -flatten-n....(*note.-flatten-n: |
| 36a20 | 3a 29 2c 20 e2 80 98 2d 74 61 62 6c 65 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 74 61 | :),....-table....(*note......-ta |
| 36a40 | 62 6c 65 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 | ble::)............(-table-flat.' |
| 36a60 | 6c 69 73 74 20 27 28 31 20 32 20 33 29 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 | list.'(1.2.3).'(a.b.c))......... |
| 36a80 | 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 61 29 20 28 32 20 61 29 20 28 33 20 61 29 20 28 31 20 | ..........((1.a).(2.a).(3.a).(1. |
| 36aa0 | 62 29 20 28 32 20 62 29 20 28 33 20 62 29 20 28 31 20 63 29 20 28 32 20 63 29 20 28 33 20 63 29 | b).(2.b).(3.b).(1.c).(2.c).(3.c) |
| 36ac0 | 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 2a 20 27 28 31 20 | )...........(-table-flat.'*.'(1. |
| 36ae0 | 32 20 33 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 | 2.3).'(1.2.3)).................. |
| 36b00 | 20 28 31 20 32 20 33 20 32 20 34 20 36 20 33 20 36 20 39 29 0a 20 20 20 20 20 20 20 20 20 20 28 | .(1.2.3.2.4.6.3.6.9)...........( |
| 36b20 | 61 70 70 6c 79 20 27 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 6c 69 73 74 20 28 2d 72 65 70 65 61 | apply.'-table-flat.'list.(-repea |
| 36b40 | 74 20 33 20 27 28 31 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 | t.3.'(1.2)))...................( |
| 36b60 | 28 31 20 31 20 31 29 20 28 32 20 31 20 31 29 20 28 31 20 32 20 31 29 20 28 32 20 32 20 31 29 20 | (1.1.1).(2.1.1).(1.2.1).(2.2.1). |
| 36b80 | 28 31 20 31 20 32 29 20 28 32 20 31 20 32 29 20 28 31 20 32 20 32 29 20 28 32 20 32 20 32 29 29 | (1.1.2).(2.1.2).(1.2.2).(2.2.2)) |
| 36ba0 | 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 69 72 73 74 20 28 70 72 65 64 20 6c 69 73 | ...--.Function:.-first.(pred.lis |
| 36bc0 | 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e | t)......Return.the.first.item.in |
| 36be0 | 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e | .LIST.for.which.PRED.returns.non |
| 36c00 | 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 20 20 20 20 20 52 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 | -...nil..........Return....nil.. |
| 36c20 | 99 20 69 66 20 6e 6f 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 66 6f 75 6e 64 2e 0a 0a | ..if.no.such.element.is.found... |
| 36c40 | 20 20 20 20 20 54 6f 20 67 65 74 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 74 68 | .....To.get.the.first.item.in.th |
| 36c60 | 65 20 6c 69 73 74 20 6e 6f 20 71 75 65 73 74 69 6f 6e 73 20 61 73 6b 65 64 2c 20 75 73 65 0a 20 | e.list.no.questions.asked,.use.. |
| 36c80 | 20 20 20 20 e2 80 98 2d 66 69 72 73 74 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 69 | .......-first-item....(*note.-fi |
| 36ca0 | 72 73 74 2d 69 74 65 6d 3a 3a 29 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 66 69 | rst-item::)........Alias:....-fi |
| 36cc0 | 6e 64 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 | nd...........This.function...s.a |
| 36ce0 | 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 66 69 72 | naphoric.counterpart.is....--fir |
| 36d00 | 73 74 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 72 73 74 20 23 27 6e 61 74 6e | st................(-first.#'natn |
| 36d20 | 75 6d 70 20 27 28 2d 31 20 30 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 | ump.'(-1.0.1)).................. |
| 36d40 | 20 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 72 73 74 20 23 27 6e 75 6c 6c 20 27 28 31 20 | .0...........(-first.#'null.'(1. |
| 36d60 | 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 | 2.3))...................nil..... |
| 36d80 | 20 20 20 20 20 20 28 2d 2d 66 69 72 73 74 20 28 3e 20 69 74 20 32 29 20 27 28 31 20 32 20 33 29 | ......(--first.(>.it.2).'(1.2.3) |
| 36da0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 33 0a 0a 20 2d 2d 20 46 75 6e 63 74 | )...................3...--.Funct |
| 36dc0 | 69 6f 6e 3a 20 2d 6c 61 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 | ion:.-last.(pred.list)......Retu |
| 36de0 | 72 6e 20 74 68 65 20 6c 61 73 74 20 78 20 69 6e 20 4c 49 53 54 20 77 68 65 72 65 20 28 50 52 45 | rn.the.last.x.in.LIST.where.(PRE |
| 36e00 | 44 20 78 29 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 65 6c 73 65 20 e2 80 98 6e | D.x).is.non-...nil...,.else....n |
| 36e20 | 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 61 73 74 20 27 65 76 65 6e 3f 20 | il................(-last.'even?. |
| 36e40 | 27 28 31 20 32 20 33 20 34 20 35 20 36 20 33 20 33 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 | '(1.2.3.4.5.6.3.3.3))........... |
| 36e60 | 20 20 20 20 e2 87 92 20 36 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 61 73 74 20 27 65 76 65 6e | ........6...........(-last.'even |
| 36e80 | 3f 20 27 28 31 20 33 20 37 20 35 20 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 | ?.'(1.3.7.5.9))................. |
| 36ea0 | 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6c 61 73 74 20 28 3e 20 28 6c 65 6e 67 | ..nil...........(--last.(>.(leng |
| 36ec0 | 74 68 20 69 74 29 20 33 29 20 27 28 22 61 22 20 22 6c 6f 6f 6f 6e 67 22 20 22 77 6f 72 64 22 20 | th.it).3).'("a"."looong"."word". |
| 36ee0 | 22 61 6e 64 22 20 22 73 68 6f 72 74 22 20 22 6f 6e 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 | "and"."short"."one"))........... |
| 36f00 | 20 20 20 20 e2 87 92 20 22 73 68 6f 72 74 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d | ........"short"...--.Function:.- |
| 36f20 | 66 69 72 73 74 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 | first-item.(list)......Return.th |
| 36f40 | 65 20 66 69 72 73 74 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 e2 80 98 6e 69 6c e2 | e.first.item.of.LIST,.or....nil. |
| 36f60 | 80 99 20 6f 6e 20 61 6e 20 65 6d 70 74 79 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 | ...on.an.empty.list........See.a |
| 36f80 | 6c 73 6f 3a 20 e2 80 98 2d 73 65 63 6f 6e 64 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d | lso:....-second-item....(*note.- |
| 36fa0 | 73 65 63 6f 6e 64 2d 69 74 65 6d 3a 3a 29 2c 20 e2 80 98 2d 6c 61 73 74 2d 69 74 65 6d e2 80 99 | second-item::),....-last-item... |
| 36fc0 | 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 6c 61 73 74 2d 69 74 65 6d 3a 3a 29 2c 20 65 74 63 2e | ......(*note.-last-item::),.etc. |
| 36fe0 | 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 28 29 29 0a 20 20 20 | ............(-first-item.()).... |
| 37000 | 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 | ...............()...........(-fi |
| 37020 | 72 73 74 2d 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 | rst-item.'(1.2.3.4.5)).......... |
| 37040 | 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 69 73 74 | .........1...........(let.((list |
| 37060 | 20 28 6c 69 73 74 20 31 20 32 20 33 29 29 29 20 28 73 65 74 66 20 28 2d 66 69 72 73 74 2d 69 74 | .(list.1.2.3))).(setf.(-first-it |
| 37080 | 65 6d 20 6c 69 73 74 29 20 35 29 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | em.list).5).list)............... |
| 370a0 | e2 87 92 20 28 35 20 32 20 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 65 63 6f | ....(5.2.3)...--.Function:.-seco |
| 370c0 | 6e 64 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 73 | nd-item.(list)......Return.the.s |
| 370e0 | 65 63 6f 6e 64 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 e2 80 98 6e 69 6c e2 80 99 | econd.item.of.LIST,.or....nil... |
| 37100 | 20 69 66 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 20 20 20 20 20 53 65 65 | .if.LIST.is.too.short........See |
| 37120 | 20 61 6c 73 6f 3a 20 e2 80 98 2d 66 69 72 73 74 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 | .also:....-first-item....(*note. |
| 37140 | 2d 66 69 72 73 74 2d 69 74 65 6d 3a 3a 29 2c 20 e2 80 98 2d 74 68 69 72 64 2d 69 74 65 6d e2 80 | -first-item::),....-third-item.. |
| 37160 | 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 74 68 69 72 64 2d 69 74 65 6d 3a 3a 29 2c 20 65 74 | ..(*note......-third-item::),.et |
| 37180 | 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 28 29 29 0a | c.............(-second-item.()). |
| 371a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 | ..................()...........( |
| 371c0 | 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 | -second-item.'(1.2.3.4.5))...... |
| 371e0 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 | .............2...........(let.(( |
| 37200 | 6c 69 73 74 20 28 6c 69 73 74 20 31 20 32 29 29 29 20 28 73 65 74 66 20 28 2d 73 65 63 6f 6e 64 | list.(list.1.2))).(setf.(-second |
| 37220 | 2d 69 74 65 6d 20 6c 69 73 74 29 20 35 29 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 | -item.list).5).list)............ |
| 37240 | 20 20 20 e2 87 92 20 28 31 20 35 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 68 69 | .......(1.5)...--.Function:.-thi |
| 37260 | 72 64 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 74 | rd-item.(list)......Return.the.t |
| 37280 | 68 69 72 64 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 e2 80 98 6e 69 6c e2 80 99 20 | hird.item.of.LIST,.or....nil.... |
| 372a0 | 69 66 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 | if.LIST.is.too.short........See. |
| 372c0 | 61 6c 73 6f 3a 20 e2 80 98 2d 73 65 63 6f 6e 64 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 | also:....-second-item....(*note. |
| 372e0 | 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 3a 3a 29 2c 20 e2 80 98 2d 66 6f 75 72 74 68 2d 69 74 65 6d | -second-item::),....-fourth-item |
| 37300 | e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 66 6f 75 72 74 68 2d 69 74 65 6d 3a 3a 29 2c | .........(*note.-fourth-item::), |
| 37320 | 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 68 69 72 64 2d 69 74 65 6d 20 28 29 | .etc.............(-third-item.() |
| 37340 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 | )...................().......... |
| 37360 | 20 28 2d 74 68 69 72 64 2d 69 74 65 6d 20 27 28 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 | .(-third-item.'(1.2))........... |
| 37380 | 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 68 69 72 64 2d 69 74 65 | ........()...........(-third-ite |
| 373a0 | 6d 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 | m.'(1.2.3.4.5))................. |
| 373c0 | 92 20 33 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 6f 75 72 74 68 2d 69 74 65 6d 20 | ..3...--.Function:.-fourth-item. |
| 373e0 | 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 6f 75 72 74 68 20 69 74 | (list)......Return.the.fourth.it |
| 37400 | 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 4c 49 53 54 | em.of.LIST,.or....nil....if.LIST |
| 37420 | 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 | .is.too.short........See.also:.. |
| 37440 | 80 98 2d 74 68 69 72 64 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 74 68 69 72 64 2d 69 | ..-third-item....(*note.-third-i |
| 37460 | 74 65 6d 3a 3a 29 2c 20 e2 80 98 2d 66 69 66 74 68 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 | tem::),....-fifth-item....(*note |
| 37480 | 0a 20 20 20 20 20 2d 66 69 66 74 68 2d 69 74 65 6d 3a 3a 29 2c 20 65 74 63 2e 0a 0a 20 20 20 20 | ......-fifth-item::),.etc....... |
| 374a0 | 20 20 20 20 20 20 28 2d 66 6f 75 72 74 68 2d 69 74 65 6d 20 28 29 29 0a 20 20 20 20 20 20 20 20 | ......(-fourth-item.())......... |
| 374c0 | 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6f 75 72 74 68 2d | ..........()...........(-fourth- |
| 374e0 | 69 74 65 6d 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 | item.'(1.2.3)).................. |
| 37500 | 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6f 75 72 74 68 2d 69 74 65 6d 20 27 28 31 20 | .()...........(-fourth-item.'(1. |
| 37520 | 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 34 0a 0a 20 | 2.3.4.5))...................4... |
| 37540 | 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 69 66 74 68 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a | --.Function:.-fifth-item.(list). |
| 37560 | 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 69 66 74 68 20 69 74 65 6d 20 6f 66 20 4c 49 | .....Return.the.fifth.item.of.LI |
| 37580 | 53 54 2c 20 6f 72 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 | ST,.or....nil....if.LIST.is.too. |
| 375a0 | 73 68 6f 72 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 66 6f 75 72 74 | short........See.also:....-fourt |
| 375c0 | 68 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 6f 75 72 74 68 2d 69 74 65 6d 3a 3a 29 | h-item....(*note.-fourth-item::) |
| 375e0 | 2c 20 e2 80 98 2d 6c 61 73 74 2d 69 74 65 6d e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d | ,....-last-item.........(*note.- |
| 37600 | 6c 61 73 74 2d 69 74 65 6d 3a 3a 29 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d | last-item::),.etc.............(- |
| 37620 | 66 69 66 74 68 2d 69 74 65 6d 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 | fifth-item.()).................. |
| 37640 | 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 66 74 68 2d 69 74 65 6d 20 27 28 31 20 32 | .()...........(-fifth-item.'(1.2 |
| 37660 | 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 | .3.4))...................()..... |
| 37680 | 20 20 20 20 20 20 28 2d 66 69 66 74 68 2d 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 20 35 29 29 | ......(-fifth-item.'(1.2.3.4.5)) |
| 376a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 35 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 | ...................5...--.Functi |
| 376c0 | 6f 6e 3a 20 2d 6c 61 73 74 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 | on:.-last-item.(list)......Retur |
| 376e0 | 6e 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 e2 80 98 6e | n.the.last.item.of.LIST,.or....n |
| 37700 | 69 6c e2 80 99 20 6f 6e 20 61 6e 20 65 6d 70 74 79 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 53 65 | il....on.an.empty.list........Se |
| 37720 | 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 66 69 72 73 74 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 | e.also:....-first-item....(*note |
| 37740 | 20 2d 66 69 72 73 74 2d 69 74 65 6d 3a 3a 29 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 | .-first-item::),.etc............ |
| 37760 | 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 | .(-last-item.())................ |
| 37780 | 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 27 28 31 20 | ...()...........(-last-item.'(1. |
| 377a0 | 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 35 0a 20 20 | 2.3.4.5))...................5... |
| 377c0 | 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 69 73 74 20 28 6c 69 73 74 20 31 20 32 20 33 29 | ........(let.((list.(list.1.2.3) |
| 377e0 | 29 29 20 28 73 65 74 66 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 6c 69 73 74 29 20 35 29 20 6c 69 | )).(setf.(-last-item.list).5).li |
| 37800 | 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 35 29 0a 0a 20 | st)...................(1.2.5)... |
| 37820 | 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 62 75 74 6c 61 73 74 20 28 6c 69 73 74 29 0a 20 20 20 | --.Function:.-butlast.(list).... |
| 37840 | 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 69 74 65 6d 73 20 69 6e 20 | ..Return.a.list.of.all.items.in. |
| 37860 | 6c 69 73 74 20 65 78 63 65 70 74 20 66 6f 72 20 74 68 65 20 6c 61 73 74 2e 0a 0a 20 20 20 20 20 | list.except.for.the.last........ |
| 37880 | 20 20 20 20 20 28 2d 62 75 74 6c 61 73 74 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 | .....(-butlast.'(1.2.3))........ |
| 378a0 | 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 62 75 74 | ...........(1.2)...........(-but |
| 378c0 | 6c 61 73 74 20 27 28 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 | last.'(1.2))...................( |
| 378e0 | 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 62 75 74 6c 61 73 74 20 27 28 31 29 29 0a 20 20 20 | 1)...........(-butlast.'(1)).... |
| 37900 | 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e | ...............nil...--.Function |
| 37920 | 3a 20 2d 73 6f 72 74 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 20 20 20 53 | :.-sort.(comparator.list)......S |
| 37940 | 6f 72 74 20 4c 49 53 54 2c 20 73 74 61 62 6c 79 2c 20 63 6f 6d 70 61 72 69 6e 67 20 65 6c 65 6d | ort.LIST,.stably,.comparing.elem |
| 37960 | 65 6e 74 73 20 75 73 69 6e 67 20 43 4f 4d 50 41 52 41 54 4f 52 2e 20 20 52 65 74 75 72 6e 20 74 | ents.using.COMPARATOR...Return.t |
| 37980 | 68 65 0a 20 20 20 20 20 73 6f 72 74 65 64 20 6c 69 73 74 2e 20 20 4c 49 53 54 20 69 73 20 4e 4f | he......sorted.list...LIST.is.NO |
| 379a0 | 54 20 6d 6f 64 69 66 69 65 64 20 62 79 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 20 20 43 4f 4d | T.modified.by.side.effects...COM |
| 379c0 | 50 41 52 41 54 4f 52 20 69 73 0a 20 20 20 20 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 77 6f 20 | PARATOR.is......called.with.two. |
| 379e0 | 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2c 20 61 6e 64 20 73 68 6f 75 6c 64 20 72 65 74 | elements.of.LIST,.and.should.ret |
| 37a00 | 75 72 6e 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 0a 20 20 20 20 20 74 68 65 20 66 69 | urn.non-...nil....if......the.fi |
| 37a20 | 72 73 74 20 65 6c 65 6d 65 6e 74 20 73 68 6f 75 6c 64 20 73 6f 72 74 20 62 65 66 6f 72 65 20 74 | rst.element.should.sort.before.t |
| 37a40 | 68 65 20 73 65 63 6f 6e 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 23 27 3c | he.second.............(-sort.#'< |
| 37a60 | 20 27 28 33 20 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 | .'(3.1.2))...................(1. |
| 37a80 | 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 23 27 3e 20 27 28 33 20 31 20 | 2.3)...........(-sort.#'>.'(3.1. |
| 37aa0 | 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 32 20 31 29 0a 20 20 | 2))...................(3.2.1)... |
| 37ac0 | 20 20 20 20 20 20 20 20 28 2d 2d 73 6f 72 74 20 28 3c 20 69 74 20 6f 74 68 65 72 29 20 27 28 33 | ........(--sort.(<.it.other).'(3 |
| 37ae0 | 20 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 | .1.2))...................(1.2.3) |
| 37b00 | 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6c 69 73 74 20 28 61 72 67 29 0a 20 20 20 20 | ...--.Function:.-list.(arg)..... |
| 37b20 | 20 45 6e 73 75 72 65 20 41 52 47 20 69 73 20 61 20 6c 69 73 74 2e 20 20 49 66 20 41 52 47 20 69 | .Ensure.ARG.is.a.list...If.ARG.i |
| 37b40 | 73 20 61 6c 72 65 61 64 79 20 61 20 6c 69 73 74 2c 20 72 65 74 75 72 6e 20 69 74 20 61 73 20 69 | s.already.a.list,.return.it.as.i |
| 37b60 | 73 0a 20 20 20 20 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 2e 20 20 4f 74 68 65 72 77 69 73 65 2c | s......(not.a.copy)...Otherwise, |
| 37b80 | 20 72 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 41 52 47 20 61 73 20 69 | .return.a.new.list.with.ARG.as.i |
| 37ba0 | 74 73 20 6f 6e 6c 79 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 41 6e 6f 74 | ts.only......element........Anot |
| 37bc0 | 68 65 72 20 73 75 70 70 6f 72 74 65 64 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e | her.supported.calling.convention |
| 37be0 | 20 69 73 20 28 2d 6c 69 73 74 20 26 72 65 73 74 20 41 52 47 53 29 2e 20 20 49 6e 0a 20 20 20 20 | .is.(-list.&rest.ARGS)...In..... |
| 37c00 | 20 74 68 69 73 20 63 61 73 65 2c 20 69 66 20 41 52 47 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 | .this.case,.if.ARG.is.not.a.list |
| 37c20 | 2c 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 61 6c 6c 20 6f 66 20 41 52 47 53 20 61 73 | ,.a.new.list.with.all.of.ARGS.as |
| 37c40 | 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 54 68 69 | ......elements.is.returned...Thi |
| 37c60 | 73 20 75 73 65 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 66 6f 72 20 62 61 63 6b 77 61 72 64 0a | s.use.is.supported.for.backward. |
| 37c80 | 20 20 20 20 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 61 6e 64 20 69 73 20 6f 74 68 65 72 77 | .....compatibility.and.is.otherw |
| 37ca0 | 69 73 65 20 64 65 70 72 65 63 61 74 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 69 73 | ise.deprecated.............(-lis |
| 37cc0 | 74 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 | t.1)...................(1)...... |
| 37ce0 | 20 20 20 20 20 28 2d 6c 69 73 74 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 | .....(-list.())................. |
| 37d00 | 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 69 73 74 20 27 28 31 20 32 20 33 29 29 0a | ..()...........(-list.'(1.2.3)). |
| 37d20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 0a 20 2d 2d 20 46 | ..................(1.2.3)...--.F |
| 37d40 | 75 6e 63 74 69 6f 6e 3a 20 2d 66 69 78 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 43 6f 6d | unction:.-fix.(fn.list)......Com |
| 37d60 | 70 75 74 65 20 74 68 65 20 28 6c 65 61 73 74 29 20 66 69 78 70 6f 69 6e 74 20 6f 66 20 46 4e 20 | pute.the.(least).fixpoint.of.FN. |
| 37d80 | 77 69 74 68 20 69 6e 69 74 69 61 6c 20 69 6e 70 75 74 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 46 | with.initial.input.LIST........F |
| 37da0 | 4e 20 69 73 20 63 61 6c 6c 65 64 20 61 74 20 6c 65 61 73 74 20 6f 6e 63 65 2c 20 72 65 73 75 6c | N.is.called.at.least.once,.resul |
| 37dc0 | 74 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 77 69 74 68 20 e2 80 98 65 71 75 61 6c e2 80 99 | ts.are.compared.with....equal... |
| 37de0 | 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 78 20 28 6c 61 6d 62 64 61 20 28 6c 29 20 28 | .............(-fix.(lambda.(l).( |
| 37e00 | 2d 6e 6f 6e 2d 6e 69 6c 20 28 2d 2d 6d 61 70 63 61 74 20 28 2d 73 70 6c 69 74 2d 61 74 20 28 2f | -non-nil.(--mapcat.(-split-at.(/ |
| 37e20 | 20 28 6c 65 6e 67 74 68 20 69 74 29 20 32 29 20 69 74 29 20 6c 29 29 29 20 27 28 28 31 20 32 20 | .(length.it).2).it).l))).'((1.2. |
| 37e40 | 33 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 20 28 32 29 20 | 3)))...................((1).(2). |
| 37e60 | 28 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 20 27 28 28 73 74 61 72 77 | (3))...........(let.((l.'((starw |
| 37e80 | 61 72 73 20 73 63 69 66 69 29 20 28 6a 65 64 69 20 73 74 61 72 77 61 72 73 20 77 61 72 72 69 6f | ars.scifi).(jedi.starwars.warrio |
| 37ea0 | 72 29 29 29 29 20 28 2d 2d 66 69 78 20 28 2d 75 6e 69 71 20 28 2d 2d 6d 61 70 63 61 74 20 28 63 | r)))).(--fix.(-uniq.(--mapcat.(c |
| 37ec0 | 6f 6e 73 20 69 74 20 28 63 64 72 20 28 61 73 73 71 20 69 74 20 6c 29 29 29 20 69 74 29 29 20 27 | ons.it.(cdr.(assq.it.l))).it)).' |
| 37ee0 | 28 6a 65 64 69 20 62 6f 6f 6b 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 | (jedi.book)))................... |
| 37f00 | 28 6a 65 64 69 20 73 74 61 72 77 61 72 73 20 77 61 72 72 69 6f 72 20 73 63 69 66 69 20 62 6f 6f | (jedi.starwars.warrior.scifi.boo |
| 37f20 | 6b 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 54 72 | k)....File:.dash.info,..Node:.Tr |
| 37f40 | 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 54 68 72 65 61 64 69 6e 67 20 | ee.operations,..Next:.Threading. |
| 37f60 | 6d 61 63 72 6f 73 2c 20 20 50 72 65 76 3a 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 | macros,..Prev:.Other.list.operat |
| 37f80 | 69 6f 6e 73 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 31 20 54 72 65 65 20 | ions,..Up:.Functions..2.11.Tree. |
| 37fa0 | 6f 70 65 72 61 74 69 6f 6e 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a | operations.====================. |
| 37fc0 | 0a 46 75 6e 63 74 69 6f 6e 73 20 70 72 65 74 65 6e 64 69 6e 67 20 6c 69 73 74 73 20 61 72 65 20 | .Functions.pretending.lists.are. |
| 37fe0 | 74 72 65 65 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 2d 73 65 71 20 | trees....--.Function:.-tree-seq. |
| 38000 | 28 62 72 61 6e 63 68 20 63 68 69 6c 64 72 65 6e 20 74 72 65 65 29 0a 20 20 20 20 20 52 65 74 75 | (branch.children.tree)......Retu |
| 38020 | 72 6e 20 61 20 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 6e 6f 64 65 73 20 69 6e 20 54 52 | rn.a.sequence.of.the.nodes.in.TR |
| 38040 | 45 45 2c 20 69 6e 20 64 65 70 74 68 2d 66 69 72 73 74 20 73 65 61 72 63 68 0a 20 20 20 20 20 6f | EE,.in.depth-first.search......o |
| 38060 | 72 64 65 72 2e 0a 0a 20 20 20 20 20 42 52 41 4e 43 48 20 69 73 20 61 20 70 72 65 64 69 63 61 74 | rder........BRANCH.is.a.predicat |
| 38080 | 65 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 6e | e.of.one.argument.that.returns.n |
| 380a0 | 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 74 68 65 0a 20 20 20 20 20 70 61 73 73 65 64 20 | on-...nil....if.the......passed. |
| 380c0 | 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 62 72 61 6e 63 68 2c 20 74 68 61 74 20 69 73 2c 20 61 | argument.is.a.branch,.that.is,.a |
| 380e0 | 20 6e 6f 64 65 20 74 68 61 74 20 63 61 6e 20 68 61 76 65 0a 20 20 20 20 20 63 68 69 6c 64 72 65 | .node.that.can.have......childre |
| 38100 | 6e 2e 0a 0a 20 20 20 20 20 43 48 49 4c 44 52 45 4e 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 | n........CHILDREN.is.a.function. |
| 38120 | 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 | of.one.argument.that.returns.the |
| 38140 | 20 63 68 69 6c 64 72 65 6e 20 6f 66 0a 20 20 20 20 20 74 68 65 20 70 61 73 73 65 64 20 62 72 61 | .children.of......the.passed.bra |
| 38160 | 6e 63 68 20 6e 6f 64 65 2e 0a 0a 20 20 20 20 20 4e 6f 6e 2d 62 72 61 6e 63 68 20 6e 6f 64 65 73 | nch.node........Non-branch.nodes |
| 38180 | 20 61 72 65 20 73 69 6d 70 6c 79 20 63 6f 70 69 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 | .are.simply.copied.............( |
| 381a0 | 2d 74 72 65 65 2d 73 65 71 20 27 6c 69 73 74 70 20 27 69 64 65 6e 74 69 74 79 20 27 28 31 20 28 | -tree-seq.'listp.'identity.'(1.( |
| 381c0 | 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | 2.3).4.(5.(6.7)))).............. |
| 381e0 | 20 e2 87 92 20 28 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 20 31 20 28 32 | .....((1.(2.3).4.(5.(6.7))).1.(2 |
| 38200 | 20 33 29 20 32 20 33 20 34 20 28 35 20 28 36 20 37 29 29 20 35 20 28 36 20 37 29 20 36 20 37 29 | .3).2.3.4.(5.(6.7)).5.(6.7).6.7) |
| 38220 | 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 73 65 71 20 27 6c 69 73 74 70 20 27 72 65 | ...........(-tree-seq.'listp.'re |
| 38240 | 76 65 72 73 65 20 27 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 29 0a 20 20 | verse.'(1.(2.3).4.(5.(6.7))))... |
| 38260 | 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 | ................((1.(2.3).4.(5.( |
| 38280 | 36 20 37 29 29 29 20 28 35 20 28 36 20 37 29 29 20 28 36 20 37 29 20 37 20 36 20 35 20 34 20 28 | 6.7))).(5.(6.7)).(6.7).7.6.5.4.( |
| 382a0 | 32 20 33 29 20 33 20 32 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 65 65 2d 73 65 | 2.3).3.2.1)...........(--tree-se |
| 382c0 | 71 20 28 76 65 63 74 6f 72 70 20 69 74 29 20 28 61 70 70 65 6e 64 20 69 74 20 6e 69 6c 29 20 5b | q.(vectorp.it).(append.it.nil).[ |
| 382e0 | 31 20 5b 32 20 33 5d 20 34 20 5b 35 20 5b 36 20 37 5d 5d 5d 29 0a 20 20 20 20 20 20 20 20 20 20 | 1.[2.3].4.[5.[6.7]]])........... |
| 38300 | 20 20 20 20 e2 87 92 20 28 5b 31 20 5b 32 20 33 5d 20 34 20 5b 35 20 5b 36 20 37 5d 5d 5d 20 31 | ........([1.[2.3].4.[5.[6.7]]].1 |
| 38320 | 20 5b 32 20 33 5d 20 32 20 33 20 34 20 5b 35 20 5b 36 20 37 5d 5d 20 35 20 5b 36 20 37 5d 20 36 | .[2.3].2.3.4.[5.[6.7]].5.[6.7].6 |
| 38340 | 20 37 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 2d 6d 61 70 20 28 66 6e | .7)...--.Function:.-tree-map.(fn |
| 38360 | 20 74 72 65 65 29 0a 20 20 20 20 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 65 6c 65 | .tree)......Apply.FN.to.each.ele |
| 38380 | 6d 65 6e 74 20 6f 66 20 54 52 45 45 20 77 68 69 6c 65 20 70 72 65 73 65 72 76 69 6e 67 20 74 68 | ment.of.TREE.while.preserving.th |
| 383a0 | 65 20 74 72 65 65 0a 20 20 20 20 20 73 74 72 75 63 74 75 72 65 2e 0a 0a 20 20 20 20 20 20 20 20 | e.tree......structure........... |
| 383c0 | 20 20 28 2d 74 72 65 65 2d 6d 61 70 20 27 31 2b 20 27 28 31 20 28 32 20 33 29 20 28 34 20 28 35 | ..(-tree-map.'1+.'(1.(2.3).(4.(5 |
| 383e0 | 20 36 29 20 37 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 28 33 | .6).7)))...................(2.(3 |
| 38400 | 20 34 29 20 28 35 20 28 36 20 37 29 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 | .4).(5.(6.7).8))...........(-tre |
| 38420 | 65 2d 6d 61 70 20 27 28 6c 61 6d 62 64 61 20 28 78 29 20 28 63 6f 6e 73 20 78 20 28 65 78 70 74 | e-map.'(lambda.(x).(cons.x.(expt |
| 38440 | 20 32 20 78 29 29 29 20 27 28 31 20 28 32 20 33 29 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 | .2.x))).'(1.(2.3).4))........... |
| 38460 | 20 20 20 20 e2 87 92 20 28 28 31 20 2e 20 32 29 20 28 28 32 20 2e 20 34 29 20 28 33 20 2e 20 38 | ........((1...2).((2...4).(3...8 |
| 38480 | 29 29 20 28 34 20 2e 20 31 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 65 65 2d 6d | )).(4...16))...........(--tree-m |
| 384a0 | 61 70 20 28 6c 65 6e 67 74 68 20 69 74 29 20 27 28 22 3c 62 6f 64 79 3e 22 20 28 22 3c 70 3e 22 | ap.(length.it).'("<body>".("<p>" |
| 384c0 | 20 22 74 65 78 74 22 20 22 3c 2f 70 3e 22 29 20 22 3c 2f 62 6f 64 79 3e 22 29 29 0a 20 20 20 20 | ."text"."</p>")."</body>"))..... |
| 384e0 | 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 36 20 28 33 20 34 20 34 29 20 37 29 0a 0a 20 2d 2d | ..............(6.(3.4.4).7)...-- |
| 38500 | 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 28 70 72 65 64 | .Function:.-tree-map-nodes.(pred |
| 38520 | 20 66 75 6e 20 74 72 65 65 29 0a 20 20 20 20 20 43 61 6c 6c 20 46 55 4e 20 6f 6e 20 65 61 63 68 | .fun.tree)......Call.FUN.on.each |
| 38540 | 20 6e 6f 64 65 20 6f 66 20 54 52 45 45 20 74 68 61 74 20 73 61 74 69 73 66 69 65 73 20 50 52 45 | .node.of.TREE.that.satisfies.PRE |
| 38560 | 44 2e 0a 0a 20 20 20 20 20 49 66 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 | D........If.PRED.returns....nil. |
| 38580 | 80 99 2c 20 63 6f 6e 74 69 6e 75 65 20 64 65 73 63 65 6e 64 69 6e 67 20 64 6f 77 6e 20 74 68 69 | ..,.continue.descending.down.thi |
| 385a0 | 73 20 6e 6f 64 65 2e 20 20 49 66 20 50 52 45 44 0a 20 20 20 20 20 72 65 74 75 72 6e 73 20 6e 6f | s.node...If.PRED......returns.no |
| 385c0 | 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 61 70 70 6c 79 20 46 55 4e 20 74 6f 20 74 68 69 73 20 6e | n-...nil...,.apply.FUN.to.this.n |
| 385e0 | 6f 64 65 20 61 6e 64 20 64 6f 20 6e 6f 74 20 64 65 73 63 65 6e 64 0a 20 20 20 20 20 66 75 72 74 | ode.and.do.not.descend......furt |
| 38600 | 68 65 72 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 | her.............(-tree-map-nodes |
| 38620 | 20 27 76 65 63 74 6f 72 70 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 73 75 6d 20 28 61 70 70 | .'vectorp.(lambda.(x).(-sum.(app |
| 38640 | 65 6e 64 20 78 20 6e 69 6c 29 29 29 20 27 28 31 20 5b 32 20 33 5d 20 34 20 28 35 20 5b 36 20 37 | end.x.nil))).'(1.[2.3].4.(5.[6.7 |
| 38660 | 5d 20 38 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 35 20 34 20 | ].8)))...................(1.5.4. |
| 38680 | 28 35 20 31 33 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 6d 61 70 2d 6e | (5.13.8))...........(-tree-map-n |
| 386a0 | 6f 64 65 73 20 27 6b 65 79 77 6f 72 64 70 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 73 79 6d 62 | odes.'keywordp.(lambda.(x).(symb |
| 386c0 | 6f 6c 2d 6e 61 6d 65 20 78 29 29 20 27 28 31 20 3a 66 6f 6f 20 34 20 28 28 35 20 36 20 3a 62 61 | ol-name.x)).'(1.:foo.4.((5.6.:ba |
| 386e0 | 72 29 20 3a 62 61 7a 20 38 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 | r).:baz.8)))...................( |
| 38700 | 31 20 22 3a 66 6f 6f 22 20 34 20 28 28 35 20 36 20 22 3a 62 61 72 22 29 20 22 3a 62 61 7a 22 20 | 1.":foo".4.((5.6.":bar").":baz". |
| 38720 | 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 | 8))...........(--tree-map-nodes. |
| 38740 | 28 65 71 20 28 63 61 72 2d 73 61 66 65 20 69 74 29 20 27 61 64 64 2d 6d 6f 64 65 29 20 28 2d 63 | (eq.(car-safe.it).'add-mode).(-c |
| 38760 | 6f 6e 63 61 74 20 69 74 20 28 6c 69 73 74 20 3a 6d 6f 64 65 20 27 65 6d 61 63 73 2d 6c 69 73 70 | oncat.it.(list.:mode.'emacs-lisp |
| 38780 | 2d 6d 6f 64 65 29 29 20 27 28 77 69 74 68 2d 6d 6f 64 65 20 65 6d 61 63 73 2d 6c 69 73 70 2d 6d | -mode)).'(with-mode.emacs-lisp-m |
| 387a0 | 6f 64 65 20 28 66 6f 6f 20 62 61 72 29 20 28 61 64 64 2d 6d 6f 64 65 20 61 20 62 29 20 28 62 61 | ode.(foo.bar).(add-mode.a.b).(ba |
| 387c0 | 7a 20 28 61 64 64 2d 6d 6f 64 65 20 63 20 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | z.(add-mode.c.d))))............. |
| 387e0 | 20 20 e2 87 92 20 28 77 69 74 68 2d 6d 6f 64 65 20 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 | ......(with-mode.emacs-lisp-mode |
| 38800 | 20 28 66 6f 6f 20 62 61 72 29 20 28 61 64 64 2d 6d 6f 64 65 20 61 20 62 20 3a 6d 6f 64 65 20 65 | .(foo.bar).(add-mode.a.b.:mode.e |
| 38820 | 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 29 20 28 62 61 7a 20 28 61 64 64 2d 6d 6f 64 65 20 63 | macs-lisp-mode).(baz.(add-mode.c |
| 38840 | 20 64 20 3a 6d 6f 64 65 20 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 29 29 29 0a 0a 20 2d 2d | .d.:mode.emacs-lisp-mode)))...-- |
| 38860 | 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 2d 72 65 64 75 63 65 20 28 66 6e 20 74 72 65 65 | .Function:.-tree-reduce.(fn.tree |
| 38880 | 29 0a 20 20 20 20 20 55 73 65 20 46 4e 20 74 6f 20 72 65 64 75 63 65 20 65 6c 65 6d 65 6e 74 73 | )......Use.FN.to.reduce.elements |
| 388a0 | 20 6f 66 20 6c 69 73 74 20 54 52 45 45 2e 20 20 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 54 | .of.list.TREE...If.elements.of.T |
| 388c0 | 52 45 45 20 61 72 65 0a 20 20 20 20 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 | REE.are......lists.themselves,.a |
| 388e0 | 70 70 6c 79 20 74 68 65 20 72 65 64 75 63 74 69 6f 6e 20 72 65 63 75 72 73 69 76 65 6c 79 2e 0a | pply.the.reduction.recursively.. |
| 38900 | 0a 20 20 20 20 20 46 4e 20 69 73 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 20 74 6f 20 66 69 72 | ......FN.is.first.applied.to.fir |
| 38920 | 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 61 6e 64 20 73 65 63 6f 6e | st.element.of.the.list.and.secon |
| 38940 | 64 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 2c 20 74 68 65 6e 20 6f 6e 20 74 68 69 73 20 72 65 73 | d......element,.then.on.this.res |
| 38960 | 75 6c 74 20 61 6e 64 20 74 68 69 72 64 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 6c | ult.and.third.element.from.the.l |
| 38980 | 69 73 74 20 65 74 63 2e 0a 0a 20 20 20 20 20 53 65 65 20 e2 80 98 2d 72 65 64 75 63 65 2d 72 e2 | ist.etc........See....-reduce-r. |
| 389a0 | 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 3a 3a 29 20 66 6f 72 20 68 6f 77 20 65 | ...(*note.-reduce-r::).for.how.e |
| 389c0 | 78 61 63 74 6c 79 20 61 72 65 20 6c 69 73 74 73 20 6f 66 0a 20 20 20 20 20 7a 65 72 6f 20 6f 72 | xactly.are.lists.of......zero.or |
| 389e0 | 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 68 61 6e 64 6c 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 | .one.element.handled............ |
| 38a00 | 20 28 2d 74 72 65 65 2d 72 65 64 75 63 65 20 27 2b 20 27 28 31 20 28 32 20 33 29 20 28 34 20 35 | .(-tree-reduce.'+.'(1.(2.3).(4.5 |
| 38a20 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 35 0a 20 20 20 20 20 20 20 | )))...................15........ |
| 38a40 | 20 20 20 28 2d 74 72 65 65 2d 72 65 64 75 63 65 20 27 63 6f 6e 63 61 74 20 27 28 22 73 74 72 69 | ...(-tree-reduce.'concat.'("stri |
| 38a60 | 6e 67 73 22 20 28 22 20 6f 6e 22 20 22 20 76 61 72 69 6f 75 73 22 29 20 28 28 22 20 6c 65 76 65 | ngs".(".on".".various").((".leve |
| 38a80 | 6c 73 22 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 73 74 72 69 6e | ls"))))..................."strin |
| 38aa0 | 67 73 20 6f 6e 20 76 61 72 69 6f 75 73 20 6c 65 76 65 6c 73 22 0a 20 20 20 20 20 20 20 20 20 20 | gs.on.various.levels"........... |
| 38ac0 | 28 2d 2d 74 72 65 65 2d 72 65 64 75 63 65 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 70 20 69 | (--tree-reduce.(cond.((stringp.i |
| 38ae0 | 74 29 20 28 63 6f 6e 63 61 74 20 69 74 20 22 20 22 20 61 63 63 29 29 20 28 74 20 28 6c 65 74 20 | t).(concat.it.".".acc)).(t.(let. |
| 38b00 | 28 28 73 6e 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 69 74 29 29 29 20 28 63 6f 6e 63 61 74 20 | ((sn.(symbol-name.it))).(concat. |
| 38b20 | 22 3c 22 20 73 6e 20 22 3e 22 20 61 63 63 20 22 3c 2f 22 20 73 6e 20 22 3e 22 29 29 29 29 20 27 | "<".sn.">".acc."</".sn.">")))).' |
| 38b40 | 28 62 6f 64 79 20 28 70 20 22 73 6f 6d 65 20 77 6f 72 64 73 22 29 20 28 64 69 76 20 22 6d 6f 72 | (body.(p."some.words").(div."mor |
| 38b60 | 65 22 20 28 62 20 22 62 6f 6c 64 22 29 20 22 77 6f 72 64 73 22 29 29 29 0a 20 20 20 20 20 20 20 | e".(b."bold")."words")))........ |
| 38b80 | 20 20 20 20 20 20 20 e2 87 92 20 22 3c 62 6f 64 79 3e 3c 70 3e 73 6f 6d 65 20 77 6f 72 64 73 3c | ..........."<body><p>some.words< |
| 38ba0 | 2f 70 3e 20 3c 64 69 76 3e 6d 6f 72 65 20 3c 62 3e 62 6f 6c 64 3c 2f 62 3e 20 77 6f 72 64 73 3c | /p>.<div>more.<b>bold</b>.words< |
| 38bc0 | 2f 64 69 76 3e 3c 2f 62 6f 64 79 3e 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 | /div></body>"...--.Function:.-tr |
| 38be0 | 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 2d 76 61 6c 75 65 20 74 72 | ee-reduce-from.(fn.init-value.tr |
| 38c00 | 65 65 29 0a 20 20 20 20 20 55 73 65 20 46 4e 20 74 6f 20 72 65 64 75 63 65 20 65 6c 65 6d 65 6e | ee)......Use.FN.to.reduce.elemen |
| 38c20 | 74 73 20 6f 66 20 6c 69 73 74 20 54 52 45 45 2e 20 20 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 | ts.of.list.TREE...If.elements.of |
| 38c40 | 20 54 52 45 45 20 61 72 65 0a 20 20 20 20 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c | .TREE.are......lists.themselves, |
| 38c60 | 20 61 70 70 6c 79 20 74 68 65 20 72 65 64 75 63 74 69 6f 6e 20 72 65 63 75 72 73 69 76 65 6c 79 | .apply.the.reduction.recursively |
| 38c80 | 2e 0a 0a 20 20 20 20 20 46 4e 20 69 73 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 20 74 6f 20 49 | ........FN.is.first.applied.to.I |
| 38ca0 | 4e 49 54 2d 56 41 4c 55 45 20 61 6e 64 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 | NIT-VALUE.and.first.element.of.t |
| 38cc0 | 68 65 20 6c 69 73 74 2c 0a 20 20 20 20 20 74 68 65 6e 20 6f 6e 20 74 68 69 73 20 72 65 73 75 6c | he.list,......then.on.this.resul |
| 38ce0 | 74 20 61 6e 64 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 6c 69 | t.and.second.element.from.the.li |
| 38d00 | 73 74 20 65 74 63 2e 0a 0a 20 20 20 20 20 54 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 | st.etc........The.initial.value. |
| 38d20 | 69 73 20 69 67 6e 6f 72 65 64 20 6f 6e 20 63 6f 6e 73 20 70 61 69 72 73 20 61 73 20 74 68 65 79 | is.ignored.on.cons.pairs.as.they |
| 38d40 | 20 61 6c 77 61 79 73 20 63 6f 6e 74 61 69 6e 0a 20 20 20 20 20 74 77 6f 20 65 6c 65 6d 65 6e 74 | .always.contain......two.element |
| 38d60 | 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d | s.............(-tree-reduce-from |
| 38d80 | 20 27 2b 20 31 20 27 28 31 20 28 31 20 31 29 20 28 28 31 29 29 29 29 0a 20 20 20 20 20 20 20 20 | .'+.1.'(1.(1.1).((1))))......... |
| 38da0 | 20 20 20 20 20 20 e2 87 92 20 38 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 65 65 2d 72 65 | ..........8...........(--tree-re |
| 38dc0 | 64 75 63 65 2d 66 72 6f 6d 20 28 2d 63 6f 6e 63 61 74 20 61 63 63 20 28 6c 69 73 74 20 69 74 29 | duce-from.(-concat.acc.(list.it) |
| 38de0 | 29 20 6e 69 6c 20 27 28 31 20 28 32 20 33 20 28 34 20 35 29 29 20 28 36 20 37 29 29 29 0a 20 20 | ).nil.'(1.(2.3.(4.5)).(6.7)))... |
| 38e00 | 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 37 20 36 29 20 28 28 35 20 34 29 20 33 20 | ................((7.6).((5.4).3. |
| 38e20 | 32 29 20 31 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 2d 6d 61 70 72 65 | 2).1)...--.Function:.-tree-mapre |
| 38e40 | 64 75 63 65 20 28 66 6e 20 66 6f 6c 64 65 72 20 74 72 65 65 29 0a 20 20 20 20 20 41 70 70 6c 79 | duce.(fn.folder.tree)......Apply |
| 38e60 | 20 46 4e 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 54 52 45 45 2c 20 61 6e 64 | .FN.to.each.element.of.TREE,.and |
| 38e80 | 20 6d 61 6b 65 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 20 20 20 | .make.a.list.of.the.results..... |
| 38ea0 | 20 20 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 54 52 45 45 20 61 72 65 20 6c 69 73 74 73 20 | ..If.elements.of.TREE.are.lists. |
| 38ec0 | 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 46 4e 20 72 65 63 75 72 73 69 76 65 6c 79 | themselves,.apply.FN.recursively |
| 38ee0 | 20 74 6f 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 73 65 20 6e 65 73 74 65 | .to......elements.of.these.neste |
| 38f00 | 64 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 54 68 65 6e 20 72 65 64 75 63 65 20 74 68 65 20 72 | d.lists........Then.reduce.the.r |
| 38f20 | 65 73 75 6c 74 69 6e 67 20 6c 69 73 74 73 20 75 73 69 6e 67 20 46 4f 4c 44 45 52 20 61 6e 64 20 | esulting.lists.using.FOLDER.and. |
| 38f40 | 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 0a 20 20 20 20 20 49 4e 49 54 2d 56 41 4c 55 45 2e 20 20 | initial.value......INIT-VALUE... |
| 38f60 | 53 65 65 20 e2 80 98 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d e2 80 99 20 28 2a 6e 6f 74 65 20 | See....-reduce-r-from....(*note. |
| 38f80 | 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 3a 3a 29 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 | -reduce-r-from::)........This.is |
| 38fa0 | 20 74 68 65 20 73 61 6d 65 20 61 73 20 63 61 6c 6c 69 6e 67 20 e2 80 98 2d 74 72 65 65 2d 72 65 | .the.same.as.calling....-tree-re |
| 38fc0 | 64 75 63 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 74 72 65 65 2d 72 65 64 75 63 65 3a 3a 29 0a 20 | duce....(*note.-tree-reduce::).. |
| 38fe0 | 20 20 20 20 61 66 74 65 72 20 e2 80 98 2d 74 72 65 65 2d 6d 61 70 e2 80 99 20 28 2a 6e 6f 74 65 | ....after....-tree-map....(*note |
| 39000 | 20 2d 74 72 65 65 2d 6d 61 70 3a 3a 29 20 62 75 74 20 69 73 20 74 77 69 63 65 20 61 73 20 66 61 | .-tree-map::).but.is.twice.as.fa |
| 39020 | 73 74 20 61 73 20 69 74 0a 20 20 20 20 20 6f 6e 6c 79 20 74 72 61 76 65 72 73 65 20 74 68 65 20 | st.as.it......only.traverse.the. |
| 39040 | 73 74 72 75 63 74 75 72 65 20 6f 6e 63 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 | structure.once.............(-tre |
| 39060 | 65 2d 6d 61 70 72 65 64 75 63 65 20 27 6c 69 73 74 20 27 61 70 70 65 6e 64 20 27 28 31 20 28 32 | e-mapreduce.'list.'append.'(1.(2 |
| 39080 | 20 28 33 20 34 29 20 28 35 20 36 29 29 20 28 37 20 28 38 20 39 29 29 29 29 0a 20 20 20 20 20 20 | .(3.4).(5.6)).(7.(8.9))))....... |
| 390a0 | 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 29 0a | ............(1.2.3.4.5.6.7.8.9). |
| 390c0 | 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 31 20 28 2b | ..........(--tree-mapreduce.1.(+ |
| 390e0 | 20 69 74 20 61 63 63 29 20 27 28 31 20 28 32 20 28 34 20 39 29 20 28 32 20 31 29 29 20 28 37 20 | .it.acc).'(1.(2.(4.9).(2.1)).(7. |
| 39100 | 28 34 20 33 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 39 0a 20 20 20 | (4.3))))...................9.... |
| 39120 | 20 20 20 20 20 20 20 28 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 30 20 28 6d 61 78 20 | .......(--tree-mapreduce.0.(max. |
| 39140 | 61 63 63 20 28 31 2b 20 69 74 29 29 20 27 28 31 20 28 32 20 28 34 20 39 29 20 28 32 20 31 29 29 | acc.(1+.it)).'(1.(2.(4.9).(2.1)) |
| 39160 | 20 28 37 20 28 34 20 33 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 33 | .(7.(4.3))))...................3 |
| 39180 | 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d | ...--.Function:.-tree-mapreduce- |
| 391a0 | 66 72 6f 6d 20 28 66 6e 20 66 6f 6c 64 65 72 20 69 6e 69 74 2d 76 61 6c 75 65 20 74 72 65 65 29 | from.(fn.folder.init-value.tree) |
| 391c0 | 0a 20 20 20 20 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f | ......Apply.FN.to.each.element.o |
| 391e0 | 66 20 54 52 45 45 2c 20 61 6e 64 20 6d 61 6b 65 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 72 | f.TREE,.and.make.a.list.of.the.r |
| 39200 | 65 73 75 6c 74 73 2e 0a 20 20 20 20 20 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 54 52 45 45 | esults.......If.elements.of.TREE |
| 39220 | 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 46 4e 20 | .are.lists.themselves,.apply.FN. |
| 39240 | 72 65 63 75 72 73 69 76 65 6c 79 20 74 6f 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 | recursively.to......elements.of. |
| 39260 | 74 68 65 73 65 20 6e 65 73 74 65 64 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 54 68 65 6e 20 72 | these.nested.lists........Then.r |
| 39280 | 65 64 75 63 65 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 6c 69 73 74 73 20 75 73 69 6e 67 20 | educe.the.resulting.lists.using. |
| 392a0 | 46 4f 4c 44 45 52 20 61 6e 64 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 0a 20 20 20 20 20 49 4e | FOLDER.and.initial.value......IN |
| 392c0 | 49 54 2d 56 41 4c 55 45 2e 20 20 53 65 65 20 e2 80 98 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d | IT-VALUE...See....-reduce-r-from |
| 392e0 | e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 3a 3a 29 2e 0a 0a 20 | ....(*note.-reduce-r-from::).... |
| 39300 | 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 63 61 6c 6c 69 6e 67 20 | ....This.is.the.same.as.calling. |
| 39320 | e2 80 98 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d e2 80 99 20 28 2a 6e 6f 74 65 0a 20 | ...-tree-reduce-from....(*note.. |
| 39340 | 20 20 20 20 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 3a 3a 29 20 61 66 74 65 72 20 e2 | ....-tree-reduce-from::).after.. |
| 39360 | 80 98 2d 74 72 65 65 2d 6d 61 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 74 72 65 65 2d 6d 61 70 3a | ..-tree-map....(*note.-tree-map: |
| 39380 | 3a 29 20 62 75 74 20 69 73 0a 20 20 20 20 20 74 77 69 63 65 20 61 73 20 66 61 73 74 20 61 73 20 | :).but.is......twice.as.fast.as. |
| 393a0 | 69 74 20 6f 6e 6c 79 20 74 72 61 76 65 72 73 65 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 6f | it.only.traverse.the.structure.o |
| 393c0 | 6e 63 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 | nce.............(-tree-mapreduce |
| 393e0 | 2d 66 72 6f 6d 20 27 69 64 65 6e 74 69 74 79 20 27 2a 20 31 20 27 28 31 20 28 32 20 28 33 20 34 | -from.'identity.'*.1.'(1.(2.(3.4 |
| 39400 | 29 20 28 35 20 36 29 29 20 28 37 20 28 38 20 39 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ).(5.6)).(7.(8.9))))............ |
| 39420 | 20 20 20 e2 87 92 20 33 36 32 38 38 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 65 65 2d | .......362880...........(--tree- |
| 39440 | 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 2b 20 69 74 20 69 74 29 20 28 63 6f 6e 73 20 69 | mapreduce-from.(+.it.it).(cons.i |
| 39460 | 74 20 61 63 63 29 20 6e 69 6c 20 27 28 31 20 28 32 20 28 34 20 39 29 20 28 32 20 31 29 29 20 28 | t.acc).nil.'(1.(2.(4.9).(2.1)).( |
| 39480 | 37 20 28 34 20 33 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 | 7.(4.3))))...................(2. |
| 394a0 | 28 34 20 28 38 20 31 38 29 20 28 34 20 32 29 29 20 28 31 34 20 28 38 20 36 29 29 29 0a 20 20 20 | (4.(8.18).(4.2)).(14.(8.6))).... |
| 394c0 | 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 7b 22 20 28 2d 2d 74 72 65 65 2d 6d 61 70 72 65 | .......(concat."{".(--tree-mapre |
| 394e0 | 64 75 63 65 2d 66 72 6f 6d 20 28 63 6f 6e 64 20 28 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 69 74 | duce-from.(cond.((-cons-pair?.it |
| 39500 | 29 20 28 63 6f 6e 63 61 74 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 63 61 72 20 69 74 29 29 | ).(concat.(symbol-name.(car.it)) |
| 39520 | 20 22 20 2d 3e 20 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 63 64 72 20 69 74 29 29 29 29 | .".->.".(symbol-name.(cdr.it)))) |
| 39540 | 20 28 74 20 28 63 6f 6e 63 61 74 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 69 74 29 20 22 20 3a | .(t.(concat.(symbol-name.it).".: |
| 39560 | 20 7b 22 29 29 29 20 28 63 6f 6e 63 61 74 20 69 74 20 28 75 6e 6c 65 73 73 20 28 6f 72 20 28 65 | .{"))).(concat.it.(unless.(or.(e |
| 39580 | 71 75 61 6c 20 61 63 63 20 22 7d 22 29 20 28 65 71 75 61 6c 20 28 73 75 62 73 74 72 69 6e 67 20 | qual.acc."}").(equal.(substring. |
| 395a0 | 69 74 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 69 74 29 29 29 20 22 7b 22 29 29 20 22 2c 20 22 29 | it.(1-.(length.it)))."{")).",.") |
| 395c0 | 20 61 63 63 29 20 22 7d 22 20 27 28 28 65 6c 69 73 70 2d 6d 6f 64 65 20 28 66 6f 6f 20 28 62 61 | .acc)."}".'((elisp-mode.(foo.(ba |
| 395e0 | 72 20 2e 20 62 6f 6f 7a 65 29 29 20 28 62 61 7a 20 2e 20 71 75 78 29 29 20 28 63 2d 6d 6f 64 65 | r...booze)).(baz...qux)).(c-mode |
| 39600 | 20 28 66 6f 6f 20 2e 20 62 6c 61 29 20 28 62 75 6d 20 2e 20 62 61 6d 29 29 29 29 29 0a 20 20 20 | .(foo...bla).(bum...bam))))).... |
| 39620 | 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 7b 65 6c 69 73 70 2d 6d 6f 64 65 20 3a 20 7b 66 | ..............."{elisp-mode.:.{f |
| 39640 | 6f 6f 20 3a 20 7b 62 61 72 20 2d 3e 20 62 6f 6f 7a 65 7d 2c 20 62 61 7a 20 2d 3e 20 71 75 78 7d | oo.:.{bar.->.booze},.baz.->.qux} |
| 39660 | 2c 20 63 2d 6d 6f 64 65 20 3a 20 7b 66 6f 6f 20 2d 3e 20 62 6c 61 2c 20 62 75 6d 20 2d 3e 20 62 | ,.c-mode.:.{foo.->.bla,.bum.->.b |
| 39680 | 61 6d 7d 7d 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6c 6f 6e 65 20 28 6c 69 73 | am}}"...--.Function:.-clone.(lis |
| 396a0 | 74 29 0a 20 20 20 20 20 43 72 65 61 74 65 20 61 20 64 65 65 70 20 63 6f 70 79 20 6f 66 20 4c 49 | t)......Create.a.deep.copy.of.LI |
| 396c0 | 53 54 2e 20 20 54 68 65 20 6e 65 77 20 6c 69 73 74 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 65 | ST...The.new.list.has.the.same.e |
| 396e0 | 6c 65 6d 65 6e 74 73 20 61 6e 64 0a 20 20 20 20 20 73 74 72 75 63 74 75 72 65 20 62 75 74 20 61 | lements.and......structure.but.a |
| 39700 | 6c 6c 20 63 6f 6e 73 20 61 72 65 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 6e 65 77 20 6f 6e | ll.cons.are.replaced.with.new.on |
| 39720 | 65 73 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 0a 20 20 20 20 20 77 68 65 6e 20 79 6f | es...This.is.useful......when.yo |
| 39740 | 75 20 6e 65 65 64 20 74 6f 20 63 6c 6f 6e 65 20 61 20 73 74 72 75 63 74 75 72 65 20 73 75 63 68 | u.need.to.clone.a.structure.such |
| 39760 | 20 61 73 20 70 6c 69 73 74 20 6f 72 20 61 6c 69 73 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 | .as.plist.or.alist.............( |
| 39780 | 6c 65 74 2a 20 28 28 61 20 28 6c 69 73 74 20 28 6c 69 73 74 20 31 29 29 29 20 28 62 20 28 2d 63 | let*.((a.(list.(list.1))).(b.(-c |
| 397a0 | 6c 6f 6e 65 20 61 29 29 29 20 28 73 65 74 63 61 72 20 28 63 61 72 20 61 29 20 32 29 20 62 29 0a | lone.a))).(setcar.(car.a).2).b). |
| 397c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 29 0a 0a 1f 0a 46 69 6c 65 3a | ..................((1))....File: |
| 397e0 | 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 | .dash.info,..Node:.Threading.mac |
| 39800 | 72 6f 73 2c 20 20 4e 65 78 74 3a 20 42 69 6e 64 69 6e 67 2c 20 20 50 72 65 76 3a 20 54 72 65 65 | ros,..Next:.Binding,..Prev:.Tree |
| 39820 | 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 | .operations,..Up:.Functions..2.1 |
| 39840 | 32 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | 2.Threading.macros.============= |
| 39860 | 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 63 6f 6e 64 69 74 69 6f 6e 61 | ========..Macros.that.conditiona |
| 39880 | 6c 6c 79 20 63 6f 6d 62 69 6e 65 20 73 65 71 75 65 6e 74 69 61 6c 20 66 6f 72 6d 73 20 66 6f 72 | lly.combine.sequential.forms.for |
| 398a0 | 20 62 72 65 76 69 74 79 20 6f 72 0a 72 65 61 64 61 62 69 6c 69 74 79 2e 0a 0a 20 2d 2d 20 4d 61 | .brevity.or.readability....--.Ma |
| 398c0 | 63 72 6f 3a 20 2d 3e 20 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 | cro:.->.(x.&optional.form.&rest. |
| 398e0 | 6d 6f 72 65 29 0a 20 20 20 20 20 54 68 72 65 61 64 20 74 68 65 20 65 78 70 72 20 74 68 72 6f 75 | more)......Thread.the.expr.throu |
| 39900 | 67 68 20 74 68 65 20 66 6f 72 6d 73 2e 20 20 49 6e 73 65 72 74 20 58 20 61 73 20 74 68 65 20 73 | gh.the.forms...Insert.X.as.the.s |
| 39920 | 65 63 6f 6e 64 20 69 74 65 6d 20 69 6e 0a 20 20 20 20 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 | econd.item.in......the.first.for |
| 39940 | 6d 2c 20 6d 61 6b 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 69 74 20 69 66 20 69 74 20 69 73 20 | m,.making.a.list.of.it.if.it.is. |
| 39960 | 6e 6f 74 20 61 20 6c 69 73 74 20 61 6c 72 65 61 64 79 2e 0a 20 20 20 20 20 49 66 20 74 68 65 72 | not.a.list.already.......If.ther |
| 39980 | 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 74 20 74 68 65 20 66 69 72 | e.are.more.forms,.insert.the.fir |
| 399a0 | 73 74 20 66 6f 72 6d 20 61 73 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 0a 20 20 20 20 20 | st.form.as.the.second.item...... |
| 399c0 | 69 6e 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 | in.second.form,.etc............. |
| 399e0 | 28 2d 3e 20 27 28 32 20 33 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 | (->.'(2.3.5))................... |
| 39a00 | 28 32 20 33 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 3e 20 27 28 32 20 33 20 35 29 20 28 | (2.3.5)...........(->.'(2.3.5).( |
| 39a20 | 61 70 70 65 6e 64 20 27 28 38 20 31 33 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 | append.'(8.13)))................ |
| 39a40 | 87 92 20 28 32 20 33 20 35 20 38 20 31 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 3e 20 27 28 | ...(2.3.5.8.13)...........(->.'( |
| 39a60 | 32 20 33 20 35 29 20 28 61 70 70 65 6e 64 20 27 28 38 20 31 33 29 29 20 28 2d 73 6c 69 63 65 20 | 2.3.5).(append.'(8.13)).(-slice. |
| 39a80 | 31 20 2d 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 35 20 38 29 | 1.-1))...................(3.5.8) |
| 39aa0 | 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 3e 3e 20 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f | ...--.Macro:.->>.(x.&optional.fo |
| 39ac0 | 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a 20 20 20 20 20 54 68 72 65 61 64 20 74 68 65 20 65 | rm.&rest.more)......Thread.the.e |
| 39ae0 | 78 70 72 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 6f 72 6d 73 2e 20 20 49 6e 73 65 72 74 20 58 | xpr.through.the.forms...Insert.X |
| 39b00 | 20 61 73 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 69 6e 0a 20 20 20 20 20 74 68 65 20 66 69 | .as.the.last.item.in......the.fi |
| 39b20 | 72 73 74 20 66 6f 72 6d 2c 20 6d 61 6b 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 69 74 20 69 66 | rst.form,.making.a.list.of.it.if |
| 39b40 | 20 69 74 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 20 61 6c 72 65 61 64 79 2e 0a 20 20 20 20 20 | .it.is.not.a.list.already....... |
| 39b60 | 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 74 20 | If.there.are.more.forms,.insert. |
| 39b80 | 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 73 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 | the.first.form.as.the.last.item. |
| 39ba0 | 69 6e 0a 20 20 20 20 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 | in......second.form,.etc........ |
| 39bc0 | 20 20 20 20 20 28 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 71 75 61 72 65 | .....(->>.'(1.2.3).(-map.'square |
| 39be0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 29 0a 20 20 20 | ))...................(1.4.9).... |
| 39c00 | 20 20 20 20 20 20 20 28 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 71 75 61 | .......(->>.'(1.2.3).(-map.'squa |
| 39c20 | 72 65 29 20 28 2d 72 65 6d 6f 76 65 20 27 65 76 65 6e 3f 29 29 0a 20 20 20 20 20 20 20 20 20 20 | re).(-remove.'even?))........... |
| 39c40 | 20 20 20 20 e2 87 92 20 28 31 20 39 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 3e 3e 20 27 28 31 | ........(1.9)...........(->>.'(1 |
| 39c60 | 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 71 75 61 72 65 29 20 28 2d 72 65 64 75 63 65 20 27 2b | .2.3).(-map.'square).(-reduce.'+ |
| 39c80 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 34 0a 0a 20 2d 2d 20 4d 61 63 | ))...................14...--.Mac |
| 39ca0 | 72 6f 3a 20 2d 2d 3e 20 28 78 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 20 20 20 53 74 61 | ro:.-->.(x.&rest.forms)......Sta |
| 39cc0 | 72 74 69 6e 67 20 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 58 2c 20 74 68 72 65 61 | rting.with.the.value.of.X,.threa |
| 39ce0 | 64 20 65 61 63 68 20 65 78 70 72 65 73 73 69 6f 6e 20 74 68 72 6f 75 67 68 20 46 4f 52 4d 53 2e | d.each.expression.through.FORMS. |
| 39d00 | 0a 0a 20 20 20 20 20 49 6e 73 65 72 74 20 58 20 61 74 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 | .......Insert.X.at.the.position. |
| 39d20 | 73 69 67 6e 69 66 69 65 64 20 62 79 20 74 68 65 20 73 79 6d 62 6f 6c 20 e2 80 98 69 74 e2 80 99 | signified.by.the.symbol....it... |
| 39d40 | 20 69 6e 20 74 68 65 20 66 69 72 73 74 0a 20 20 20 20 20 66 6f 72 6d 2e 20 20 49 66 20 74 68 65 | .in.the.first......form...If.the |
| 39d60 | 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 74 20 74 68 65 20 66 69 | re.are.more.forms,.insert.the.fi |
| 39d80 | 72 73 74 20 66 6f 72 6d 20 61 74 20 74 68 65 0a 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 20 73 69 | rst.form.at.the......position.si |
| 39da0 | 67 6e 69 66 69 65 64 20 62 79 20 e2 80 98 69 74 e2 80 99 20 69 6e 20 69 6e 20 73 65 63 6f 6e 64 | gnified.by....it....in.in.second |
| 39dc0 | 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 3e 20 22 64 65 66 | .form,.etc.............(-->."def |
| 39de0 | 22 20 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 29 0a 20 20 20 20 20 | ".(concat."abc".it."ghi"))...... |
| 39e00 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 61 62 63 64 65 66 67 68 69 22 0a 20 20 20 20 20 20 20 | ............."abcdefghi"........ |
| 39e20 | 20 20 20 28 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 | ...(-->."def".(concat."abc".it." |
| 39e40 | 67 68 69 22 29 20 28 75 70 63 61 73 65 20 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ghi").(upcase.it)).............. |
| 39e60 | 20 e2 87 92 20 22 41 42 43 44 45 46 47 48 49 22 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 3e 20 | ....."ABCDEFGHI"...........(-->. |
| 39e80 | 22 64 65 66 22 20 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 20 75 70 | "def".(concat."abc".it."ghi").up |
| 39ea0 | 63 61 73 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 41 42 43 44 45 46 47 | case)..................."ABCDEFG |
| 39ec0 | 48 49 22 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 61 73 2d 3e 20 28 76 61 6c 75 65 20 76 61 72 | HI"...--.Macro:.-as->.(value.var |
| 39ee0 | 69 61 62 6c 65 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 20 20 20 53 74 61 72 74 69 6e 67 | iable.&rest.forms)......Starting |
| 39f00 | 20 77 69 74 68 20 56 41 4c 55 45 2c 20 74 68 72 65 61 64 20 56 41 52 49 41 42 4c 45 20 74 68 72 | .with.VALUE,.thread.VARIABLE.thr |
| 39f20 | 6f 75 67 68 20 46 4f 52 4d 53 2e 0a 0a 20 20 20 20 20 49 6e 20 74 68 65 20 66 69 72 73 74 20 66 | ough.FORMS........In.the.first.f |
| 39f40 | 6f 72 6d 2c 20 62 69 6e 64 20 56 41 52 49 41 42 4c 45 20 74 6f 20 56 41 4c 55 45 2e 20 20 49 6e | orm,.bind.VARIABLE.to.VALUE...In |
| 39f60 | 20 74 68 65 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 0a 20 20 20 20 20 62 69 6e 64 20 56 41 52 49 | .the.second.form,......bind.VARI |
| 39f80 | 41 42 4c 45 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 | ABLE.to.the.result.of.the.first. |
| 39fa0 | 66 6f 72 6d 2c 20 61 6e 64 20 73 6f 20 66 6f 72 74 68 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 | form,.and.so.forth.............( |
| 39fc0 | 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 20 28 31 2b 20 6d 79 2d 76 61 72 29 20 28 6c 69 73 74 | -as->.3.my-var.(1+.my-var).(list |
| 39fe0 | 20 6d 79 2d 76 61 72 29 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 65 6c 65 29 20 28 | .my-var).(mapcar.(lambda.(ele).( |
| 3a000 | 2a 20 32 20 65 6c 65 29 29 20 6d 79 2d 76 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | *.2.ele)).my-var)).............. |
| 3a020 | 20 e2 87 92 20 28 38 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 | .....(8)...........(-as->.3.my-v |
| 3a040 | 61 72 20 31 2b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 34 0a 20 20 20 20 20 | ar.1+)...................4...... |
| 3a060 | 20 20 20 20 20 28 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 | .....(-as->.3.my-var)........... |
| 3a080 | 20 20 20 20 e2 87 92 20 33 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 73 6f 6d 65 2d 3e 20 28 78 | ........3...--.Macro:.-some->.(x |
| 3a0a0 | 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a 20 20 20 20 | .&optional.form.&rest.more)..... |
| 3a0c0 | 20 57 68 65 6e 20 65 78 70 72 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 72 | .When.expr.is.non-...nil...,.thr |
| 3a0e0 | 65 61 64 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 28 76 | ead.it.through.the.first.form.(v |
| 3a100 | 69 61 20 e2 80 98 2d 3e e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 3e 3a 3a 29 29 2c 20 | ia....->.........(*note.->::)),. |
| 3a120 | 61 6e 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e | and.when.that.result.is.non-...n |
| 3a140 | 69 6c e2 80 99 2c 20 74 68 72 6f 75 67 68 20 74 68 65 20 6e 65 78 74 0a 20 20 20 20 20 66 6f 72 | il...,.through.the.next......for |
| 3a160 | 6d 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d 3e 20 27 28 32 20 | m,.etc.............(-some->.'(2. |
| 3a180 | 33 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 33 20 35 29 0a | 3.5))...................(2.3.5). |
| 3a1a0 | 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d 3e 20 35 20 73 71 75 61 72 65 29 0a 20 20 20 | ..........(-some->.5.square).... |
| 3a1c0 | 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 35 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f | ...............25...........(-so |
| 3a1e0 | 6d 65 2d 3e 20 35 20 65 76 65 6e 3f 20 73 71 75 61 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 | me->.5.even?.square)............ |
| 3a200 | 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 73 6f 6d 65 2d 3e 3e 20 | .......nil...--.Macro:.-some->>. |
| 3a220 | 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a 20 20 | (x.&optional.form.&rest.more)... |
| 3a240 | 20 20 20 57 68 65 6e 20 65 78 70 72 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 74 | ...When.expr.is.non-...nil...,.t |
| 3a260 | 68 72 65 61 64 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 | hread.it.through.the.first.form. |
| 3a280 | 28 76 69 61 20 e2 80 98 2d 3e 3e e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 3e 3e 3a 3a | (via....->>.........(*note.->>:: |
| 3a2a0 | 29 29 2c 20 61 6e 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d | )),.and.when.that.result.is.non- |
| 3a2c0 | e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 72 6f 75 67 68 20 74 68 65 20 6e 65 78 74 0a 20 20 20 20 | ...nil...,.through.the.next..... |
| 3a2e0 | 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d 3e 3e | .form,.etc.............(-some->> |
| 3a300 | 20 27 28 31 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 71 75 61 72 65 29 29 0a 20 20 20 20 20 20 | .'(1.2.3).(-map.'square))....... |
| 3a320 | 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d | ............(1.4.9)...........(- |
| 3a340 | 73 6f 6d 65 2d 3e 3e 20 27 28 31 20 33 20 35 29 20 28 2d 6c 61 73 74 20 27 65 76 65 6e 3f 29 20 | some->>.'(1.3.5).(-last.'even?). |
| 3a360 | 28 2b 20 31 30 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 | (+.100))...................nil.. |
| 3a380 | 20 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d 3e 3e 20 27 28 32 20 34 20 36 29 20 28 2d 6c 61 | .........(-some->>.'(2.4.6).(-la |
| 3a3a0 | 73 74 20 27 65 76 65 6e 3f 29 20 28 2b 20 31 30 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | st.'even?).(+.100))............. |
| 3a3c0 | 20 20 e2 87 92 20 31 30 36 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 73 6f 6d 65 2d 2d 3e 20 28 | ......106...--.Macro:.-some-->.( |
| 3a3e0 | 65 78 70 72 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 20 20 20 54 68 72 65 61 64 20 45 58 | expr.&rest.forms)......Thread.EX |
| 3a400 | 50 52 20 74 68 72 6f 75 67 68 20 46 4f 52 4d 53 20 76 69 61 20 e2 80 98 2d 2d 3e e2 80 99 20 28 | PR.through.FORMS.via....-->....( |
| 3a420 | 2a 6e 6f 74 65 20 2d 2d 3e 3a 3a 29 2c 20 77 68 69 6c 65 20 74 68 65 20 72 65 73 75 6c 74 0a 20 | *note.-->::),.while.the.result.. |
| 3a440 | 20 20 20 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 20 20 57 68 65 6e 20 45 58 50 52 | ....is.non-...nil......When.EXPR |
| 3a460 | 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 72 | .evaluates.to.non-...nil...,.thr |
| 3a480 | 65 61 64 20 74 68 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 74 68 72 6f 75 67 68 20 74 68 65 20 | ead.the.result......through.the. |
| 3a4a0 | 66 69 72 73 74 20 6f 66 20 46 4f 52 4d 53 2c 20 61 6e 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 | first.of.FORMS,.and.when.that.re |
| 3a4c0 | 73 75 6c 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 0a 20 20 20 20 20 74 68 72 65 | sult.is.non-...nil...,......thre |
| 3a4e0 | 61 64 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 6e 65 78 74 20 66 6f 72 6d 2c 20 65 74 63 | ad.it.through.the.next.form,.etc |
| 3a500 | 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f | .............(-some-->."def".(co |
| 3a520 | 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ncat."abc".it."ghi"))........... |
| 3a540 | 20 20 20 20 e2 87 92 20 22 61 62 63 64 65 66 67 68 69 22 0a 20 20 20 20 20 20 20 20 20 20 28 2d | ........"abcdefghi"...........(- |
| 3a560 | 73 6f 6d 65 2d 2d 3e 20 6e 69 6c 20 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 | some-->.nil.(concat."abc".it."gh |
| 3a580 | 69 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 | i"))...................nil...... |
| 3a5a0 | 20 20 20 20 20 28 2d 73 6f 6d 65 2d 2d 3e 20 27 28 30 20 31 29 20 28 2d 72 65 6d 6f 76 65 20 23 | .....(-some-->.'(0.1).(-remove.# |
| 3a5c0 | 27 6e 61 74 6e 75 6d 70 20 69 74 29 20 28 61 70 70 65 6e 64 20 69 74 20 69 74 29 20 28 2d 6d 61 | 'natnump.it).(append.it.it).(-ma |
| 3a5e0 | 70 20 23 27 31 2b 20 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 | p.#'1+.it))...................() |
| 3a600 | 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 64 6f 74 6f 20 28 69 6e 69 74 20 26 72 65 73 74 20 66 | ...--.Macro:.-doto.(init.&rest.f |
| 3a620 | 6f 72 6d 73 29 0a 20 20 20 20 20 45 76 61 6c 75 61 74 65 20 49 4e 49 54 20 61 6e 64 20 70 61 73 | orms)......Evaluate.INIT.and.pas |
| 3a640 | 73 20 69 74 20 61 73 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 46 4f 52 4d 53 20 77 69 74 68 20 e2 | s.it.as.argument.to.FORMS.with.. |
| 3a660 | 80 98 2d 3e e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 3e 3a 3a 29 2e 20 20 54 68 65 20 | ..->....(*note......->::)...The. |
| 3a680 | 52 45 53 55 4c 54 20 6f 66 20 65 76 61 6c 75 61 74 69 6e 67 20 49 4e 49 54 20 69 73 20 74 68 72 | RESULT.of.evaluating.INIT.is.thr |
| 3a6a0 | 65 61 64 65 64 20 74 68 72 6f 75 67 68 20 65 61 63 68 20 6f 66 0a 20 20 20 20 20 46 4f 52 4d 53 | eaded.through.each.of......FORMS |
| 3a6c0 | 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 75 73 69 6e 67 20 e2 80 98 2d 3e e2 80 99 20 28 2a 6e | .individually.using....->....(*n |
| 3a6e0 | 6f 74 65 20 2d 3e 3a 3a 29 2c 20 77 68 69 63 68 20 73 65 65 2e 20 20 54 68 65 20 72 65 74 75 72 | ote.->::),.which.see...The.retur |
| 3a700 | 6e 0a 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 52 45 53 55 4c 54 2c 20 77 68 69 63 68 20 46 4f | n......value.is.RESULT,.which.FO |
| 3a720 | 52 4d 53 20 6d 61 79 20 68 61 76 65 20 6d 6f 64 69 66 69 65 64 20 62 79 20 73 69 64 65 20 65 66 | RMS.may.have.modified.by.side.ef |
| 3a740 | 66 65 63 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 6f 74 6f 20 28 6c 69 73 74 20 31 20 | fect.............(-doto.(list.1. |
| 3a760 | 32 20 33 29 20 70 6f 70 20 70 6f 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 | 2.3).pop.pop)................... |
| 3a780 | 28 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 6f 74 6f 20 28 63 6f 6e 73 20 31 20 32 29 20 | (3)...........(-doto.(cons.1.2). |
| 3a7a0 | 28 73 65 74 63 61 72 20 33 29 20 28 73 65 74 63 64 72 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 | (setcar.3).(setcdr.4)).......... |
| 3a7c0 | 20 20 20 20 20 e2 87 92 20 28 33 20 2e 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 65 74 68 | .........(3...4)...........(geth |
| 3a7e0 | 61 73 68 20 27 6b 20 28 2d 2d 64 6f 74 6f 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 29 | ash.'k.(--doto.(make-hash-table) |
| 3a800 | 20 28 70 75 74 68 61 73 68 20 27 6b 20 27 76 20 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | .(puthash.'k.'v.it)))........... |
| 3a820 | 20 20 20 20 e2 87 92 20 76 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e | ........v....File:.dash.info,..N |
| 3a840 | 6f 64 65 3a 20 42 69 6e 64 69 6e 67 2c 20 20 4e 65 78 74 3a 20 53 69 64 65 20 65 66 66 65 63 74 | ode:.Binding,..Next:.Side.effect |
| 3a860 | 73 2c 20 20 50 72 65 76 3a 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2c 20 20 55 70 3a | s,..Prev:.Threading.macros,..Up: |
| 3a880 | 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 33 20 42 69 6e 64 69 6e 67 0a 3d 3d 3d 3d 3d 3d 3d | .Functions..2.13.Binding.======= |
| 3a8a0 | 3d 3d 3d 3d 3d 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 63 6f 6d 62 69 6e 65 20 e2 80 98 6c 65 | =====..Macros.that.combine....le |
| 3a8c0 | 74 e2 80 99 20 61 6e 64 20 e2 80 98 6c 65 74 2a e2 80 99 20 77 69 74 68 20 64 65 73 74 72 75 63 | t....and....let*....with.destruc |
| 3a8e0 | 74 75 72 69 6e 67 20 61 6e 64 20 66 6c 6f 77 0a 63 6f 6e 74 72 6f 6c 2e 0a 0a 20 2d 2d 20 4d 61 | turing.and.flow.control....--.Ma |
| 3a900 | 63 72 6f 3a 20 2d 77 68 65 6e 2d 6c 65 74 20 28 28 76 61 72 20 76 61 6c 29 20 26 72 65 73 74 20 | cro:.-when-let.((var.val).&rest. |
| 3a920 | 62 6f 64 79 29 0a 20 20 20 20 20 49 66 20 56 41 4c 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e | body)......If.VAL.evaluates.to.n |
| 3a940 | 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 62 69 6e 64 20 69 74 20 74 6f 20 56 41 52 20 61 6e 64 | on-...nil...,.bind.it.to.VAR.and |
| 3a960 | 20 65 78 65 63 75 74 65 20 62 6f 64 79 2e 0a 0a 20 20 20 20 20 4e 6f 74 65 3a 20 62 69 6e 64 69 | .execute.body........Note:.bindi |
| 3a980 | 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 e2 80 98 2d 6c 65 74 e2 | ng.is.done.according.to....-let. |
| 3a9a0 | 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d | ...(*note.-let::).............(- |
| 3a9c0 | 77 68 65 6e 2d 6c 65 74 20 28 6d 61 74 63 68 2d 69 6e 64 65 78 20 28 73 74 72 69 6e 67 2d 6d 61 | when-let.(match-index.(string-ma |
| 3a9e0 | 74 63 68 20 22 64 22 20 22 61 62 63 64 22 29 29 20 28 2b 20 6d 61 74 63 68 2d 69 6e 64 65 78 20 | tch."d"."abcd")).(+.match-index. |
| 3aa00 | 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 35 0a 20 20 20 20 20 20 20 20 | 2))...................5......... |
| 3aa20 | 20 20 28 2d 77 68 65 6e 2d 6c 65 74 20 28 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 29 20 | ..(-when-let.((&plist.:foo.foo). |
| 3aa40 | 28 6c 69 73 74 20 3a 66 6f 6f 20 22 66 6f 6f 22 29 29 20 66 6f 6f 29 0a 20 20 20 20 20 20 20 20 | (list.:foo."foo")).foo)......... |
| 3aa60 | 20 20 20 20 20 20 e2 87 92 20 22 66 6f 6f 22 0a 20 20 20 20 20 20 20 20 20 20 28 2d 77 68 65 6e | .........."foo"...........(-when |
| 3aa80 | 2d 6c 65 74 20 28 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 29 20 28 6c 69 73 74 20 3a 62 | -let.((&plist.:foo.foo).(list.:b |
| 3aaa0 | 61 72 20 22 62 61 72 22 29 29 20 66 6f 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 | ar."bar")).foo)................. |
| 3aac0 | 92 20 6e 69 6c 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 77 68 65 6e 2d 6c 65 74 2a 20 28 76 61 | ..nil...--.Macro:.-when-let*.(va |
| 3aae0 | 72 73 2d 76 61 6c 73 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 20 20 20 49 66 20 61 6c 6c 20 | rs-vals.&rest.body)......If.all. |
| 3ab00 | 56 41 4c 53 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 72 75 65 2c 20 62 69 6e 64 20 74 68 65 6d | VALS.evaluate.to.true,.bind.them |
| 3ab20 | 20 74 6f 20 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 56 41 52 53 0a 20 20 20 | .to.their.corresponding.VARS.... |
| 3ab40 | 20 20 61 6e 64 20 65 78 65 63 75 74 65 20 62 6f 64 79 2e 20 20 56 41 52 53 2d 56 41 4c 53 20 73 | ..and.execute.body...VARS-VALS.s |
| 3ab60 | 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 28 56 41 52 20 56 41 4c 29 20 70 61 69 | hould.be.a.list.of.(VAR.VAL).pai |
| 3ab80 | 72 73 2e 0a 0a 20 20 20 20 20 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 | rs........Note:.binding.is.done. |
| 3aba0 | 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 e2 80 98 2d 6c 65 74 2a e2 80 99 20 28 2a 6e 6f 74 65 20 | according.to....-let*....(*note. |
| 3abc0 | 2d 6c 65 74 2a 3a 3a 29 2e 20 20 56 41 4c 53 0a 20 20 20 20 20 61 72 65 20 65 76 61 6c 75 61 74 | -let*::)...VALS......are.evaluat |
| 3abe0 | 65 64 20 73 65 71 75 65 6e 74 69 61 6c 6c 79 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6f 6e 20 | ed.sequentially,.and.evaluation. |
| 3ac00 | 73 74 6f 70 73 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 0a 20 20 20 20 20 e2 80 98 6e 69 | stops.after.the.first.........ni |
| 3ac20 | 6c e2 80 99 20 56 41 4c 20 69 73 20 65 6e 63 6f 75 6e 74 65 72 65 64 2e 0a 0a 20 20 20 20 20 20 | l....VAL.is.encountered......... |
| 3ac40 | 20 20 20 20 28 2d 77 68 65 6e 2d 6c 65 74 2a 20 28 28 78 20 35 29 20 28 79 20 33 29 20 28 7a 20 | ....(-when-let*.((x.5).(y.3).(z. |
| 3ac60 | 28 2b 20 79 20 34 29 29 29 20 28 2b 20 78 20 79 20 7a 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | (+.y.4))).(+.x.y.z))............ |
| 3ac80 | 20 20 20 e2 87 92 20 31 35 0a 20 20 20 20 20 20 20 20 20 20 28 2d 77 68 65 6e 2d 6c 65 74 2a 20 | .......15...........(-when-let*. |
| 3aca0 | 28 28 78 20 35 29 20 28 79 20 6e 69 6c 29 20 28 7a 20 37 29 29 20 28 2b 20 78 20 79 20 7a 29 29 | ((x.5).(y.nil).(z.7)).(+.x.y.z)) |
| 3acc0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 4d 61 63 72 | ...................nil...--.Macr |
| 3ace0 | 6f 3a 20 2d 69 66 2d 6c 65 74 20 28 28 76 61 72 20 76 61 6c 29 20 74 68 65 6e 20 26 72 65 73 74 | o:.-if-let.((var.val).then.&rest |
| 3ad00 | 20 65 6c 73 65 29 0a 20 20 20 20 20 49 66 20 56 41 4c 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 | .else)......If.VAL.evaluates.to. |
| 3ad20 | 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 62 69 6e 64 20 69 74 20 74 6f 20 56 41 52 20 61 6e | non-...nil...,.bind.it.to.VAR.an |
| 3ad40 | 64 20 64 6f 20 54 48 45 4e 2c 0a 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 64 6f 20 45 4c 53 | d.do.THEN,......otherwise.do.ELS |
| 3ad60 | 45 2e 0a 0a 20 20 20 20 20 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 | E........Note:.binding.is.done.a |
| 3ad80 | 63 63 6f 72 64 69 6e 67 20 74 6f 20 e2 80 98 2d 6c 65 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c | ccording.to....-let....(*note.-l |
| 3ada0 | 65 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 66 2d 6c 65 74 20 28 6d 61 74 63 | et::).............(-if-let.(matc |
| 3adc0 | 68 2d 69 6e 64 65 78 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 64 22 20 22 61 62 63 22 29 | h-index.(string-match."d"."abc") |
| 3ade0 | 29 20 28 2b 20 6d 61 74 63 68 2d 69 6e 64 65 78 20 33 29 20 37 29 0a 20 20 20 20 20 20 20 20 20 | ).(+.match-index.3).7).......... |
| 3ae00 | 20 20 20 20 20 e2 87 92 20 37 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 69 66 2d 6c 65 74 20 28 | .........7...........(--if-let.( |
| 3ae20 | 65 76 65 6e 3f 20 34 29 20 69 74 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 | even?.4).it.nil)................ |
| 3ae40 | 87 92 20 74 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 69 66 2d 6c 65 74 2a 20 28 76 61 72 73 2d | ...t...--.Macro:.-if-let*.(vars- |
| 3ae60 | 76 61 6c 73 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 0a 20 20 20 20 20 49 66 20 61 6c | vals.then.&rest.else)......If.al |
| 3ae80 | 6c 20 56 41 4c 53 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 72 75 65 2c 20 62 69 6e 64 20 74 68 | l.VALS.evaluate.to.true,.bind.th |
| 3aea0 | 65 6d 20 74 6f 20 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 56 41 52 53 0a 20 | em.to.their.corresponding.VARS.. |
| 3aec0 | 20 20 20 20 61 6e 64 20 64 6f 20 54 48 45 4e 2c 20 6f 74 68 65 72 77 69 73 65 20 64 6f 20 45 4c | ....and.do.THEN,.otherwise.do.EL |
| 3aee0 | 53 45 2e 20 20 56 41 52 53 2d 56 41 4c 53 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 20 | SE...VARS-VALS.should.be.a.list. |
| 3af00 | 6f 66 20 28 56 41 52 0a 20 20 20 20 20 56 41 4c 29 20 70 61 69 72 73 2e 0a 0a 20 20 20 20 20 4e | of.(VAR......VAL).pairs........N |
| 3af20 | 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 | ote:.binding.is.done.according.t |
| 3af40 | 6f 20 e2 80 98 2d 6c 65 74 2a e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 2a 3a 3a 29 2e 20 20 | o....-let*....(*note.-let*::)... |
| 3af60 | 56 41 4c 53 0a 20 20 20 20 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 20 73 65 71 75 65 6e 74 69 | VALS......are.evaluated.sequenti |
| 3af80 | 61 6c 6c 79 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6f 6e 20 73 74 6f 70 73 20 61 66 74 65 72 | ally,.and.evaluation.stops.after |
| 3afa0 | 20 74 68 65 20 66 69 72 73 74 0a 20 20 20 20 20 e2 80 98 6e 69 6c e2 80 99 20 56 41 4c 20 69 73 | .the.first.........nil....VAL.is |
| 3afc0 | 20 65 6e 63 6f 75 6e 74 65 72 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 66 2d 6c 65 | .encountered.............(-if-le |
| 3afe0 | 74 2a 20 28 28 78 20 35 29 20 28 79 20 33 29 20 28 7a 20 37 29 29 20 28 2b 20 78 20 79 20 7a 29 | t*.((x.5).(y.3).(z.7)).(+.x.y.z) |
| 3b000 | 20 22 66 6f 6f 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 35 0a 20 20 20 | ."foo")...................15.... |
| 3b020 | 20 20 20 20 20 20 20 28 2d 69 66 2d 6c 65 74 2a 20 28 28 78 20 35 29 20 28 79 20 6e 69 6c 29 20 | .......(-if-let*.((x.5).(y.nil). |
| 3b040 | 28 7a 20 37 29 29 20 28 2b 20 78 20 79 20 7a 29 20 22 66 6f 6f 22 29 0a 20 20 20 20 20 20 20 20 | (z.7)).(+.x.y.z)."foo")......... |
| 3b060 | 20 20 20 20 20 20 e2 87 92 20 22 66 6f 6f 22 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 66 2d 6c | .........."foo"...........(-if-l |
| 3b080 | 65 74 2a 20 28 28 28 5f 20 5f 20 78 29 20 27 28 6e 69 6c 20 6e 69 6c 20 37 29 29 29 20 78 29 0a | et*.(((_._.x).'(nil.nil.7))).x). |
| 3b0a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 37 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 | ..................7...--.Macro:. |
| 3b0c0 | 2d 6c 65 74 20 28 76 61 72 6c 69 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 20 20 20 42 | -let.(varlist.&rest.body)......B |
| 3b0e0 | 69 6e 64 20 76 61 72 69 61 62 6c 65 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 56 41 52 4c 49 | ind.variables.according.to.VARLI |
| 3b100 | 53 54 20 74 68 65 6e 20 65 76 61 6c 20 42 4f 44 59 2e 0a 0a 20 20 20 20 20 56 41 52 4c 49 53 54 | ST.then.eval.BODY........VARLIST |
| 3b120 | 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 | .is.a.list.of.lists.of.the.form. |
| 3b140 | 28 50 41 54 54 45 52 4e 20 53 4f 55 52 43 45 29 2e 20 20 45 61 63 68 0a 20 20 20 20 20 50 41 54 | (PATTERN.SOURCE)...Each......PAT |
| 3b160 | 54 45 52 4e 20 69 73 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 74 68 65 20 53 4f 55 52 | TERN.is.matched.against.the.SOUR |
| 3b180 | 43 45 20 22 73 74 72 75 63 74 75 72 61 6c 6c 79 22 2e 20 20 53 4f 55 52 43 45 20 69 73 0a 20 20 | CE."structurally"...SOURCE.is... |
| 3b1a0 | 20 20 20 6f 6e 6c 79 20 65 76 61 6c 75 61 74 65 64 20 6f 6e 63 65 20 66 6f 72 20 65 61 63 68 20 | ...only.evaluated.once.for.each. |
| 3b1c0 | 50 41 54 54 45 52 4e 2e 20 20 45 61 63 68 20 50 41 54 54 45 52 4e 20 69 73 20 6d 61 74 63 68 65 | PATTERN...Each.PATTERN.is.matche |
| 3b1e0 | 64 0a 20 20 20 20 20 72 65 63 75 72 73 69 76 65 6c 79 2c 20 61 6e 64 20 63 61 6e 20 74 68 65 72 | d......recursively,.and.can.ther |
| 3b200 | 65 66 6f 72 65 20 63 6f 6e 74 61 69 6e 20 73 75 62 2d 70 61 74 74 65 72 6e 73 20 77 68 69 63 68 | efore.contain.sub-patterns.which |
| 3b220 | 20 61 72 65 0a 20 20 20 20 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 63 6f 72 72 65 73 | .are......matched.against.corres |
| 3b240 | 70 6f 6e 64 69 6e 67 20 73 75 62 2d 65 78 70 72 65 73 73 69 6f 6e 73 20 6f 66 20 53 4f 55 52 43 | ponding.sub-expressions.of.SOURC |
| 3b260 | 45 2e 0a 0a 20 20 20 20 20 41 6c 6c 20 74 68 65 20 53 4f 55 52 43 45 73 20 61 72 65 20 65 76 61 | E........All.the.SOURCEs.are.eva |
| 3b280 | 6c 6c 65 64 20 62 65 66 6f 72 65 20 61 6e 79 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 62 6f 75 6e | lled.before.any.symbols.are.boun |
| 3b2a0 | 64 20 28 69 2e 65 2e 20 20 22 69 6e 0a 20 20 20 20 20 70 61 72 61 6c 6c 65 6c 22 29 2e 0a 0a 20 | d.(i.e..."in......parallel").... |
| 3b2c0 | 20 20 20 20 49 66 20 56 41 52 4c 49 53 54 20 6f 6e 6c 79 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 | ....If.VARLIST.only.contains.one |
| 3b2e0 | 20 28 50 41 54 54 45 52 4e 20 53 4f 55 52 43 45 29 20 65 6c 65 6d 65 6e 74 2c 20 79 6f 75 20 63 | .(PATTERN.SOURCE).element,.you.c |
| 3b300 | 61 6e 0a 20 20 20 20 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 73 70 65 63 69 66 79 20 69 74 20 75 73 | an......optionally.specify.it.us |
| 3b320 | 69 6e 67 20 61 20 76 65 63 74 6f 72 20 61 6e 64 20 64 69 73 63 61 72 64 69 6e 67 20 74 68 65 20 | ing.a.vector.and.discarding.the. |
| 3b340 | 6f 75 74 65 72 2d 6d 6f 73 74 0a 20 20 20 20 20 70 61 72 65 6e 73 2e 20 20 54 68 75 73 0a 0a 20 | outer-most......parens...Thus... |
| 3b360 | 20 20 20 20 28 2d 6c 65 74 20 28 28 50 41 54 54 45 52 4e 20 53 4f 55 52 43 45 29 29 20 2e 2e 2e | ....(-let.((PATTERN.SOURCE)).... |
| 3b380 | 29 0a 0a 20 20 20 20 20 62 65 63 6f 6d 65 73 0a 0a 20 20 20 20 20 28 2d 6c 65 74 20 5b 50 41 54 | ).......becomes.......(-let.[PAT |
| 3b3a0 | 54 45 52 4e 20 53 4f 55 52 43 45 5d 20 2e 2e 2e 29 2e 0a 0a 20 20 20 20 20 e2 80 98 2d 6c 65 74 | TERN.SOURCE]....)...........-let |
| 3b3c0 | e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 3a 3a 29 20 75 73 65 73 20 61 20 63 6f 6e 76 65 6e | ....(*note.-let::).uses.a.conven |
| 3b3e0 | 74 69 6f 6e 20 6f 66 20 6e 6f 74 20 62 69 6e 64 69 6e 67 20 70 6c 61 63 65 73 0a 20 20 20 20 20 | tion.of.not.binding.places...... |
| 3b400 | 28 73 79 6d 62 6f 6c 73 29 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 5f 20 77 68 65 6e 65 76 | (symbols).starting.with._.whenev |
| 3b420 | 65 72 20 69 74 e2 80 99 73 20 70 6f 73 73 69 62 6c 65 2e 20 20 59 6f 75 20 63 61 6e 20 75 73 65 | er.it...s.possible...You.can.use |
| 3b440 | 20 74 68 69 73 0a 20 20 20 20 20 74 6f 20 73 6b 69 70 20 6f 76 65 72 20 65 6e 74 72 69 65 73 20 | .this......to.skip.over.entries. |
| 3b460 | 79 6f 75 20 64 6f 6e e2 80 99 74 20 63 61 72 65 20 61 62 6f 75 74 2e 20 20 48 6f 77 65 76 65 72 | you.don...t.care.about...However |
| 3b480 | 2c 20 74 68 69 73 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 2a 61 6c 77 61 79 73 2a 20 70 6f 73 73 | ,.this.is.not......*always*.poss |
| 3b4a0 | 69 62 6c 65 20 28 61 73 20 61 20 72 65 73 75 6c 74 20 6f 66 20 69 6d 70 6c 65 6d 65 6e 74 61 74 | ible.(as.a.result.of.implementat |
| 3b4c0 | 69 6f 6e 29 20 61 6e 64 20 74 68 65 73 65 20 73 79 6d 62 6f 6c 73 0a 20 20 20 20 20 6d 69 67 68 | ion).and.these.symbols......migh |
| 3b4e0 | 74 20 67 65 74 20 62 6f 75 6e 64 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 76 61 6c 75 65 73 2e | t.get.bound.to.undefined.values. |
| 3b500 | 0a 0a 20 20 20 20 20 46 6f 6c 6c 6f 77 69 6e 67 20 69 73 20 74 68 65 20 6f 76 65 72 76 69 65 77 | .......Following.is.the.overview |
| 3b520 | 20 6f 66 20 73 75 70 70 6f 72 74 65 64 20 70 61 74 74 65 72 6e 73 2e 20 20 52 65 6d 65 6d 62 65 | .of.supported.patterns...Remembe |
| 3b540 | 72 20 74 68 61 74 0a 20 20 20 20 20 70 61 74 74 65 72 6e 73 20 63 61 6e 20 62 65 20 6d 61 74 63 | r.that......patterns.can.be.matc |
| 3b560 | 68 65 64 20 72 65 63 75 72 73 69 76 65 6c 79 2c 20 73 6f 20 65 76 65 72 79 20 61 2c 20 62 2c 20 | hed.recursively,.so.every.a,.b,. |
| 3b580 | 61 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6e 20 62 65 20 | aK.in.the......following.can.be. |
| 3b5a0 | 61 20 6d 61 74 63 68 69 6e 67 20 63 6f 6e 73 74 72 75 63 74 20 61 6e 64 20 6e 6f 74 20 6e 65 63 | a.matching.construct.and.not.nec |
| 3b5c0 | 65 73 73 61 72 69 6c 79 20 61 0a 20 20 20 20 20 73 79 6d 62 6f 6c 2f 76 61 72 69 61 62 6c 65 2e | essarily.a......symbol/variable. |
| 3b5e0 | 0a 0a 20 20 20 20 20 53 79 6d 62 6f 6c 3a 0a 0a 20 20 20 20 20 61 20 2d 20 62 69 6e 64 20 74 68 | .......Symbol:.......a.-.bind.th |
| 3b600 | 65 20 53 4f 55 52 43 45 20 74 6f 20 41 2e 20 20 54 68 69 73 20 69 73 20 6a 75 73 74 20 6c 69 6b | e.SOURCE.to.A...This.is.just.lik |
| 3b620 | 65 20 72 65 67 75 6c 61 72 20 e2 80 98 6c 65 74 e2 80 99 2e 0a 0a 20 20 20 20 20 43 6f 6e 73 65 | e.regular....let...........Conse |
| 3b640 | 73 20 61 6e 64 20 6c 69 73 74 73 3a 0a 0a 20 20 20 20 20 28 61 29 20 2d 20 62 69 6e 64 20 e2 80 | s.and.lists:.......(a).-.bind... |
| 3b660 | 98 63 61 72 e2 80 99 20 6f 66 20 63 6f 6e 73 2f 6c 69 73 74 20 74 6f 20 41 0a 0a 20 20 20 20 20 | .car....of.cons/list.to.A....... |
| 3b680 | 28 61 20 2e 20 20 62 29 20 2d 20 62 69 6e 64 20 63 61 72 20 6f 66 20 63 6f 6e 73 20 74 6f 20 41 | (a....b).-.bind.car.of.cons.to.A |
| 3b6a0 | 20 61 6e 64 20 e2 80 98 63 64 72 e2 80 99 20 74 6f 20 42 0a 0a 20 20 20 20 20 28 61 20 62 29 20 | .and....cdr....to.B.......(a.b). |
| 3b6c0 | 2d 20 62 69 6e 64 20 63 61 72 20 6f 66 20 6c 69 73 74 20 74 6f 20 41 20 61 6e 64 20 e2 80 98 63 | -.bind.car.of.list.to.A.and....c |
| 3b6e0 | 61 64 72 e2 80 99 20 74 6f 20 42 0a 0a 20 20 20 20 20 28 61 31 20 61 32 20 61 33 20 2e 2e 2e 29 | adr....to.B.......(a1.a2.a3....) |
| 3b700 | 20 2d 20 62 69 6e 64 20 30 74 68 20 63 61 72 20 6f 66 20 6c 69 73 74 20 74 6f 20 41 31 2c 20 31 | .-.bind.0th.car.of.list.to.A1,.1 |
| 3b720 | 73 74 20 74 6f 20 41 32 2c 20 32 6e 64 20 74 6f 0a 20 20 20 20 20 41 33 2e 2e 2e 0a 0a 20 20 20 | st.to.A2,.2nd.to......A3........ |
| 3b740 | 20 20 28 61 31 20 61 32 20 61 33 20 2e 2e 2e 20 61 4e 20 2e 20 20 72 65 73 74 29 20 2d 20 61 73 | ..(a1.a2.a3.....aN....rest).-.as |
| 3b760 | 20 61 62 6f 76 65 2c 20 62 75 74 20 62 69 6e 64 20 74 68 65 20 4e 74 68 20 63 64 72 20 74 6f 20 | .above,.but.bind.the.Nth.cdr.to. |
| 3b780 | 52 45 53 54 2e 0a 0a 20 20 20 20 20 56 65 63 74 6f 72 73 3a 0a 0a 20 20 20 20 20 5b 61 5d 20 2d | REST........Vectors:.......[a].- |
| 3b7a0 | 20 62 69 6e 64 20 30 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 61 20 6e 6f 6e 2d 6c 69 73 74 20 | .bind.0th.element.of.a.non-list. |
| 3b7c0 | 73 65 71 75 65 6e 63 65 20 74 6f 20 41 20 28 77 6f 72 6b 73 20 77 69 74 68 0a 20 20 20 20 20 76 | sequence.to.A.(works.with......v |
| 3b7e0 | 65 63 74 6f 72 73 2c 20 73 74 72 69 6e 67 73 2c 20 62 69 74 20 61 72 72 61 79 73 2e 2e 2e 29 0a | ectors,.strings,.bit.arrays...). |
| 3b800 | 0a 20 20 20 20 20 5b 61 31 20 61 32 20 61 33 20 2e 2e 2e 5d 20 2d 20 62 69 6e 64 20 30 74 68 20 | ......[a1.a2.a3....].-.bind.0th. |
| 3b820 | 65 6c 65 6d 65 6e 74 20 6f 66 20 6e 6f 6e 2d 6c 69 73 74 20 73 65 71 75 65 6e 63 65 20 74 6f 20 | element.of.non-list.sequence.to. |
| 3b840 | 41 30 2c 20 31 73 74 0a 20 20 20 20 20 74 6f 20 41 31 2c 20 32 6e 64 20 74 6f 20 41 32 2c 20 2e | A0,.1st......to.A1,.2nd.to.A2,.. |
| 3b860 | 2e 2e 20 20 49 66 20 74 68 65 20 50 41 54 54 45 52 4e 20 69 73 20 73 68 6f 72 74 65 72 20 74 68 | ....If.the.PATTERN.is.shorter.th |
| 3b880 | 61 6e 20 53 4f 55 52 43 45 2c 20 74 68 65 0a 20 20 20 20 20 76 61 6c 75 65 73 20 61 74 20 70 6c | an.SOURCE,.the......values.at.pl |
| 3b8a0 | 61 63 65 73 20 6e 6f 74 20 69 6e 20 50 41 54 54 45 52 4e 20 61 72 65 20 69 67 6e 6f 72 65 64 2e | aces.not.in.PATTERN.are.ignored. |
| 3b8c0 | 20 20 49 66 20 74 68 65 20 50 41 54 54 45 52 4e 20 69 73 0a 20 20 20 20 20 6c 6f 6e 67 65 72 20 | ..If.the.PATTERN.is......longer. |
| 3b8e0 | 74 68 61 6e 20 53 4f 55 52 43 45 2c 20 61 6e 20 e2 80 98 65 72 72 6f 72 e2 80 99 20 69 73 20 74 | than.SOURCE,.an....error....is.t |
| 3b900 | 68 72 6f 77 6e 2e 0a 0a 20 20 20 20 20 5b 61 31 20 61 32 20 61 33 20 2e 2e 2e 20 26 72 65 73 74 | hrown........[a1.a2.a3.....&rest |
| 3b920 | 20 72 65 73 74 5d 20 2d 20 61 73 20 61 62 6f 76 65 2c 20 62 75 74 20 62 69 6e 64 20 74 68 65 20 | .rest].-.as.above,.but.bind.the. |
| 3b940 | 72 65 73 74 20 6f 66 20 74 68 65 0a 20 20 20 20 20 73 65 71 75 65 6e 63 65 20 74 6f 20 52 45 53 | rest.of.the......sequence.to.RES |
| 3b960 | 54 2e 20 20 54 68 69 73 20 69 73 20 63 6f 6e 63 65 70 74 75 61 6c 6c 79 20 74 68 65 20 73 61 6d | T...This.is.conceptually.the.sam |
| 3b980 | 65 20 61 73 20 69 6d 70 72 6f 70 65 72 20 6c 69 73 74 0a 20 20 20 20 20 6d 61 74 63 68 69 6e 67 | e.as.improper.list......matching |
| 3b9a0 | 20 28 61 31 20 61 32 20 2e 2e 2e 20 61 4e 20 2e 20 20 72 65 73 74 29 0a 0a 20 20 20 20 20 4b 65 | .(a1.a2.....aN....rest).......Ke |
| 3b9c0 | 79 2f 76 61 6c 75 65 20 73 74 6f 72 65 73 3a 0a 0a 20 20 20 20 20 28 26 70 6c 69 73 74 20 6b 65 | y/value.stores:.......(&plist.ke |
| 3b9e0 | 79 30 20 61 30 20 2e 2e 2e 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 69 6e 64 20 76 61 6c 75 65 20 | y0.a0.....keyN.aN).-.bind.value. |
| 3ba00 | 6d 61 70 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 20 53 4f 55 52 43 | mapped.by.keyK.in.the......SOURC |
| 3ba20 | 45 20 70 6c 69 73 74 20 74 6f 20 61 4b 2e 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 6e | E.plist.to.aK..If.the.value.is.n |
| 3ba40 | 6f 74 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 e2 80 98 6e 69 6c e2 80 99 2e 20 20 55 73 65 73 | ot.found,.aK.is....nil......Uses |
| 3ba60 | 0a 20 20 20 20 20 e2 80 98 70 6c 69 73 74 2d 67 65 74 e2 80 99 20 74 6f 20 66 65 74 63 68 20 76 | .........plist-get....to.fetch.v |
| 3ba80 | 61 6c 75 65 73 2e 0a 0a 20 20 20 20 20 28 26 61 6c 69 73 74 20 6b 65 79 30 20 61 30 20 2e 2e 2e | alues........(&alist.key0.a0.... |
| 3baa0 | 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 69 6e 64 20 76 61 6c 75 65 20 6d 61 70 70 65 64 20 62 79 | .keyN.aN).-.bind.value.mapped.by |
| 3bac0 | 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 20 53 4f 55 52 43 45 20 61 6c 69 73 74 20 74 | .keyK.in.the......SOURCE.alist.t |
| 3bae0 | 6f 20 61 4b 2e 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 2c | o.aK..If.the.value.is.not.found, |
| 3bb00 | 20 61 4b 20 69 73 20 e2 80 98 6e 69 6c e2 80 99 2e 20 20 55 73 65 73 0a 20 20 20 20 20 e2 80 98 | .aK.is....nil......Uses......... |
| 3bb20 | 61 73 73 6f 63 e2 80 99 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e 0a 0a 20 20 20 20 20 | assoc....to.fetch.values........ |
| 3bb40 | 28 26 68 61 73 68 20 6b 65 79 30 20 61 30 20 2e 2e 2e 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 69 | (&hash.key0.a0.....keyN.aN).-.bi |
| 3bb60 | 6e 64 20 76 61 6c 75 65 20 6d 61 70 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 | nd.value.mapped.by.keyK.in.the.. |
| 3bb80 | 20 20 20 20 53 4f 55 52 43 45 20 68 61 73 68 20 74 61 62 6c 65 20 74 6f 20 61 4b 2e 20 49 66 20 | ....SOURCE.hash.table.to.aK..If. |
| 3bba0 | 74 68 65 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 e2 80 | the.value.is.not.found,.aK.is... |
| 3bbc0 | 98 6e 69 6c e2 80 99 2e 0a 20 20 20 20 20 55 73 65 73 20 e2 80 98 67 65 74 68 61 73 68 e2 80 99 | .nil..........Uses....gethash... |
| 3bbe0 | 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e 0a 0a 20 20 20 20 20 46 75 72 74 68 65 72 2c | .to.fetch.values........Further, |
| 3bc00 | 20 73 70 65 63 69 61 6c 20 6b 65 79 77 6f 72 64 20 26 6b 65 79 73 20 73 75 70 70 6f 72 74 73 20 | .special.keyword.&keys.supports. |
| 3bc20 | 22 69 6e 6c 69 6e 65 22 20 6d 61 74 63 68 69 6e 67 20 6f 66 0a 20 20 20 20 20 70 6c 69 73 74 2d | "inline".matching.of......plist- |
| 3bc40 | 6c 69 6b 65 20 6b 65 79 2d 76 61 6c 75 65 20 70 61 69 72 73 2c 20 73 69 6d 69 6c 61 72 6c 79 20 | like.key-value.pairs,.similarly. |
| 3bc60 | 74 6f 20 26 6b 65 79 73 20 6b 65 79 77 6f 72 64 20 6f 66 0a 20 20 20 20 20 e2 80 98 63 6c 2d 64 | to.&keys.keyword.of.........cl-d |
| 3bc80 | 65 66 75 6e e2 80 99 2e 0a 0a 20 20 20 20 20 28 61 31 20 61 32 20 2e 2e 2e 20 61 4e 20 26 6b 65 | efun...........(a1.a2.....aN.&ke |
| 3bca0 | 79 73 20 6b 65 79 31 20 62 31 20 2e 2e 2e 20 6b 65 79 4e 20 62 4b 29 0a 0a 20 20 20 20 20 54 68 | ys.key1.b1.....keyN.bK).......Th |
| 3bcc0 | 69 73 20 62 69 6e 64 73 20 4e 20 76 61 6c 75 65 73 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 | is.binds.N.values.from.the.list. |
| 3bce0 | 74 6f 20 61 31 20 2e 2e 2e 20 61 4e 2c 20 74 68 65 6e 20 69 6e 74 65 72 70 72 65 74 73 20 74 68 | to.a1.....aN,.then.interprets.th |
| 3bd00 | 65 0a 20 20 20 20 20 63 64 72 20 61 73 20 61 20 70 6c 69 73 74 20 28 73 65 65 20 6b 65 79 2f 76 | e......cdr.as.a.plist.(see.key/v |
| 3bd20 | 61 6c 75 65 20 6d 61 74 63 68 69 6e 67 20 61 62 6f 76 65 29 2e 0a 0a 20 20 20 20 20 41 20 73 68 | alue.matching.above)........A.sh |
| 3bd40 | 6f 72 74 68 61 6e 64 20 6e 6f 74 61 74 69 6f 6e 20 66 6f 72 20 6b 76 2d 64 65 73 74 72 75 63 74 | orthand.notation.for.kv-destruct |
| 3bd60 | 75 72 69 6e 67 20 65 78 69 73 74 73 20 77 68 69 63 68 20 61 6c 6c 6f 77 73 20 74 68 65 0a 20 20 | uring.exists.which.allows.the... |
| 3bd80 | 20 20 20 70 61 74 74 65 72 6e 73 20 62 65 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 6c 65 66 74 20 6f | ...patterns.be.optionally.left.o |
| 3bda0 | 75 74 20 61 6e 64 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 74 68 65 20 6b 65 79 20 6e 61 6d 65 | ut.and.derived.from.the.key.name |
| 3bdc0 | 20 69 6e 0a 20 20 20 20 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 61 73 68 69 6f 6e 3a 0a | .in......the.following.fashion:. |
| 3bde0 | 0a 20 20 20 20 20 2d 20 61 20 6b 65 79 20 3a 66 6f 6f 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 | ......-.a.key.:foo.is.converted. |
| 3be00 | 69 6e 74 6f 20 e2 80 98 66 6f 6f e2 80 99 20 70 61 74 74 65 72 6e 2c 20 2d 20 61 20 6b 65 79 20 | into....foo....pattern,.-.a.key. |
| 3be20 | e2 80 99 62 61 72 20 69 73 0a 20 20 20 20 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 e2 80 | ...bar.is......converted.into... |
| 3be40 | 98 62 61 72 e2 80 99 20 70 61 74 74 65 72 6e 2c 20 2d 20 61 20 6b 65 79 20 22 62 61 7a 22 20 69 | .bar....pattern,.-.a.key."baz".i |
| 3be60 | 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 e2 80 98 62 61 7a e2 80 99 0a 20 20 20 20 20 | s.converted.into....baz......... |
| 3be80 | 70 61 74 74 65 72 6e 2e 0a 0a 20 20 20 20 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 65 6e 74 69 | pattern........That.is,.the.enti |
| 3bea0 | 72 65 20 76 61 6c 75 65 20 75 6e 64 65 72 20 74 68 65 20 6b 65 79 20 69 73 20 62 6f 75 6e 64 20 | re.value.under.the.key.is.bound. |
| 3bec0 | 74 6f 20 74 68 65 20 64 65 72 69 76 65 64 0a 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 77 69 74 | to.the.derived......variable.wit |
| 3bee0 | 68 6f 75 74 20 61 6e 79 20 66 75 72 74 68 65 72 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 0a | hout.any.further.destructuring.. |
| 3bf00 | 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 70 6f 73 73 69 62 6c 65 20 6f 6e 6c 79 20 77 68 65 6e | ......This.is.possible.only.when |
| 3bf20 | 20 74 68 65 20 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 6b 65 79 20 69 73 20 6e | .the.form.following.the.key.is.n |
| 3bf40 | 6f 74 20 61 0a 20 20 20 20 20 76 61 6c 69 64 20 70 61 74 74 65 72 6e 20 28 69 2e 65 2e 20 20 6e | ot.a......valid.pattern.(i.e...n |
| 3bf60 | 6f 74 20 61 20 73 79 6d 62 6f 6c 2c 20 61 20 63 6f 6e 73 20 63 65 6c 6c 20 6f 72 20 61 20 76 65 | ot.a.symbol,.a.cons.cell.or.a.ve |
| 3bf80 | 63 74 6f 72 29 2e 0a 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 6d 61 74 63 68 69 | ctor).......Otherwise.the.matchi |
| 3bfa0 | 6e 67 20 70 72 6f 63 65 65 64 73 20 61 73 20 75 73 75 61 6c 20 61 6e 64 20 69 6e 20 63 61 73 65 | ng.proceeds.as.usual.and.in.case |
| 3bfc0 | 20 6f 66 20 61 6e 20 69 6e 76 61 6c 69 64 0a 20 20 20 20 20 73 70 65 63 20 66 61 69 6c 73 20 77 | .of.an.invalid......spec.fails.w |
| 3bfe0 | 69 74 68 20 61 6e 20 65 72 72 6f 72 2e 0a 0a 20 20 20 20 20 54 68 75 73 20 74 68 65 20 70 61 74 | ith.an.error........Thus.the.pat |
| 3c000 | 74 65 72 6e 73 20 61 72 65 20 6e 6f 72 6d 61 6c 69 7a 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 3a | terns.are.normalized.as.follows: |
| 3c020 | 0a 0a 20 20 20 20 20 3b 3b 20 64 65 72 69 76 65 20 61 6c 6c 20 74 68 65 20 6d 69 73 73 69 6e 67 | .......;;.derive.all.the.missing |
| 3c040 | 20 70 61 74 74 65 72 6e 73 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 e2 80 99 62 61 72 20 22 62 | .patterns.(&plist.:foo....bar."b |
| 3c060 | 61 7a 22 29 20 3d 3e 0a 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 e2 80 | az").=>......(&plist.:foo.foo... |
| 3c080 | 99 62 61 72 20 62 61 72 20 22 62 61 7a 22 20 62 61 7a 29 0a 0a 20 20 20 20 20 3b 3b 20 77 65 20 | .bar.bar."baz".baz).......;;.we. |
| 3c0a0 | 63 61 6e 20 73 70 65 63 69 66 79 20 73 6f 6d 65 20 62 75 74 20 6e 6f 74 20 6f 74 68 65 72 73 20 | can.specify.some.but.not.others. |
| 3c0c0 | 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 e2 80 99 62 61 72 0a 20 20 20 20 20 65 78 70 6c 69 63 69 | (&plist.:foo....bar......explici |
| 3c0e0 | 74 2d 62 61 72 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 e2 80 99 62 61 | t-bar).=>.(&plist.:foo.foo....ba |
| 3c100 | 72 20 65 78 70 6c 69 63 69 74 2d 62 61 72 29 0a 0a 20 20 20 20 20 3b 3b 20 6e 6f 74 68 69 6e 67 | r.explicit-bar).......;;.nothing |
| 3c120 | 20 68 61 70 70 65 6e 73 2c 20 77 65 20 73 74 6f 72 65 20 3a 66 6f 6f 20 69 6e 20 78 20 28 26 70 | .happens,.we.store.:foo.in.x.(&p |
| 3c140 | 6c 69 73 74 20 3a 66 6f 6f 20 78 29 20 3d 3e 20 28 26 70 6c 69 73 74 0a 20 20 20 20 20 3a 66 6f | list.:foo.x).=>.(&plist......:fo |
| 3c160 | 6f 20 78 29 0a 0a 20 20 20 20 20 3b 3b 20 6e 6f 74 68 69 6e 67 20 68 61 70 70 65 6e 73 2c 20 77 | o.x).......;;.nothing.happens,.w |
| 3c180 | 65 20 6d 61 74 63 68 20 72 65 63 75 72 73 69 76 65 6c 79 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f | e.match.recursively.(&plist.:foo |
| 3c1a0 | 20 28 61 20 62 20 63 29 29 20 3d 3e 0a 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 28 | .(a.b.c)).=>......(&plist.:foo.( |
| 3c1c0 | 61 20 62 20 63 29 29 0a 0a 20 20 20 20 20 59 6f 75 20 63 61 6e 20 6e 61 6d 65 20 74 68 65 20 73 | a.b.c)).......You.can.name.the.s |
| 3c1e0 | 6f 75 72 63 65 20 75 73 69 6e 67 20 74 68 65 20 73 79 6e 74 61 78 20 53 59 4d 42 4f 4c 20 26 61 | ource.using.the.syntax.SYMBOL.&a |
| 3c200 | 73 20 50 41 54 54 45 52 4e 2e 20 20 54 68 69 73 0a 20 20 20 20 20 73 79 6e 74 61 78 20 77 6f 72 | s.PATTERN...This......syntax.wor |
| 3c220 | 6b 73 20 77 69 74 68 20 6c 69 73 74 73 20 28 70 72 6f 70 65 72 20 6f 72 20 69 6d 70 72 6f 70 65 | ks.with.lists.(proper.or.imprope |
| 3c240 | 72 29 2c 20 76 65 63 74 6f 72 73 20 61 6e 64 20 61 6c 6c 20 74 79 70 65 73 0a 20 20 20 20 20 6f | r),.vectors.and.all.types......o |
| 3c260 | 66 20 6d 61 70 73 2e 0a 0a 20 20 20 20 20 28 6c 69 73 74 20 26 61 73 20 61 20 62 20 63 29 20 28 | f.maps........(list.&as.a.b.c).( |
| 3c280 | 6c 69 73 74 20 31 20 32 20 33 29 0a 0a 20 20 20 20 20 62 69 6e 64 73 20 41 20 74 6f 20 31 2c 20 | list.1.2.3).......binds.A.to.1,. |
| 3c2a0 | 42 20 74 6f 20 32 2c 20 43 20 74 6f 20 33 20 61 6e 64 20 4c 49 53 54 20 74 6f 20 28 31 20 32 20 | B.to.2,.C.to.3.and.LIST.to.(1.2. |
| 3c2c0 | 33 29 2e 0a 0a 20 20 20 20 20 53 69 6d 69 6c 61 72 6c 79 3a 0a 0a 20 20 20 20 20 28 62 6f 75 6e | 3)........Similarly:.......(boun |
| 3c2e0 | 64 73 20 26 61 73 20 62 65 67 20 2e 20 20 65 6e 64 29 20 28 63 6f 6e 73 20 31 20 32 29 0a 0a 20 | ds.&as.beg....end).(cons.1.2)... |
| 3c300 | 20 20 20 20 62 69 6e 64 73 20 42 45 47 20 74 6f 20 31 2c 20 45 4e 44 20 74 6f 20 32 20 61 6e 64 | ....binds.BEG.to.1,.END.to.2.and |
| 3c320 | 20 42 4f 55 4e 44 53 20 74 6f 20 28 31 20 2e 20 20 32 29 2e 0a 0a 20 20 20 20 20 28 69 74 65 6d | .BOUNDS.to.(1....2)........(item |
| 3c340 | 73 20 26 61 73 20 66 69 72 73 74 20 2e 20 20 72 65 73 74 29 20 28 6c 69 73 74 20 31 20 32 20 33 | s.&as.first....rest).(list.1.2.3 |
| 3c360 | 29 0a 0a 20 20 20 20 20 62 69 6e 64 73 20 46 49 52 53 54 20 74 6f 20 31 2c 20 52 45 53 54 20 74 | ).......binds.FIRST.to.1,.REST.t |
| 3c380 | 6f 20 28 32 20 33 29 20 61 6e 64 20 49 54 45 4d 53 20 74 6f 20 28 31 20 32 20 33 29 0a 0a 20 20 | o.(2.3).and.ITEMS.to.(1.2.3).... |
| 3c3a0 | 20 20 20 5b 76 65 63 74 20 26 61 73 20 5f 20 62 20 63 5d 20 5b 31 20 32 20 33 5d 0a 0a 20 20 20 | ...[vect.&as._.b.c].[1.2.3]..... |
| 3c3c0 | 20 20 62 69 6e 64 73 20 42 20 74 6f 20 32 2c 20 43 20 74 6f 20 33 20 61 6e 64 20 56 45 43 54 20 | ..binds.B.to.2,.C.to.3.and.VECT. |
| 3c3e0 | 74 6f 20 5b 31 20 32 20 33 5d 20 28 5f 20 61 76 6f 69 64 73 20 62 69 6e 64 69 6e 67 20 61 73 0a | to.[1.2.3].(_.avoids.binding.as. |
| 3c400 | 20 20 20 20 20 75 73 75 61 6c 29 2e 0a 0a 20 20 20 20 20 28 70 6c 69 73 74 20 26 61 73 20 26 70 | .....usual)........(plist.&as.&p |
| 3c420 | 6c 69 73 74 20 3a 62 20 62 29 20 28 6c 69 73 74 20 3a 61 20 31 20 3a 62 20 32 20 3a 63 20 33 29 | list.:b.b).(list.:a.1.:b.2.:c.3) |
| 3c440 | 0a 0a 20 20 20 20 20 62 69 6e 64 73 20 42 20 74 6f 20 32 20 61 6e 64 20 50 4c 49 53 54 20 74 6f | .......binds.B.to.2.and.PLIST.to |
| 3c460 | 20 28 3a 61 20 31 20 3a 62 20 32 20 3a 63 20 33 29 2e 20 20 53 61 6d 65 20 66 6f 72 20 26 61 6c | .(:a.1.:b.2.:c.3)...Same.for.&al |
| 3c480 | 69 73 74 20 61 6e 64 0a 20 20 20 20 20 26 68 61 73 68 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 | ist.and......&hash........This.i |
| 3c4a0 | 73 20 65 73 70 65 63 69 61 6c 6c 79 20 75 73 65 66 75 6c 20 77 68 65 6e 20 77 65 20 77 61 6e 74 | s.especially.useful.when.we.want |
| 3c4c0 | 20 74 6f 20 63 61 70 74 75 72 65 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 0a 20 20 20 20 | .to.capture.the.result.of.a..... |
| 3c4e0 | 20 63 6f 6d 70 75 74 61 74 69 6f 6e 20 61 6e 64 20 64 65 73 74 72 75 63 74 75 72 65 20 61 74 20 | .computation.and.destructure.at. |
| 3c500 | 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2e 20 20 43 6f 6e 73 69 64 65 72 20 74 68 65 20 66 6f 72 | the.same.time...Consider.the.for |
| 3c520 | 6d 0a 20 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 2d 72 65 74 75 72 6e 69 6e 67 2d 63 6f 6d 70 6c | m......(function-returning-compl |
| 3c540 | 65 78 2d 73 74 72 75 63 74 75 72 65 29 20 72 65 74 75 72 6e 69 6e 67 20 61 20 6c 69 73 74 20 6f | ex-structure).returning.a.list.o |
| 3c560 | 66 20 74 77 6f 0a 20 20 20 20 20 76 65 63 74 6f 72 73 20 77 69 74 68 20 74 77 6f 20 69 74 65 6d | f.two......vectors.with.two.item |
| 3c580 | 73 20 65 61 63 68 2e 20 20 57 65 20 77 61 6e 74 20 74 6f 20 63 61 70 74 75 72 65 20 74 68 69 73 | s.each...We.want.to.capture.this |
| 3c5a0 | 20 65 6e 74 69 72 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 61 6e 64 20 70 61 73 73 20 69 74 20 | .entire.result......and.pass.it. |
| 3c5c0 | 74 6f 20 61 6e 6f 74 68 65 72 20 63 6f 6d 70 75 74 61 74 69 6f 6e 2c 20 62 75 74 20 61 74 20 74 | to.another.computation,.but.at.t |
| 3c5e0 | 68 65 20 73 61 6d 65 20 74 69 6d 65 20 77 65 20 77 61 6e 74 20 74 6f 0a 20 20 20 20 20 67 65 74 | he.same.time.we.want.to......get |
| 3c600 | 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 20 66 72 6f 6d 20 65 61 63 68 20 76 65 63 74 6f | .the.second.item.from.each.vecto |
| 3c620 | 72 2e 20 20 57 65 20 63 61 6e 20 61 63 68 69 65 76 65 20 69 74 20 77 69 74 68 0a 20 20 20 20 20 | r...We.can.achieve.it.with...... |
| 3c640 | 70 61 74 74 65 72 6e 0a 0a 20 20 20 20 20 28 72 65 73 75 6c 74 20 26 61 73 20 5b 5f 20 61 5d 20 | pattern.......(result.&as.[_.a]. |
| 3c660 | 5b 5f 20 62 5d 29 20 28 66 75 6e 63 74 69 6f 6e 2d 72 65 74 75 72 6e 69 6e 67 2d 63 6f 6d 70 6c | [_.b]).(function-returning-compl |
| 3c680 | 65 78 2d 73 74 72 75 63 74 75 72 65 29 0a 0a 20 20 20 20 20 4e 6f 74 65 3a 20 43 6c 6f 6a 75 72 | ex-structure).......Note:.Clojur |
| 3c6a0 | 65 20 70 72 6f 67 72 61 6d 6d 65 72 73 20 6d 61 79 20 6b 6e 6f 77 20 74 68 69 73 20 66 65 61 74 | e.programmers.may.know.this.feat |
| 3c6c0 | 75 72 65 20 61 73 20 74 68 65 20 22 3a 61 73 0a 20 20 20 20 20 62 69 6e 64 69 6e 67 22 2e 20 20 | ure.as.the.":as......binding"... |
| 3c6e0 | 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 61 74 20 77 65 20 70 75 74 20 74 68 | The.difference.is.that.we.put.th |
| 3c700 | 65 20 26 61 73 20 61 74 20 74 68 65 20 66 72 6f 6e 74 0a 20 20 20 20 20 62 65 63 61 75 73 65 20 | e.&as.at.the.front......because. |
| 3c720 | 77 65 20 6e 65 65 64 20 74 6f 20 73 75 70 70 6f 72 74 20 69 6d 70 72 6f 70 65 72 20 6c 69 73 74 | we.need.to.support.improper.list |
| 3c740 | 20 62 69 6e 64 69 6e 67 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74 20 28 28 5b 61 20 | .binding.............(-let.(([a. |
| 3c760 | 28 62 20 63 29 20 64 5d 20 5b 31 20 28 32 20 33 29 20 34 5d 29 29 20 28 6c 69 73 74 20 61 20 62 | (b.c).d].[1.(2.3).4])).(list.a.b |
| 3c780 | 20 63 20 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 | .c.d))...................(1.2.3. |
| 3c7a0 | 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74 20 5b 28 61 20 62 20 63 20 2e 20 64 29 20 | 4)...........(-let.[(a.b.c...d). |
| 3c7c0 | 28 6c 69 73 74 20 31 20 32 20 33 20 34 20 35 20 36 29 5d 20 28 6c 69 73 74 20 61 20 62 20 63 20 | (list.1.2.3.4.5.6)].(list.a.b.c. |
| 3c7e0 | 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 28 34 20 | d))...................(1.2.3.(4. |
| 3c800 | 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74 20 5b 28 26 70 6c 69 73 74 20 3a | 5.6))...........(-let.[(&plist.: |
| 3c820 | 66 6f 6f 20 66 6f 6f 20 3a 62 61 72 20 62 61 72 29 20 28 6c 69 73 74 20 3a 62 61 7a 20 33 20 3a | foo.foo.:bar.bar).(list.:baz.3.: |
| 3c840 | 66 6f 6f 20 31 20 3a 71 75 78 20 34 20 3a 62 61 72 20 32 29 5d 20 28 6c 69 73 74 20 66 6f 6f 20 | foo.1.:qux.4.:bar.2)].(list.foo. |
| 3c860 | 62 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 29 0a 0a 20 | bar))...................(1.2)... |
| 3c880 | 2d 2d 20 4d 61 63 72 6f 3a 20 2d 6c 65 74 2a 20 28 76 61 72 6c 69 73 74 20 26 72 65 73 74 20 62 | --.Macro:.-let*.(varlist.&rest.b |
| 3c8a0 | 6f 64 79 29 0a 20 20 20 20 20 42 69 6e 64 20 76 61 72 69 61 62 6c 65 73 20 61 63 63 6f 72 64 69 | ody)......Bind.variables.accordi |
| 3c8c0 | 6e 67 20 74 6f 20 56 41 52 4c 49 53 54 20 74 68 65 6e 20 65 76 61 6c 20 42 4f 44 59 2e 0a 0a 20 | ng.to.VARLIST.then.eval.BODY.... |
| 3c8e0 | 20 20 20 20 56 41 52 4c 49 53 54 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 6f | ....VARLIST.is.a.list.of.lists.o |
| 3c900 | 66 20 74 68 65 20 66 6f 72 6d 20 28 50 41 54 54 45 52 4e 20 53 4f 55 52 43 45 29 2e 20 20 45 61 | f.the.form.(PATTERN.SOURCE)...Ea |
| 3c920 | 63 68 0a 20 20 20 20 20 50 41 54 54 45 52 4e 20 69 73 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e | ch......PATTERN.is.matched.again |
| 3c940 | 73 74 20 74 68 65 20 53 4f 55 52 43 45 20 73 74 72 75 63 74 75 72 61 6c 6c 79 2e 20 20 53 4f 55 | st.the.SOURCE.structurally...SOU |
| 3c960 | 52 43 45 20 69 73 20 6f 6e 6c 79 0a 20 20 20 20 20 65 76 61 6c 75 61 74 65 64 20 6f 6e 63 65 20 | RCE.is.only......evaluated.once. |
| 3c980 | 66 6f 72 20 65 61 63 68 20 50 41 54 54 45 52 4e 2e 0a 0a 20 20 20 20 20 45 61 63 68 20 53 4f 55 | for.each.PATTERN........Each.SOU |
| 3c9a0 | 52 43 45 20 63 61 6e 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 73 79 6d 62 6f 6c 73 20 61 6c 72 | RCE.can.refer.to.the.symbols.alr |
| 3c9c0 | 65 61 64 79 20 62 6f 75 6e 64 20 62 79 20 74 68 69 73 20 56 41 52 4c 49 53 54 2e 0a 20 20 20 20 | eady.bound.by.this.VARLIST...... |
| 3c9e0 | 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 69 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 | .This.is.useful.if.you.want.to.d |
| 3ca00 | 65 73 74 72 75 63 74 75 72 65 20 53 4f 55 52 43 45 20 72 65 63 75 72 73 69 76 65 6c 79 20 62 75 | estructure.SOURCE.recursively.bu |
| 3ca20 | 74 0a 20 20 20 20 20 61 6c 73 6f 20 77 61 6e 74 20 74 6f 20 6e 61 6d 65 20 74 68 65 20 69 6e 74 | t......also.want.to.name.the.int |
| 3ca40 | 65 72 6d 65 64 69 61 74 65 20 73 74 72 75 63 74 75 72 65 73 2e 0a 0a 20 20 20 20 20 53 65 65 20 | ermediate.structures........See. |
| 3ca60 | e2 80 98 2d 6c 65 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 3a 3a 29 20 66 6f 72 20 74 68 | ...-let....(*note.-let::).for.th |
| 3ca80 | 65 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 20 70 61 74 74 65 72 6e 73 2e | e.list.of.all.possible.patterns. |
| 3caa0 | 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74 2a 20 28 28 28 61 20 2e 20 62 29 20 28 63 6f | ............(-let*.(((a...b).(co |
| 3cac0 | 6e 73 20 31 20 32 29 29 20 28 28 63 20 2e 20 64 29 20 28 63 6f 6e 73 20 33 20 34 29 29 29 20 28 | ns.1.2)).((c...d).(cons.3.4))).( |
| 3cae0 | 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 | list.a.b.c.d)).................. |
| 3cb00 | 20 28 31 20 32 20 33 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74 2a 20 28 28 28 61 | .(1.2.3.4)...........(-let*.(((a |
| 3cb20 | 20 2e 20 62 29 20 28 63 6f 6e 73 20 31 20 28 63 6f 6e 73 20 32 20 33 29 29 29 20 28 28 63 20 2e | ...b).(cons.1.(cons.2.3))).((c.. |
| 3cb40 | 20 64 29 20 62 29 29 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 0a 20 20 20 20 20 20 20 20 | .d).b)).(list.a.b.c.d))......... |
| 3cb60 | 20 20 20 20 20 20 e2 87 92 20 28 31 20 28 32 20 2e 20 33 29 20 32 20 33 29 0a 20 20 20 20 20 20 | ..........(1.(2...3).2.3)....... |
| 3cb80 | 20 20 20 20 28 2d 6c 65 74 2a 20 28 28 28 26 61 6c 69 73 74 20 22 66 6f 6f 22 20 66 6f 6f 20 22 | ....(-let*.(((&alist."foo".foo." |
| 3cba0 | 62 61 72 22 20 62 61 72 29 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 22 66 6f 6f 22 20 31 29 20 28 | bar".bar).(list.(cons."foo".1).( |
| 3cbc0 | 63 6f 6e 73 20 22 62 61 72 22 20 28 6c 69 73 74 20 27 61 20 27 62 20 27 63 29 29 29 29 20 28 28 | cons."bar".(list.'a.'b.'c)))).(( |
| 3cbe0 | 61 20 62 20 63 29 20 62 61 72 29 29 20 28 6c 69 73 74 20 66 6f 6f 20 61 20 62 20 63 20 62 61 72 | a.b.c).bar)).(list.foo.a.b.c.bar |
| 3cc00 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 61 20 62 20 63 20 28 61 | ))...................(1.a.b.c.(a |
| 3cc20 | 20 62 20 63 29 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 6c 61 6d 62 64 61 20 28 6d 61 74 63 | .b.c))...--.Macro:.-lambda.(matc |
| 3cc40 | 68 2d 66 6f 72 6d 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 | h-form.&rest.body)......Return.a |
| 3cc60 | 20 6c 61 6d 62 64 61 20 77 68 69 63 68 20 64 65 73 74 72 75 63 74 75 72 65 73 20 69 74 73 20 69 | .lambda.which.destructures.its.i |
| 3cc80 | 6e 70 75 74 20 61 73 20 4d 41 54 43 48 2d 46 4f 52 4d 20 61 6e 64 0a 20 20 20 20 20 65 78 65 63 | nput.as.MATCH-FORM.and......exec |
| 3cca0 | 75 74 65 73 20 42 4f 44 59 2e 0a 0a 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 79 6f 75 20 68 | utes.BODY........Note.that.you.h |
| 3ccc0 | 61 76 65 20 74 6f 20 65 6e 63 6c 6f 73 65 20 74 68 65 20 4d 41 54 43 48 2d 46 4f 52 4d 20 69 6e | ave.to.enclose.the.MATCH-FORM.in |
| 3cce0 | 20 61 20 70 61 69 72 20 6f 66 20 70 61 72 65 6e 73 2c 0a 20 20 20 20 20 73 75 63 68 20 74 68 61 | .a.pair.of.parens,......such.tha |
| 3cd00 | 74 3a 0a 0a 20 20 20 20 20 28 2d 6c 61 6d 62 64 61 20 28 78 29 20 62 6f 64 79 29 20 28 2d 6c 61 | t:.......(-lambda.(x).body).(-la |
| 3cd20 | 6d 62 64 61 20 28 78 20 79 20 2e 2e 2e 29 20 62 6f 64 79 29 0a 0a 20 20 20 20 20 68 61 73 20 74 | mbda.(x.y....).body).......has.t |
| 3cd40 | 68 65 20 75 73 75 61 6c 20 73 65 6d 61 6e 74 69 63 73 20 6f 66 20 e2 80 98 6c 61 6d 62 64 61 e2 | he.usual.semantics.of....lambda. |
| 3cd60 | 80 99 2e 20 20 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 74 68 65 73 65 20 67 65 74 0a 20 20 20 20 | .....Furthermore,.these.get..... |
| 3cd80 | 20 74 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 6e 6f 72 6d 61 6c 20 e2 80 98 6c 61 6d 62 64 | .translated.into.normal....lambd |
| 3cda0 | 61 e2 80 99 2c 20 73 6f 20 74 68 65 72 65 20 69 73 20 6e 6f 20 70 65 72 66 6f 72 6d 61 6e 63 65 | a...,.so.there.is.no.performance |
| 3cdc0 | 0a 20 20 20 20 20 70 65 6e 61 6c 74 79 2e 0a 0a 20 20 20 20 20 53 65 65 20 e2 80 98 2d 6c 65 74 | ......penalty........See....-let |
| 3cde0 | e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 3a 3a 29 20 66 6f 72 20 61 20 64 65 73 63 72 69 70 | ....(*note.-let::).for.a.descrip |
| 3ce00 | 74 69 6f 6e 20 6f 66 20 74 68 65 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 0a 20 20 20 20 20 6d | tion.of.the.destructuring......m |
| 3ce20 | 65 63 68 61 6e 69 73 6d 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 28 2d 6c 61 6d | echanism.............(-map.(-lam |
| 3ce40 | 62 64 61 20 28 28 78 20 79 29 29 20 28 2b 20 78 20 79 29 29 20 27 28 28 31 20 32 29 20 28 33 20 | bda.((x.y)).(+.x.y)).'((1.2).(3. |
| 3ce60 | 34 29 20 28 35 20 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 | 4).(5.6)))...................(3. |
| 3ce80 | 37 20 31 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 28 2d 6c 61 6d 62 64 61 20 28 | 7.11)...........(-map.(-lambda.( |
| 3cea0 | 5b 78 20 79 5d 29 20 28 2b 20 78 20 79 29 29 20 27 28 5b 31 20 32 5d 20 5b 33 20 34 5d 20 5b 35 | [x.y]).(+.x.y)).'([1.2].[3.4].[5 |
| 3cec0 | 20 36 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 37 20 31 31 29 | .6]))...................(3.7.11) |
| 3cee0 | 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 6c 61 6d 62 64 61 20 28 28 5f | ...........(funcall.(-lambda.((_ |
| 3cf00 | 20 2e 20 61 29 20 28 5f 20 2e 20 62 29 29 20 28 2d 63 6f 6e 63 61 74 20 61 20 62 29 29 20 27 28 | ...a).(_...b)).(-concat.a.b)).'( |
| 3cf20 | 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 | 1.2.3).'(4.5.6))................ |
| 3cf40 | 87 92 20 28 32 20 33 20 35 20 36 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 73 65 74 71 20 28 | ...(2.3.5.6)...--.Macro:.-setq.( |
| 3cf60 | 5b 6d 61 74 63 68 2d 66 6f 72 6d 20 76 61 6c 5d 20 2e 2e 2e 29 0a 20 20 20 20 20 42 69 6e 64 20 | [match-form.val]....)......Bind. |
| 3cf80 | 65 61 63 68 20 4d 41 54 43 48 2d 46 4f 52 4d 20 74 6f 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 | each.MATCH-FORM.to.the.value.of. |
| 3cfa0 | 69 74 73 20 56 41 4c 2e 0a 0a 20 20 20 20 20 4d 41 54 43 48 2d 46 4f 52 4d 20 64 65 73 74 72 75 | its.VAL........MATCH-FORM.destru |
| 3cfc0 | 63 74 75 72 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 | cturing.is.done.according.to.the |
| 3cfe0 | 20 72 75 6c 65 73 20 6f 66 20 e2 80 98 2d 6c 65 74 e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 | .rules.of....-let.........(*note |
| 3d000 | 20 2d 6c 65 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 6d 61 63 72 6f 20 61 6c 6c 6f 77 | .-let::)........This.macro.allow |
| 3d020 | 73 20 79 6f 75 20 74 6f 20 62 69 6e 64 20 6d 75 6c 74 69 70 6c 65 20 76 61 72 69 61 62 6c 65 73 | s.you.to.bind.multiple.variables |
| 3d040 | 20 62 79 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 0a 20 20 20 20 20 74 68 65 20 76 61 6c 75 65 | .by.destructuring......the.value |
| 3d060 | 2c 20 73 6f 20 66 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 20 20 20 28 2d 73 65 74 71 20 28 | ,.so.for.example:.......(-setq.( |
| 3d080 | 61 20 62 29 20 78 20 28 26 70 6c 69 73 74 20 3a 63 20 63 29 20 70 6c 69 73 74 29 0a 0a 20 20 20 | a.b).x.(&plist.:c.c).plist)..... |
| 3d0a0 | 20 20 65 78 70 61 6e 64 73 20 72 6f 75 67 68 6c 79 20 73 70 65 61 6b 69 6e 67 20 74 6f 20 74 68 | ..expands.roughly.speaking.to.th |
| 3d0c0 | 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 0a 0a 20 20 20 20 20 28 73 65 74 71 20 61 20 28 | e.following.code.......(setq.a.( |
| 3d0e0 | 63 61 72 20 78 29 20 62 20 28 63 61 64 72 20 78 29 20 63 20 28 70 6c 69 73 74 2d 67 65 74 20 70 | car.x).b.(cadr.x).c.(plist-get.p |
| 3d100 | 6c 69 73 74 20 3a 63 29 29 0a 0a 20 20 20 20 20 43 61 72 65 20 69 73 20 74 61 6b 65 6e 20 74 6f | list.:c)).......Care.is.taken.to |
| 3d120 | 20 6f 6e 6c 79 20 65 76 61 6c 75 61 74 65 20 65 61 63 68 20 56 41 4c 20 6f 6e 63 65 20 73 6f 20 | .only.evaluate.each.VAL.once.so. |
| 3d140 | 74 68 61 74 20 69 6e 20 63 61 73 65 20 6f 66 0a 20 20 20 20 20 6d 75 6c 74 69 70 6c 65 20 61 73 | that.in.case.of......multiple.as |
| 3d160 | 73 69 67 6e 6d 65 6e 74 73 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 75 6e 65 78 | signments.it.does.not.cause.unex |
| 3d180 | 70 65 63 74 65 64 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 | pected.side.effects............. |
| 3d1a0 | 28 6c 65 74 20 28 61 29 20 28 2d 73 65 74 71 20 61 20 31 29 20 61 29 0a 20 20 20 20 20 20 20 20 | (let.(a).(-setq.a.1).a)......... |
| 3d1c0 | 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 61 20 62 29 | ..........1...........(let.(a.b) |
| 3d1e0 | 20 28 2d 73 65 74 71 20 28 61 20 62 29 20 28 6c 69 73 74 20 31 20 32 29 29 20 28 6c 69 73 74 20 | .(-setq.(a.b).(list.1.2)).(list. |
| 3d200 | 61 20 62 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 29 0a 20 20 | a.b))...................(1.2)... |
| 3d220 | 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 63 29 20 28 2d 73 65 74 71 20 28 26 70 6c 69 73 74 20 | ........(let.(c).(-setq.(&plist. |
| 3d240 | 3a 63 20 63 29 20 28 6c 69 73 74 20 3a 63 20 22 63 22 29 29 20 63 29 0a 20 20 20 20 20 20 20 20 | :c.c).(list.:c."c")).c)......... |
| 3d260 | 20 20 20 20 20 20 e2 87 92 20 22 63 22 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f | .........."c"....File:.dash.info |
| 3d280 | 2c 20 20 4e 6f 64 65 3a 20 53 69 64 65 20 65 66 66 65 63 74 73 2c 20 20 4e 65 78 74 3a 20 44 65 | ,..Node:.Side.effects,..Next:.De |
| 3d2a0 | 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 42 69 6e | structive.operations,..Prev:.Bin |
| 3d2c0 | 64 69 6e 67 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 34 20 53 69 64 65 20 | ding,..Up:.Functions..2.14.Side. |
| 3d2e0 | 65 66 66 65 63 74 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e 63 74 | effects.=================..Funct |
| 3d300 | 69 6f 6e 73 20 69 74 65 72 61 74 69 6e 67 20 6f 76 65 72 20 6c 69 73 74 73 20 66 6f 72 20 73 69 | ions.iterating.over.lists.for.si |
| 3d320 | 64 65 20 65 66 66 65 63 74 20 6f 6e 6c 79 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d | de.effect.only....--.Function:.- |
| 3d340 | 65 61 63 68 20 28 6c 69 73 74 20 66 6e 29 0a 20 20 20 20 20 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 | each.(list.fn)......Call.FN.on.e |
| 3d360 | 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 20 20 52 65 74 75 72 6e 20 e2 80 98 | ach.element.of.LIST...Return.... |
| 3d380 | 6e 69 6c e2 80 99 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 69 6e | nil...;.this.function.is......in |
| 3d3a0 | 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 20 20 20 20 20 49 | tended.for.side.effects........I |
| 3d3c0 | 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d | ts.anaphoric.counterpart.is....- |
| 3d3e0 | 2d 65 61 63 68 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 61 63 63 65 73 73 20 74 6f 20 74 68 | -each...........For.access.to.th |
| 3d400 | 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 e2 80 99 73 20 69 6e 64 65 78 20 69 6e 20 4c | e.current.element...s.index.in.L |
| 3d420 | 49 53 54 2c 20 73 65 65 0a 20 20 20 20 20 e2 80 98 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 e2 80 | IST,.see.........-each-indexed.. |
| 3d440 | 99 20 28 2a 6e 6f 74 65 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 3a 3a 29 2e 0a 0a 20 20 20 20 | ..(*note.-each-indexed::)....... |
| 3d460 | 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 20 27 28 31 20 32 20 33 29 20 28 | ......(let.(l).(-each.'(1.2.3).( |
| 3d480 | 6c 61 6d 62 64 61 20 28 78 29 20 28 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 0a 20 20 20 20 20 | lambda.(x).(push.x.l))).l)...... |
| 3d4a0 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 32 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 | .............(3.2.1)...........( |
| 3d4c0 | 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 20 27 28 31 20 32 20 33 29 20 28 70 75 73 68 20 69 | let.(l).(--each.'(1.2.3).(push.i |
| 3d4e0 | 74 20 6c 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 32 20 | t.l)).l)...................(3.2. |
| 3d500 | 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 61 63 68 20 27 28 31 20 32 20 33 29 20 23 27 69 | 1)...........(-each.'(1.2.3).#'i |
| 3d520 | 64 65 6e 74 69 74 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a | dentity)...................nil.. |
| 3d540 | 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 61 63 68 2d 77 68 69 6c 65 20 28 6c 69 73 74 20 | .--.Function:.-each-while.(list. |
| 3d560 | 70 72 65 64 20 66 6e 29 0a 20 20 20 20 20 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 49 54 | pred.fn)......Call.FN.on.each.IT |
| 3d580 | 45 4d 20 69 6e 20 4c 49 53 54 2c 20 77 68 69 6c 65 20 28 50 52 45 44 20 49 54 45 4d 29 20 69 73 | EM.in.LIST,.while.(PRED.ITEM).is |
| 3d5a0 | 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 20 20 4f 6e 63 65 0a 20 20 20 20 20 61 6e 20 49 54 | .non-...nil......Once......an.IT |
| 3d5c0 | 45 4d 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 | EM.is.reached.for.which.PRED.ret |
| 3d5e0 | 75 72 6e 73 20 e2 80 98 6e 69 6c e2 80 99 2c 20 46 4e 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 0a | urns....nil...,.FN.is.no.longer. |
| 3d600 | 20 20 20 20 20 63 61 6c 6c 65 64 2e 20 20 52 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 3b 20 | .....called...Return....nil...;. |
| 3d620 | 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 | this.function.is.intended.for.si |
| 3d640 | 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 20 20 20 20 20 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 | de.effects........Its.anaphoric. |
| 3d660 | 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 65 61 63 68 2d 77 68 69 6c 65 e2 80 | counterpart.is....--each-while.. |
| 3d680 | 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 77 68 | ..............(let.(l).(-each-wh |
| 3d6a0 | 69 6c 65 20 27 28 32 20 34 20 35 20 36 29 20 23 27 65 76 65 6e 3f 20 28 6c 61 6d 62 64 61 20 28 | ile.'(2.4.5.6).#'even?.(lambda.( |
| 3d6c0 | 78 29 20 28 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | x).(push.x.l))).l).............. |
| 3d6e0 | 20 e2 87 92 20 28 34 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d | .....(4.2)...........(let.(l).(- |
| 3d700 | 2d 65 61 63 68 2d 77 68 69 6c 65 20 27 28 31 20 32 20 33 20 34 29 20 28 3c 20 69 74 20 33 29 20 | -each-while.'(1.2.3.4).(<.it.3). |
| 3d720 | 28 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 | (push.it.l)).l)................. |
| 3d740 | 92 20 28 32 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 20 30 29 29 20 28 | ..(2.1)...........(let.((s.0)).( |
| 3d760 | 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 27 28 31 20 33 20 34 20 35 29 20 28 3c 20 69 74 20 35 29 | --each-while.'(1.3.4.5).(<.it.5) |
| 3d780 | 20 28 73 65 74 71 20 73 20 28 2b 20 73 20 69 74 29 29 29 20 73 29 0a 20 20 20 20 20 20 20 20 20 | .(setq.s.(+.s.it))).s).......... |
| 3d7a0 | 20 20 20 20 20 e2 87 92 20 38 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 61 63 68 2d | .........8...--.Function:.-each- |
| 3d7c0 | 69 6e 64 65 78 65 64 20 28 6c 69 73 74 20 66 6e 29 0a 20 20 20 20 20 43 61 6c 6c 20 46 4e 20 6f | indexed.(list.fn)......Call.FN.o |
| 3d7e0 | 6e 20 65 61 63 68 20 69 6e 64 65 78 20 61 6e 64 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 | n.each.index.and.element.of.LIST |
| 3d800 | 2e 20 20 46 6f 72 20 65 61 63 68 20 49 54 45 4d 20 61 74 20 49 4e 44 45 58 0a 20 20 20 20 20 69 | ...For.each.ITEM.at.INDEX......i |
| 3d820 | 6e 20 4c 49 53 54 2c 20 63 61 6c 6c 20 28 66 75 6e 63 61 6c 6c 20 46 4e 20 49 4e 44 45 58 20 49 | n.LIST,.call.(funcall.FN.INDEX.I |
| 3d840 | 54 45 4d 29 2e 20 20 52 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 3b 20 74 68 69 73 20 66 75 | TEM)...Return....nil...;.this.fu |
| 3d860 | 6e 63 74 69 6f 6e 0a 20 20 20 20 20 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 | nction......is.intended.for.side |
| 3d880 | 20 65 66 66 65 63 74 73 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 6d 61 | .effects........See.also:....-ma |
| 3d8a0 | 70 2d 69 6e 64 65 78 65 64 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 2d 69 6e 64 65 78 65 64 | p-indexed....(*note.-map-indexed |
| 3d8c0 | 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d | ::).............(let.(l).(-each- |
| 3d8e0 | 69 6e 64 65 78 65 64 20 27 28 61 20 62 20 63 29 20 28 6c 61 6d 62 64 61 20 28 69 20 78 29 20 28 | indexed.'(a.b.c).(lambda.(i.x).( |
| 3d900 | 70 75 73 68 20 28 6c 69 73 74 20 78 20 69 29 20 6c 29 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 | push.(list.x.i).l))).l)......... |
| 3d920 | 20 20 20 20 20 20 e2 87 92 20 28 28 63 20 32 29 20 28 62 20 31 29 20 28 61 20 30 29 29 0a 20 20 | ..........((c.2).(b.1).(a.0))... |
| 3d940 | 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 | ........(let.(l).(--each-indexed |
| 3d960 | 20 27 28 61 20 62 20 63 29 20 28 70 75 73 68 20 28 6c 69 73 74 20 69 74 20 69 74 2d 69 6e 64 65 | .'(a.b.c).(push.(list.it.it-inde |
| 3d980 | 78 29 20 6c 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 63 20 | x).l)).l)...................((c. |
| 3d9a0 | 32 29 20 28 62 20 31 29 20 28 61 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 | 2).(b.1).(a.0))...........(let.( |
| 3d9c0 | 6c 29 20 28 2d 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 28 29 20 28 70 75 73 68 20 69 74 20 6c | l).(--each-indexed.().(push.it.l |
| 3d9e0 | 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 0a 20 2d 2d 20 | )).l)...................()...--. |
| 3da00 | 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 61 63 68 2d 72 20 28 6c 69 73 74 20 66 6e 29 0a 20 20 20 20 | Function:.-each-r.(list.fn)..... |
| 3da20 | 20 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 | .Call.FN.on.each.element.of.LIST |
| 3da40 | 20 69 6e 20 72 65 76 65 72 73 65 64 20 6f 72 64 65 72 2e 20 20 52 65 74 75 72 6e 20 e2 80 98 6e | .in.reversed.order...Return....n |
| 3da60 | 69 6c e2 80 99 3b 0a 20 20 20 20 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 | il...;......this.function.is.int |
| 3da80 | 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 20 20 20 20 20 49 74 | ended.for.side.effects........It |
| 3daa0 | 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d | s.anaphoric.counterpart.is....-- |
| 3dac0 | 65 61 63 68 2d 72 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 | each-r................(let.(l).( |
| 3dae0 | 2d 65 61 63 68 2d 72 20 27 28 31 20 32 20 33 29 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 70 75 | -each-r.'(1.2.3).(lambda.(x).(pu |
| 3db00 | 73 68 20 78 20 6c 29 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 | sh.x.l))).l)...................( |
| 3db20 | 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 | 1.2.3)...........(let.(l).(--eac |
| 3db40 | 68 2d 72 20 27 28 31 20 32 20 33 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 0a 20 20 20 | h-r.'(1.2.3).(push.it.l)).l).... |
| 3db60 | 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 | ...............(1.2.3).......... |
| 3db80 | 20 28 2d 65 61 63 68 2d 72 20 27 28 31 20 32 20 33 29 20 23 27 69 64 65 6e 74 69 74 79 29 0a 20 | .(-each-r.'(1.2.3).#'identity).. |
| 3dba0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 | .................nil...--.Functi |
| 3dbc0 | 6f 6e 3a 20 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 28 6c 69 73 74 20 70 72 65 64 20 66 6e 29 | on:.-each-r-while.(list.pred.fn) |
| 3dbe0 | 0a 20 20 20 20 20 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 49 54 45 4d 20 69 6e 20 72 65 | ......Call.FN.on.each.ITEM.in.re |
| 3dc00 | 76 65 72 73 65 64 20 4c 49 53 54 2c 20 77 68 69 6c 65 20 28 50 52 45 44 20 49 54 45 4d 29 20 69 | versed.LIST,.while.(PRED.ITEM).i |
| 3dc20 | 73 0a 20 20 20 20 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 20 20 4f 6e 63 65 20 61 6e 20 49 | s......non-...nil......Once.an.I |
| 3dc40 | 54 45 4d 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 | TEM.is.reached.for.which.PRED.re |
| 3dc60 | 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 80 99 2c 0a 20 20 20 20 20 46 4e 20 69 73 20 6e 6f 20 6c | turns....nil...,......FN.is.no.l |
| 3dc80 | 6f 6e 67 65 72 20 63 61 6c 6c 65 64 2e 20 20 52 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 3b | onger.called...Return....nil...; |
| 3dca0 | 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 0a 20 20 20 20 20 | .this.function.is.intended...... |
| 3dcc0 | 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 20 20 20 20 20 49 74 73 20 61 6e 61 70 | for.side.effects........Its.anap |
| 3dce0 | 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 65 61 63 68 2d 72 | horic.counterpart.is....--each-r |
| 3dd00 | 2d 77 68 69 6c 65 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 | -while................(let.(l).( |
| 3dd20 | 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 27 28 32 20 34 20 35 20 36 29 20 23 27 65 76 65 6e 3f | -each-r-while.'(2.4.5.6).#'even? |
| 3dd40 | 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 0a 20 20 20 | .(lambda.(x).(push.x.l))).l).... |
| 3dd60 | 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 | ...............(6)...........(le |
| 3dd80 | 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 27 28 31 20 32 20 33 20 34 29 | t.(l).(--each-r-while.'(1.2.3.4) |
| 3dda0 | 20 28 3e 3d 20 69 74 20 33 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 0a 20 20 20 20 20 | .(>=.it.3).(push.it.l)).l)...... |
| 3ddc0 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 | .............(3.4)...........(le |
| 3dde0 | 74 20 28 28 73 20 30 29 29 20 28 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 27 28 31 20 32 20 | t.((s.0)).(--each-r-while.'(1.2. |
| 3de00 | 33 20 35 29 20 28 3e 20 69 74 20 31 29 20 28 73 65 74 71 20 73 20 28 2b 20 73 20 69 74 29 29 29 | 3.5).(>.it.1).(setq.s.(+.s.it))) |
| 3de20 | 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 30 0a 0a 20 2d 2d 20 46 75 | .s)...................10...--.Fu |
| 3de40 | 6e 63 74 69 6f 6e 3a 20 2d 64 6f 74 69 6d 65 73 20 28 6e 75 6d 20 66 6e 29 0a 20 20 20 20 20 43 | nction:.-dotimes.(num.fn)......C |
| 3de60 | 61 6c 6c 20 46 4e 20 4e 55 4d 20 74 69 6d 65 73 2c 20 70 72 65 73 75 6d 61 62 6c 79 20 66 6f 72 | all.FN.NUM.times,.presumably.for |
| 3de80 | 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 20 20 46 4e 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 | .side.effects...FN.is.called.wit |
| 3dea0 | 68 0a 20 20 20 20 20 61 20 73 69 6e 67 6c 65 20 61 72 67 75 6d 65 6e 74 20 6f 6e 20 73 75 63 63 | h......a.single.argument.on.succ |
| 3dec0 | 65 73 73 69 76 65 20 69 6e 74 65 67 65 72 73 20 72 75 6e 6e 69 6e 67 20 66 72 6f 6d 20 30 2c 20 | essive.integers.running.from.0,. |
| 3dee0 | 69 6e 63 6c 75 73 69 76 65 2c 0a 20 20 20 20 20 74 6f 20 4e 55 4d 2c 20 65 78 63 6c 75 73 69 76 | inclusive,......to.NUM,.exclusiv |
| 3df00 | 65 2e 20 20 46 4e 20 69 73 20 6e 6f 74 20 63 61 6c 6c 65 64 20 69 66 20 4e 55 4d 20 69 73 20 6c | e...FN.is.not.called.if.NUM.is.l |
| 3df20 | 65 73 73 20 74 68 61 6e 20 31 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 | ess.than.1........This.function. |
| 3df40 | 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 | ..s.anaphoric.counterpart.is.... |
| 3df60 | 2d 2d 64 6f 74 69 6d 65 73 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 73 | --dotimes................(let.(s |
| 3df80 | 29 20 28 2d 64 6f 74 69 6d 65 73 20 33 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 70 75 73 68 20 | ).(-dotimes.3.(lambda.(n).(push. |
| 3dfa0 | 6e 20 73 29 29 29 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 31 | n.s))).s)...................(2.1 |
| 3dfc0 | 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 73 29 20 28 2d 64 6f 74 69 6d 65 73 | .0)...........(let.(s).(-dotimes |
| 3dfe0 | 20 30 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 70 75 73 68 20 6e 20 73 29 29 29 20 73 29 0a 20 | .0.(lambda.(n).(push.n.s))).s).. |
| 3e000 | 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c | .................()...........(l |
| 3e020 | 65 74 20 28 73 29 20 28 2d 2d 64 6f 74 69 6d 65 73 20 35 20 28 70 75 73 68 20 69 74 20 73 29 29 | et.(s).(--dotimes.5.(push.it.s)) |
| 3e040 | 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 20 33 20 32 20 31 20 30 | .s)...................(4.3.2.1.0 |
| 3e060 | 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 44 65 73 | )....File:.dash.info,..Node:.Des |
| 3e080 | 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 46 75 6e 63 | tructive.operations,..Next:.Func |
| 3e0a0 | 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2c 20 20 50 72 65 76 3a 20 53 69 64 65 20 65 66 | tion.combinators,..Prev:.Side.ef |
| 3e0c0 | 66 65 63 74 73 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 35 20 44 65 73 74 | fects,..Up:.Functions..2.15.Dest |
| 3e0e0 | 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ructive.operations.============= |
| 3e100 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 6d 6f 64 69 | ==============..Macros.that.modi |
| 3e120 | 66 79 20 76 61 72 69 61 62 6c 65 73 20 68 6f 6c 64 69 6e 67 20 6c 69 73 74 73 2e 0a 0a 20 2d 2d | fy.variables.holding.lists....-- |
| 3e140 | 20 4d 61 63 72 6f 3a 20 21 63 6f 6e 73 20 28 63 61 72 20 63 64 72 29 0a 20 20 20 20 20 44 65 73 | .Macro:.!cons.(car.cdr)......Des |
| 3e160 | 74 72 75 63 74 69 76 65 3a 20 53 65 74 20 43 44 52 20 74 6f 20 74 68 65 20 63 6f 6e 73 20 6f 66 | tructive:.Set.CDR.to.the.cons.of |
| 3e180 | 20 43 41 52 20 61 6e 64 20 43 44 52 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c | .CAR.and.CDR.............(let.(l |
| 3e1a0 | 29 20 28 21 63 6f 6e 73 20 35 20 6c 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 | ).(!cons.5.l).l)................ |
| 3e1c0 | 87 92 20 28 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 20 27 28 33 29 29 29 | ...(5)...........(let.((l.'(3))) |
| 3e1e0 | 20 28 21 63 6f 6e 73 20 35 20 6c 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 | .(!cons.5.l).l)................. |
| 3e200 | 92 20 28 35 20 33 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 21 63 64 72 20 28 6c 69 73 74 29 0a | ..(5.3)...--.Macro:.!cdr.(list). |
| 3e220 | 20 20 20 20 20 44 65 73 74 72 75 63 74 69 76 65 3a 20 53 65 74 20 4c 49 53 54 20 74 6f 20 74 68 | .....Destructive:.Set.LIST.to.th |
| 3e240 | 65 20 63 64 72 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 | e.cdr.of.LIST.............(let.( |
| 3e260 | 28 6c 20 27 28 33 29 29 29 20 28 21 63 64 72 20 6c 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 | (l.'(3))).(!cdr.l).l)........... |
| 3e280 | 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 20 27 28 | ........()...........(let.((l.'( |
| 3e2a0 | 33 20 35 29 29 29 20 28 21 63 64 72 20 6c 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | 3.5))).(!cdr.l).l).............. |
| 3e2c0 | 20 e2 87 92 20 28 35 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f | .....(5)....File:.dash.info,..No |
| 3e2e0 | 64 65 3a 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2c 20 20 50 72 65 76 3a | de:.Function.combinators,..Prev: |
| 3e300 | 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 55 70 3a 20 46 75 | .Destructive.operations,..Up:.Fu |
| 3e320 | 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 36 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f | nctions..2.16.Function.combinato |
| 3e340 | 72 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 | rs.=========================..Fu |
| 3e360 | 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 6d 61 6e 69 70 75 6c 61 74 65 20 61 6e 64 20 63 6f 6d 70 | nctions.that.manipulate.and.comp |
| 3e380 | 6f 73 65 20 6f 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 | ose.other.functions....--.Functi |
| 3e3a0 | 6f 6e 3a 20 2d 70 61 72 74 69 61 6c 20 28 66 75 6e 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 | on:.-partial.(fun.&rest.args)... |
| 3e3c0 | 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 73 20 61 20 70 | ...Return.a.function.that.is.a.p |
| 3e3e0 | 61 72 74 69 61 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 46 55 4e 20 74 6f 20 41 52 47 | artial.application.of.FUN.to.ARG |
| 3e400 | 53 2e 0a 20 20 20 20 20 41 52 47 53 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 | S.......ARGS.is.a.list.of.the.fi |
| 3e420 | 72 73 74 20 4e 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 70 61 73 73 20 74 6f 20 46 55 4e 2e 20 | rst.N.arguments.to.pass.to.FUN.. |
| 3e440 | 20 54 68 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 69 73 20 61 20 6e 65 77 20 66 75 6e 63 74 69 | .The.result......is.a.new.functi |
| 3e460 | 6f 6e 20 77 68 69 63 68 20 64 6f 65 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 46 55 4e 2c 20 65 | on.which.does.the.same.as.FUN,.e |
| 3e480 | 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 66 69 72 73 74 0a 20 20 20 20 20 4e 20 61 72 67 75 | xcept.that.the.first......N.argu |
| 3e4a0 | 6d 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 20 61 74 20 74 68 65 20 76 61 6c 75 65 73 20 77 69 | ments.are.fixed.at.the.values.wi |
| 3e4c0 | 74 68 20 77 68 69 63 68 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 0a 20 20 20 20 20 | th.which.this.function.was...... |
| 3e4e0 | 63 61 6c 6c 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 70 61 | called.............(funcall.(-pa |
| 3e500 | 72 74 69 61 6c 20 23 27 2b 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 | rtial.#'+.5))................... |
| 3e520 | 35 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 | 5...........(funcall.(-partial.# |
| 3e540 | 27 2d 20 35 29 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 0a 20 20 20 | '-.5).3)...................2.... |
| 3e560 | 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 27 2b 20 35 20 | .......(funcall.(-partial.#'+.5. |
| 3e580 | 32 29 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 30 0a 0a 20 2d 2d 20 | 2).3)...................10...--. |
| 3e5a0 | 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 70 61 72 74 69 61 6c 20 28 66 6e 20 26 72 65 73 74 20 61 72 | Function:.-rpartial.(fn.&rest.ar |
| 3e5c0 | 67 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 | gs)......Return.a.function.that. |
| 3e5e0 | 69 73 20 61 20 70 61 72 74 69 61 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 46 4e 20 74 | is.a.partial.application.of.FN.t |
| 3e600 | 6f 20 41 52 47 53 2e 0a 20 20 20 20 20 41 52 47 53 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 | o.ARGS.......ARGS.is.a.list.of.t |
| 3e620 | 68 65 20 6c 61 73 74 20 4e 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 70 61 73 73 20 74 6f 20 46 | he.last.N.arguments.to.pass.to.F |
| 3e640 | 4e 2e 20 20 54 68 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 69 73 20 61 20 6e 65 77 20 66 75 6e | N...The.result......is.a.new.fun |
| 3e660 | 63 74 69 6f 6e 20 77 68 69 63 68 20 64 6f 65 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 46 4e 2c | ction.which.does.the.same.as.FN, |
| 3e680 | 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 6c 61 73 74 20 4e 0a 20 20 20 20 20 61 72 67 | .except.that.the.last.N......arg |
| 3e6a0 | 75 6d 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 20 61 74 20 74 68 65 20 76 61 6c 75 65 73 20 77 | uments.are.fixed.at.the.values.w |
| 3e6c0 | 69 74 68 20 77 68 69 63 68 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 0a 20 20 20 20 | ith.which.this.function.was..... |
| 3e6e0 | 20 63 61 6c 6c 65 64 2e 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 e2 80 98 2d 70 61 72 74 69 | .called...This.is.like....-parti |
| 3e700 | 61 6c e2 80 99 20 28 2a 6e 6f 74 65 20 2d 70 61 72 74 69 61 6c 3a 3a 29 2c 20 65 78 63 65 70 74 | al....(*note.-partial::),.except |
| 3e720 | 20 74 68 65 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 20 73 74 | .the......arguments.are.fixed.st |
| 3e740 | 61 72 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 20 72 61 74 68 65 72 20 74 68 61 | arting.from.the.right.rather.tha |
| 3e760 | 6e 20 74 68 65 20 6c 65 66 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 | n.the.left.............(funcall. |
| 3e780 | 28 2d 72 70 61 72 74 69 61 6c 20 23 27 2d 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | (-rpartial.#'-.5)).............. |
| 3e7a0 | 20 e2 87 92 20 2d 35 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 72 70 61 | .....-5...........(funcall.(-rpa |
| 3e7c0 | 72 74 69 61 6c 20 23 27 2d 20 35 29 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 | rtial.#'-.5).8)................. |
| 3e7e0 | 92 20 33 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 72 70 61 72 74 69 61 | ..3...........(funcall.(-rpartia |
| 3e800 | 6c 20 23 27 2d 20 35 20 32 29 20 31 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 | l.#'-.5.2).10).................. |
| 3e820 | 20 33 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6a 75 78 74 20 28 26 72 65 73 74 20 66 | .3...--.Function:.-juxt.(&rest.f |
| 3e840 | 6e 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 | ns)......Return.a.function.that. |
| 3e860 | 69 73 20 74 68 65 20 6a 75 78 74 61 70 6f 73 69 74 69 6f 6e 20 6f 66 20 46 4e 53 2e 20 20 54 68 | is.the.juxtaposition.of.FNS...Th |
| 3e880 | 65 20 72 65 74 75 72 6e 65 64 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 | e.returned......function.takes.a |
| 3e8a0 | 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 41 52 47 53 2c 20 61 70 70 6c 69 65 | .variable.number.of.ARGS,.applie |
| 3e8c0 | 73 20 65 61 63 68 20 6f 66 20 46 4e 53 20 69 6e 0a 20 20 20 20 20 74 75 72 6e 20 74 6f 20 41 52 | s.each.of.FNS.in......turn.to.AR |
| 3e8e0 | 47 53 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 | GS,.and.returns.the.list.of.resu |
| 3e900 | 6c 74 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 6a 75 78 74 29 | lts.............(funcall.(-juxt) |
| 3e920 | 20 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 | .1.2)...................()...... |
| 3e940 | 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 6a 75 78 74 20 23 27 2b 20 23 27 2d 20 23 27 2a | .....(funcall.(-juxt.#'+.#'-.#'* |
| 3e960 | 20 23 27 2f 29 20 37 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 32 | .#'/).7.5)...................(12 |
| 3e980 | 20 32 20 33 35 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 2d 6a 75 78 | .2.35.1)...........(mapcar.(-jux |
| 3e9a0 | 74 20 23 27 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 23 27 31 2b 29 20 27 28 31 20 32 | t.#'number-to-string.#'1+).'(1.2 |
| 3e9c0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 22 31 22 20 32 29 20 28 22 | ))...................(("1".2).(" |
| 3e9e0 | 32 22 20 33 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 6d 70 6f 73 65 20 28 | 2".3))...--.Function:.-compose.( |
| 3ea00 | 26 72 65 73 74 20 66 6e 73 29 0a 20 20 20 20 20 43 6f 6d 70 6f 73 65 20 46 4e 53 20 69 6e 74 6f | &rest.fns)......Compose.FNS.into |
| 3ea20 | 20 61 20 73 69 6e 67 6c 65 20 63 6f 6d 70 6f 73 69 74 65 20 66 75 6e 63 74 69 6f 6e 2e 20 20 52 | .a.single.composite.function...R |
| 3ea40 | 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 74 68 61 74 20 74 61 6b 65 73 | eturn.a.function......that.takes |
| 3ea60 | 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 41 52 47 53 2c 20 61 70 70 6c | .a.variable.number.of.ARGS,.appl |
| 3ea80 | 69 65 73 20 74 68 65 20 6c 61 73 74 20 66 75 6e 63 74 69 6f 6e 20 69 6e 0a 20 20 20 20 20 46 4e | ies.the.last.function.in......FN |
| 3eaa0 | 53 20 74 6f 20 41 52 47 53 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 72 65 73 75 6c | S.to.ARGS,.and.returns.the.resul |
| 3eac0 | 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 65 61 63 68 20 72 65 6d 61 69 6e 69 6e 67 0a 20 20 20 20 | t.of.calling.each.remaining..... |
| 3eae0 | 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 70 | .function.on.the.result.of.the.p |
| 3eb00 | 72 65 76 69 6f 75 73 20 66 75 6e 63 74 69 6f 6e 2c 20 72 69 67 68 74 2d 74 6f 2d 6c 65 66 74 2e | revious.function,.right-to-left. |
| 3eb20 | 20 20 49 66 0a 20 20 20 20 20 6e 6f 20 46 4e 53 20 61 72 65 20 67 69 76 65 6e 2c 20 72 65 74 75 | ..If......no.FNS.are.given,.retu |
| 3eb40 | 72 6e 20 61 20 76 61 72 69 61 64 69 63 20 e2 80 98 69 64 65 6e 74 69 74 79 e2 80 99 20 66 75 6e | rn.a.variadic....identity....fun |
| 3eb60 | 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 63 6f 6d | ction.............(funcall.(-com |
| 3eb80 | 70 6f 73 65 20 23 27 2d 20 23 27 31 2b 20 23 27 2b 29 20 31 20 32 20 33 29 0a 20 20 20 20 20 20 | pose.#'-.#'1+.#'+).1.2.3)....... |
| 3eba0 | 20 20 20 20 20 20 20 20 e2 87 92 20 2d 37 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c | ............-7...........(funcal |
| 3ebc0 | 6c 20 28 2d 63 6f 6d 70 6f 73 65 20 23 27 69 64 65 6e 74 69 74 79 20 23 27 31 2b 29 20 33 29 0a | l.(-compose.#'identity.#'1+).3). |
| 3ebe0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 34 0a 20 20 20 20 20 20 20 20 20 20 28 6d | ..................4...........(m |
| 3ec00 | 61 70 63 61 72 20 28 2d 63 6f 6d 70 6f 73 65 20 23 27 6e 6f 74 20 23 27 73 74 72 69 6e 67 70 29 | apcar.(-compose.#'not.#'stringp) |
| 3ec20 | 20 27 28 6e 69 6c 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 74 | .'(nil.""))...................(t |
| 3ec40 | 20 6e 69 6c 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 61 70 70 6c 69 66 79 20 28 66 | .nil)...--.Function:.-applify.(f |
| 3ec60 | 6e 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 | n)......Return.a.function.that.a |
| 3ec80 | 70 70 6c 69 65 73 20 46 4e 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 6c 69 73 74 20 6f 66 20 61 72 | pplies.FN.to.a.single.list.of.ar |
| 3eca0 | 67 73 2e 20 20 54 68 69 73 0a 20 20 20 20 20 63 68 61 6e 67 65 73 20 74 68 65 20 61 72 69 74 79 | gs...This......changes.the.arity |
| 3ecc0 | 20 6f 66 20 46 4e 20 66 72 6f 6d 20 74 61 6b 69 6e 67 20 4e 20 64 69 73 74 69 6e 63 74 20 61 72 | .of.FN.from.taking.N.distinct.ar |
| 3ece0 | 67 75 6d 65 6e 74 73 20 74 6f 20 74 61 6b 69 6e 67 0a 20 20 20 20 20 31 20 61 72 67 75 6d 65 6e | guments.to.taking......1.argumen |
| 3ed00 | 74 20 77 68 69 63 68 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 4e 20 61 72 67 75 6d 65 6e 74 73 | t.which.is.a.list.of.N.arguments |
| 3ed20 | 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 61 70 70 6c 69 66 79 20 | .............(funcall.(-applify. |
| 3ed40 | 23 27 2b 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 30 0a 20 20 | #'+).nil)...................0... |
| 3ed60 | 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 2d 61 70 70 6c 69 66 79 20 23 27 2b 29 20 27 | ........(mapcar.(-applify.#'+).' |
| 3ed80 | 28 28 31 20 31 20 31 29 20 28 31 20 32 20 33 29 20 28 35 20 35 20 35 29 29 29 0a 20 20 20 20 20 | ((1.1.1).(1.2.3).(5.5.5)))...... |
| 3eda0 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 36 20 31 35 29 0a 20 20 20 20 20 20 20 20 20 20 | .............(3.6.15)........... |
| 3edc0 | 28 66 75 6e 63 61 6c 6c 20 28 2d 61 70 70 6c 69 66 79 20 23 27 3c 29 20 27 28 33 20 36 29 29 0a | (funcall.(-applify.#'<).'(3.6)). |
| 3ede0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f | ..................t...--.Functio |
| 3ee00 | 6e 3a 20 2d 6f 6e 20 28 6f 70 20 74 72 61 6e 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 | n:.-on.(op.trans)......Return.a. |
| 3ee20 | 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 54 52 41 4e 53 20 6f 6e 20 65 61 63 | function.that.calls.TRANS.on.eac |
| 3ee40 | 68 20 61 72 67 20 61 6e 64 20 4f 50 20 6f 6e 20 74 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 73 | h.arg.and.OP.on.the......results |
| 3ee60 | 2e 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 | ...The.returned.function.takes.a |
| 3ee80 | 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 61 72 67 75 6d 65 6e | .variable.number.of......argumen |
| 3eea0 | 74 73 2c 20 63 61 6c 6c 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 54 52 41 4e 53 20 6f 6e 20 | ts,.calls.the.function.TRANS.on. |
| 3eec0 | 65 61 63 68 20 6f 6e 65 20 69 6e 20 74 75 72 6e 2c 20 61 6e 64 20 74 68 65 6e 0a 20 20 20 20 20 | each.one.in.turn,.and.then...... |
| 3eee0 | 70 61 73 73 65 73 20 74 68 6f 73 65 20 72 65 73 75 6c 74 73 20 61 73 20 74 68 65 20 6c 69 73 74 | passes.those.results.as.the.list |
| 3ef00 | 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 4f 50 2c 20 69 6e 20 74 68 65 20 73 61 6d 65 | .of.arguments.to.OP,.in.the.same |
| 3ef20 | 0a 20 20 20 20 20 6f 72 64 65 72 2e 0a 0a 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 | ......order........For.example,. |
| 3ef40 | 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 69 72 73 20 6f 66 20 65 78 70 72 65 73 73 69 6f | the.following.pairs.of.expressio |
| 3ef60 | 6e 73 20 61 72 65 20 6d 6f 72 61 6c 6c 79 0a 20 20 20 20 20 65 71 75 69 76 61 6c 65 6e 74 3a 0a | ns.are.morally......equivalent:. |
| 3ef80 | 0a 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 6f 6e 20 23 e2 80 99 2b 20 23 e2 80 99 31 2b | ......(funcall.(-on.#...+.#...1+ |
| 3efa0 | 29 20 31 20 32 20 33 29 20 3d 20 28 2b 20 28 31 2b 20 31 29 20 28 31 2b 20 32 29 20 28 31 2b 20 | ).1.2.3).=.(+.(1+.1).(1+.2).(1+. |
| 3efc0 | 33 29 29 20 28 66 75 6e 63 61 6c 6c 0a 20 20 20 20 20 28 2d 6f 6e 20 23 e2 80 99 2b 20 23 e2 80 | 3)).(funcall......(-on.#...+.#.. |
| 3efe0 | 99 31 2b 29 29 20 3d 20 28 2b 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 28 2d | .1+)).=.(+)............(-sort.(- |
| 3f000 | 6f 6e 20 23 27 3c 20 23 27 6c 65 6e 67 74 68 29 20 27 28 28 31 20 32 20 33 29 20 28 31 29 20 28 | on.#'<.#'length).'((1.2.3).(1).( |
| 3f020 | 31 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 20 28 31 | 1.2)))...................((1).(1 |
| 3f040 | 20 32 29 20 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 | .2).(1.2.3))...........(funcall. |
| 3f060 | 28 2d 6f 6e 20 23 27 6d 69 6e 20 23 27 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 29 20 22 | (-on.#'min.#'string-to-number)." |
| 3f080 | 32 32 22 20 22 32 22 20 22 31 22 20 22 31 32 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 22"."2"."1"."12")............... |
| 3f0a0 | e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 69 6e 2d 62 79 20 28 2d 6f 6e 20 23 27 | ....1...........(-min-by.(-on.#' |
| 3f0c0 | 3e 20 23 27 6c 65 6e 67 74 68 29 20 27 28 28 31 20 32 20 33 29 20 28 34 29 20 28 31 20 32 29 29 | >.#'length).'((1.2.3).(4).(1.2)) |
| 3f0e0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 29 0a 0a 20 2d 2d 20 46 75 6e | )...................(4)...--.Fun |
| 3f100 | 63 74 69 6f 6e 3a 20 2d 66 6c 69 70 20 28 66 6e 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 | ction:.-flip.(fn)......Return.a. |
| 3f120 | 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 46 4e 20 77 69 74 68 20 69 74 73 20 | function.that.calls.FN.with.its. |
| 3f140 | 61 72 67 75 6d 65 6e 74 73 20 72 65 76 65 72 73 65 64 2e 20 20 54 68 65 0a 20 20 20 20 20 72 65 | arguments.reversed...The......re |
| 3f160 | 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 74 68 65 20 73 61 6d 65 20 6e | turned.function.takes.the.same.n |
| 3f180 | 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 73 20 46 4e 2e 0a 0a 20 20 20 20 20 | umber.of.arguments.as.FN........ |
| 3f1a0 | 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 77 6f 20 65 | For.example,.the.following.two.e |
| 3f1c0 | 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 6d 6f 72 61 6c 6c 79 20 65 71 75 69 76 61 6c 65 6e | xpressions.are.morally.equivalen |
| 3f1e0 | 74 3a 0a 0a 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 66 6c 69 70 20 23 e2 80 99 2d 29 20 | t:.......(funcall.(-flip.#...-). |
| 3f200 | 31 20 32 29 20 3d 20 28 2d 20 32 20 31 29 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 | 1.2).=.(-.2.1).......See.also:.. |
| 3f220 | 80 98 2d 72 6f 74 61 74 65 2d 61 72 67 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 6f 74 61 74 65 | ..-rotate-args....(*note.-rotate |
| 3f240 | 2d 61 72 67 73 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 28 2d 66 6c | -args::).............(-sort.(-fl |
| 3f260 | 69 70 20 23 27 3c 29 20 27 28 34 20 33 20 36 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ip.#'<).'(4.3.6.1))............. |
| 3f280 | 20 20 e2 87 92 20 28 36 20 34 20 33 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 | ......(6.4.3.1)...........(funca |
| 3f2a0 | 6c 6c 20 28 2d 66 6c 69 70 20 23 27 2d 29 20 33 20 32 20 31 20 31 30 29 0a 20 20 20 20 20 20 20 | ll.(-flip.#'-).3.2.1.10)........ |
| 3f2c0 | 20 20 20 20 20 20 20 e2 87 92 20 34 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 | ...........4...........(funcall. |
| 3f2e0 | 28 2d 66 6c 69 70 20 23 27 31 2b 29 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 | (-flip.#'1+).1)................. |
| 3f300 | 92 20 32 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 | ..2...--.Function:.-rotate-args. |
| 3f320 | 28 6e 20 66 6e 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 | (n.fn)......Return.a.function.th |
| 3f340 | 61 74 20 63 61 6c 6c 73 20 46 4e 20 77 69 74 68 20 61 72 67 73 20 72 6f 74 61 74 65 64 20 4e 20 | at.calls.FN.with.args.rotated.N. |
| 3f360 | 70 6c 61 63 65 73 20 74 6f 20 74 68 65 0a 20 20 20 20 20 72 69 67 68 74 2e 20 20 54 68 65 20 72 | places.to.the......right...The.r |
| 3f380 | 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 74 68 65 20 73 61 6d 65 20 | eturned.function.takes.the.same. |
| 3f3a0 | 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 73 0a 20 20 20 20 20 46 4e 2c 20 | number.of.arguments.as......FN,. |
| 3f3c0 | 72 6f 74 61 74 65 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 4e 20 | rotates.the.list.of.arguments.N. |
| 3f3e0 | 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 67 68 74 20 28 6c 65 66 74 20 69 66 20 4e 0a 20 | places.to.the.right.(left.if.N.. |
| 3f400 | 20 20 20 20 69 73 20 6e 65 67 61 74 69 76 65 29 20 6a 75 73 74 20 6c 69 6b 65 20 e2 80 98 2d 72 | ....is.negative).just.like....-r |
| 3f420 | 6f 74 61 74 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 6f 74 61 74 65 3a 3a 29 2c 20 61 6e 64 20 | otate....(*note.-rotate::),.and. |
| 3f440 | 61 70 70 6c 69 65 73 20 46 4e 0a 20 20 20 20 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a | applies.FN......to.the.result... |
| 3f460 | 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 66 6c 69 70 e2 80 99 20 28 2a 6e 6f 74 | .....See.also:....-flip....(*not |
| 3f480 | 65 20 2d 66 6c 69 70 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 | e.-flip::).............(funcall. |
| 3f4a0 | 28 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 2d 31 20 23 27 6c 69 73 74 29 20 31 20 32 20 33 20 34 | (-rotate-args.-1.#'list).1.2.3.4 |
| 3f4c0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 33 20 34 20 31 29 0a 20 20 | )...................(2.3.4.1)... |
| 3f4e0 | 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 31 | ........(funcall.(-rotate-args.1 |
| 3f500 | 20 23 27 2d 29 20 31 20 31 30 20 31 30 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 | .#'-).1.10.100)................. |
| 3f520 | 92 20 38 39 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 72 6f 74 61 74 65 | ..89...........(funcall.(-rotate |
| 3f540 | 2d 61 72 67 73 20 32 20 23 27 6c 69 73 74 29 20 33 20 34 20 35 20 31 20 32 29 0a 20 20 20 20 20 | -args.2.#'list).3.4.5.1.2)...... |
| 3f560 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 29 0a 0a 20 2d 2d 20 46 75 | .............(1.2.3.4.5)...--.Fu |
| 3f580 | 6e 63 74 69 6f 6e 3a 20 2d 63 6f 6e 73 74 20 28 63 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 | nction:.-const.(c)......Return.a |
| 3f5a0 | 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 43 20 69 67 6e 6f 72 69 6e | .function.that.returns.C.ignorin |
| 3f5c0 | 67 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 | g.any.additional.arguments...... |
| 3f5e0 | 20 20 49 6e 20 74 79 70 65 73 3a 20 61 20 2d 3e 20 62 20 2d 3e 20 61 0a 0a 20 20 20 20 20 20 20 | ..In.types:.a.->.b.->.a......... |
| 3f600 | 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 63 6f 6e 73 74 20 32 29 20 31 20 33 20 22 66 6f 6f 22 | ...(funcall.(-const.2).1.3."foo" |
| 3f620 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 0a 20 20 20 20 20 20 20 20 20 20 | )...................2........... |
| 3f640 | 28 6d 61 70 63 61 72 20 28 2d 63 6f 6e 73 74 20 31 29 20 27 28 22 61 22 20 22 62 22 20 22 63 22 | (mapcar.(-const.1).'("a"."b"."c" |
| 3f660 | 20 22 64 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 31 20 31 20 | ."d"))...................(1.1.1. |
| 3f680 | 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 75 6d 20 28 6d 61 70 63 61 72 20 28 2d 63 6f 6e | 1)...........(-sum.(mapcar.(-con |
| 3f6a0 | 73 74 20 31 29 20 27 28 22 61 22 20 22 62 22 20 22 63 22 20 22 64 22 29 29 29 0a 20 20 20 20 20 | st.1).'("a"."b"."c"."d")))...... |
| 3f6c0 | 20 20 20 20 20 20 20 20 20 e2 87 92 20 34 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 63 75 74 20 | .............4...--.Macro:.-cut. |
| 3f6e0 | 28 26 72 65 73 74 20 70 61 72 61 6d 73 29 0a 20 20 20 20 20 54 61 6b 65 20 6e 2d 61 72 79 20 66 | (&rest.params)......Take.n-ary.f |
| 3f700 | 75 6e 63 74 69 6f 6e 20 61 6e 64 20 6e 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 73 70 65 63 | unction.and.n.arguments.and.spec |
| 3f720 | 69 61 6c 69 7a 65 20 73 6f 6d 65 20 6f 66 20 74 68 65 6d 2e 0a 20 20 20 20 20 41 72 67 75 6d 65 | ialize.some.of.them.......Argume |
| 3f740 | 6e 74 73 20 64 65 6e 6f 74 65 64 20 62 79 20 3c 3e 20 77 69 6c 6c 20 62 65 20 6c 65 66 74 20 75 | nts.denoted.by.<>.will.be.left.u |
| 3f760 | 6e 73 70 65 63 69 61 6c 69 7a 65 64 2e 0a 0a 20 20 20 20 20 53 65 65 20 53 52 46 49 2d 32 36 20 | nspecialized........See.SRFI-26. |
| 3f780 | 66 6f 72 20 64 65 74 61 69 6c 65 64 20 64 65 73 63 72 69 70 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 | for.detailed.description........ |
| 3f7a0 | 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 63 75 74 20 6c 69 73 74 20 31 20 3c 3e 20 33 20 | .....(funcall.(-cut.list.1.<>.3. |
| 3f7c0 | 3c 3e 20 35 29 20 32 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 | <>.5).2.4)...................(1. |
| 3f7e0 | 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 28 2d 63 75 74 20 66 | 2.3.4.5)...........(-map.(-cut.f |
| 3f800 | 75 6e 63 61 6c 6c 20 3c 3e 20 35 29 20 60 28 31 2b 20 31 2d 20 2c 28 6c 61 6d 62 64 61 20 28 78 | uncall.<>.5).`(1+.1-.,(lambda.(x |
| 3f820 | 29 20 28 2f 20 31 2e 30 20 78 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 | ).(/.1.0.x)))).................. |
| 3f840 | 20 28 36 20 34 20 30 2e 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 28 2d 63 75 74 | .(6.4.0.2)...........(-map.(-cut |
| 3f860 | 20 3c 3e 20 31 20 32 20 33 29 20 27 28 6c 69 73 74 20 76 65 63 74 6f 72 20 73 74 72 69 6e 67 29 | .<>.1.2.3).'(list.vector.string) |
| 3f880 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 5b 31 20 | )...................((1.2.3).[1. |
| 3f8a0 | 32 20 33 5d 20 22 5c 31 5c 32 5c 33 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6e | 2.3]."\1\2\3")...--.Function:.-n |
| 3f8c0 | 6f 74 20 28 70 72 65 64 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 | ot.(pred)......Return.a.predicat |
| 3f8e0 | 65 20 74 68 61 74 20 6e 65 67 61 74 65 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 | e.that.negates.the.result.of.PRE |
| 3f900 | 44 2e 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 0a 20 20 20 20 20 70 72 65 64 69 63 61 74 65 20 | D...The.returned......predicate. |
| 3f920 | 70 61 73 73 65 73 20 69 74 73 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 50 52 45 44 2e 20 20 49 | passes.its.arguments.to.PRED...I |
| 3f940 | 66 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 0a 20 20 | f.PRED.returns....nil...,.the... |
| 3f960 | 20 20 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 3b 20 6f 74 68 65 | ...result.is.non-...nil...;.othe |
| 3f980 | 72 77 69 73 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 0a | rwise.the.result.is....nil...... |
| 3f9a0 | 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 61 6e 64 66 6e e2 80 99 20 28 2a 6e 6f | .....See.also:....-andfn....(*no |
| 3f9c0 | 74 65 20 2d 61 6e 64 66 6e 3a 3a 29 20 61 6e 64 20 e2 80 98 2d 6f 72 66 6e e2 80 99 20 28 2a 6e | te.-andfn::).and....-orfn....(*n |
| 3f9e0 | 6f 74 65 20 2d 6f 72 66 6e 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c | ote.-orfn::).............(funcal |
| 3fa00 | 6c 20 28 2d 6e 6f 74 20 23 27 6e 75 6d 62 65 72 70 29 20 22 35 22 29 0a 20 20 20 20 20 20 20 20 | l.(-not.#'numberp)."5")......... |
| 3fa20 | 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 28 2d 6e | ..........t...........(-sort.(-n |
| 3fa40 | 6f 74 20 23 27 3c 29 20 27 28 35 20 32 20 31 20 30 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ot.#'<).'(5.2.1.0.6))........... |
| 3fa60 | 20 20 20 20 e2 87 92 20 28 36 20 35 20 32 20 31 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d | ........(6.5.2.1.0)...........(- |
| 3fa80 | 66 69 6c 74 65 72 20 28 2d 6e 6f 74 20 28 2d 70 61 72 74 69 61 6c 20 23 27 3c 20 34 29 29 20 27 | filter.(-not.(-partial.#'<.4)).' |
| 3faa0 | 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | (1.2.3.4.5.6.7.8)).............. |
| 3fac0 | 20 e2 87 92 20 28 31 20 32 20 33 20 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6f | .....(1.2.3.4)...--.Function:.-o |
| 3fae0 | 72 66 6e 20 28 26 72 65 73 74 20 70 72 65 64 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 | rfn.(&rest.preds)......Return.a. |
| 3fb00 | 70 72 65 64 69 63 61 74 65 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 69 72 73 74 | predicate.that.returns.the.first |
| 3fb20 | 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 72 65 73 75 6c 74 20 6f 66 0a 20 20 20 20 20 50 52 | .non-...nil....result.of......PR |
| 3fb40 | 45 44 53 2e 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 74 61 6b | EDS...The.returned.predicate.tak |
| 3fb60 | 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 61 72 67 | es.a.variable.number.of......arg |
| 3fb80 | 75 6d 65 6e 74 73 2c 20 70 61 73 73 65 73 20 74 68 65 6d 20 74 6f 20 65 61 63 68 20 70 72 65 64 | uments,.passes.them.to.each.pred |
| 3fba0 | 69 63 61 74 65 20 69 6e 20 50 52 45 44 53 20 69 6e 20 74 75 72 6e 20 75 6e 74 69 6c 20 6f 6e 65 | icate.in.PREDS.in.turn.until.one |
| 3fbc0 | 0a 20 20 20 20 20 6f 66 20 74 68 65 6d 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c | ......of.them.returns.non-...nil |
| 3fbe0 | e2 80 99 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 61 74 20 6e 6f 6e 2d e2 80 98 6e 69 6c | ...,.and.returns.that.non-...nil |
| 3fc00 | e2 80 99 20 72 65 73 75 6c 74 0a 20 20 20 20 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 | ....result......without.calling. |
| 3fc20 | 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 50 52 45 44 53 2e 20 20 49 66 20 61 6c 6c 20 50 52 45 | the.remaining.PREDS...If.all.PRE |
| 3fc40 | 44 53 20 72 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 2c 20 6f 72 0a 20 20 20 20 20 69 66 20 | DS.return....nil...,.or......if. |
| 3fc60 | 6e 6f 20 50 52 45 44 53 20 61 72 65 20 67 69 76 65 6e 2c 20 74 68 65 20 72 65 74 75 72 6e 65 64 | no.PREDS.are.given,.the.returned |
| 3fc80 | 20 70 72 65 64 69 63 61 74 65 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 | .predicate.returns....nil....... |
| 3fca0 | 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 61 6e 64 66 6e e2 80 99 20 28 2a 6e 6f 74 | ....See.also:....-andfn....(*not |
| 3fcc0 | 65 20 2d 61 6e 64 66 6e 3a 3a 29 20 61 6e 64 20 e2 80 98 2d 6e 6f 74 e2 80 99 20 28 2a 6e 6f 74 | e.-andfn::).and....-not....(*not |
| 3fce0 | 65 20 2d 6e 6f 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6c 74 65 72 20 28 | e.-not::).............(-filter.( |
| 3fd00 | 2d 6f 72 66 6e 20 23 27 6e 61 74 6e 75 6d 70 20 23 27 62 6f 6f 6c 65 61 6e 70 29 20 27 28 31 20 | -orfn.#'natnump.#'booleanp).'(1. |
| 3fd20 | 6e 69 6c 20 22 61 22 20 2d 34 20 62 20 63 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | nil."a".-4.b.c.t)).............. |
| 3fd40 | 20 e2 87 92 20 28 31 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c | .....(1.nil.t)...........(funcal |
| 3fd60 | 6c 20 28 2d 6f 72 66 6e 20 23 27 73 79 6d 62 6f 6c 70 20 28 2d 63 75 74 20 73 74 72 69 6e 67 2d | l.(-orfn.#'symbolp.(-cut.string- |
| 3fd80 | 6d 61 74 63 68 2d 70 20 22 78 22 20 3c 3e 29 29 20 22 61 78 65 22 29 0a 20 20 20 20 20 20 20 20 | match-p."x".<>))."axe")......... |
| 3fda0 | 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 | ..........1...........(funcall.( |
| 3fdc0 | 2d 6f 72 66 6e 20 23 27 3d 20 23 27 2b 29 20 31 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | -orfn.#'=.#'+).1.1)............. |
| 3fde0 | 20 20 e2 87 92 20 74 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 61 6e 64 66 6e 20 28 26 | ......t...--.Function:.-andfn.(& |
| 3fe00 | 72 65 73 74 20 70 72 65 64 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 | rest.preds)......Return.a.predic |
| 3fe20 | 61 74 65 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 | ate.that.returns.non-...nil....i |
| 3fe40 | 66 20 61 6c 6c 20 50 52 45 44 53 20 64 6f 20 73 6f 2e 20 20 54 68 65 0a 20 20 20 20 20 72 65 74 | f.all.PREDS.do.so...The......ret |
| 3fe60 | 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 50 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 | urned.predicate.P.takes.a.variab |
| 3fe80 | 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 0a 20 20 20 20 20 | le.number.of.arguments.and...... |
| 3fea0 | 70 61 73 73 65 73 20 74 68 65 6d 20 74 6f 20 65 61 63 68 20 70 72 65 64 69 63 61 74 65 20 69 6e | passes.them.to.each.predicate.in |
| 3fec0 | 20 50 52 45 44 53 20 69 6e 20 74 75 72 6e 2e 20 20 49 66 20 61 6e 79 20 6f 6e 65 20 6f 66 0a 20 | .PREDS.in.turn...If.any.one.of.. |
| 3fee0 | 20 20 20 20 50 52 45 44 53 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 80 99 2c 20 50 20 61 | ....PREDS.returns....nil...,.P.a |
| 3ff00 | 6c 73 6f 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 80 99 20 77 69 74 68 6f 75 74 20 63 61 | lso.returns....nil....without.ca |
| 3ff20 | 6c 6c 69 6e 67 20 74 68 65 0a 20 20 20 20 20 72 65 6d 61 69 6e 69 6e 67 20 50 52 45 44 53 2e 20 | lling.the......remaining.PREDS.. |
| 3ff40 | 20 49 66 20 61 6c 6c 20 50 52 45 44 53 20 72 65 74 75 72 6e 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 | .If.all.PREDS.return.non-...nil. |
| 3ff60 | 80 99 2c 20 50 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 0a 20 20 20 20 20 73 75 63 68 | ..,.P.returns.the.last......such |
| 3ff80 | 20 76 61 6c 75 65 2e 20 20 49 66 20 6e 6f 20 50 52 45 44 53 20 61 72 65 20 67 69 76 65 6e 2c 20 | .value...If.no.PREDS.are.given,. |
| 3ffa0 | 50 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a | P.always.returns.non-...nil..... |
| 3ffc0 | 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 6f 72 66 6e e2 80 99 20 28 2a 6e 6f | ......See.also:....-orfn....(*no |
| 3ffe0 | 74 65 20 2d 6f 72 66 6e 3a 3a 29 20 61 6e 64 20 e2 80 98 2d 6e 6f 74 e2 80 99 20 28 2a 6e 6f 74 | te.-orfn::).and....-not....(*not |
| 40000 | 65 20 2d 6e 6f 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6c 74 65 72 20 28 | e.-not::).............(-filter.( |
| 40020 | 2d 61 6e 64 66 6e 20 23 27 6e 75 6d 62 65 72 70 20 28 2d 63 75 74 20 3c 20 3c 3e 20 35 29 29 20 | -andfn.#'numberp.(-cut.<.<>.5)). |
| 40040 | 27 28 61 20 31 20 62 20 36 20 63 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 | '(a.1.b.6.c.2))................. |
| 40060 | 92 20 28 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 2d 61 6e 64 66 | ..(1.2)...........(mapcar.(-andf |
| 40080 | 6e 20 23 27 6e 75 6d 62 65 72 70 20 23 27 31 2b 29 20 27 28 61 20 31 20 62 20 36 29 29 0a 20 20 | n.#'numberp.#'1+).'(a.1.b.6))... |
| 400a0 | 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 20 32 20 6e 69 6c 20 37 29 0a 20 20 | ................(nil.2.nil.7)... |
| 400c0 | 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 61 6e 64 66 6e 20 23 27 3d 20 23 27 2b | ........(funcall.(-andfn.#'=.#'+ |
| 400e0 | 29 20 31 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 0a 0a 20 2d 2d 20 | ).1.1)...................2...--. |
| 40100 | 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 74 65 72 61 74 65 66 6e 20 28 66 6e 20 6e 29 0a 20 20 20 20 | Function:.-iteratefn.(fn.n)..... |
| 40120 | 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 63 6f 6d 70 6f 73 65 64 20 4e | .Return.a.function.FN.composed.N |
| 40140 | 20 74 69 6d 65 73 20 77 69 74 68 20 69 74 73 65 6c 66 2e 0a 0a 20 20 20 20 20 46 4e 20 69 73 20 | .times.with.itself........FN.is. |
| 40160 | 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 20 20 49 66 20 79 6f 75 20 6e 65 65 64 20 74 | a.unary.function...If.you.need.t |
| 40180 | 6f 20 75 73 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 68 69 67 68 65 72 0a 20 20 20 20 20 | o.use.a.function.of.higher...... |
| 401a0 | 61 72 69 74 79 2c 20 75 73 65 20 e2 80 98 2d 61 70 70 6c 69 66 79 e2 80 99 20 28 2a 6e 6f 74 65 | arity,.use....-applify....(*note |
| 401c0 | 20 2d 61 70 70 6c 69 66 79 3a 3a 29 20 66 69 72 73 74 20 74 6f 20 74 75 72 6e 20 69 74 20 69 6e | .-applify::).first.to.turn.it.in |
| 401e0 | 74 6f 20 61 0a 20 20 20 20 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 | to.a......unary.function........ |
| 40200 | 57 69 74 68 20 6e 20 3d 20 30 2c 20 74 68 69 73 20 61 63 74 73 20 61 73 20 69 64 65 6e 74 69 74 | With.n.=.0,.this.acts.as.identit |
| 40220 | 79 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 49 6e 20 74 79 70 65 73 3a 20 28 61 20 2d | y.function........In.types:.(a.- |
| 40240 | 3e 20 61 29 20 2d 3e 20 49 6e 74 20 2d 3e 20 61 20 2d 3e 20 61 2e 0a 0a 20 20 20 20 20 54 68 69 | >.a).->.Int.->.a.->.a........Thi |
| 40260 | 73 20 66 75 6e 63 74 69 6f 6e 20 73 61 74 69 73 66 69 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 | s.function.satisfies.the.followi |
| 40280 | 6e 67 20 6c 61 77 3a 0a 0a 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 | ng.law:.......(funcall.(-iterate |
| 402a0 | 66 6e 20 66 6e 20 6e 29 20 69 6e 69 74 29 20 3d 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 28 2d 69 | fn.fn.n).init).=.(-last-item.(-i |
| 402c0 | 74 65 72 61 74 65 20 66 6e 20 69 6e 69 74 0a 20 20 20 20 20 28 31 2b 20 6e 29 29 29 2e 0a 0a 20 | terate.fn.init......(1+.n))).... |
| 402e0 | 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 28 6c | .........(funcall.(-iteratefn.(l |
| 40300 | 61 6d 62 64 61 20 28 78 29 20 28 2a 20 78 20 78 29 29 20 33 29 20 32 29 0a 20 20 20 20 20 20 20 | ambda.(x).(*.x.x)).3).2)........ |
| 40320 | 20 20 20 20 20 20 20 e2 87 92 20 32 35 36 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c | ...........256...........(funcal |
| 40340 | 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 27 31 2b 20 33 29 20 31 29 0a 20 20 20 20 20 20 20 20 | l.(-iteratefn.'1+.3).1)......... |
| 40360 | 20 20 20 20 20 20 e2 87 92 20 34 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 | ..........4...........(funcall.( |
| 40380 | 2d 69 74 65 72 61 74 65 66 6e 20 27 63 64 72 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 | -iteratefn.'cdr.3).'(1.2.3.4.5)) |
| 403a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 20 35 29 0a 0a 20 2d 2d 20 46 75 | ...................(4.5)...--.Fu |
| 403c0 | 6e 63 74 69 6f 6e 3a 20 2d 66 69 78 66 6e 20 28 66 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 65 71 75 | nction:.-fixfn.(fn.&optional.equ |
| 403e0 | 61 6c 2d 74 65 73 74 20 68 61 6c 74 2d 74 65 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 | al-test.halt-test)......Return.a |
| 40400 | 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 6f 6d 70 75 74 65 73 20 74 68 65 20 28 6c 65 61 | .function.that.computes.the.(lea |
| 40420 | 73 74 29 20 66 69 78 70 6f 69 6e 74 20 6f 66 20 46 4e 2e 0a 0a 20 20 20 20 20 46 4e 20 6d 75 73 | st).fixpoint.of.FN........FN.mus |
| 40440 | 74 20 62 65 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 65 20 72 65 74 75 | t.be.a.unary.function...The.retu |
| 40460 | 72 6e 65 64 20 6c 61 6d 62 64 61 20 74 61 6b 65 73 20 61 20 73 69 6e 67 6c 65 0a 20 20 20 20 20 | rned.lambda.takes.a.single...... |
| 40480 | 61 72 67 75 6d 65 6e 74 2c 20 58 2c 20 74 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 66 | argument,.X,.the.initial.value.f |
| 404a0 | 6f 72 20 74 68 65 20 66 69 78 70 6f 69 6e 74 20 69 74 65 72 61 74 69 6f 6e 2e 20 20 54 68 65 0a | or.the.fixpoint.iteration...The. |
| 404c0 | 20 20 20 20 20 69 74 65 72 61 74 69 6f 6e 20 68 61 6c 74 73 20 77 68 65 6e 20 65 69 74 68 65 72 | .....iteration.halts.when.either |
| 404e0 | 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 20 69 73 0a | .of.the.following.conditions.is. |
| 40500 | 20 20 20 20 20 73 61 74 69 73 66 69 65 64 3a 0a 0a 20 20 20 20 20 31 2e 20 20 49 74 65 72 61 74 | .....satisfied:.......1...Iterat |
| 40520 | 69 6f 6e 20 63 6f 6e 76 65 72 67 65 73 20 74 6f 20 74 68 65 20 66 69 78 70 6f 69 6e 74 2c 20 77 | ion.converges.to.the.fixpoint,.w |
| 40540 | 69 74 68 20 65 71 75 61 6c 69 74 79 20 62 65 69 6e 67 20 74 65 73 74 65 64 0a 20 20 20 20 20 75 | ith.equality.being.tested......u |
| 40560 | 73 69 6e 67 20 45 51 55 41 4c 2d 54 45 53 54 2e 20 20 49 66 20 45 51 55 41 4c 2d 54 45 53 54 20 | sing.EQUAL-TEST...If.EQUAL-TEST. |
| 40580 | 69 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 2c 20 e2 80 98 65 71 75 61 6c e2 80 99 20 69 73 | is.not.specified,....equal....is |
| 405a0 | 20 75 73 65 64 2e 0a 20 20 20 20 20 46 6f 72 20 66 75 6e 63 74 69 6f 6e 73 20 6f 76 65 72 20 74 | .used.......For.functions.over.t |
| 405c0 | 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 73 2c 20 69 74 20 6d 61 | he.floating.point.numbers,.it.ma |
| 405e0 | 79 20 62 65 20 6e 65 63 65 73 73 61 72 79 0a 20 20 20 20 20 74 6f 20 70 72 6f 76 69 64 65 20 61 | y.be.necessary......to.provide.a |
| 40600 | 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 61 70 70 72 6f 78 69 6d 61 74 65 20 63 6f 6d 70 61 72 | n.appropriate.approximate.compar |
| 40620 | 69 73 6f 6e 20 74 65 73 74 2e 0a 0a 20 20 20 20 20 32 2e 20 20 48 41 4c 54 2d 54 45 53 54 20 72 | ison.test........2...HALT-TEST.r |
| 40640 | 65 74 75 72 6e 73 20 61 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 76 61 6c 75 65 2e 20 20 48 | eturns.a.non-...nil....value...H |
| 40660 | 41 4c 54 2d 54 45 53 54 20 64 65 66 61 75 6c 74 73 20 74 6f 20 61 0a 20 20 20 20 20 73 69 6d 70 | ALT-TEST.defaults.to.a......simp |
| 40680 | 6c 65 20 63 6f 75 6e 74 65 72 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 e2 80 98 74 e2 80 99 20 | le.counter.that.returns....t.... |
| 406a0 | 61 66 74 65 72 20 e2 80 98 2d 66 69 78 66 6e 2d 6d 61 78 2d 69 74 65 72 61 74 69 6f 6e 73 e2 80 | after....-fixfn-max-iterations.. |
| 406c0 | 99 2c 20 74 6f 0a 20 20 20 20 20 67 75 61 72 64 20 61 67 61 69 6e 73 74 20 69 6e 66 69 6e 69 74 | .,.to......guard.against.infinit |
| 406e0 | 65 20 69 74 65 72 61 74 69 6f 6e 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 48 41 4c 54 2d 54 45 | e.iteration...Otherwise,.HALT-TE |
| 40700 | 53 54 20 6d 75 73 74 20 62 65 20 61 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 | ST.must.be.a......function.that. |
| 40720 | 61 63 63 65 70 74 73 20 61 20 73 69 6e 67 6c 65 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 20 63 | accepts.a.single.argument,.the.c |
| 40740 | 75 72 72 65 6e 74 20 76 61 6c 75 65 20 6f 66 20 58 2c 0a 20 20 20 20 20 61 6e 64 20 72 65 74 75 | urrent.value.of.X,......and.retu |
| 40760 | 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 61 73 20 6c 6f 6e 67 20 61 73 20 69 74 65 | rns.non-...nil....as.long.as.ite |
| 40780 | 72 61 74 69 6f 6e 20 73 68 6f 75 6c 64 20 63 6f 6e 74 69 6e 75 65 2e 20 20 49 6e 0a 20 20 20 20 | ration.should.continue...In..... |
| 407a0 | 20 74 68 69 73 20 77 61 79 2c 20 61 20 6d 6f 72 65 20 73 6f 70 68 69 73 74 69 63 61 74 65 64 20 | .this.way,.a.more.sophisticated. |
| 407c0 | 63 6f 6e 76 65 72 67 65 6e 63 65 20 74 65 73 74 20 6d 61 79 20 62 65 20 73 75 70 70 6c 69 65 64 | convergence.test.may.be.supplied |
| 407e0 | 20 62 79 0a 20 20 20 20 20 74 68 65 20 63 61 6c 6c 65 72 2e 0a 0a 20 20 20 20 20 54 68 65 20 72 | .by......the.caller........The.r |
| 40800 | 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6c 61 6d 62 64 61 20 69 73 20 65 69 74 | eturn.value.of.the.lambda.is.eit |
| 40820 | 68 65 72 20 74 68 65 20 66 69 78 70 6f 69 6e 74 20 6f 72 2c 20 69 66 0a 20 20 20 20 20 69 74 65 | her.the.fixpoint.or,.if......ite |
| 40840 | 72 61 74 69 6f 6e 20 68 61 6c 74 65 64 20 62 65 66 6f 72 65 20 63 6f 6e 76 65 72 67 69 6e 67 2c | ration.halted.before.converging, |
| 40860 | 20 61 20 63 6f 6e 73 20 77 69 74 68 20 63 61 72 20 e2 80 98 68 61 6c 74 65 64 e2 80 99 20 61 6e | .a.cons.with.car....halted....an |
| 40880 | 64 0a 20 20 20 20 20 63 64 72 20 74 68 65 20 66 69 6e 61 6c 20 6f 75 74 70 75 74 20 66 72 6f 6d | d......cdr.the.final.output.from |
| 408a0 | 20 48 41 4c 54 2d 54 45 53 54 2e 0a 0a 20 20 20 20 20 49 6e 20 74 79 70 65 73 3a 20 28 61 20 2d | .HALT-TEST........In.types:.(a.- |
| 408c0 | 3e 20 61 29 20 2d 3e 20 61 20 2d 3e 20 61 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 | >.a).->.a.->.a.............(func |
| 408e0 | 61 6c 6c 20 28 2d 66 69 78 66 6e 20 23 27 63 6f 73 20 23 27 61 70 70 72 6f 78 3d 29 20 30 2e 37 | all.(-fixfn.#'cos.#'approx=).0.7 |
| 40900 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 30 2e 37 33 39 30 38 35 31 33 33 32 | )...................0.7390851332 |
| 40920 | 31 35 31 36 30 37 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 66 | 151607...........(funcall.(-fixf |
| 40940 | 6e 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 65 78 70 74 20 28 2b 20 78 20 31 30 29 20 30 2e 32 | n.(lambda.(x).(expt.(+.x.10).0.2 |
| 40960 | 35 29 29 29 20 32 2e 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 2e 38 35 | 5))).2.0)...................1.85 |
| 40980 | 35 35 38 34 35 32 38 36 34 30 39 33 37 38 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c | 55845286409378...........(funcal |
| 409a0 | 6c 20 28 2d 66 69 78 66 6e 20 23 27 73 69 6e 20 23 27 61 70 70 72 6f 78 3d 29 20 30 2e 31 29 0a | l.(-fixfn.#'sin.#'approx=).0.1). |
| 409c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 68 61 6c 74 65 64 20 2e 20 74 29 0a 0a | ..................(halted...t).. |
| 409e0 | 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 72 6f 64 66 6e 20 28 26 72 65 73 74 20 66 6e 73 | .--.Function:.-prodfn.(&rest.fns |
| 40a00 | 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 70 | )......Return.a.function.that.ap |
| 40a20 | 70 6c 69 65 73 20 65 61 63 68 20 6f 66 20 46 4e 53 20 74 6f 20 65 61 63 68 20 6f 66 20 61 20 6c | plies.each.of.FNS.to.each.of.a.l |
| 40a40 | 69 73 74 20 6f 66 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 54 61 6b | ist.of......arguments........Tak |
| 40a60 | 65 73 20 61 20 6c 69 73 74 20 6f 66 20 4e 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 72 65 74 | es.a.list.of.N.functions.and.ret |
| 40a80 | 75 72 6e 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 0a 20 20 20 | urns.a.function.that.takes.a.... |
| 40aa0 | 20 20 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 4e 2c 20 61 70 70 6c 79 69 6e 67 20 49 74 68 | ..list.of.length.N,.applying.Ith |
| 40ac0 | 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 49 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 | .function.to.Ith.element.of.the. |
| 40ae0 | 69 6e 70 75 74 0a 20 20 20 20 20 6c 69 73 74 2e 20 20 52 65 74 75 72 6e 73 20 61 20 6c 69 73 74 | input......list...Returns.a.list |
| 40b00 | 20 6f 66 20 6c 65 6e 67 74 68 20 4e 2e 0a 0a 20 20 20 20 20 49 6e 20 74 79 70 65 73 20 28 66 6f | .of.length.N........In.types.(fo |
| 40b20 | 72 20 4e 3d 32 29 3a 20 28 28 61 20 2d 3e 20 62 29 2c 20 28 63 20 2d 3e 20 64 29 29 20 2d 3e 20 | r.N=2):.((a.->.b),.(c.->.d)).->. |
| 40b40 | 28 61 2c 20 63 29 20 2d 3e 20 28 62 2c 20 64 29 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 | (a,.c).->.(b,.d).......This.func |
| 40b60 | 74 69 6f 6e 20 73 61 74 69 73 66 69 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 61 77 | tion.satisfies.the.following.law |
| 40b80 | 73 3a 0a 0a 20 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 | s:.......(-compose.(-prodfn.f.g. |
| 40ba0 | 2e 2e 2e 29 20 28 2d 70 72 6f 64 66 6e 20 66 e2 80 99 20 67 e2 80 99 20 2e 2e 2e 29 29 20 3d 20 | ...).(-prodfn.f....g.......)).=. |
| 40bc0 | 28 2d 70 72 6f 64 66 6e 0a 20 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 66 e2 80 99 29 20 | (-prodfn......(-compose.f.f...). |
| 40be0 | 28 2d 63 6f 6d 70 6f 73 65 20 67 20 67 e2 80 99 29 20 2e 2e 2e 29 0a 0a 20 20 20 20 20 28 2d 70 | (-compose.g.g...)....).......(-p |
| 40c00 | 72 6f 64 66 6e 20 66 20 67 20 2e 2e 2e 29 20 3d 20 28 2d 6a 75 78 74 20 28 2d 63 6f 6d 70 6f 73 | rodfn.f.g....).=.(-juxt.(-compos |
| 40c20 | 65 20 66 20 28 2d 70 61 72 74 69 61 6c 20 23 e2 80 99 6e 74 68 20 30 29 29 0a 20 20 20 20 20 28 | e.f.(-partial.#...nth.0))......( |
| 40c40 | 2d 63 6f 6d 70 6f 73 65 20 67 20 28 2d 70 61 72 74 69 61 6c 20 23 e2 80 99 6e 74 68 20 31 29 29 | -compose.g.(-partial.#...nth.1)) |
| 40c60 | 20 2e 2e 2e 29 0a 0a 20 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 72 6f 64 66 6e 20 66 | ....).......(-compose.(-prodfn.f |
| 40c80 | 20 67 20 2e 2e 2e 29 20 28 2d 6a 75 78 74 20 66 e2 80 99 20 67 e2 80 99 20 2e 2e 2e 29 29 20 3d | .g....).(-juxt.f....g.......)).= |
| 40ca0 | 20 28 2d 6a 75 78 74 20 28 2d 63 6f 6d 70 6f 73 65 20 66 0a 20 20 20 20 20 66 e2 80 99 29 20 28 | .(-juxt.(-compose.f......f...).( |
| 40cc0 | 2d 63 6f 6d 70 6f 73 65 20 67 20 67 e2 80 99 29 20 2e 2e 2e 29 0a 0a 20 20 20 20 20 28 2d 63 6f | -compose.g.g...)....).......(-co |
| 40ce0 | 6d 70 6f 73 65 20 28 2d 70 61 72 74 69 61 6c 20 23 e2 80 99 6e 74 68 20 6e 29 20 28 2d 70 72 6f | mpose.(-partial.#...nth.n).(-pro |
| 40d00 | 64 20 66 31 20 66 32 20 2e 2e 2e 29 29 20 3d 20 28 2d 63 6f 6d 70 6f 73 65 20 66 6e 0a 20 20 20 | d.f1.f2....)).=.(-compose.fn.... |
| 40d20 | 20 20 28 2d 70 61 72 74 69 61 6c 20 23 e2 80 99 6e 74 68 20 6e 29 29 0a 0a 20 20 20 20 20 20 20 | ..(-partial.#...nth.n))......... |
| 40d40 | 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 70 72 6f 64 66 6e 20 23 27 31 2b 20 23 27 31 2d 20 23 | ...(funcall.(-prodfn.#'1+.#'1-.# |
| 40d60 | 27 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 | 'number-to-string).'(1.2.3)).... |
| 40d80 | 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 31 20 22 33 22 29 0a 20 20 20 20 20 20 20 | ...............(2.1."3")........ |
| 40da0 | 20 20 20 28 2d 6d 61 70 20 28 2d 70 72 6f 64 66 6e 20 23 27 31 2d 20 23 27 31 2b 29 20 27 28 28 | ...(-map.(-prodfn.#'1-.#'1+).'(( |
| 40dc0 | 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | 1.2).(3.4).(5.6))).............. |
| 40de0 | 20 e2 87 92 20 28 28 30 20 33 29 20 28 32 20 35 29 20 28 34 20 37 29 29 0a 20 20 20 20 20 20 20 | .....((0.3).(2.5).(4.7))........ |
| 40e00 | 20 20 20 28 61 70 70 6c 79 20 23 27 2b 20 28 66 75 6e 63 61 6c 6c 20 28 2d 70 72 6f 64 66 6e 20 | ...(apply.#'+.(funcall.(-prodfn. |
| 40e20 | 23 27 6c 65 6e 67 74 68 20 23 27 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 29 20 27 28 28 | #'length.#'string-to-number).'(( |
| 40e40 | 74 29 20 22 35 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 36 0a 0a 1f | t)."5")))...................6... |
| 40e60 | 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 44 65 76 65 6c 6f 70 | .File:.dash.info,..Node:.Develop |
| 40e80 | 6d 65 6e 74 2c 20 20 4e 65 78 74 3a 20 46 44 4c 2c 20 20 50 72 65 76 3a 20 46 75 6e 63 74 69 6f | ment,..Next:.FDL,..Prev:.Functio |
| 40ea0 | 6e 73 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 33 20 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 2a 2a 2a 2a | ns,..Up:.Top..3.Development.**** |
| 40ec0 | 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 65 20 44 61 73 68 20 72 65 70 6f 73 69 74 6f 72 79 20 69 | *********..The.Dash.repository.i |
| 40ee0 | 73 20 68 6f 73 74 65 64 20 6f 6e 20 47 69 74 48 75 62 20 61 74 0a 3c 68 74 74 70 73 3a 2f 2f 67 | s.hosted.on.GitHub.at.<https://g |
| 40f00 | 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 3e 2e 0a 0a 2a 20 4d | ithub.com/magnars/dash.el>...*.M |
| 40f20 | 65 6e 75 3a 0a 0a 2a 20 43 6f 6e 74 72 69 62 75 74 65 3a 3a 20 20 20 20 20 20 20 20 20 20 48 6f | enu:..*.Contribute::..........Ho |
| 40f40 | 77 20 74 6f 20 63 6f 6e 74 72 69 62 75 74 65 2e 0a 2a 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 3a | w.to.contribute..*.Contributors: |
| 40f60 | 3a 20 20 20 20 20 20 20 20 4c 69 73 74 20 6f 66 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 2e 0a 0a | :........List.of.contributors... |
| 40f80 | 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 43 6f 6e 74 72 69 | ..File:.dash.info,..Node:.Contri |
| 40fa0 | 62 75 74 65 2c 20 20 4e 65 78 74 3a 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 2c 20 20 55 70 3a 20 | bute,..Next:.Contributors,..Up:. |
| 40fc0 | 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 0a 33 2e 31 20 43 6f 6e 74 72 69 62 75 74 65 0a 3d 3d 3d 3d | Development..3.1.Contribute.==== |
| 40fe0 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 59 65 73 2c 20 70 6c 65 61 73 65 20 64 6f 2e 20 20 50 75 72 | ==========..Yes,.please.do...Pur |
| 41000 | 65 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6d 61 6e 69 70 75 6c 61 | e.functions.in.the.list.manipula |
| 41020 | 74 69 6f 6e 20 72 65 61 6c 6d 20 6f 6e 6c 79 2c 0a 70 6c 65 61 73 65 2e 20 20 54 68 65 72 65 e2 | tion.realm.only,.please...There. |
| 41040 | 80 99 73 20 61 20 73 75 69 74 65 20 6f 66 20 65 78 61 6d 70 6c 65 73 2f 74 65 73 74 73 20 69 6e | ..s.a.suite.of.examples/tests.in |
| 41060 | 20 e2 80 98 64 65 76 2f 65 78 61 6d 70 6c 65 73 2e 65 6c e2 80 99 2c 20 73 6f 0a 72 65 6d 65 6d | ....dev/examples.el...,.so.remem |
| 41080 | 62 65 72 20 74 6f 20 61 64 64 20 74 65 73 74 73 20 66 6f 72 20 79 6f 75 72 20 61 64 64 69 74 69 | ber.to.add.tests.for.your.additi |
| 410a0 | 6f 6e 73 2c 20 6f 72 20 74 68 65 79 20 6d 61 79 20 67 65 74 20 62 72 6f 6b 65 6e 20 6c 61 74 65 | ons,.or.they.may.get.broken.late |
| 410c0 | 72 2e 0a 0a 20 20 20 52 75 6e 20 74 68 65 20 74 65 73 74 73 20 77 69 74 68 20 e2 80 98 6d 61 6b | r......Run.the.tests.with....mak |
| 410e0 | 65 20 63 68 65 63 6b e2 80 99 2e 20 20 52 65 67 65 6e 65 72 61 74 65 20 74 68 65 20 64 6f 63 73 | e.check......Regenerate.the.docs |
| 41100 | 20 77 69 74 68 20 e2 80 98 6d 61 6b 65 0a 64 6f 63 73 e2 80 99 2e 20 20 43 6f 6e 74 72 69 62 75 | .with....make.docs......Contribu |
| 41120 | 74 6f 72 73 20 61 72 65 20 65 6e 63 6f 75 72 61 67 65 64 20 74 6f 20 69 6e 73 74 61 6c 6c 20 74 | tors.are.encouraged.to.install.t |
| 41140 | 68 65 73 65 20 63 6f 6d 6d 61 6e 64 73 20 61 73 20 61 20 47 69 74 0a 70 72 65 2d 63 6f 6d 6d 69 | hese.commands.as.a.Git.pre-commi |
| 41160 | 74 20 68 6f 6f 6b 2c 20 73 6f 20 74 68 61 74 20 74 68 65 20 74 65 73 74 73 20 61 72 65 20 61 6c | t.hook,.so.that.the.tests.are.al |
| 41180 | 77 61 79 73 20 72 75 6e 6e 69 6e 67 20 61 6e 64 20 74 68 65 20 64 6f 63 73 20 61 72 65 0a 61 6c | ways.running.and.the.docs.are.al |
| 411a0 | 77 61 79 73 20 69 6e 20 73 79 6e 63 3a 0a 0a 20 20 20 20 20 24 20 63 70 20 64 65 76 2f 70 72 65 | ways.in.sync:.......$.cp.dev/pre |
| 411c0 | 2d 63 6f 6d 6d 69 74 2e 73 68 20 2e 67 69 74 2f 68 6f 6f 6b 73 2f 70 72 65 2d 63 6f 6d 6d 69 74 | -commit.sh..git/hooks/pre-commit |
| 411e0 | 0a 0a 20 20 20 4f 68 2c 20 61 6e 64 20 64 6f 6e e2 80 99 74 20 65 64 69 74 20 e2 80 98 52 45 41 | .....Oh,.and.don...t.edit....REA |
| 41200 | 44 4d 45 2e 6d 64 e2 80 99 20 6f 72 20 e2 80 98 64 61 73 68 2e 74 65 78 69 e2 80 99 20 64 69 72 | DME.md....or....dash.texi....dir |
| 41220 | 65 63 74 6c 79 2c 20 61 73 20 74 68 65 79 20 61 72 65 0a 61 75 74 6f 2d 67 65 6e 65 72 61 74 65 | ectly,.as.they.are.auto-generate |
| 41240 | 64 2e 20 20 49 6e 73 74 65 61 64 2c 20 63 68 61 6e 67 65 20 74 68 65 69 72 20 72 65 73 70 65 63 | d...Instead,.change.their.respec |
| 41260 | 74 69 76 65 20 74 65 6d 70 6c 61 74 65 73 0a e2 80 98 72 65 61 64 6d 65 2d 74 65 6d 70 6c 61 74 | tive.templates....readme-templat |
| 41280 | 65 2e 6d 64 e2 80 99 20 6f 72 20 e2 80 98 64 61 73 68 2d 74 65 6d 70 6c 61 74 65 2e 74 65 78 69 | e.md....or....dash-template.texi |
| 412a0 | e2 80 99 2e 0a 0a 20 20 20 54 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 44 61 73 68 20 63 61 6e | .........To.ensure.that.Dash.can |
| 412c0 | 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 47 4e 55 20 45 4c 50 41 20 6f 72 | .be.distributed.with.GNU.ELPA.or |
| 412e0 | 20 45 6d 61 63 73 2c 20 77 65 0a 72 65 71 75 69 72 65 20 74 68 61 74 20 61 6c 6c 20 63 6f 6e 74 | .Emacs,.we.require.that.all.cont |
| 41300 | 72 69 62 75 74 6f 72 73 20 61 73 73 69 67 6e 20 63 6f 70 79 72 69 67 68 74 20 74 6f 20 74 68 65 | ributors.assign.copyright.to.the |
| 41320 | 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 46 6f 72 20 | .Free.Software.Foundation...For. |
| 41340 | 6d 6f 72 65 20 6f 6e 20 74 68 69 73 2c 20 2a 6e 6f 74 65 20 28 65 6d 61 63 73 29 43 6f 70 79 72 | more.on.this,.*note.(emacs)Copyr |
| 41360 | 69 67 68 74 20 41 73 73 69 67 6e 6d 65 6e 74 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 | ight.Assignment::.....File:.dash |
| 41380 | 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 2c 20 20 50 72 65 | .info,..Node:.Contributors,..Pre |
| 413a0 | 76 3a 20 43 6f 6e 74 72 69 62 75 74 65 2c 20 20 55 70 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 0a | v:.Contribute,..Up:.Development. |
| 413c0 | 0a 33 2e 32 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | .3.2.Contributors.============== |
| 413e0 | 3d 3d 0a 0a 20 20 20 e2 80 a2 20 4d 61 74 75 73 20 47 6f 6c 6a 65 72 20 28 68 74 74 70 73 3a 2f | ==.........Matus.Goljer.(https:/ |
| 41400 | 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 46 75 63 6f 31 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 6c | /github.com/Fuco1).contributed.l |
| 41420 | 6f 74 73 20 6f 66 0a 20 20 20 20 20 66 65 61 74 75 72 65 73 20 61 6e 64 20 66 75 6e 63 74 69 6f | ots.of......features.and.functio |
| 41440 | 6e 73 2e 0a 20 20 20 e2 80 a2 20 54 61 6b 61 66 75 6d 69 20 41 72 61 6b 61 6b 69 20 28 68 74 74 | ns.........Takafumi.Arakaki.(htt |
| 41460 | 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 6b 66 29 20 63 6f 6e 74 72 69 62 75 74 65 64 | ps://github.com/tkf).contributed |
| 41480 | 20 e2 80 98 2d 67 72 6f 75 70 2d 62 79 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 74 61 6c 69 37 31 33 | ....-group-by............tali713 |
| 414a0 | 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 61 6c 69 37 31 33 29 20 69 73 | .(https://github.com/tali713).is |
| 414c0 | 20 74 68 65 20 61 75 74 68 6f 72 20 6f 66 20 e2 80 98 2d 61 70 70 6c 69 66 79 e2 80 99 2e 0a 20 | .the.author.of....-applify...... |
| 414e0 | 20 20 e2 80 a2 20 56 c3 ad 63 74 6f 72 20 4d 2e 20 56 61 6c 65 6e 7a 75 65 6c 61 20 28 68 74 74 | ......V..ctor.M..Valenzuela.(htt |
| 41500 | 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 65 6d 76 29 20 63 6f 6e 74 72 69 62 75 74 65 | ps://github.com/vemv).contribute |
| 41520 | 64 0a 20 20 20 20 20 e2 80 98 2d 72 65 70 65 61 74 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 4e 69 63 | d.........-repeat............Nic |
| 41540 | 20 46 65 72 72 69 65 72 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6e 69 63 | .Ferrier.(https://github.com/nic |
| 41560 | 66 65 72 72 69 65 72 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 63 6f 6e 73 2a e2 80 | ferrier).contributed....-cons*.. |
| 41580 | 99 2e 0a 20 20 20 e2 80 a2 20 57 69 6c 66 72 65 64 20 48 75 67 68 65 73 20 28 68 74 74 70 73 3a | ..........Wilfred.Hughes.(https: |
| 415a0 | 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 57 69 6c 66 72 65 64 29 20 63 6f 6e 74 72 69 62 75 74 65 | //github.com/Wilfred).contribute |
| 415c0 | 64 20 e2 80 98 2d 73 6c 69 63 65 e2 80 99 2c 0a 20 20 20 20 20 e2 80 98 2d 66 69 72 73 74 2d 69 | d....-slice...,.........-first-i |
| 415e0 | 74 65 6d e2 80 99 2c 20 61 6e 64 20 e2 80 98 2d 6c 61 73 74 2d 69 74 65 6d e2 80 99 2e 0a 20 20 | tem...,.and....-last-item....... |
| 41600 | 20 e2 80 a2 20 45 6d 61 6e 75 65 6c 20 45 76 61 6e 73 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 | .....Emanuel.Evans.(https://gith |
| 41620 | 75 62 2e 63 6f 6d 2f 73 68 6f 73 74 69 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 69 | ub.com/shosti).contributed....-i |
| 41640 | 66 2d 6c 65 74 e2 80 99 2c 0a 20 20 20 20 20 e2 80 98 2d 77 68 65 6e 2d 6c 65 74 e2 80 99 2c 20 | f-let...,.........-when-let...,. |
| 41660 | 61 6e 64 20 e2 80 98 2d 69 6e 73 65 72 74 2d 61 74 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 4a 6f 68 | and....-insert-at............Joh |
| 41680 | 61 6e 20 41 6e 64 65 72 73 73 6f 6e 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d | an.Andersson.(https://github.com |
| 416a0 | 2f 72 65 6a 65 65 70 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 73 75 6d e2 80 99 2c | /rejeep).contributed....-sum..., |
| 416c0 | 0a 20 20 20 20 20 e2 80 98 2d 70 72 6f 64 75 63 74 e2 80 99 2c 20 61 6e 64 20 e2 80 98 2d 73 61 | .........-product...,.and....-sa |
| 416e0 | 6d 65 2d 69 74 65 6d 73 3f e2 80 99 2e 0a 20 20 20 e2 80 a2 20 43 68 72 69 73 74 69 6e 61 20 57 | me-items?............Christina.W |
| 41700 | 68 79 74 65 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6b 75 72 69 73 75 77 | hyte.(https://github.com/kurisuw |
| 41720 | 68 79 74 65 29 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 20 20 20 20 20 e2 80 98 2d 63 6f 6d 70 6f | hyte).contributed.........-compo |
| 41740 | 73 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 53 74 65 76 65 20 4c 61 6d 62 20 28 68 74 74 70 73 3a | se............Steve.Lamb.(https: |
| 41760 | 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 74 65 76 65 6e 74 6c 61 6d 62 29 20 63 6f 6e 74 72 69 | //github.com/steventlamb).contri |
| 41780 | 62 75 74 65 64 20 e2 80 98 2d 63 79 63 6c 65 e2 80 99 2c 0a 20 20 20 20 20 e2 80 98 2d 70 61 64 | buted....-cycle...,.........-pad |
| 417a0 | e2 80 99 2c 20 e2 80 98 2d 61 6e 6e 6f 74 61 74 65 e2 80 99 2c 20 e2 80 98 2d 7a 69 70 2d 66 69 | ...,....-annotate...,....-zip-fi |
| 417c0 | 6c 6c e2 80 99 2c 20 61 6e 64 20 61 20 76 61 72 69 61 64 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 | ll...,.and.a.variadic.version.of |
| 417e0 | 20 e2 80 98 2d 7a 69 70 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 46 72 65 64 72 69 6b 20 42 65 72 67 | ....-zip............Fredrik.Berg |
| 41800 | 72 6f 74 68 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 66 62 65 72 67 72 6f | roth.(https://github.com/fbergro |
| 41820 | 74 68 29 20 6d 61 64 65 20 74 68 65 20 e2 80 98 2d 69 66 2d 6c 65 74 e2 80 99 0a 20 20 20 20 20 | th).made.the....-if-let......... |
| 41840 | 66 61 6d 69 6c 79 20 75 73 65 20 e2 80 98 2d 6c 65 74 e2 80 99 20 64 65 73 74 72 75 63 74 75 72 | family.use....-let....destructur |
| 41860 | 69 6e 67 20 61 6e 64 20 69 6d 70 72 6f 76 65 64 20 74 68 65 20 73 63 72 69 70 74 20 66 6f 72 0a | ing.and.improved.the.script.for. |
| 41880 | 20 20 20 20 20 67 65 6e 65 72 61 74 69 6e 67 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 | .....generating.documentation... |
| 418a0 | 20 20 e2 80 a2 20 4d 61 72 6b 20 4f 74 65 69 7a 61 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 | ......Mark.Oteiza.(https://githu |
| 418c0 | 62 2e 63 6f 6d 2f 68 6f 6c 6f 6d 6f 72 70 68 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 | b.com/holomorph).contributed.... |
| 418e0 | 2d 69 6f 74 61 e2 80 99 20 61 6e 64 0a 20 20 20 20 20 74 68 65 20 73 63 72 69 70 74 20 74 6f 20 | -iota....and......the.script.to. |
| 41900 | 63 72 65 61 74 65 20 61 6e 20 49 6e 66 6f 20 6d 61 6e 75 61 6c 2e 0a 20 20 20 e2 80 a2 20 56 61 | create.an.Info.manual.........Va |
| 41920 | 73 69 6c 69 6a 20 53 63 68 6e 65 69 64 65 72 6d 61 6e 6e 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 | silij.Schneidermann.(https://git |
| 41940 | 68 75 62 2e 63 6f 6d 2f 77 61 73 61 6d 61 73 61 29 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 20 20 | hub.com/wasamasa).contributed... |
| 41960 | 20 20 20 e2 80 98 2d 73 6f 6d 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 57 69 6c 6c 69 61 6d 20 57 | ......-some............William.W |
| 41980 | 65 73 74 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6f 63 63 69 64 65 6e 73 | est.(https://github.com/occidens |
| 419a0 | 29 20 6d 61 64 65 20 e2 80 98 2d 66 69 78 66 6e e2 80 99 20 6d 6f 72 65 0a 20 20 20 20 20 72 6f | ).made....-fixfn....more......ro |
| 419c0 | 62 75 73 74 20 61 74 20 68 61 6e 64 6c 69 6e 67 20 66 6c 6f 61 74 73 2e 0a 20 20 20 e2 80 a2 20 | bust.at.handling.floats......... |
| 419e0 | 43 61 6d 20 53 61 75 6c 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 61 6d | Cam.Saul.(https://github.com/cam |
| 41a00 | 73 61 75 6c 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 73 6f 6d 65 2d 3e e2 80 99 2c | saul).contributed....-some->..., |
| 41a20 | 0a 20 20 20 20 20 e2 80 98 2d 73 6f 6d 65 2d 3e 3e e2 80 99 2c 20 61 6e 64 20 e2 80 98 2d 73 6f | .........-some->>...,.and....-so |
| 41a40 | 6d 65 2d 2d 3e e2 80 99 2e 0a 20 20 20 e2 80 a2 20 42 61 73 69 6c 20 4c 2e 20 43 6f 6e 74 6f 76 | me-->............Basil.L..Contov |
| 41a60 | 6f 75 6e 65 73 69 6f 73 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 61 73 | ounesios.(https://github.com/bas |
| 41a80 | 69 6c 2d 63 6f 6e 74 6f 29 0a 20 20 20 20 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 63 | il-conto)......contributed....-c |
| 41aa0 | 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 e2 80 99 2c 20 e2 80 98 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 | ommon-prefix...,....-common-suff |
| 41ac0 | 69 78 e2 80 99 2c 20 61 6e 64 20 76 61 72 69 6f 75 73 20 6f 74 68 65 72 0a 20 20 20 20 20 69 6d | ix...,.and.various.other......im |
| 41ae0 | 70 72 6f 76 65 6d 65 6e 74 73 2e 0a 20 20 20 e2 80 a2 20 50 61 75 6c 20 50 6f 67 6f 6e 79 73 68 | provements.........Paul.Pogonysh |
| 41b00 | 65 76 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 64 6f 75 62 6c 65 70 29 20 | ev.(https://github.com/doublep). |
| 41b20 | 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 65 61 63 68 2d 72 e2 80 99 0a 20 20 20 20 20 61 | contributed....-each-r.........a |
| 41b40 | 6e 64 20 e2 80 98 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 e2 80 99 2e 0a 0a 20 20 20 54 68 61 6e | nd....-each-r-while.........Than |
| 41b60 | 6b 73 21 0a 0a 20 20 20 4e 65 77 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 72 65 20 76 65 72 | ks!.....New.contributors.are.ver |
| 41b80 | 79 20 77 65 6c 63 6f 6d 65 2e 20 20 2a 4e 6f 74 65 20 43 6f 6e 74 72 69 62 75 74 65 3a 3a 2e 0a | y.welcome...*Note.Contribute::.. |
| 41ba0 | 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 46 44 4c 2c 20 | ...File:.dash.info,..Node:.FDL,. |
| 41bc0 | 20 4e 65 78 74 3a 20 47 50 4c 2c 20 20 50 72 65 76 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 2c 20 | .Next:.GPL,..Prev:.Development,. |
| 41be0 | 20 55 70 3a 20 54 6f 70 0a 0a 41 70 70 65 6e 64 69 78 20 41 20 47 4e 55 20 46 72 65 65 20 44 6f | .Up:.Top..Appendix.A.GNU.Free.Do |
| 41c00 | 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a | cumentation.License.************ |
| 41c20 | 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 20 | *****************************... |
| 41c40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 31 2e 33 2c | ....................Version.1.3, |
| 41c60 | 20 33 20 4e 6f 76 65 6d 62 65 72 20 32 30 30 38 0a 0a 20 20 20 20 20 43 6f 70 79 72 69 67 68 74 | .3.November.2008.......Copyright |
| 41c80 | 20 c2 a9 20 32 30 30 30 2c 20 32 30 30 31 2c 20 32 30 30 32 2c 20 32 30 30 37 2c 20 32 30 30 38 | ....2000,.2001,.2002,.2007,.2008 |
| 41ca0 | 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a | .Free.Software.Foundation,.Inc.. |
| 41cc0 | 20 20 20 20 20 3c 68 74 74 70 73 3a 2f 2f 66 73 66 2e 6f 72 67 2f 3e 0a 0a 20 20 20 20 20 45 76 | .....<https://fsf.org/>.......Ev |
| 41ce0 | 65 72 79 6f 6e 65 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 | eryone.is.permitted.to.copy.and. |
| 41d00 | 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 69 6d 20 63 6f 70 69 65 73 0a 20 20 20 20 20 | distribute.verbatim.copies...... |
| 41d20 | 6f 66 20 74 68 69 73 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 2c 20 62 75 74 20 63 68 | of.this.license.document,.but.ch |
| 41d40 | 61 6e 67 69 6e 67 20 69 74 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 0a 0a 20 20 30 2e 20 | anging.it.is.not.allowed.....0.. |
| 41d60 | 50 52 45 41 4d 42 4c 45 0a 0a 20 20 20 20 20 54 68 65 20 70 75 72 70 6f 73 65 20 6f 66 20 74 68 | PREAMBLE.......The.purpose.of.th |
| 41d80 | 69 73 20 4c 69 63 65 6e 73 65 20 69 73 20 74 6f 20 6d 61 6b 65 20 61 20 6d 61 6e 75 61 6c 2c 20 | is.License.is.to.make.a.manual,. |
| 41da0 | 74 65 78 74 62 6f 6f 6b 2c 20 6f 72 20 6f 74 68 65 72 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e | textbook,.or.other......function |
| 41dc0 | 61 6c 20 61 6e 64 20 75 73 65 66 75 6c 20 64 6f 63 75 6d 65 6e 74 20 e2 80 9c 66 72 65 65 e2 80 | al.and.useful.document....free.. |
| 41de0 | 9d 20 69 6e 20 74 68 65 20 73 65 6e 73 65 20 6f 66 20 66 72 65 65 64 6f 6d 3a 20 74 6f 0a 20 20 | ..in.the.sense.of.freedom:.to... |
| 41e00 | 20 20 20 61 73 73 75 72 65 20 65 76 65 72 79 6f 6e 65 20 74 68 65 20 65 66 66 65 63 74 69 76 65 | ...assure.everyone.the.effective |
| 41e20 | 20 66 72 65 65 64 6f 6d 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 | .freedom.to.copy.and.redistribut |
| 41e40 | 65 20 69 74 2c 0a 20 20 20 20 20 77 69 74 68 20 6f 72 20 77 69 74 68 6f 75 74 20 6d 6f 64 69 66 | e.it,......with.or.without.modif |
| 41e60 | 79 69 6e 67 20 69 74 2c 20 65 69 74 68 65 72 20 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 20 6f 72 0a | ying.it,.either.commercially.or. |
| 41e80 | 20 20 20 20 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 2e 20 20 53 65 63 6f 6e 64 61 72 69 | .....noncommercially...Secondari |
| 41ea0 | 6c 79 2c 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 70 72 65 73 65 72 76 65 73 20 66 6f 72 20 74 | ly,.this.License.preserves.for.t |
| 41ec0 | 68 65 0a 20 20 20 20 20 61 75 74 68 6f 72 20 61 6e 64 20 70 75 62 6c 69 73 68 65 72 20 61 20 77 | he......author.and.publisher.a.w |
| 41ee0 | 61 79 20 74 6f 20 67 65 74 20 63 72 65 64 69 74 20 66 6f 72 20 74 68 65 69 72 20 77 6f 72 6b 2c | ay.to.get.credit.for.their.work, |
| 41f00 | 20 77 68 69 6c 65 20 6e 6f 74 0a 20 20 20 20 20 62 65 69 6e 67 20 63 6f 6e 73 69 64 65 72 65 64 | .while.not......being.considered |
| 41f20 | 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 6d | .responsible.for.modifications.m |
| 41f40 | 61 64 65 20 62 79 20 6f 74 68 65 72 73 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 4c 69 63 65 6e 73 | ade.by.others........This.Licens |
| 41f60 | 65 20 69 73 20 61 20 6b 69 6e 64 20 6f 66 20 e2 80 9c 63 6f 70 79 6c 65 66 74 e2 80 9d 2c 20 77 | e.is.a.kind.of....copyleft...,.w |
| 41f80 | 68 69 63 68 20 6d 65 61 6e 73 20 74 68 61 74 20 64 65 72 69 76 61 74 69 76 65 0a 20 20 20 20 20 | hich.means.that.derivative...... |
| 41fa0 | 77 6f 72 6b 73 20 6f 66 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 6d 75 73 74 20 74 68 65 6d 73 | works.of.the.document.must.thems |
| 41fc0 | 65 6c 76 65 73 20 62 65 20 66 72 65 65 20 69 6e 20 74 68 65 20 73 61 6d 65 20 73 65 6e 73 65 2e | elves.be.free.in.the.same.sense. |
| 41fe0 | 0a 20 20 20 20 20 49 74 20 63 6f 6d 70 6c 65 6d 65 6e 74 73 20 74 68 65 20 47 4e 55 20 47 65 6e | ......It.complements.the.GNU.Gen |
| 42000 | 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2c 20 77 68 69 63 68 20 69 73 20 61 20 | eral.Public.License,.which.is.a. |
| 42020 | 63 6f 70 79 6c 65 66 74 0a 20 20 20 20 20 6c 69 63 65 6e 73 65 20 64 65 73 69 67 6e 65 64 20 66 | copyleft......license.designed.f |
| 42040 | 6f 72 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2e 0a 0a 20 20 20 20 20 57 65 20 68 61 76 65 20 | or.free.software........We.have. |
| 42060 | 64 65 73 69 67 6e 65 64 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 6f 72 64 65 72 20 74 | designed.this.License.in.order.t |
| 42080 | 6f 20 75 73 65 20 69 74 20 66 6f 72 20 6d 61 6e 75 61 6c 73 20 66 6f 72 0a 20 20 20 20 20 66 72 | o.use.it.for.manuals.for......fr |
| 420a0 | 65 65 20 73 6f 66 74 77 61 72 65 2c 20 62 65 63 61 75 73 65 20 66 72 65 65 20 73 6f 66 74 77 61 | ee.software,.because.free.softwa |
| 420c0 | 72 65 20 6e 65 65 64 73 20 66 72 65 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3a 20 61 0a 20 | re.needs.free.documentation:.a.. |
| 420e0 | 20 20 20 20 66 72 65 65 20 70 72 6f 67 72 61 6d 20 73 68 6f 75 6c 64 20 63 6f 6d 65 20 77 69 74 | ....free.program.should.come.wit |
| 42100 | 68 20 6d 61 6e 75 61 6c 73 20 70 72 6f 76 69 64 69 6e 67 20 74 68 65 20 73 61 6d 65 20 66 72 65 | h.manuals.providing.the.same.fre |
| 42120 | 65 64 6f 6d 73 0a 20 20 20 20 20 74 68 61 74 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 64 6f 65 | edoms......that.the.software.doe |
| 42140 | 73 2e 20 20 42 75 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 73 20 6e 6f 74 20 6c 69 6d 69 | s...But.this.License.is.not.limi |
| 42160 | 74 65 64 20 74 6f 0a 20 20 20 20 20 73 6f 66 74 77 61 72 65 20 6d 61 6e 75 61 6c 73 3b 20 69 74 | ted.to......software.manuals;.it |
| 42180 | 20 63 61 6e 20 62 65 20 75 73 65 64 20 66 6f 72 20 61 6e 79 20 74 65 78 74 75 61 6c 20 77 6f 72 | .can.be.used.for.any.textual.wor |
| 421a0 | 6b 2c 20 72 65 67 61 72 64 6c 65 73 73 0a 20 20 20 20 20 6f 66 20 73 75 62 6a 65 63 74 20 6d 61 | k,.regardless......of.subject.ma |
| 421c0 | 74 74 65 72 20 6f 72 20 77 68 65 74 68 65 72 20 69 74 20 69 73 20 70 75 62 6c 69 73 68 65 64 20 | tter.or.whether.it.is.published. |
| 421e0 | 61 73 20 61 20 70 72 69 6e 74 65 64 20 62 6f 6f 6b 2e 20 20 57 65 0a 20 20 20 20 20 72 65 63 6f | as.a.printed.book...We......reco |
| 42200 | 6d 6d 65 6e 64 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 70 72 69 6e 63 69 70 61 6c 6c 79 20 66 | mmend.this.License.principally.f |
| 42220 | 6f 72 20 77 6f 72 6b 73 20 77 68 6f 73 65 20 70 75 72 70 6f 73 65 20 69 73 0a 20 20 20 20 20 69 | or.works.whose.purpose.is......i |
| 42240 | 6e 73 74 72 75 63 74 69 6f 6e 20 6f 72 20 72 65 66 65 72 65 6e 63 65 2e 0a 0a 20 20 31 2e 20 41 | nstruction.or.reference.....1..A |
| 42260 | 50 50 4c 49 43 41 42 49 4c 49 54 59 20 41 4e 44 20 44 45 46 49 4e 49 54 49 4f 4e 53 0a 0a 20 20 | PPLICABILITY.AND.DEFINITIONS.... |
| 42280 | 20 20 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 20 74 6f 20 61 6e 79 20 6d | ...This.License.applies.to.any.m |
| 422a0 | 61 6e 75 61 6c 20 6f 72 20 6f 74 68 65 72 20 77 6f 72 6b 2c 20 69 6e 20 61 6e 79 20 6d 65 64 69 | anual.or.other.work,.in.any.medi |
| 422c0 | 75 6d 2c 0a 20 20 20 20 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 61 20 6e 6f 74 69 63 65 20 | um,......that.contains.a.notice. |
| 422e0 | 70 6c 61 63 65 64 20 62 79 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 73 | placed.by.the.copyright.holder.s |
| 42300 | 61 79 69 6e 67 20 69 74 20 63 61 6e 0a 20 20 20 20 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 | aying.it.can......be.distributed |
| 42320 | 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 | .under.the.terms.of.this.License |
| 42340 | 2e 20 20 53 75 63 68 20 61 20 6e 6f 74 69 63 65 0a 20 20 20 20 20 67 72 61 6e 74 73 20 61 20 77 | ...Such.a.notice......grants.a.w |
| 42360 | 6f 72 6c 64 2d 77 69 64 65 2c 20 72 6f 79 61 6c 74 79 2d 66 72 65 65 20 6c 69 63 65 6e 73 65 2c | orld-wide,.royalty-free.license, |
| 42380 | 20 75 6e 6c 69 6d 69 74 65 64 20 69 6e 20 64 75 72 61 74 69 6f 6e 2c 0a 20 20 20 20 20 74 6f 20 | .unlimited.in.duration,......to. |
| 423a0 | 75 73 65 20 74 68 61 74 20 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 65 20 63 6f 6e 64 69 74 69 6f | use.that.work.under.the.conditio |
| 423c0 | 6e 73 20 73 74 61 74 65 64 20 68 65 72 65 69 6e 2e 20 20 54 68 65 0a 20 20 20 20 20 e2 80 9c 44 | ns.stated.herein...The.........D |
| 423e0 | 6f 63 75 6d 65 6e 74 e2 80 9d 2c 20 62 65 6c 6f 77 2c 20 72 65 66 65 72 73 20 74 6f 20 61 6e 79 | ocument...,.below,.refers.to.any |
| 42400 | 20 73 75 63 68 20 6d 61 6e 75 61 6c 20 6f 72 20 77 6f 72 6b 2e 20 20 41 6e 79 20 6d 65 6d 62 65 | .such.manual.or.work...Any.membe |
| 42420 | 72 0a 20 20 20 20 20 6f 66 20 74 68 65 20 70 75 62 6c 69 63 20 69 73 20 61 20 6c 69 63 65 6e 73 | r......of.the.public.is.a.licens |
| 42440 | 65 65 2c 20 61 6e 64 20 69 73 20 61 64 64 72 65 73 73 65 64 20 61 73 20 e2 80 9c 79 6f 75 e2 80 | ee,.and.is.addressed.as....you.. |
| 42460 | 9d 2e 20 20 59 6f 75 20 61 63 63 65 70 74 0a 20 20 20 20 20 74 68 65 20 6c 69 63 65 6e 73 65 20 | ....You.accept......the.license. |
| 42480 | 69 66 20 79 6f 75 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 20 6f 72 20 64 69 73 74 72 69 62 75 74 | if.you.copy,.modify.or.distribut |
| 424a0 | 65 20 74 68 65 20 77 6f 72 6b 20 69 6e 20 61 20 77 61 79 0a 20 20 20 20 20 72 65 71 75 69 72 69 | e.the.work.in.a.way......requiri |
| 424c0 | 6e 67 20 70 65 72 6d 69 73 73 69 6f 6e 20 75 6e 64 65 72 20 63 6f 70 79 72 69 67 68 74 20 6c 61 | ng.permission.under.copyright.la |
| 424e0 | 77 2e 0a 0a 20 20 20 20 20 41 20 e2 80 9c 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e e2 80 | w........A....Modified.Version.. |
| 42500 | 9d 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 6d 65 61 6e 73 20 61 6e 79 20 77 6f 72 6b | ..of.the.Document.means.any.work |
| 42520 | 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 0a 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 20 6f 72 | .containing.the......Document.or |
| 42540 | 20 61 20 70 6f 72 74 69 6f 6e 20 6f 66 20 69 74 2c 20 65 69 74 68 65 72 20 63 6f 70 69 65 64 20 | .a.portion.of.it,.either.copied. |
| 42560 | 76 65 72 62 61 74 69 6d 2c 20 6f 72 20 77 69 74 68 0a 20 20 20 20 20 6d 6f 64 69 66 69 63 61 74 | verbatim,.or.with......modificat |
| 42580 | 69 6f 6e 73 20 61 6e 64 2f 6f 72 20 74 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 61 6e 6f 74 | ions.and/or.translated.into.anot |
| 425a0 | 68 65 72 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 20 20 20 20 20 41 20 e2 80 9c 53 65 63 6f 6e 64 61 | her.language........A....Seconda |
| 425c0 | 72 79 20 53 65 63 74 69 6f 6e e2 80 9d 20 69 73 20 61 20 6e 61 6d 65 64 20 61 70 70 65 6e 64 69 | ry.Section....is.a.named.appendi |
| 425e0 | 78 20 6f 72 20 61 20 66 72 6f 6e 74 2d 6d 61 74 74 65 72 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 | x.or.a.front-matter.section..... |
| 42600 | 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 74 68 61 74 20 64 65 61 6c 73 20 65 78 63 6c | .of.the.Document.that.deals.excl |
| 42620 | 75 73 69 76 65 6c 79 20 77 69 74 68 20 74 68 65 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 20 6f 66 | usively.with.the.relationship.of |
| 42640 | 20 74 68 65 0a 20 20 20 20 20 70 75 62 6c 69 73 68 65 72 73 20 6f 72 20 61 75 74 68 6f 72 73 20 | .the......publishers.or.authors. |
| 42660 | 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 74 6f 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 e2 | of.the.Document.to.the.Document. |
| 42680 | 80 99 73 20 6f 76 65 72 61 6c 6c 0a 20 20 20 20 20 73 75 62 6a 65 63 74 20 28 6f 72 20 74 6f 20 | ..s.overall......subject.(or.to. |
| 426a0 | 72 65 6c 61 74 65 64 20 6d 61 74 74 65 72 73 29 20 61 6e 64 20 63 6f 6e 74 61 69 6e 73 20 6e 6f | related.matters).and.contains.no |
| 426c0 | 74 68 69 6e 67 20 74 68 61 74 20 63 6f 75 6c 64 0a 20 20 20 20 20 66 61 6c 6c 20 64 69 72 65 63 | thing.that.could......fall.direc |
| 426e0 | 74 6c 79 20 77 69 74 68 69 6e 20 74 68 61 74 20 6f 76 65 72 61 6c 6c 20 73 75 62 6a 65 63 74 2e | tly.within.that.overall.subject. |
| 42700 | 20 20 28 54 68 75 73 2c 20 69 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 69 73 | ..(Thus,.if.the.Document......is |
| 42720 | 20 69 6e 20 70 61 72 74 20 61 20 74 65 78 74 62 6f 6f 6b 20 6f 66 20 6d 61 74 68 65 6d 61 74 69 | .in.part.a.textbook.of.mathemati |
| 42740 | 63 73 2c 20 61 20 53 65 63 6f 6e 64 61 72 79 20 53 65 63 74 69 6f 6e 20 6d 61 79 20 6e 6f 74 0a | cs,.a.Secondary.Section.may.not. |
| 42760 | 20 20 20 20 20 65 78 70 6c 61 69 6e 20 61 6e 79 20 6d 61 74 68 65 6d 61 74 69 63 73 2e 29 20 20 | .....explain.any.mathematics.).. |
| 42780 | 54 68 65 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 20 63 6f 75 6c 64 20 62 65 20 61 20 6d 61 74 74 | The.relationship.could.be.a.matt |
| 427a0 | 65 72 20 6f 66 0a 20 20 20 20 20 68 69 73 74 6f 72 69 63 61 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e | er.of......historical.connection |
| 427c0 | 20 77 69 74 68 20 74 68 65 20 73 75 62 6a 65 63 74 20 6f 72 20 77 69 74 68 20 72 65 6c 61 74 65 | .with.the.subject.or.with.relate |
| 427e0 | 64 20 6d 61 74 74 65 72 73 2c 20 6f 72 0a 20 20 20 20 20 6f 66 20 6c 65 67 61 6c 2c 20 63 6f 6d | d.matters,.or......of.legal,.com |
| 42800 | 6d 65 72 63 69 61 6c 2c 20 70 68 69 6c 6f 73 6f 70 68 69 63 61 6c 2c 20 65 74 68 69 63 61 6c 20 | mercial,.philosophical,.ethical. |
| 42820 | 6f 72 20 70 6f 6c 69 74 69 63 61 6c 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 72 65 67 61 72 | or.political.position......regar |
| 42840 | 64 69 6e 67 20 74 68 65 6d 2e 0a 0a 20 20 20 20 20 54 68 65 20 e2 80 9c 49 6e 76 61 72 69 61 6e | ding.them........The....Invarian |
| 42860 | 74 20 53 65 63 74 69 6f 6e 73 e2 80 9d 20 61 72 65 20 63 65 72 74 61 69 6e 20 53 65 63 6f 6e 64 | t.Sections....are.certain.Second |
| 42880 | 61 72 79 20 53 65 63 74 69 6f 6e 73 20 77 68 6f 73 65 0a 20 20 20 20 20 74 69 74 6c 65 73 20 61 | ary.Sections.whose......titles.a |
| 428a0 | 72 65 20 64 65 73 69 67 6e 61 74 65 64 2c 20 61 73 20 62 65 69 6e 67 20 74 68 6f 73 65 20 6f 66 | re.designated,.as.being.those.of |
| 428c0 | 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 2c 20 69 6e 20 74 68 65 0a 20 20 20 20 | .Invariant.Sections,.in.the..... |
| 428e0 | 20 6e 6f 74 69 63 65 20 74 68 61 74 20 73 61 79 73 20 74 68 61 74 20 74 68 65 20 44 6f 63 75 6d | .notice.that.says.that.the.Docum |
| 42900 | 65 6e 74 20 69 73 20 72 65 6c 65 61 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e | ent.is.released.under.this.Licen |
| 42920 | 73 65 2e 0a 20 20 20 20 20 49 66 20 61 20 73 65 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 66 | se.......If.a.section.does.not.f |
| 42940 | 69 74 20 74 68 65 20 61 62 6f 76 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 53 65 63 6f 6e | it.the.above.definition.of.Secon |
| 42960 | 64 61 72 79 20 74 68 65 6e 20 69 74 0a 20 20 20 20 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 | dary.then.it......is.not.allowed |
| 42980 | 20 74 6f 20 62 65 20 64 65 73 69 67 6e 61 74 65 64 20 61 73 20 49 6e 76 61 72 69 61 6e 74 2e 20 | .to.be.designated.as.Invariant.. |
| 429a0 | 20 54 68 65 20 44 6f 63 75 6d 65 6e 74 20 6d 61 79 0a 20 20 20 20 20 63 6f 6e 74 61 69 6e 20 7a | .The.Document.may......contain.z |
| 429c0 | 65 72 6f 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 2e 20 20 49 66 20 74 68 65 20 | ero.Invariant.Sections...If.the. |
| 429e0 | 44 6f 63 75 6d 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 69 64 65 6e 74 69 66 79 0a 20 20 20 20 20 | Document.does.not.identify...... |
| 42a00 | 61 6e 79 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 74 68 65 6e 20 74 68 65 72 | any.Invariant.Sections.then.ther |
| 42a20 | 65 20 61 72 65 20 6e 6f 6e 65 2e 0a 0a 20 20 20 20 20 54 68 65 20 e2 80 9c 43 6f 76 65 72 20 54 | e.are.none........The....Cover.T |
| 42a40 | 65 78 74 73 e2 80 9d 20 61 72 65 20 63 65 72 74 61 69 6e 20 73 68 6f 72 74 20 70 61 73 73 61 67 | exts....are.certain.short.passag |
| 42a60 | 65 73 20 6f 66 20 74 65 78 74 20 74 68 61 74 20 61 72 65 0a 20 20 20 20 20 6c 69 73 74 65 64 2c | es.of.text.that.are......listed, |
| 42a80 | 20 61 73 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 20 6f 72 20 42 61 63 6b 2d 43 6f | .as.Front-Cover.Texts.or.Back-Co |
| 42aa0 | 76 65 72 20 54 65 78 74 73 2c 20 69 6e 20 74 68 65 20 6e 6f 74 69 63 65 0a 20 20 20 20 20 74 68 | ver.Texts,.in.the.notice......th |
| 42ac0 | 61 74 20 73 61 79 73 20 74 68 61 74 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 72 65 6c | at.says.that.the.Document.is.rel |
| 42ae0 | 65 61 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 41 0a 20 20 20 | eased.under.this.License...A.... |
| 42b00 | 20 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 20 6d 61 79 20 62 65 20 61 74 20 6d 6f 73 | ..Front-Cover.Text.may.be.at.mos |
| 42b20 | 74 20 35 20 77 6f 72 64 73 2c 20 61 6e 64 20 61 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 | t.5.words,.and.a.Back-Cover.Text |
| 42b40 | 20 6d 61 79 0a 20 20 20 20 20 62 65 20 61 74 20 6d 6f 73 74 20 32 35 20 77 6f 72 64 73 2e 0a 0a | .may......be.at.most.25.words... |
| 42b60 | 20 20 20 20 20 41 20 e2 80 9c 54 72 61 6e 73 70 61 72 65 6e 74 e2 80 9d 20 63 6f 70 79 20 6f 66 | .....A....Transparent....copy.of |
| 42b80 | 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 6d 65 61 6e 73 20 61 20 6d 61 63 68 69 6e 65 2d 72 65 | .the.Document.means.a.machine-re |
| 42ba0 | 61 64 61 62 6c 65 20 63 6f 70 79 2c 0a 20 20 20 20 20 72 65 70 72 65 73 65 6e 74 65 64 20 69 6e | adable.copy,......represented.in |
| 42bc0 | 20 61 20 66 6f 72 6d 61 74 20 77 68 6f 73 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 69 73 | .a.format.whose.specification.is |
| 42be0 | 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 0a 20 20 20 20 20 67 65 6e 65 72 61 6c 20 70 | .available.to.the......general.p |
| 42c00 | 75 62 6c 69 63 2c 20 74 68 61 74 20 69 73 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 72 65 76 69 | ublic,.that.is.suitable.for.revi |
| 42c20 | 73 69 6e 67 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 73 74 72 61 69 67 68 74 66 | sing.the.document......straightf |
| 42c40 | 6f 72 77 61 72 64 6c 79 20 77 69 74 68 20 67 65 6e 65 72 69 63 20 74 65 78 74 20 65 64 69 74 6f | orwardly.with.generic.text.edito |
| 42c60 | 72 73 20 6f 72 20 28 66 6f 72 20 69 6d 61 67 65 73 20 63 6f 6d 70 6f 73 65 64 0a 20 20 20 20 20 | rs.or.(for.images.composed...... |
| 42c80 | 6f 66 20 70 69 78 65 6c 73 29 20 67 65 6e 65 72 69 63 20 70 61 69 6e 74 20 70 72 6f 67 72 61 6d | of.pixels).generic.paint.program |
| 42ca0 | 73 20 6f 72 20 28 66 6f 72 20 64 72 61 77 69 6e 67 73 29 20 73 6f 6d 65 20 77 69 64 65 6c 79 0a | s.or.(for.drawings).some.widely. |
| 42cc0 | 20 20 20 20 20 61 76 61 69 6c 61 62 6c 65 20 64 72 61 77 69 6e 67 20 65 64 69 74 6f 72 2c 20 61 | .....available.drawing.editor,.a |
| 42ce0 | 6e 64 20 74 68 61 74 20 69 73 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 69 6e 70 75 74 20 74 6f | nd.that.is.suitable.for.input.to |
| 42d00 | 20 74 65 78 74 0a 20 20 20 20 20 66 6f 72 6d 61 74 74 65 72 73 20 6f 72 20 66 6f 72 20 61 75 74 | .text......formatters.or.for.aut |
| 42d20 | 6f 6d 61 74 69 63 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 74 6f 20 61 20 76 61 72 69 65 74 79 20 | omatic.translation.to.a.variety. |
| 42d40 | 6f 66 20 66 6f 72 6d 61 74 73 0a 20 20 20 20 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 69 6e 70 | of.formats......suitable.for.inp |
| 42d60 | 75 74 20 74 6f 20 74 65 78 74 20 66 6f 72 6d 61 74 74 65 72 73 2e 20 20 41 20 63 6f 70 79 20 6d | ut.to.text.formatters...A.copy.m |
| 42d80 | 61 64 65 20 69 6e 20 61 6e 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 54 72 61 6e 73 70 61 | ade.in.an.otherwise......Transpa |
| 42da0 | 72 65 6e 74 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 77 68 6f 73 65 20 6d 61 72 6b 75 70 2c 20 6f | rent.file.format.whose.markup,.o |
| 42dc0 | 72 20 61 62 73 65 6e 63 65 20 6f 66 20 6d 61 72 6b 75 70 2c 20 68 61 73 0a 20 20 20 20 20 62 65 | r.absence.of.markup,.has......be |
| 42de0 | 65 6e 20 61 72 72 61 6e 67 65 64 20 74 6f 20 74 68 77 61 72 74 20 6f 72 20 64 69 73 63 6f 75 72 | en.arranged.to.thwart.or.discour |
| 42e00 | 61 67 65 20 73 75 62 73 65 71 75 65 6e 74 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 62 79 0a 20 | age.subsequent.modification.by.. |
| 42e20 | 20 20 20 20 72 65 61 64 65 72 73 20 69 73 20 6e 6f 74 20 54 72 61 6e 73 70 61 72 65 6e 74 2e 20 | ....readers.is.not.Transparent.. |
| 42e40 | 20 41 6e 20 69 6d 61 67 65 20 66 6f 72 6d 61 74 20 69 73 20 6e 6f 74 20 54 72 61 6e 73 70 61 72 | .An.image.format.is.not.Transpar |
| 42e60 | 65 6e 74 20 69 66 0a 20 20 20 20 20 75 73 65 64 20 66 6f 72 20 61 6e 79 20 73 75 62 73 74 61 6e | ent.if......used.for.any.substan |
| 42e80 | 74 69 61 6c 20 61 6d 6f 75 6e 74 20 6f 66 20 74 65 78 74 2e 20 20 41 20 63 6f 70 79 20 74 68 61 | tial.amount.of.text...A.copy.tha |
| 42ea0 | 74 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 e2 80 9c 54 72 61 6e 73 70 61 72 65 6e 74 e2 80 9d 20 | t.is.not.........Transparent.... |
| 42ec0 | 69 73 20 63 61 6c 6c 65 64 20 e2 80 9c 4f 70 61 71 75 65 e2 80 9d 2e 0a 0a 20 20 20 20 20 45 78 | is.called....Opaque...........Ex |
| 42ee0 | 61 6d 70 6c 65 73 20 6f 66 20 73 75 69 74 61 62 6c 65 20 66 6f 72 6d 61 74 73 20 66 6f 72 20 54 | amples.of.suitable.formats.for.T |
| 42f00 | 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 69 65 73 20 69 6e 63 6c 75 64 65 20 70 6c 61 69 6e 0a | ransparent.copies.include.plain. |
| 42f20 | 20 20 20 20 20 41 53 43 49 49 20 77 69 74 68 6f 75 74 20 6d 61 72 6b 75 70 2c 20 54 65 78 69 6e | .....ASCII.without.markup,.Texin |
| 42f40 | 66 6f 20 69 6e 70 75 74 20 66 6f 72 6d 61 74 2c 20 4c 61 54 65 58 20 69 6e 70 75 74 20 66 6f 72 | fo.input.format,.LaTeX.input.for |
| 42f60 | 6d 61 74 2c 0a 20 20 20 20 20 53 47 4d 4c 20 6f 72 20 58 4d 4c 20 75 73 69 6e 67 20 61 20 70 75 | mat,......SGML.or.XML.using.a.pu |
| 42f80 | 62 6c 69 63 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 44 54 44 2c 20 61 6e 64 20 73 74 61 6e 64 61 | blicly.available.DTD,.and.standa |
| 42fa0 | 72 64 2d 63 6f 6e 66 6f 72 6d 69 6e 67 0a 20 20 20 20 20 73 69 6d 70 6c 65 20 48 54 4d 4c 2c 20 | rd-conforming......simple.HTML,. |
| 42fc0 | 50 6f 73 74 53 63 72 69 70 74 20 6f 72 20 50 44 46 20 64 65 73 69 67 6e 65 64 20 66 6f 72 20 68 | PostScript.or.PDF.designed.for.h |
| 42fe0 | 75 6d 61 6e 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 45 78 61 6d 70 6c 65 73 | uman.modification.......Examples |
| 43000 | 20 6f 66 20 74 72 61 6e 73 70 61 72 65 6e 74 20 69 6d 61 67 65 20 66 6f 72 6d 61 74 73 20 69 6e | .of.transparent.image.formats.in |
| 43020 | 63 6c 75 64 65 20 50 4e 47 2c 20 58 43 46 20 61 6e 64 20 4a 50 47 2e 0a 20 20 20 20 20 4f 70 61 | clude.PNG,.XCF.and.JPG.......Opa |
| 43040 | 71 75 65 20 66 6f 72 6d 61 74 73 20 69 6e 63 6c 75 64 65 20 70 72 6f 70 72 69 65 74 61 72 79 20 | que.formats.include.proprietary. |
| 43060 | 66 6f 72 6d 61 74 73 20 74 68 61 74 20 63 61 6e 20 62 65 20 72 65 61 64 20 61 6e 64 0a 20 20 20 | formats.that.can.be.read.and.... |
| 43080 | 20 20 65 64 69 74 65 64 20 6f 6e 6c 79 20 62 79 20 70 72 6f 70 72 69 65 74 61 72 79 20 77 6f 72 | ..edited.only.by.proprietary.wor |
| 430a0 | 64 20 70 72 6f 63 65 73 73 6f 72 73 2c 20 53 47 4d 4c 20 6f 72 20 58 4d 4c 20 66 6f 72 20 77 68 | d.processors,.SGML.or.XML.for.wh |
| 430c0 | 69 63 68 0a 20 20 20 20 20 74 68 65 20 44 54 44 20 61 6e 64 2f 6f 72 20 70 72 6f 63 65 73 73 69 | ich......the.DTD.and/or.processi |
| 430e0 | 6e 67 20 74 6f 6f 6c 73 20 61 72 65 20 6e 6f 74 20 67 65 6e 65 72 61 6c 6c 79 20 61 76 61 69 6c | ng.tools.are.not.generally.avail |
| 43100 | 61 62 6c 65 2c 20 61 6e 64 0a 20 20 20 20 20 74 68 65 20 6d 61 63 68 69 6e 65 2d 67 65 6e 65 72 | able,.and......the.machine-gener |
| 43120 | 61 74 65 64 20 48 54 4d 4c 2c 20 50 6f 73 74 53 63 72 69 70 74 20 6f 72 20 50 44 46 20 70 72 6f | ated.HTML,.PostScript.or.PDF.pro |
| 43140 | 64 75 63 65 64 20 62 79 20 73 6f 6d 65 20 77 6f 72 64 0a 20 20 20 20 20 70 72 6f 63 65 73 73 6f | duced.by.some.word......processo |
| 43160 | 72 73 20 66 6f 72 20 6f 75 74 70 75 74 20 70 75 72 70 6f 73 65 73 20 6f 6e 6c 79 2e 0a 0a 20 20 | rs.for.output.purposes.only..... |
| 43180 | 20 20 20 54 68 65 20 e2 80 9c 54 69 74 6c 65 20 50 61 67 65 e2 80 9d 20 6d 65 61 6e 73 2c 20 66 | ...The....Title.Page....means,.f |
| 431a0 | 6f 72 20 61 20 70 72 69 6e 74 65 64 20 62 6f 6f 6b 2c 20 74 68 65 20 74 69 74 6c 65 20 70 61 67 | or.a.printed.book,.the.title.pag |
| 431c0 | 65 20 69 74 73 65 6c 66 2c 0a 20 20 20 20 20 70 6c 75 73 20 73 75 63 68 20 66 6f 6c 6c 6f 77 69 | e.itself,......plus.such.followi |
| 431e0 | 6e 67 20 70 61 67 65 73 20 61 73 20 61 72 65 20 6e 65 65 64 65 64 20 74 6f 20 68 6f 6c 64 2c 20 | ng.pages.as.are.needed.to.hold,. |
| 43200 | 6c 65 67 69 62 6c 79 2c 20 74 68 65 0a 20 20 20 20 20 6d 61 74 65 72 69 61 6c 20 74 68 69 73 20 | legibly,.the......material.this. |
| 43220 | 4c 69 63 65 6e 73 65 20 72 65 71 75 69 72 65 73 20 74 6f 20 61 70 70 65 61 72 20 69 6e 20 74 68 | License.requires.to.appear.in.th |
| 43240 | 65 20 74 69 74 6c 65 20 70 61 67 65 2e 20 20 46 6f 72 0a 20 20 20 20 20 77 6f 72 6b 73 20 69 6e | e.title.page...For......works.in |
| 43260 | 20 66 6f 72 6d 61 74 73 20 77 68 69 63 68 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 61 6e 79 20 74 | .formats.which.do.not.have.any.t |
| 43280 | 69 74 6c 65 20 70 61 67 65 20 61 73 20 73 75 63 68 2c 20 e2 80 9c 54 69 74 6c 65 0a 20 20 20 20 | itle.page.as.such,....Title..... |
| 432a0 | 20 50 61 67 65 e2 80 9d 20 6d 65 61 6e 73 20 74 68 65 20 74 65 78 74 20 6e 65 61 72 20 74 68 65 | .Page....means.the.text.near.the |
| 432c0 | 20 6d 6f 73 74 20 70 72 6f 6d 69 6e 65 6e 74 20 61 70 70 65 61 72 61 6e 63 65 20 6f 66 20 74 68 | .most.prominent.appearance.of.th |
| 432e0 | 65 0a 20 20 20 20 20 77 6f 72 6b e2 80 99 73 20 74 69 74 6c 65 2c 20 70 72 65 63 65 64 69 6e 67 | e......work...s.title,.preceding |
| 43300 | 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 62 6f 64 79 20 6f 66 20 74 68 | .the.beginning.of.the.body.of.th |
| 43320 | 65 20 74 65 78 74 2e 0a 0a 20 20 20 20 20 54 68 65 20 e2 80 9c 70 75 62 6c 69 73 68 65 72 e2 80 | e.text........The....publisher.. |
| 43340 | 9d 20 6d 65 61 6e 73 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 72 20 65 6e 74 69 74 79 20 74 68 61 | ..means.any.person.or.entity.tha |
| 43360 | 74 20 64 69 73 74 72 69 62 75 74 65 73 20 63 6f 70 69 65 73 0a 20 20 20 20 20 6f 66 20 74 68 65 | t.distributes.copies......of.the |
| 43380 | 20 44 6f 63 75 6d 65 6e 74 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 2e 0a 0a 20 20 20 20 20 41 | .Document.to.the.public........A |
| 433a0 | 20 73 65 63 74 69 6f 6e 20 e2 80 9c 45 6e 74 69 74 6c 65 64 20 58 59 5a e2 80 9d 20 6d 65 61 6e | .section....Entitled.XYZ....mean |
| 433c0 | 73 20 61 20 6e 61 6d 65 64 20 73 75 62 75 6e 69 74 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e | s.a.named.subunit.of.the.Documen |
| 433e0 | 74 0a 20 20 20 20 20 77 68 6f 73 65 20 74 69 74 6c 65 20 65 69 74 68 65 72 20 69 73 20 70 72 65 | t......whose.title.either.is.pre |
| 43400 | 63 69 73 65 6c 79 20 58 59 5a 20 6f 72 20 63 6f 6e 74 61 69 6e 73 20 58 59 5a 20 69 6e 20 70 61 | cisely.XYZ.or.contains.XYZ.in.pa |
| 43420 | 72 65 6e 74 68 65 73 65 73 0a 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 78 74 20 74 68 | rentheses......following.text.th |
| 43440 | 61 74 20 74 72 61 6e 73 6c 61 74 65 73 20 58 59 5a 20 69 6e 20 61 6e 6f 74 68 65 72 20 6c 61 6e | at.translates.XYZ.in.another.lan |
| 43460 | 67 75 61 67 65 2e 20 20 28 48 65 72 65 20 58 59 5a 0a 20 20 20 20 20 73 74 61 6e 64 73 20 66 6f | guage...(Here.XYZ......stands.fo |
| 43480 | 72 20 61 20 73 70 65 63 69 66 69 63 20 73 65 63 74 69 6f 6e 20 6e 61 6d 65 20 6d 65 6e 74 69 6f | r.a.specific.section.name.mentio |
| 434a0 | 6e 65 64 20 62 65 6c 6f 77 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 e2 80 9c 41 63 6b 6e 6f | ned.below,.such.as.........Ackno |
| 434c0 | 77 6c 65 64 67 65 6d 65 6e 74 73 e2 80 9d 2c 20 e2 80 9c 44 65 64 69 63 61 74 69 6f 6e 73 e2 80 | wledgements...,....Dedications.. |
| 434e0 | 9d 2c 20 e2 80 9c 45 6e 64 6f 72 73 65 6d 65 6e 74 73 e2 80 9d 2c 20 6f 72 20 e2 80 9c 48 69 73 | .,....Endorsements...,.or....His |
| 43500 | 74 6f 72 79 e2 80 9d 2e 29 0a 20 20 20 20 20 54 6f 20 e2 80 9c 50 72 65 73 65 72 76 65 20 74 68 | tory....)......To....Preserve.th |
| 43520 | 65 20 54 69 74 6c 65 e2 80 9d 20 6f 66 20 73 75 63 68 20 61 20 73 65 63 74 69 6f 6e 20 77 68 65 | e.Title....of.such.a.section.whe |
| 43540 | 6e 20 79 6f 75 20 6d 6f 64 69 66 79 20 74 68 65 0a 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 20 6d | n.you.modify.the......Document.m |
| 43560 | 65 61 6e 73 20 74 68 61 74 20 69 74 20 72 65 6d 61 69 6e 73 20 61 20 73 65 63 74 69 6f 6e 20 e2 | eans.that.it.remains.a.section.. |
| 43580 | 80 9c 45 6e 74 69 74 6c 65 64 20 58 59 5a e2 80 9d 20 61 63 63 6f 72 64 69 6e 67 0a 20 20 20 20 | ..Entitled.XYZ....according..... |
| 435a0 | 20 74 6f 20 74 68 69 73 20 64 65 66 69 6e 69 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 54 68 65 20 44 | .to.this.definition........The.D |
| 435c0 | 6f 63 75 6d 65 6e 74 20 6d 61 79 20 69 6e 63 6c 75 64 65 20 57 61 72 72 61 6e 74 79 20 44 69 73 | ocument.may.include.Warranty.Dis |
| 435e0 | 63 6c 61 69 6d 65 72 73 20 6e 65 78 74 20 74 6f 20 74 68 65 20 6e 6f 74 69 63 65 0a 20 20 20 20 | claimers.next.to.the.notice..... |
| 43600 | 20 77 68 69 63 68 20 73 74 61 74 65 73 20 74 68 61 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 | .which.states.that.this.License. |
| 43620 | 61 70 70 6c 69 65 73 20 74 6f 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2e 20 20 54 68 65 73 65 0a | applies.to.the.Document...These. |
| 43640 | 20 20 20 20 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 20 61 72 65 20 63 6f | .....Warranty.Disclaimers.are.co |
| 43660 | 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 20 69 6e 63 6c 75 64 65 64 20 62 79 20 72 65 66 65 72 | nsidered.to.be.included.by.refer |
| 43680 | 65 6e 63 65 20 69 6e 0a 20 20 20 20 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 62 75 74 20 6f | ence.in......this.License,.but.o |
| 436a0 | 6e 6c 79 20 61 73 20 72 65 67 61 72 64 73 20 64 69 73 63 6c 61 69 6d 69 6e 67 20 77 61 72 72 61 | nly.as.regards.disclaiming.warra |
| 436c0 | 6e 74 69 65 73 3a 20 61 6e 79 20 6f 74 68 65 72 0a 20 20 20 20 20 69 6d 70 6c 69 63 61 74 69 6f | nties:.any.other......implicatio |
| 436e0 | 6e 20 74 68 61 74 20 74 68 65 73 65 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 | n.that.these.Warranty.Disclaimer |
| 43700 | 73 20 6d 61 79 20 68 61 76 65 20 69 73 20 76 6f 69 64 20 61 6e 64 0a 20 20 20 20 20 68 61 73 20 | s.may.have.is.void.and......has. |
| 43720 | 6e 6f 20 65 66 66 65 63 74 20 6f 6e 20 74 68 65 20 6d 65 61 6e 69 6e 67 20 6f 66 20 74 68 69 73 | no.effect.on.the.meaning.of.this |
| 43740 | 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 32 2e 20 56 45 52 42 41 54 49 4d 20 43 4f 50 59 49 4e 47 | .License.....2..VERBATIM.COPYING |
| 43760 | 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 | .......You.may.copy.and.distribu |
| 43780 | 74 65 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c 20 65 | te.the.Document.in.any.medium,.e |
| 437a0 | 69 74 68 65 72 0a 20 20 20 20 20 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 20 6f 72 20 6e 6f 6e 63 6f | ither......commercially.or.nonco |
| 437c0 | 6d 6d 65 72 63 69 61 6c 6c 79 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 74 68 69 73 20 4c | mmercially,.provided.that.this.L |
| 437e0 | 69 63 65 6e 73 65 2c 20 74 68 65 0a 20 20 20 20 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 | icense,.the......copyright.notic |
| 43800 | 65 73 2c 20 61 6e 64 20 74 68 65 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 20 73 61 79 69 6e | es,.and.the.license.notice.sayin |
| 43820 | 67 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 20 61 70 70 6c 69 65 73 20 74 6f 20 74 | g.this.License......applies.to.t |
| 43840 | 68 65 20 44 6f 63 75 6d 65 6e 74 20 61 72 65 20 72 65 70 72 6f 64 75 63 65 64 20 69 6e 20 61 6c | he.Document.are.reproduced.in.al |
| 43860 | 6c 20 63 6f 70 69 65 73 2c 20 61 6e 64 20 74 68 61 74 20 79 6f 75 0a 20 20 20 20 20 61 64 64 20 | l.copies,.and.that.you......add. |
| 43880 | 6e 6f 20 6f 74 68 65 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 77 68 61 74 73 6f 65 76 65 72 20 74 | no.other.conditions.whatsoever.t |
| 438a0 | 6f 20 74 68 6f 73 65 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 59 6f 75 0a 20 20 | o.those.of.this.License...You... |
| 438c0 | 20 20 20 6d 61 79 20 6e 6f 74 20 75 73 65 20 74 65 63 68 6e 69 63 61 6c 20 6d 65 61 73 75 72 65 | ...may.not.use.technical.measure |
| 438e0 | 73 20 74 6f 20 6f 62 73 74 72 75 63 74 20 6f 72 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 72 65 61 | s.to.obstruct.or.control.the.rea |
| 43900 | 64 69 6e 67 0a 20 20 20 20 20 6f 72 20 66 75 72 74 68 65 72 20 63 6f 70 79 69 6e 67 20 6f 66 20 | ding......or.further.copying.of. |
| 43920 | 74 68 65 20 63 6f 70 69 65 73 20 79 6f 75 20 6d 61 6b 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 | the.copies.you.make.or.distribut |
| 43940 | 65 2e 20 20 48 6f 77 65 76 65 72 2c 0a 20 20 20 20 20 79 6f 75 20 6d 61 79 20 61 63 63 65 70 74 | e...However,......you.may.accept |
| 43960 | 20 63 6f 6d 70 65 6e 73 61 74 69 6f 6e 20 69 6e 20 65 78 63 68 61 6e 67 65 20 66 6f 72 20 63 6f | .compensation.in.exchange.for.co |
| 43980 | 70 69 65 73 2e 20 20 49 66 20 79 6f 75 0a 20 20 20 20 20 64 69 73 74 72 69 62 75 74 65 20 61 20 | pies...If.you......distribute.a. |
| 439a0 | 6c 61 72 67 65 20 65 6e 6f 75 67 68 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 70 69 65 73 20 79 6f | large.enough.number.of.copies.yo |
| 439c0 | 75 20 6d 75 73 74 20 61 6c 73 6f 20 66 6f 6c 6c 6f 77 20 74 68 65 0a 20 20 20 20 20 63 6f 6e 64 | u.must.also.follow.the......cond |
| 439e0 | 69 74 69 6f 6e 73 20 69 6e 20 73 65 63 74 69 6f 6e 20 33 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d | itions.in.section.3........You.m |
| 43a00 | 61 79 20 61 6c 73 6f 20 6c 65 6e 64 20 63 6f 70 69 65 73 2c 20 75 6e 64 65 72 20 74 68 65 20 73 | ay.also.lend.copies,.under.the.s |
| 43a20 | 61 6d 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 73 74 61 74 65 64 20 61 62 6f 76 65 2c 0a 20 20 20 | ame.conditions.stated.above,.... |
| 43a40 | 20 20 61 6e 64 20 79 6f 75 20 6d 61 79 20 70 75 62 6c 69 63 6c 79 20 64 69 73 70 6c 61 79 20 63 | ..and.you.may.publicly.display.c |
| 43a60 | 6f 70 69 65 73 2e 0a 0a 20 20 33 2e 20 43 4f 50 59 49 4e 47 20 49 4e 20 51 55 41 4e 54 49 54 59 | opies.....3..COPYING.IN.QUANTITY |
| 43a80 | 0a 0a 20 20 20 20 20 49 66 20 79 6f 75 20 70 75 62 6c 69 73 68 20 70 72 69 6e 74 65 64 20 63 6f | .......If.you.publish.printed.co |
| 43aa0 | 70 69 65 73 20 28 6f 72 20 63 6f 70 69 65 73 20 69 6e 20 6d 65 64 69 61 20 74 68 61 74 20 63 6f | pies.(or.copies.in.media.that.co |
| 43ac0 | 6d 6d 6f 6e 6c 79 0a 20 20 20 20 20 68 61 76 65 20 70 72 69 6e 74 65 64 20 63 6f 76 65 72 73 29 | mmonly......have.printed.covers) |
| 43ae0 | 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 6e 75 6d 62 65 72 69 6e 67 20 6d 6f 72 65 | .of.the.Document,.numbering.more |
| 43b00 | 20 74 68 61 6e 20 31 30 30 2c 20 61 6e 64 0a 20 20 20 20 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 | .than.100,.and......the.Document |
| 43b20 | e2 80 99 73 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 20 72 65 71 75 69 72 65 73 20 43 6f 76 | ...s.license.notice.requires.Cov |
| 43b40 | 65 72 20 54 65 78 74 73 2c 20 79 6f 75 20 6d 75 73 74 0a 20 20 20 20 20 65 6e 63 6c 6f 73 65 20 | er.Texts,.you.must......enclose. |
| 43b60 | 74 68 65 20 63 6f 70 69 65 73 20 69 6e 20 63 6f 76 65 72 73 20 74 68 61 74 20 63 61 72 72 79 2c | the.copies.in.covers.that.carry, |
| 43b80 | 20 63 6c 65 61 72 6c 79 20 61 6e 64 20 6c 65 67 69 62 6c 79 2c 20 61 6c 6c 0a 20 20 20 20 20 74 | .clearly.and.legibly,.all......t |
| 43ba0 | 68 65 73 65 20 43 6f 76 65 72 20 54 65 78 74 73 3a 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 | hese.Cover.Texts:.Front-Cover.Te |
| 43bc0 | 78 74 73 20 6f 6e 20 74 68 65 20 66 72 6f 6e 74 20 63 6f 76 65 72 2c 20 61 6e 64 0a 20 20 20 20 | xts.on.the.front.cover,.and..... |
| 43be0 | 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 73 20 6f 6e 20 74 68 65 20 62 61 63 6b 20 63 6f | .Back-Cover.Texts.on.the.back.co |
| 43c00 | 76 65 72 2e 20 20 42 6f 74 68 20 63 6f 76 65 72 73 20 6d 75 73 74 20 61 6c 73 6f 20 63 6c 65 61 | ver...Both.covers.must.also.clea |
| 43c20 | 72 6c 79 0a 20 20 20 20 20 61 6e 64 20 6c 65 67 69 62 6c 79 20 69 64 65 6e 74 69 66 79 20 79 6f | rly......and.legibly.identify.yo |
| 43c40 | 75 20 61 73 20 74 68 65 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 65 73 65 20 63 6f 70 69 | u.as.the.publisher.of.these.copi |
| 43c60 | 65 73 2e 20 20 54 68 65 0a 20 20 20 20 20 66 72 6f 6e 74 20 63 6f 76 65 72 20 6d 75 73 74 20 70 | es...The......front.cover.must.p |
| 43c80 | 72 65 73 65 6e 74 20 74 68 65 20 66 75 6c 6c 20 74 69 74 6c 65 20 77 69 74 68 20 61 6c 6c 20 77 | resent.the.full.title.with.all.w |
| 43ca0 | 6f 72 64 73 20 6f 66 20 74 68 65 20 74 69 74 6c 65 0a 20 20 20 20 20 65 71 75 61 6c 6c 79 20 70 | ords.of.the.title......equally.p |
| 43cc0 | 72 6f 6d 69 6e 65 6e 74 20 61 6e 64 20 76 69 73 69 62 6c 65 2e 20 20 59 6f 75 20 6d 61 79 20 61 | rominent.and.visible...You.may.a |
| 43ce0 | 64 64 20 6f 74 68 65 72 20 6d 61 74 65 72 69 61 6c 20 6f 6e 20 74 68 65 0a 20 20 20 20 20 63 6f | dd.other.material.on.the......co |
| 43d00 | 76 65 72 73 20 69 6e 20 61 64 64 69 74 69 6f 6e 2e 20 20 43 6f 70 79 69 6e 67 20 77 69 74 68 20 | vers.in.addition...Copying.with. |
| 43d20 | 63 68 61 6e 67 65 73 20 6c 69 6d 69 74 65 64 20 74 6f 20 74 68 65 20 63 6f 76 65 72 73 2c 20 61 | changes.limited.to.the.covers,.a |
| 43d40 | 73 0a 20 20 20 20 20 6c 6f 6e 67 20 61 73 20 74 68 65 79 20 70 72 65 73 65 72 76 65 20 74 68 65 | s......long.as.they.preserve.the |
| 43d60 | 20 74 69 74 6c 65 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 61 6e 64 20 73 61 74 69 73 | .title.of.the.Document.and.satis |
| 43d80 | 66 79 20 74 68 65 73 65 0a 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 63 61 6e 20 62 65 | fy.these......conditions,.can.be |
| 43da0 | 20 74 72 65 61 74 65 64 20 61 73 20 76 65 72 62 61 74 69 6d 20 63 6f 70 79 69 6e 67 20 69 6e 20 | .treated.as.verbatim.copying.in. |
| 43dc0 | 6f 74 68 65 72 20 72 65 73 70 65 63 74 73 2e 0a 0a 20 20 20 20 20 49 66 20 74 68 65 20 72 65 71 | other.respects........If.the.req |
| 43de0 | 75 69 72 65 64 20 74 65 78 74 73 20 66 6f 72 20 65 69 74 68 65 72 20 63 6f 76 65 72 20 61 72 65 | uired.texts.for.either.cover.are |
| 43e00 | 20 74 6f 6f 20 76 6f 6c 75 6d 69 6e 6f 75 73 20 74 6f 20 66 69 74 0a 20 20 20 20 20 6c 65 67 69 | .too.voluminous.to.fit......legi |
| 43e20 | 62 6c 79 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 70 75 74 20 74 68 65 20 66 69 72 73 74 20 6f 6e | bly,.you.should.put.the.first.on |
| 43e40 | 65 73 20 6c 69 73 74 65 64 20 28 61 73 20 6d 61 6e 79 20 61 73 20 66 69 74 0a 20 20 20 20 20 72 | es.listed.(as.many.as.fit......r |
| 43e60 | 65 61 73 6f 6e 61 62 6c 79 29 20 6f 6e 20 74 68 65 20 61 63 74 75 61 6c 20 63 6f 76 65 72 2c 20 | easonably).on.the.actual.cover,. |
| 43e80 | 61 6e 64 20 63 6f 6e 74 69 6e 75 65 20 74 68 65 20 72 65 73 74 20 6f 6e 74 6f 0a 20 20 20 20 20 | and.continue.the.rest.onto...... |
| 43ea0 | 61 64 6a 61 63 65 6e 74 20 70 61 67 65 73 2e 0a 0a 20 20 20 20 20 49 66 20 79 6f 75 20 70 75 62 | adjacent.pages........If.you.pub |
| 43ec0 | 6c 69 73 68 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 20 4f 70 61 71 75 65 20 63 6f 70 69 65 73 | lish.or.distribute.Opaque.copies |
| 43ee0 | 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 6e 75 6d 62 65 72 69 6e 67 20 | .of.the.Document......numbering. |
| 43f00 | 6d 6f 72 65 20 74 68 61 6e 20 31 30 30 2c 20 79 6f 75 20 6d 75 73 74 20 65 69 74 68 65 72 20 69 | more.than.100,.you.must.either.i |
| 43f20 | 6e 63 6c 75 64 65 20 61 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 0a 20 20 20 20 20 54 | nclude.a.machine-readable......T |
| 43f40 | 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 79 20 61 6c 6f 6e 67 20 77 69 74 68 20 65 61 63 68 20 | ransparent.copy.along.with.each. |
| 43f60 | 4f 70 61 71 75 65 20 63 6f 70 79 2c 20 6f 72 20 73 74 61 74 65 20 69 6e 20 6f 72 20 77 69 74 68 | Opaque.copy,.or.state.in.or.with |
| 43f80 | 0a 20 20 20 20 20 65 61 63 68 20 4f 70 61 71 75 65 20 63 6f 70 79 20 61 20 63 6f 6d 70 75 74 65 | ......each.Opaque.copy.a.compute |
| 43fa0 | 72 2d 6e 65 74 77 6f 72 6b 20 6c 6f 63 61 74 69 6f 6e 20 66 72 6f 6d 20 77 68 69 63 68 20 74 68 | r-network.location.from.which.th |
| 43fc0 | 65 20 67 65 6e 65 72 61 6c 0a 20 20 20 20 20 6e 65 74 77 6f 72 6b 2d 75 73 69 6e 67 20 70 75 62 | e.general......network-using.pub |
| 43fe0 | 6c 69 63 20 68 61 73 20 61 63 63 65 73 73 20 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 75 73 69 6e 67 | lic.has.access.to.download.using |
| 44000 | 20 70 75 62 6c 69 63 2d 73 74 61 6e 64 61 72 64 0a 20 20 20 20 20 6e 65 74 77 6f 72 6b 20 70 72 | .public-standard......network.pr |
| 44020 | 6f 74 6f 63 6f 6c 73 20 61 20 63 6f 6d 70 6c 65 74 65 20 54 72 61 6e 73 70 61 72 65 6e 74 20 63 | otocols.a.complete.Transparent.c |
| 44040 | 6f 70 79 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 66 72 65 65 0a 20 20 20 20 20 6f | opy.of.the.Document,.free......o |
| 44060 | 66 20 61 64 64 65 64 20 6d 61 74 65 72 69 61 6c 2e 20 20 49 66 20 79 6f 75 20 75 73 65 20 74 68 | f.added.material...If.you.use.th |
| 44080 | 65 20 6c 61 74 74 65 72 20 6f 70 74 69 6f 6e 2c 20 79 6f 75 20 6d 75 73 74 20 74 61 6b 65 0a 20 | e.latter.option,.you.must.take.. |
| 440a0 | 20 20 20 20 72 65 61 73 6f 6e 61 62 6c 79 20 70 72 75 64 65 6e 74 20 73 74 65 70 73 2c 20 77 68 | ....reasonably.prudent.steps,.wh |
| 440c0 | 65 6e 20 79 6f 75 20 62 65 67 69 6e 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 4f 70 61 | en.you.begin.distribution.of.Opa |
| 440e0 | 71 75 65 0a 20 20 20 20 20 63 6f 70 69 65 73 20 69 6e 20 71 75 61 6e 74 69 74 79 2c 20 74 6f 20 | que......copies.in.quantity,.to. |
| 44100 | 65 6e 73 75 72 65 20 74 68 61 74 20 74 68 69 73 20 54 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 | ensure.that.this.Transparent.cop |
| 44120 | 79 20 77 69 6c 6c 0a 20 20 20 20 20 72 65 6d 61 69 6e 20 74 68 75 73 20 61 63 63 65 73 73 69 62 | y.will......remain.thus.accessib |
| 44140 | 6c 65 20 61 74 20 74 68 65 20 73 74 61 74 65 64 20 6c 6f 63 61 74 69 6f 6e 20 75 6e 74 69 6c 20 | le.at.the.stated.location.until. |
| 44160 | 61 74 20 6c 65 61 73 74 20 6f 6e 65 0a 20 20 20 20 20 79 65 61 72 20 61 66 74 65 72 20 74 68 65 | at.least.one......year.after.the |
| 44180 | 20 6c 61 73 74 20 74 69 6d 65 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 20 4f 70 61 | .last.time.you.distribute.an.Opa |
| 441a0 | 71 75 65 20 63 6f 70 79 20 28 64 69 72 65 63 74 6c 79 20 6f 72 0a 20 20 20 20 20 74 68 72 6f 75 | que.copy.(directly.or......throu |
| 441c0 | 67 68 20 79 6f 75 72 20 61 67 65 6e 74 73 20 6f 72 20 72 65 74 61 69 6c 65 72 73 29 20 6f 66 20 | gh.your.agents.or.retailers).of. |
| 441e0 | 74 68 61 74 20 65 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 2e 0a 0a 20 20 20 | that.edition.to.the.public...... |
| 44200 | 20 20 49 74 20 69 73 20 72 65 71 75 65 73 74 65 64 2c 20 62 75 74 20 6e 6f 74 20 72 65 71 75 69 | ..It.is.requested,.but.not.requi |
| 44220 | 72 65 64 2c 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 74 61 63 74 20 74 68 65 20 61 75 74 68 6f 72 | red,.that.you.contact.the.author |
| 44240 | 73 20 6f 66 0a 20 20 20 20 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 77 65 6c 6c 20 62 65 66 6f | s.of......the.Document.well.befo |
| 44260 | 72 65 20 72 65 64 69 73 74 72 69 62 75 74 69 6e 67 20 61 6e 79 20 6c 61 72 67 65 20 6e 75 6d 62 | re.redistributing.any.large.numb |
| 44280 | 65 72 20 6f 66 20 63 6f 70 69 65 73 2c 0a 20 20 20 20 20 74 6f 20 67 69 76 65 20 74 68 65 6d 20 | er.of.copies,......to.give.them. |
| 442a0 | 61 20 63 68 61 6e 63 65 20 74 6f 20 70 72 6f 76 69 64 65 20 79 6f 75 20 77 69 74 68 20 61 6e 20 | a.chance.to.provide.you.with.an. |
| 442c0 | 75 70 64 61 74 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 0a 20 20 20 20 20 44 6f 63 75 | updated.version.of.the......Docu |
| 442e0 | 6d 65 6e 74 2e 0a 0a 20 20 34 2e 20 4d 4f 44 49 46 49 43 41 54 49 4f 4e 53 0a 0a 20 20 20 20 20 | ment.....4..MODIFICATIONS....... |
| 44300 | 59 6f 75 20 6d 61 79 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 61 20 4d 6f | You.may.copy.and.distribute.a.Mo |
| 44320 | 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 20 | dified.Version.of.the.Document.. |
| 44340 | 20 20 20 20 75 6e 64 65 72 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 20 73 65 63 74 | ....under.the.conditions.of.sect |
| 44360 | 69 6f 6e 73 20 32 20 61 6e 64 20 33 20 61 62 6f 76 65 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 | ions.2.and.3.above,.provided.tha |
| 44380 | 74 20 79 6f 75 0a 20 20 20 20 20 72 65 6c 65 61 73 65 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 | t.you......release.the.Modified. |
| 443a0 | 56 65 72 73 69 6f 6e 20 75 6e 64 65 72 20 70 72 65 63 69 73 65 6c 79 20 74 68 69 73 20 4c 69 63 | Version.under.precisely.this.Lic |
| 443c0 | 65 6e 73 65 2c 20 77 69 74 68 20 74 68 65 0a 20 20 20 20 20 4d 6f 64 69 66 69 65 64 20 56 65 72 | ense,.with.the......Modified.Ver |
| 443e0 | 73 69 6f 6e 20 66 69 6c 6c 69 6e 67 20 74 68 65 20 72 6f 6c 65 20 6f 66 20 74 68 65 20 44 6f 63 | sion.filling.the.role.of.the.Doc |
| 44400 | 75 6d 65 6e 74 2c 20 74 68 75 73 20 6c 69 63 65 6e 73 69 6e 67 0a 20 20 20 20 20 64 69 73 74 72 | ument,.thus.licensing......distr |
| 44420 | 69 62 75 74 69 6f 6e 20 61 6e 64 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 | ibution.and.modification.of.the. |
| 44440 | 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 74 6f 20 77 68 6f 65 76 65 72 0a 20 20 20 20 | Modified.Version.to.whoever..... |
| 44460 | 20 70 6f 73 73 65 73 73 65 73 20 61 20 63 6f 70 79 20 6f 66 20 69 74 2e 20 20 49 6e 20 61 64 64 | .possesses.a.copy.of.it...In.add |
| 44480 | 69 74 69 6f 6e 2c 20 79 6f 75 20 6d 75 73 74 20 64 6f 20 74 68 65 73 65 20 74 68 69 6e 67 73 20 | ition,.you.must.do.these.things. |
| 444a0 | 69 6e 0a 20 20 20 20 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 3a 0a 0a 20 | in......the.Modified.Version:... |
| 444c0 | 20 20 20 20 20 20 41 2e 20 55 73 65 20 69 6e 20 74 68 65 20 54 69 74 6c 65 20 50 61 67 65 20 28 | ......A..Use.in.the.Title.Page.( |
| 444e0 | 61 6e 64 20 6f 6e 20 74 68 65 20 63 6f 76 65 72 73 2c 20 69 66 20 61 6e 79 29 20 61 20 74 69 74 | and.on.the.covers,.if.any).a.tit |
| 44500 | 6c 65 0a 20 20 20 20 20 20 20 20 20 20 64 69 73 74 69 6e 63 74 20 66 72 6f 6d 20 74 68 61 74 20 | le...........distinct.from.that. |
| 44520 | 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 61 6e 64 20 66 72 6f 6d 20 74 68 6f 73 65 20 | of.the.Document,.and.from.those. |
| 44540 | 6f 66 20 70 72 65 76 69 6f 75 73 0a 20 20 20 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 73 20 28 | of.previous...........versions.( |
| 44560 | 77 68 69 63 68 20 73 68 6f 75 6c 64 2c 20 69 66 20 74 68 65 72 65 20 77 65 72 65 20 61 6e 79 2c | which.should,.if.there.were.any, |
| 44580 | 20 62 65 20 6c 69 73 74 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 48 69 73 74 | .be.listed.in.the...........Hist |
| 445a0 | 6f 72 79 20 73 65 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 29 2e 20 20 59 | ory.section.of.the.Document)...Y |
| 445c0 | 6f 75 20 6d 61 79 20 75 73 65 20 74 68 65 20 73 61 6d 65 20 74 69 74 6c 65 0a 20 20 20 20 20 20 | ou.may.use.the.same.title....... |
| 445e0 | 20 20 20 20 61 73 20 61 20 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 20 69 66 20 74 68 65 | ....as.a.previous.version.if.the |
| 44600 | 20 6f 72 69 67 69 6e 61 6c 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 61 74 0a 20 20 20 20 | .original.publisher.of.that..... |
| 44620 | 20 20 20 20 20 20 76 65 72 73 69 6f 6e 20 67 69 76 65 73 20 70 65 72 6d 69 73 73 69 6f 6e 2e 0a | ......version.gives.permission.. |
| 44640 | 0a 20 20 20 20 20 20 20 42 2e 20 4c 69 73 74 20 6f 6e 20 74 68 65 20 54 69 74 6c 65 20 50 61 67 | ........B..List.on.the.Title.Pag |
| 44660 | 65 2c 20 61 73 20 61 75 74 68 6f 72 73 2c 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 70 65 72 73 6f | e,.as.authors,.one.or.more.perso |
| 44680 | 6e 73 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 65 6e 74 69 74 69 65 73 20 72 65 73 70 6f 6e 73 | ns.or...........entities.respons |
| 446a0 | 69 62 6c 65 20 66 6f 72 20 61 75 74 68 6f 72 73 68 69 70 20 6f 66 20 74 68 65 20 6d 6f 64 69 66 | ible.for.authorship.of.the.modif |
| 446c0 | 69 63 61 74 69 6f 6e 73 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 4d 6f 64 69 66 69 | ications.in...........the.Modifi |
| 446e0 | 65 64 20 56 65 72 73 69 6f 6e 2c 20 74 6f 67 65 74 68 65 72 20 77 69 74 68 20 61 74 20 6c 65 61 | ed.Version,.together.with.at.lea |
| 44700 | 73 74 20 66 69 76 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 63 69 70 | st.five.of.the...........princip |
| 44720 | 61 6c 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 28 61 6c 6c 20 | al.authors.of.the.Document.(all. |
| 44740 | 6f 66 20 69 74 73 20 70 72 69 6e 63 69 70 61 6c 0a 20 20 20 20 20 20 20 20 20 20 61 75 74 68 6f | of.its.principal...........autho |
| 44760 | 72 73 2c 20 69 66 20 69 74 20 68 61 73 20 66 65 77 65 72 20 74 68 61 6e 20 66 69 76 65 29 2c 20 | rs,.if.it.has.fewer.than.five),. |
| 44780 | 75 6e 6c 65 73 73 20 74 68 65 79 20 72 65 6c 65 61 73 65 20 79 6f 75 0a 20 20 20 20 20 20 20 20 | unless.they.release.you......... |
| 447a0 | 20 20 66 72 6f 6d 20 74 68 69 73 20 72 65 71 75 69 72 65 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 20 | ..from.this.requirement......... |
| 447c0 | 20 43 2e 20 53 74 61 74 65 20 6f 6e 20 74 68 65 20 54 69 74 6c 65 20 70 61 67 65 20 74 68 65 20 | .C..State.on.the.Title.page.the. |
| 447e0 | 6e 61 6d 65 20 6f 66 20 74 68 65 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 65 0a 20 20 20 | name.of.the.publisher.of.the.... |
| 44800 | 20 20 20 20 20 20 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 2c 20 61 73 20 74 68 65 20 | .......Modified.Version,.as.the. |
| 44820 | 70 75 62 6c 69 73 68 65 72 2e 0a 0a 20 20 20 20 20 20 20 44 2e 20 50 72 65 73 65 72 76 65 20 61 | publisher..........D..Preserve.a |
| 44840 | 6c 6c 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 73 20 6f 66 20 74 68 65 20 | ll.the.copyright.notices.of.the. |
| 44860 | 44 6f 63 75 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 20 20 45 2e 20 41 64 64 20 61 6e 20 61 70 70 72 | Document..........E..Add.an.appr |
| 44880 | 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 66 6f 72 20 79 6f 75 | opriate.copyright.notice.for.you |
| 448a0 | 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 61 64 6a 61 63 65 | r.modifications...........adjace |
| 448c0 | 6e 74 20 74 6f 20 74 68 65 20 6f 74 68 65 72 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 | nt.to.the.other.copyright.notice |
| 448e0 | 73 2e 0a 0a 20 20 20 20 20 20 20 46 2e 20 49 6e 63 6c 75 64 65 2c 20 69 6d 6d 65 64 69 61 74 65 | s..........F..Include,.immediate |
| 44900 | 6c 79 20 61 66 74 65 72 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 73 2c 20 | ly.after.the.copyright.notices,. |
| 44920 | 61 20 6c 69 63 65 6e 73 65 0a 20 20 20 20 20 20 20 20 20 20 6e 6f 74 69 63 65 20 67 69 76 69 6e | a.license...........notice.givin |
| 44940 | 67 20 74 68 65 20 70 75 62 6c 69 63 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 75 73 65 20 74 | g.the.public.permission.to.use.t |
| 44960 | 68 65 20 4d 6f 64 69 66 69 65 64 0a 20 20 20 20 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 75 6e | he.Modified...........Version.un |
| 44980 | 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 69 | der.the.terms.of.this.License,.i |
| 449a0 | 6e 20 74 68 65 20 66 6f 72 6d 20 73 68 6f 77 6e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 74 68 | n.the.form.shown.in...........th |
| 449c0 | 65 20 41 64 64 65 6e 64 75 6d 20 62 65 6c 6f 77 2e 0a 0a 20 20 20 20 20 20 20 47 2e 20 50 72 65 | e.Addendum.below..........G..Pre |
| 449e0 | 73 65 72 76 65 20 69 6e 20 74 68 61 74 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 20 74 68 65 | serve.in.that.license.notice.the |
| 44a00 | 20 66 75 6c 6c 20 6c 69 73 74 73 20 6f 66 20 49 6e 76 61 72 69 61 6e 74 0a 20 20 20 20 20 20 20 | .full.lists.of.Invariant........ |
| 44a20 | 20 20 20 53 65 63 74 69 6f 6e 73 20 61 6e 64 20 72 65 71 75 69 72 65 64 20 43 6f 76 65 72 20 54 | ...Sections.and.required.Cover.T |
| 44a40 | 65 78 74 73 20 67 69 76 65 6e 20 69 6e 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 e2 80 99 73 0a 20 | exts.given.in.the.Document...s.. |
| 44a60 | 20 20 20 20 20 20 20 20 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 2e 0a 0a 20 20 20 20 20 20 | .........license.notice......... |
| 44a80 | 20 48 2e 20 49 6e 63 6c 75 64 65 20 61 6e 20 75 6e 61 6c 74 65 72 65 64 20 63 6f 70 79 20 6f 66 | .H..Include.an.unaltered.copy.of |
| 44aa0 | 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 20 20 20 49 2e 20 50 72 65 73 65 72 | .this.License..........I..Preser |
| 44ac0 | 76 65 20 74 68 65 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 e2 80 9c 48 69 73 74 6f | ve.the.section.Entitled....Histo |
| 44ae0 | 72 79 e2 80 9d 2c 20 50 72 65 73 65 72 76 65 20 69 74 73 20 54 69 74 6c 65 2c 0a 20 20 20 20 20 | ry...,.Preserve.its.Title,...... |
| 44b00 | 20 20 20 20 20 61 6e 64 20 61 64 64 20 74 6f 20 69 74 20 61 6e 20 69 74 65 6d 20 73 74 61 74 69 | .....and.add.to.it.an.item.stati |
| 44b20 | 6e 67 20 61 74 20 6c 65 61 73 74 20 74 68 65 20 74 69 74 6c 65 2c 20 79 65 61 72 2c 20 6e 65 77 | ng.at.least.the.title,.year,.new |
| 44b40 | 0a 20 20 20 20 20 20 20 20 20 20 61 75 74 68 6f 72 73 2c 20 61 6e 64 20 70 75 62 6c 69 73 68 65 | ...........authors,.and.publishe |
| 44b60 | 72 20 6f 66 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 61 73 20 67 69 76 | r.of.the.Modified.Version.as.giv |
| 44b80 | 65 6e 20 6f 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 54 69 74 6c 65 20 50 61 67 65 2e 20 | en.on.the...........Title.Page.. |
| 44ba0 | 20 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 | .If.there.is.no.section.Entitled |
| 44bc0 | 20 e2 80 9c 48 69 73 74 6f 72 79 e2 80 9d 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 | ....History....in.the........... |
| 44be0 | 44 6f 63 75 6d 65 6e 74 2c 20 63 72 65 61 74 65 20 6f 6e 65 20 73 74 61 74 69 6e 67 20 74 68 65 | Document,.create.one.stating.the |
| 44c00 | 20 74 69 74 6c 65 2c 20 79 65 61 72 2c 20 61 75 74 68 6f 72 73 2c 20 61 6e 64 0a 20 20 20 20 20 | .title,.year,.authors,.and...... |
| 44c20 | 20 20 20 20 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 61 | .....publisher.of.the.Document.a |
| 44c40 | 73 20 67 69 76 65 6e 20 6f 6e 20 69 74 73 20 54 69 74 6c 65 20 50 61 67 65 2c 20 74 68 65 6e 20 | s.given.on.its.Title.Page,.then. |
| 44c60 | 61 64 64 0a 20 20 20 20 20 20 20 20 20 20 61 6e 20 69 74 65 6d 20 64 65 73 63 72 69 62 69 6e 67 | add...........an.item.describing |
| 44c80 | 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 61 73 20 73 74 61 74 65 64 20 | .the.Modified.Version.as.stated. |
| 44ca0 | 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 70 72 65 76 69 6f 75 73 20 73 65 6e 74 65 6e | in.the...........previous.senten |
| 44cc0 | 63 65 2e 0a 0a 20 20 20 20 20 20 20 4a 2e 20 50 72 65 73 65 72 76 65 20 74 68 65 20 6e 65 74 77 | ce..........J..Preserve.the.netw |
| 44ce0 | 6f 72 6b 20 6c 6f 63 61 74 69 6f 6e 2c 20 69 66 20 61 6e 79 2c 20 67 69 76 65 6e 20 69 6e 20 74 | ork.location,.if.any,.given.in.t |
| 44d00 | 68 65 20 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 70 75 62 6c 69 63 | he.Document...........for.public |
| 44d20 | 20 61 63 63 65 73 73 20 74 6f 20 61 20 54 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 79 20 6f 66 | .access.to.a.Transparent.copy.of |
| 44d40 | 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 6c 69 6b | .the.Document,.and...........lik |
| 44d60 | 65 77 69 73 65 20 74 68 65 20 6e 65 74 77 6f 72 6b 20 6c 6f 63 61 74 69 6f 6e 73 20 67 69 76 65 | ewise.the.network.locations.give |
| 44d80 | 6e 20 69 6e 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 20 | n.in.the.Document.for........... |
| 44da0 | 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 20 69 74 20 77 61 73 20 62 61 73 65 64 20 6f | previous.versions.it.was.based.o |
| 44dc0 | 6e 2e 20 20 54 68 65 73 65 20 6d 61 79 20 62 65 20 70 6c 61 63 65 64 20 69 6e 20 74 68 65 0a 20 | n...These.may.be.placed.in.the.. |
| 44de0 | 20 20 20 20 20 20 20 20 20 e2 80 9c 48 69 73 74 6f 72 79 e2 80 9d 20 73 65 63 74 69 6f 6e 2e 20 | ............History....section.. |
| 44e00 | 20 59 6f 75 20 6d 61 79 20 6f 6d 69 74 20 61 20 6e 65 74 77 6f 72 6b 20 6c 6f 63 61 74 69 6f 6e | .You.may.omit.a.network.location |
| 44e20 | 20 66 6f 72 20 61 20 77 6f 72 6b 0a 20 20 20 20 20 20 20 20 20 20 74 68 61 74 20 77 61 73 20 70 | .for.a.work...........that.was.p |
| 44e40 | 75 62 6c 69 73 68 65 64 20 61 74 20 6c 65 61 73 74 20 66 6f 75 72 20 79 65 61 72 73 20 62 65 66 | ublished.at.least.four.years.bef |
| 44e60 | 6f 72 65 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 69 74 73 65 6c | ore.the.Document...........itsel |
| 44e80 | 66 2c 20 6f 72 20 69 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 70 75 62 6c 69 73 68 65 72 20 | f,.or.if.the.original.publisher. |
| 44ea0 | 6f 66 20 74 68 65 20 76 65 72 73 69 6f 6e 20 69 74 20 72 65 66 65 72 73 0a 20 20 20 20 20 20 20 | of.the.version.it.refers........ |
| 44ec0 | 20 20 20 74 6f 20 67 69 76 65 73 20 70 65 72 6d 69 73 73 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 | ...to.gives.permission.......... |
| 44ee0 | 4b 2e 20 46 6f 72 20 61 6e 79 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 e2 80 9c 41 | K..For.any.section.Entitled....A |
| 44f00 | 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 73 e2 80 9d 20 6f 72 20 e2 80 9c 44 65 64 69 63 61 74 | cknowledgements....or....Dedicat |
| 44f20 | 69 6f 6e 73 e2 80 9d 2c 0a 20 20 20 20 20 20 20 20 20 20 50 72 65 73 65 72 76 65 20 74 68 65 20 | ions...,...........Preserve.the. |
| 44f40 | 54 69 74 6c 65 20 6f 66 20 74 68 65 20 73 65 63 74 69 6f 6e 2c 20 61 6e 64 20 70 72 65 73 65 72 | Title.of.the.section,.and.preser |
| 44f60 | 76 65 20 69 6e 20 74 68 65 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 61 6c 6c 20 | ve.in.the.section...........all. |
| 44f80 | 74 68 65 20 73 75 62 73 74 61 6e 63 65 20 61 6e 64 20 74 6f 6e 65 20 6f 66 20 65 61 63 68 20 6f | the.substance.and.tone.of.each.o |
| 44fa0 | 66 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 61 63 6b 6e | f.the.contributor...........ackn |
| 44fc0 | 6f 77 6c 65 64 67 65 6d 65 6e 74 73 20 61 6e 64 2f 6f 72 20 64 65 64 69 63 61 74 69 6f 6e 73 20 | owledgements.and/or.dedications. |
| 44fe0 | 67 69 76 65 6e 20 74 68 65 72 65 69 6e 2e 0a 0a 20 20 20 20 20 20 20 4c 2e 20 50 72 65 73 65 72 | given.therein..........L..Preser |
| 45000 | 76 65 20 61 6c 6c 20 74 68 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 6f 66 | ve.all.the.Invariant.Sections.of |
| 45020 | 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 75 6e 61 6c 74 65 72 65 64 0a 20 20 20 20 20 20 20 | .the.Document,.unaltered........ |
| 45040 | 20 20 20 69 6e 20 74 68 65 69 72 20 74 65 78 74 20 61 6e 64 20 69 6e 20 74 68 65 69 72 20 74 69 | ...in.their.text.and.in.their.ti |
| 45060 | 74 6c 65 73 2e 20 20 53 65 63 74 69 6f 6e 20 6e 75 6d 62 65 72 73 20 6f 72 20 74 68 65 0a 20 20 | tles...Section.numbers.or.the... |
| 45080 | 20 20 20 20 20 20 20 20 65 71 75 69 76 61 6c 65 6e 74 20 61 72 65 20 6e 6f 74 20 63 6f 6e 73 69 | ........equivalent.are.not.consi |
| 450a0 | 64 65 72 65 64 20 70 61 72 74 20 6f 66 20 74 68 65 20 73 65 63 74 69 6f 6e 20 74 69 74 6c 65 73 | dered.part.of.the.section.titles |
| 450c0 | 2e 0a 0a 20 20 20 20 20 20 20 4d 2e 20 44 65 6c 65 74 65 20 61 6e 79 20 73 65 63 74 69 6f 6e 20 | ..........M..Delete.any.section. |
| 450e0 | 45 6e 74 69 74 6c 65 64 20 e2 80 9c 45 6e 64 6f 72 73 65 6d 65 6e 74 73 e2 80 9d 2e 20 20 53 75 | Entitled....Endorsements......Su |
| 45100 | 63 68 20 61 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 6d 61 79 20 6e 6f 74 20 62 | ch.a.section...........may.not.b |
| 45120 | 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 | e.included.in.the.Modified.Versi |
| 45140 | 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 4e 2e 20 44 6f 20 6e 6f 74 20 72 65 74 69 74 6c 65 20 61 6e | on..........N..Do.not.retitle.an |
| 45160 | 79 20 65 78 69 73 74 69 6e 67 20 73 65 63 74 69 6f 6e 20 74 6f 20 62 65 20 45 6e 74 69 74 6c 65 | y.existing.section.to.be.Entitle |
| 45180 | 64 0a 20 20 20 20 20 20 20 20 20 20 e2 80 9c 45 6e 64 6f 72 73 65 6d 65 6e 74 73 e2 80 9d 20 6f | d..............Endorsements....o |
| 451a0 | 72 20 74 6f 20 63 6f 6e 66 6c 69 63 74 20 69 6e 20 74 69 74 6c 65 20 77 69 74 68 20 61 6e 79 20 | r.to.conflict.in.title.with.any. |
| 451c0 | 49 6e 76 61 72 69 61 6e 74 0a 20 20 20 20 20 20 20 20 20 20 53 65 63 74 69 6f 6e 2e 0a 0a 20 20 | Invariant...........Section..... |
| 451e0 | 20 20 20 20 20 4f 2e 20 50 72 65 73 65 72 76 65 20 61 6e 79 20 57 61 72 72 61 6e 74 79 20 44 69 | .....O..Preserve.any.Warranty.Di |
| 45200 | 73 63 6c 61 69 6d 65 72 73 2e 0a 0a 20 20 20 20 20 49 66 20 74 68 65 20 4d 6f 64 69 66 69 65 64 | sclaimers........If.the.Modified |
| 45220 | 20 56 65 72 73 69 6f 6e 20 69 6e 63 6c 75 64 65 73 20 6e 65 77 20 66 72 6f 6e 74 2d 6d 61 74 74 | .Version.includes.new.front-matt |
| 45240 | 65 72 20 73 65 63 74 69 6f 6e 73 20 6f 72 0a 20 20 20 20 20 61 70 70 65 6e 64 69 63 65 73 20 74 | er.sections.or......appendices.t |
| 45260 | 68 61 74 20 71 75 61 6c 69 66 79 20 61 73 20 53 65 63 6f 6e 64 61 72 79 20 53 65 63 74 69 6f 6e | hat.qualify.as.Secondary.Section |
| 45280 | 73 20 61 6e 64 20 63 6f 6e 74 61 69 6e 20 6e 6f 0a 20 20 20 20 20 6d 61 74 65 72 69 61 6c 20 63 | s.and.contain.no......material.c |
| 452a0 | 6f 70 69 65 64 20 66 72 6f 6d 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 79 6f 75 20 6d 61 79 | opied.from.the.Document,.you.may |
| 452c0 | 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 20 64 65 73 69 67 6e 61 74 65 0a 20 20 20 20 20 73 | .at.your.option.designate......s |
| 452e0 | 6f 6d 65 20 6f 72 20 61 6c 6c 20 6f 66 20 74 68 65 73 65 20 73 65 63 74 69 6f 6e 73 20 61 73 20 | ome.or.all.of.these.sections.as. |
| 45300 | 69 6e 76 61 72 69 61 6e 74 2e 20 20 54 6f 20 64 6f 20 74 68 69 73 2c 20 61 64 64 20 74 68 65 69 | invariant...To.do.this,.add.thei |
| 45320 | 72 0a 20 20 20 20 20 74 69 74 6c 65 73 20 74 6f 20 74 68 65 20 6c 69 73 74 20 6f 66 20 49 6e 76 | r......titles.to.the.list.of.Inv |
| 45340 | 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 | ariant.Sections.in.the.Modified. |
| 45360 | 56 65 72 73 69 6f 6e e2 80 99 73 0a 20 20 20 20 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 2e | Version...s......license.notice. |
| 45380 | 20 20 54 68 65 73 65 20 74 69 74 6c 65 73 20 6d 75 73 74 20 62 65 20 64 69 73 74 69 6e 63 74 20 | ..These.titles.must.be.distinct. |
| 453a0 | 66 72 6f 6d 20 61 6e 79 20 6f 74 68 65 72 0a 20 20 20 20 20 73 65 63 74 69 6f 6e 20 74 69 74 6c | from.any.other......section.titl |
| 453c0 | 65 73 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 61 64 64 20 61 20 73 65 63 74 69 6f 6e 20 | es........You.may.add.a.section. |
| 453e0 | 45 6e 74 69 74 6c 65 64 20 e2 80 9c 45 6e 64 6f 72 73 65 6d 65 6e 74 73 e2 80 9d 2c 20 70 72 6f | Entitled....Endorsements...,.pro |
| 45400 | 76 69 64 65 64 20 69 74 20 63 6f 6e 74 61 69 6e 73 0a 20 20 20 20 20 6e 6f 74 68 69 6e 67 20 62 | vided.it.contains......nothing.b |
| 45420 | 75 74 20 65 6e 64 6f 72 73 65 6d 65 6e 74 73 20 6f 66 20 79 6f 75 72 20 4d 6f 64 69 66 69 65 64 | ut.endorsements.of.your.Modified |
| 45440 | 20 56 65 72 73 69 6f 6e 20 62 79 20 76 61 72 69 6f 75 73 0a 20 20 20 20 20 70 61 72 74 69 65 73 | .Version.by.various......parties |
| 45460 | e2 80 94 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 73 74 61 74 65 6d 65 6e 74 73 20 6f 66 20 70 65 | ...for.example,.statements.of.pe |
| 45480 | 65 72 20 72 65 76 69 65 77 20 6f 72 20 74 68 61 74 20 74 68 65 20 74 65 78 74 20 68 61 73 0a 20 | er.review.or.that.the.text.has.. |
| 454a0 | 20 20 20 20 62 65 65 6e 20 61 70 70 72 6f 76 65 64 20 62 79 20 61 6e 20 6f 72 67 61 6e 69 7a 61 | ....been.approved.by.an.organiza |
| 454c0 | 74 69 6f 6e 20 61 73 20 74 68 65 20 61 75 74 68 6f 72 69 74 61 74 69 76 65 20 64 65 66 69 6e 69 | tion.as.the.authoritative.defini |
| 454e0 | 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 61 20 73 74 61 6e 64 61 72 64 2e 0a 0a 20 20 20 20 20 59 | tion.of......a.standard........Y |
| 45500 | 6f 75 20 6d 61 79 20 61 64 64 20 61 20 70 61 73 73 61 67 65 20 6f 66 20 75 70 20 74 6f 20 66 69 | ou.may.add.a.passage.of.up.to.fi |
| 45520 | 76 65 20 77 6f 72 64 73 20 61 73 20 61 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 2c 0a | ve.words.as.a.Front-Cover.Text,. |
| 45540 | 20 20 20 20 20 61 6e 64 20 61 20 70 61 73 73 61 67 65 20 6f 66 20 75 70 20 74 6f 20 32 35 20 77 | .....and.a.passage.of.up.to.25.w |
| 45560 | 6f 72 64 73 20 61 73 20 61 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 2c 20 74 6f 20 74 68 | ords.as.a.Back-Cover.Text,.to.th |
| 45580 | 65 20 65 6e 64 20 6f 66 0a 20 20 20 20 20 74 68 65 20 6c 69 73 74 20 6f 66 20 43 6f 76 65 72 20 | e.end.of......the.list.of.Cover. |
| 455a0 | 54 65 78 74 73 20 69 6e 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 2e 20 20 | Texts.in.the.Modified.Version... |
| 455c0 | 4f 6e 6c 79 20 6f 6e 65 20 70 61 73 73 61 67 65 0a 20 20 20 20 20 6f 66 20 46 72 6f 6e 74 2d 43 | Only.one.passage......of.Front-C |
| 455e0 | 6f 76 65 72 20 54 65 78 74 20 61 6e 64 20 6f 6e 65 20 6f 66 20 42 61 63 6b 2d 43 6f 76 65 72 20 | over.Text.and.one.of.Back-Cover. |
| 45600 | 54 65 78 74 20 6d 61 79 20 62 65 20 61 64 64 65 64 20 62 79 20 28 6f 72 0a 20 20 20 20 20 74 68 | Text.may.be.added.by.(or......th |
| 45620 | 72 6f 75 67 68 20 61 72 72 61 6e 67 65 6d 65 6e 74 73 20 6d 61 64 65 20 62 79 29 20 61 6e 79 20 | rough.arrangements.made.by).any. |
| 45640 | 6f 6e 65 20 65 6e 74 69 74 79 2e 20 20 49 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 20 20 20 | one.entity...If.the.Document.... |
| 45660 | 20 20 61 6c 72 65 61 64 79 20 69 6e 63 6c 75 64 65 73 20 61 20 63 6f 76 65 72 20 74 65 78 74 20 | ..already.includes.a.cover.text. |
| 45680 | 66 6f 72 20 74 68 65 20 73 61 6d 65 20 63 6f 76 65 72 2c 20 70 72 65 76 69 6f 75 73 6c 79 20 61 | for.the.same.cover,.previously.a |
| 456a0 | 64 64 65 64 0a 20 20 20 20 20 62 79 20 79 6f 75 20 6f 72 20 62 79 20 61 72 72 61 6e 67 65 6d 65 | dded......by.you.or.by.arrangeme |
| 456c0 | 6e 74 20 6d 61 64 65 20 62 79 20 74 68 65 20 73 61 6d 65 20 65 6e 74 69 74 79 20 79 6f 75 20 61 | nt.made.by.the.same.entity.you.a |
| 456e0 | 72 65 20 61 63 74 69 6e 67 20 6f 6e 0a 20 20 20 20 20 62 65 68 61 6c 66 20 6f 66 2c 20 79 6f 75 | re.acting.on......behalf.of,.you |
| 45700 | 20 6d 61 79 20 6e 6f 74 20 61 64 64 20 61 6e 6f 74 68 65 72 3b 20 62 75 74 20 79 6f 75 20 6d 61 | .may.not.add.another;.but.you.ma |
| 45720 | 79 20 72 65 70 6c 61 63 65 20 74 68 65 20 6f 6c 64 0a 20 20 20 20 20 6f 6e 65 2c 20 6f 6e 20 65 | y.replace.the.old......one,.on.e |
| 45740 | 78 70 6c 69 63 69 74 20 70 65 72 6d 69 73 73 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 70 72 65 76 | xplicit.permission.from.the.prev |
| 45760 | 69 6f 75 73 20 70 75 62 6c 69 73 68 65 72 20 74 68 61 74 20 61 64 64 65 64 0a 20 20 20 20 20 74 | ious.publisher.that.added......t |
| 45780 | 68 65 20 6f 6c 64 20 6f 6e 65 2e 0a 0a 20 20 20 20 20 54 68 65 20 61 75 74 68 6f 72 28 73 29 20 | he.old.one........The.author(s). |
| 457a0 | 61 6e 64 20 70 75 62 6c 69 73 68 65 72 28 73 29 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 | and.publisher(s).of.the.Document |
| 457c0 | 20 64 6f 20 6e 6f 74 20 62 79 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 20 67 69 76 | .do.not.by.this......License.giv |
| 457e0 | 65 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 75 73 65 20 74 68 65 69 72 20 6e 61 6d 65 73 20 | e.permission.to.use.their.names. |
| 45800 | 66 6f 72 20 70 75 62 6c 69 63 69 74 79 20 66 6f 72 20 6f 72 20 74 6f 0a 20 20 20 20 20 61 73 73 | for.publicity.for.or.to......ass |
| 45820 | 65 72 74 20 6f 72 20 69 6d 70 6c 79 20 65 6e 64 6f 72 73 65 6d 65 6e 74 20 6f 66 20 61 6e 79 20 | ert.or.imply.endorsement.of.any. |
| 45840 | 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 2e 0a 0a 20 20 35 2e 20 43 4f 4d 42 49 4e 49 4e | Modified.Version.....5..COMBININ |
| 45860 | 47 20 44 4f 43 55 4d 45 4e 54 53 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 63 6f 6d 62 69 6e | G.DOCUMENTS.......You.may.combin |
| 45880 | 65 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 77 69 74 68 20 6f 74 68 65 72 20 64 6f 63 75 6d 65 | e.the.Document.with.other.docume |
| 458a0 | 6e 74 73 20 72 65 6c 65 61 73 65 64 20 75 6e 64 65 72 0a 20 20 20 20 20 74 68 69 73 20 4c 69 63 | nts.released.under......this.Lic |
| 458c0 | 65 6e 73 65 2c 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 64 65 66 69 6e 65 64 20 69 6e | ense,.under.the.terms.defined.in |
| 458e0 | 20 73 65 63 74 69 6f 6e 20 34 20 61 62 6f 76 65 20 66 6f 72 0a 20 20 20 20 20 6d 6f 64 69 66 69 | .section.4.above.for......modifi |
| 45900 | 65 64 20 76 65 72 73 69 6f 6e 73 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 69 | ed.versions,.provided.that.you.i |
| 45920 | 6e 63 6c 75 64 65 20 69 6e 20 74 68 65 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 61 6c 6c 0a 20 20 | nclude.in.the.combination.all... |
| 45940 | 20 20 20 6f 66 20 74 68 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 6f 66 20 | ...of.the.Invariant.Sections.of. |
| 45960 | 61 6c 6c 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 64 6f 63 75 6d 65 6e 74 73 2c 0a 20 | all.of.the.original.documents,.. |
| 45980 | 20 20 20 20 75 6e 6d 6f 64 69 66 69 65 64 2c 20 61 6e 64 20 6c 69 73 74 20 74 68 65 6d 20 61 6c | ....unmodified,.and.list.them.al |
| 459a0 | 6c 20 61 73 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 6f 66 20 79 6f 75 72 0a | l.as.Invariant.Sections.of.your. |
| 459c0 | 20 20 20 20 20 63 6f 6d 62 69 6e 65 64 20 77 6f 72 6b 20 69 6e 20 69 74 73 20 6c 69 63 65 6e 73 | .....combined.work.in.its.licens |
| 459e0 | 65 20 6e 6f 74 69 63 65 2c 20 61 6e 64 20 74 68 61 74 20 79 6f 75 20 70 72 65 73 65 72 76 65 20 | e.notice,.and.that.you.preserve. |
| 45a00 | 61 6c 6c 0a 20 20 20 20 20 74 68 65 69 72 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d | all......their.Warranty.Disclaim |
| 45a20 | 65 72 73 2e 0a 0a 20 20 20 20 20 54 68 65 20 63 6f 6d 62 69 6e 65 64 20 77 6f 72 6b 20 6e 65 65 | ers........The.combined.work.nee |
| 45a40 | 64 20 6f 6e 6c 79 20 63 6f 6e 74 61 69 6e 20 6f 6e 65 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 | d.only.contain.one.copy.of.this. |
| 45a60 | 4c 69 63 65 6e 73 65 2c 20 61 6e 64 0a 20 20 20 20 20 6d 75 6c 74 69 70 6c 65 20 69 64 65 6e 74 | License,.and......multiple.ident |
| 45a80 | 69 63 61 6c 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 6d 61 79 20 62 65 20 72 | ical.Invariant.Sections.may.be.r |
| 45aa0 | 65 70 6c 61 63 65 64 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 0a 20 20 20 20 20 63 6f 70 79 2e | eplaced.with.a.single......copy. |
| 45ac0 | 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 75 6c 74 69 70 6c 65 20 49 6e 76 61 72 69 61 6e | ..If.there.are.multiple.Invarian |
| 45ae0 | 74 20 53 65 63 74 69 6f 6e 73 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 0a 20 20 | t.Sections.with.the.same.name... |
| 45b00 | 20 20 20 62 75 74 20 64 69 66 66 65 72 65 6e 74 20 63 6f 6e 74 65 6e 74 73 2c 20 6d 61 6b 65 20 | ...but.different.contents,.make. |
| 45b20 | 74 68 65 20 74 69 74 6c 65 20 6f 66 20 65 61 63 68 20 73 75 63 68 20 73 65 63 74 69 6f 6e 20 75 | the.title.of.each.such.section.u |
| 45b40 | 6e 69 71 75 65 0a 20 20 20 20 20 62 79 20 61 64 64 69 6e 67 20 61 74 20 74 68 65 20 65 6e 64 20 | nique......by.adding.at.the.end. |
| 45b60 | 6f 66 20 69 74 2c 20 69 6e 20 70 61 72 65 6e 74 68 65 73 65 73 2c 20 74 68 65 20 6e 61 6d 65 20 | of.it,.in.parentheses,.the.name. |
| 45b80 | 6f 66 20 74 68 65 0a 20 20 20 20 20 6f 72 69 67 69 6e 61 6c 20 61 75 74 68 6f 72 20 6f 72 20 70 | of.the......original.author.or.p |
| 45ba0 | 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 61 74 20 73 65 63 74 69 6f 6e 20 69 66 20 6b 6e 6f 77 | ublisher.of.that.section.if.know |
| 45bc0 | 6e 2c 20 6f 72 20 65 6c 73 65 20 61 0a 20 20 20 20 20 75 6e 69 71 75 65 20 6e 75 6d 62 65 72 2e | n,.or.else.a......unique.number. |
| 45be0 | 20 20 4d 61 6b 65 20 74 68 65 20 73 61 6d 65 20 61 64 6a 75 73 74 6d 65 6e 74 20 74 6f 20 74 68 | ..Make.the.same.adjustment.to.th |
| 45c00 | 65 20 73 65 63 74 69 6f 6e 20 74 69 74 6c 65 73 20 69 6e 0a 20 20 20 20 20 74 68 65 20 6c 69 73 | e.section.titles.in......the.lis |
| 45c20 | 74 20 6f 66 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6c | t.of.Invariant.Sections.in.the.l |
| 45c40 | 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 63 6f 6d 62 69 6e | icense.notice.of.the......combin |
| 45c60 | 65 64 20 77 6f 72 6b 2e 0a 0a 20 20 20 20 20 49 6e 20 74 68 65 20 63 6f 6d 62 69 6e 61 74 69 6f | ed.work........In.the.combinatio |
| 45c80 | 6e 2c 20 79 6f 75 20 6d 75 73 74 20 63 6f 6d 62 69 6e 65 20 61 6e 79 20 73 65 63 74 69 6f 6e 73 | n,.you.must.combine.any.sections |
| 45ca0 | 20 45 6e 74 69 74 6c 65 64 0a 20 20 20 20 20 e2 80 9c 48 69 73 74 6f 72 79 e2 80 9d 20 69 6e 20 | .Entitled.........History....in. |
| 45cc0 | 74 68 65 20 76 61 72 69 6f 75 73 20 6f 72 69 67 69 6e 61 6c 20 64 6f 63 75 6d 65 6e 74 73 2c 20 | the.various.original.documents,. |
| 45ce0 | 66 6f 72 6d 69 6e 67 20 6f 6e 65 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 45 6e 74 69 74 6c 65 | forming.one.section......Entitle |
| 45d00 | 64 20 e2 80 9c 48 69 73 74 6f 72 79 e2 80 9d 3b 20 6c 69 6b 65 77 69 73 65 20 63 6f 6d 62 69 6e | d....History...;.likewise.combin |
| 45d20 | 65 20 61 6e 79 20 73 65 63 74 69 6f 6e 73 20 45 6e 74 69 74 6c 65 64 0a 20 20 20 20 20 e2 80 9c | e.any.sections.Entitled......... |
| 45d40 | 41 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 73 e2 80 9d 2c 20 61 6e 64 20 61 6e 79 20 73 65 63 | Acknowledgements...,.and.any.sec |
| 45d60 | 74 69 6f 6e 73 20 45 6e 74 69 74 6c 65 64 20 e2 80 9c 44 65 64 69 63 61 74 69 6f 6e 73 e2 80 9d | tions.Entitled....Dedications... |
| 45d80 | 2e 20 20 59 6f 75 0a 20 20 20 20 20 6d 75 73 74 20 64 65 6c 65 74 65 20 61 6c 6c 20 73 65 63 74 | ...You......must.delete.all.sect |
| 45da0 | 69 6f 6e 73 20 45 6e 74 69 74 6c 65 64 20 e2 80 9c 45 6e 64 6f 72 73 65 6d 65 6e 74 73 2e e2 80 | ions.Entitled....Endorsements... |
| 45dc0 | 9d 0a 0a 20 20 36 2e 20 43 4f 4c 4c 45 43 54 49 4f 4e 53 20 4f 46 20 44 4f 43 55 4d 45 4e 54 53 | .....6..COLLECTIONS.OF.DOCUMENTS |
| 45de0 | 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 6d 61 6b 65 20 61 20 63 6f 6c 6c 65 63 74 69 6f 6e | .......You.may.make.a.collection |
| 45e00 | 20 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 61 6e 64 20 | .consisting.of.the.Document.and. |
| 45e20 | 6f 74 68 65 72 0a 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 73 20 72 65 6c 65 61 73 65 64 20 75 6e | other......documents.released.un |
| 45e40 | 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 72 65 70 6c 61 63 65 20 74 68 | der.this.License,.and.replace.th |
| 45e60 | 65 20 69 6e 64 69 76 69 64 75 61 6c 0a 20 20 20 20 20 63 6f 70 69 65 73 20 6f 66 20 74 68 69 73 | e.individual......copies.of.this |
| 45e80 | 20 4c 69 63 65 6e 73 65 20 69 6e 20 74 68 65 20 76 61 72 69 6f 75 73 20 64 6f 63 75 6d 65 6e 74 | .License.in.the.various.document |
| 45ea0 | 73 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 20 63 6f 70 79 0a 20 20 20 20 20 74 68 61 74 20 69 | s.with.a.single.copy......that.i |
| 45ec0 | 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 2c 20 70 72 | s.included.in.the.collection,.pr |
| 45ee0 | 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 66 6f 6c 6c 6f 77 20 74 68 65 0a 20 20 20 20 20 | ovided.that.you.follow.the...... |
| 45f00 | 72 75 6c 65 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 76 65 72 62 61 74 | rules.of.this.License.for.verbat |
| 45f20 | 69 6d 20 63 6f 70 79 69 6e 67 20 6f 66 20 65 61 63 68 20 6f 66 20 74 68 65 20 64 6f 63 75 6d 65 | im.copying.of.each.of.the.docume |
| 45f40 | 6e 74 73 0a 20 20 20 20 20 69 6e 20 61 6c 6c 20 6f 74 68 65 72 20 72 65 73 70 65 63 74 73 2e 0a | nts......in.all.other.respects.. |
| 45f60 | 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 65 78 74 72 61 63 74 20 61 20 73 69 6e 67 6c 65 20 64 | ......You.may.extract.a.single.d |
| 45f80 | 6f 63 75 6d 65 6e 74 20 66 72 6f 6d 20 73 75 63 68 20 61 20 63 6f 6c 6c 65 63 74 69 6f 6e 2c 20 | ocument.from.such.a.collection,. |
| 45fa0 | 61 6e 64 0a 20 20 20 20 20 64 69 73 74 72 69 62 75 74 65 20 69 74 20 69 6e 64 69 76 69 64 75 61 | and......distribute.it.individua |
| 45fc0 | 6c 6c 79 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 70 72 6f 76 69 64 65 64 | lly.under.this.License,.provided |
| 45fe0 | 20 79 6f 75 20 69 6e 73 65 72 74 0a 20 20 20 20 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 | .you.insert......a.copy.of.this. |
| 46000 | 4c 69 63 65 6e 73 65 20 69 6e 74 6f 20 74 68 65 20 65 78 74 72 61 63 74 65 64 20 64 6f 63 75 6d | License.into.the.extracted.docum |
| 46020 | 65 6e 74 2c 20 61 6e 64 20 66 6f 6c 6c 6f 77 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 | ent,.and.follow.this......Licens |
| 46040 | 65 20 69 6e 20 61 6c 6c 20 6f 74 68 65 72 20 72 65 73 70 65 63 74 73 20 72 65 67 61 72 64 69 6e | e.in.all.other.respects.regardin |
| 46060 | 67 20 76 65 72 62 61 74 69 6d 20 63 6f 70 79 69 6e 67 20 6f 66 20 74 68 61 74 0a 20 20 20 20 20 | g.verbatim.copying.of.that...... |
| 46080 | 64 6f 63 75 6d 65 6e 74 2e 0a 0a 20 20 37 2e 20 41 47 47 52 45 47 41 54 49 4f 4e 20 57 49 54 48 | document.....7..AGGREGATION.WITH |
| 460a0 | 20 49 4e 44 45 50 45 4e 44 45 4e 54 20 57 4f 52 4b 53 0a 0a 20 20 20 20 20 41 20 63 6f 6d 70 69 | .INDEPENDENT.WORKS.......A.compi |
| 460c0 | 6c 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 6f 72 20 69 74 73 20 64 65 | lation.of.the.Document.or.its.de |
| 460e0 | 72 69 76 61 74 69 76 65 73 20 77 69 74 68 20 6f 74 68 65 72 0a 20 20 20 20 20 73 65 70 61 72 61 | rivatives.with.other......separa |
| 46100 | 74 65 20 61 6e 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 64 6f 63 75 6d 65 6e 74 73 20 6f 72 20 | te.and.independent.documents.or. |
| 46120 | 77 6f 72 6b 73 2c 20 69 6e 20 6f 72 20 6f 6e 20 61 20 76 6f 6c 75 6d 65 20 6f 66 20 61 0a 20 20 | works,.in.or.on.a.volume.of.a... |
| 46140 | 20 20 20 73 74 6f 72 61 67 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 | ...storage.or.distribution.mediu |
| 46160 | 6d 2c 20 69 73 20 63 61 6c 6c 65 64 20 61 6e 20 e2 80 9c 61 67 67 72 65 67 61 74 65 e2 80 9d 20 | m,.is.called.an....aggregate.... |
| 46180 | 69 66 20 74 68 65 0a 20 20 20 20 20 63 6f 70 79 72 69 67 68 74 20 72 65 73 75 6c 74 69 6e 67 20 | if.the......copyright.resulting. |
| 461a0 | 66 72 6f 6d 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 69 73 20 6e 6f 74 20 75 73 65 64 | from.the.compilation.is.not.used |
| 461c0 | 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 0a 20 20 20 20 20 6c 65 67 61 6c 20 72 69 67 68 74 73 20 | .to.limit.the......legal.rights. |
| 461e0 | 6f 66 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e e2 80 99 73 20 75 73 65 72 73 20 62 65 79 | of.the.compilation...s.users.bey |
| 46200 | 6f 6e 64 20 77 68 61 74 20 74 68 65 20 69 6e 64 69 76 69 64 75 61 6c 0a 20 20 20 20 20 77 6f 72 | ond.what.the.individual......wor |
| 46220 | 6b 73 20 70 65 72 6d 69 74 2e 20 20 57 68 65 6e 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 | ks.permit...When.the.Document.is |
| 46240 | 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6e 20 61 67 67 72 65 67 61 74 65 2c 20 74 68 69 73 0a | .included.in.an.aggregate,.this. |
| 46260 | 20 20 20 20 20 4c 69 63 65 6e 73 65 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 74 | .....License.does.not.apply.to.t |
| 46280 | 68 65 20 6f 74 68 65 72 20 77 6f 72 6b 73 20 69 6e 20 74 68 65 20 61 67 67 72 65 67 61 74 65 20 | he.other.works.in.the.aggregate. |
| 462a0 | 77 68 69 63 68 0a 20 20 20 20 20 61 72 65 20 6e 6f 74 20 74 68 65 6d 73 65 6c 76 65 73 20 64 65 | which......are.not.themselves.de |
| 462c0 | 72 69 76 61 74 69 76 65 20 77 6f 72 6b 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2e 0a | rivative.works.of.the.Document.. |
| 462e0 | 0a 20 20 20 20 20 49 66 20 74 68 65 20 43 6f 76 65 72 20 54 65 78 74 20 72 65 71 75 69 72 65 6d | ......If.the.Cover.Text.requirem |
| 46300 | 65 6e 74 20 6f 66 20 73 65 63 74 69 6f 6e 20 33 20 69 73 20 61 70 70 6c 69 63 61 62 6c 65 20 74 | ent.of.section.3.is.applicable.t |
| 46320 | 6f 20 74 68 65 73 65 0a 20 20 20 20 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d | o.these......copies.of.the.Docum |
| 46340 | 65 6e 74 2c 20 74 68 65 6e 20 69 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 6c 65 73 | ent,.then.if.the.Document.is.les |
| 46360 | 73 20 74 68 61 6e 20 6f 6e 65 20 68 61 6c 66 0a 20 20 20 20 20 6f 66 20 74 68 65 20 65 6e 74 69 | s.than.one.half......of.the.enti |
| 46380 | 72 65 20 61 67 67 72 65 67 61 74 65 2c 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 e2 80 99 73 20 43 | re.aggregate,.the.Document...s.C |
| 463a0 | 6f 76 65 72 20 54 65 78 74 73 20 6d 61 79 20 62 65 20 70 6c 61 63 65 64 0a 20 20 20 20 20 6f 6e | over.Texts.may.be.placed......on |
| 463c0 | 20 63 6f 76 65 72 73 20 74 68 61 74 20 62 72 61 63 6b 65 74 20 74 68 65 20 44 6f 63 75 6d 65 6e | .covers.that.bracket.the.Documen |
| 463e0 | 74 20 77 69 74 68 69 6e 20 74 68 65 20 61 67 67 72 65 67 61 74 65 2c 20 6f 72 20 74 68 65 0a 20 | t.within.the.aggregate,.or.the.. |
| 46400 | 20 20 20 20 65 6c 65 63 74 72 6f 6e 69 63 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 63 6f 76 | ....electronic.equivalent.of.cov |
| 46420 | 65 72 73 20 69 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 69 6e 20 65 6c 65 63 74 72 | ers.if.the.Document.is.in.electr |
| 46440 | 6f 6e 69 63 0a 20 20 20 20 20 66 6f 72 6d 2e 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 79 20 | onic......form...Otherwise.they. |
| 46460 | 6d 75 73 74 20 61 70 70 65 61 72 20 6f 6e 20 70 72 69 6e 74 65 64 20 63 6f 76 65 72 73 20 74 68 | must.appear.on.printed.covers.th |
| 46480 | 61 74 20 62 72 61 63 6b 65 74 0a 20 20 20 20 20 74 68 65 20 77 68 6f 6c 65 20 61 67 67 72 65 67 | at.bracket......the.whole.aggreg |
| 464a0 | 61 74 65 2e 0a 0a 20 20 38 2e 20 54 52 41 4e 53 4c 41 54 49 4f 4e 0a 0a 20 20 20 20 20 54 72 61 | ate.....8..TRANSLATION.......Tra |
| 464c0 | 6e 73 6c 61 74 69 6f 6e 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 61 20 6b 69 6e 64 20 6f 66 | nslation.is.considered.a.kind.of |
| 464e0 | 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2c 20 73 6f 20 79 6f 75 20 6d 61 79 0a 20 20 20 20 20 64 | .modification,.so.you.may......d |
| 46500 | 69 73 74 72 69 62 75 74 65 20 74 72 61 6e 73 6c 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 44 6f | istribute.translations.of.the.Do |
| 46520 | 63 75 6d 65 6e 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 73 65 63 74 69 6f | cument.under.the.terms.of.sectio |
| 46540 | 6e 0a 20 20 20 20 20 34 2e 20 20 52 65 70 6c 61 63 69 6e 67 20 49 6e 76 61 72 69 61 6e 74 20 53 | n......4...Replacing.Invariant.S |
| 46560 | 65 63 74 69 6f 6e 73 20 77 69 74 68 20 74 72 61 6e 73 6c 61 74 69 6f 6e 73 20 72 65 71 75 69 72 | ections.with.translations.requir |
| 46580 | 65 73 20 73 70 65 63 69 61 6c 0a 20 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 20 66 72 6f 6d 20 | es.special......permission.from. |
| 465a0 | 74 68 65 69 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 73 2c 20 62 75 74 20 79 6f 75 | their.copyright.holders,.but.you |
| 465c0 | 20 6d 61 79 20 69 6e 63 6c 75 64 65 0a 20 20 20 20 20 74 72 61 6e 73 6c 61 74 69 6f 6e 73 20 6f | .may.include......translations.o |
| 465e0 | 66 20 73 6f 6d 65 20 6f 72 20 61 6c 6c 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 | f.some.or.all.Invariant.Sections |
| 46600 | 20 69 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 0a 20 20 20 20 20 6f 72 69 67 69 6e 61 | .in.addition.to.the......origina |
| 46620 | 6c 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 73 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 | l.versions.of.these.Invariant.Se |
| 46640 | 63 74 69 6f 6e 73 2e 20 20 59 6f 75 20 6d 61 79 20 69 6e 63 6c 75 64 65 20 61 0a 20 20 20 20 20 | ctions...You.may.include.a...... |
| 46660 | 74 72 61 6e 73 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 | translation.of.this.License,.and |
| 46680 | 20 61 6c 6c 20 74 68 65 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 73 20 69 6e 20 74 68 65 0a | .all.the.license.notices.in.the. |
| 466a0 | 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 2c 20 61 6e 64 20 61 6e 79 20 57 61 72 72 61 6e 74 79 20 | .....Document,.and.any.Warranty. |
| 466c0 | 44 69 73 63 6c 61 69 6d 65 72 73 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 | Disclaimers,.provided.that.you.a |
| 466e0 | 6c 73 6f 0a 20 20 20 20 20 69 6e 63 6c 75 64 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 45 6e | lso......include.the.original.En |
| 46700 | 67 6c 69 73 68 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e | glish.version.of.this.License.an |
| 46720 | 64 20 74 68 65 0a 20 20 20 20 20 6f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 | d.the......original.versions.of. |
| 46740 | 74 68 6f 73 65 20 6e 6f 74 69 63 65 73 20 61 6e 64 20 64 69 73 63 6c 61 69 6d 65 72 73 2e 20 20 | those.notices.and.disclaimers... |
| 46760 | 49 6e 20 63 61 73 65 20 6f 66 20 61 0a 20 20 20 20 20 64 69 73 61 67 72 65 65 6d 65 6e 74 20 62 | In.case.of.a......disagreement.b |
| 46780 | 65 74 77 65 65 6e 20 74 68 65 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 61 6e 64 20 74 68 65 20 6f | etween.the.translation.and.the.o |
| 467a0 | 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 20 6f 66 0a 20 20 20 20 20 74 68 69 73 20 4c 69 63 | riginal.version.of......this.Lic |
| 467c0 | 65 6e 73 65 20 6f 72 20 61 20 6e 6f 74 69 63 65 20 6f 72 20 64 69 73 63 6c 61 69 6d 65 72 2c 20 | ense.or.a.notice.or.disclaimer,. |
| 467e0 | 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 20 77 69 6c 6c 0a 20 20 20 20 20 70 | the.original.version.will......p |
| 46800 | 72 65 76 61 69 6c 2e 0a 0a 20 20 20 20 20 49 66 20 61 20 73 65 63 74 69 6f 6e 20 69 6e 20 74 68 | revail........If.a.section.in.th |
| 46820 | 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 45 6e 74 69 74 6c 65 64 20 e2 80 9c 41 63 6b 6e 6f 77 | e.Document.is.Entitled....Acknow |
| 46840 | 6c 65 64 67 65 6d 65 6e 74 73 e2 80 9d 2c 0a 20 20 20 20 20 e2 80 9c 44 65 64 69 63 61 74 69 6f | ledgements...,.........Dedicatio |
| 46860 | 6e 73 e2 80 9d 2c 20 6f 72 20 e2 80 9c 48 69 73 74 6f 72 79 e2 80 9d 2c 20 74 68 65 20 72 65 71 | ns...,.or....History...,.the.req |
| 46880 | 75 69 72 65 6d 65 6e 74 20 28 73 65 63 74 69 6f 6e 20 34 29 20 74 6f 0a 20 20 20 20 20 50 72 65 | uirement.(section.4).to......Pre |
| 468a0 | 73 65 72 76 65 20 69 74 73 20 54 69 74 6c 65 20 28 73 65 63 74 69 6f 6e 20 31 29 20 77 69 6c 6c | serve.its.Title.(section.1).will |
| 468c0 | 20 74 79 70 69 63 61 6c 6c 79 20 72 65 71 75 69 72 65 20 63 68 61 6e 67 69 6e 67 20 74 68 65 0a | .typically.require.changing.the. |
| 468e0 | 20 20 20 20 20 61 63 74 75 61 6c 20 74 69 74 6c 65 2e 0a 0a 20 20 39 2e 20 54 45 52 4d 49 4e 41 | .....actual.title.....9..TERMINA |
| 46900 | 54 49 4f 4e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 63 6f 70 79 2c 20 6d 6f 64 | TION.......You.may.not.copy,.mod |
| 46920 | 69 66 79 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 20 74 | ify,.sublicense,.or.distribute.t |
| 46940 | 68 65 20 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 65 78 63 65 70 74 20 61 73 20 65 78 70 72 65 | he.Document......except.as.expre |
| 46960 | 73 73 6c 79 20 70 72 6f 76 69 64 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 | ssly.provided.under.this.License |
| 46980 | 2e 20 20 41 6e 79 20 61 74 74 65 6d 70 74 0a 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 74 6f | ...Any.attempt......otherwise.to |
| 469a0 | 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 6f 72 20 64 69 | .copy,.modify,.sublicense,.or.di |
| 469c0 | 73 74 72 69 62 75 74 65 20 69 74 20 69 73 20 76 6f 69 64 2c 0a 20 20 20 20 20 61 6e 64 20 77 69 | stribute.it.is.void,......and.wi |
| 469e0 | 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 20 79 6f 75 72 20 | ll.automatically.terminate.your. |
| 46a00 | 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 | rights.under.this.License....... |
| 46a20 | 20 48 6f 77 65 76 65 72 2c 20 69 66 20 79 6f 75 20 63 65 61 73 65 20 61 6c 6c 20 76 69 6f 6c 61 | .However,.if.you.cease.all.viola |
| 46a40 | 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 6e 20 79 6f 75 72 0a | tion.of.this.License,.then.your. |
| 46a60 | 20 20 20 20 20 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 | .....license.from.a.particular.c |
| 46a80 | 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 20 72 65 69 6e 73 74 61 74 65 64 20 28 61 | opyright.holder.is.reinstated.(a |
| 46aa0 | 29 0a 20 20 20 20 20 70 72 6f 76 69 73 69 6f 6e 61 6c 6c 79 2c 20 75 6e 6c 65 73 73 20 61 6e 64 | )......provisionally,.unless.and |
| 46ac0 | 20 75 6e 74 69 6c 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 65 78 70 6c | .until.the.copyright.holder.expl |
| 46ae0 | 69 63 69 74 6c 79 20 61 6e 64 0a 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 | icitly.and......finally.terminat |
| 46b00 | 65 73 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 2c 20 61 6e 64 20 28 62 29 20 70 65 72 6d 61 6e 65 | es.your.license,.and.(b).permane |
| 46b20 | 6e 74 6c 79 2c 20 69 66 20 74 68 65 0a 20 20 20 20 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 | ntly,.if.the......copyright.hold |
| 46b40 | 65 72 20 66 61 69 6c 73 20 74 6f 20 6e 6f 74 69 66 79 20 79 6f 75 20 6f 66 20 74 68 65 20 76 69 | er.fails.to.notify.you.of.the.vi |
| 46b60 | 6f 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 0a 20 20 20 20 20 72 65 61 73 6f 6e 61 62 6c 65 20 | olation.by.some......reasonable. |
| 46b80 | 6d 65 61 6e 73 20 70 72 69 6f 72 20 74 6f 20 36 30 20 64 61 79 73 20 61 66 74 65 72 20 74 68 65 | means.prior.to.60.days.after.the |
| 46ba0 | 20 63 65 73 73 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 4d 6f 72 65 6f 76 65 72 2c 20 79 6f 75 72 | .cessation........Moreover,.your |
| 46bc0 | 20 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 | .license.from.a.particular.copyr |
| 46be0 | 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 0a 20 20 20 20 20 72 65 69 6e 73 74 61 74 65 64 20 70 | ight.holder.is......reinstated.p |
| 46c00 | 65 72 6d 61 6e 65 6e 74 6c 79 20 69 66 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 | ermanently.if.the.copyright.hold |
| 46c20 | 65 72 20 6e 6f 74 69 66 69 65 73 20 79 6f 75 20 6f 66 20 74 68 65 0a 20 20 20 20 20 76 69 6f 6c | er.notifies.you.of.the......viol |
| 46c40 | 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 20 6d 65 61 6e 73 2c 20 | ation.by.some.reasonable.means,. |
| 46c60 | 74 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 79 6f 75 20 68 61 76 65 0a | this.is.the.first.time.you.have. |
| 46c80 | 20 20 20 20 20 72 65 63 65 69 76 65 64 20 6e 6f 74 69 63 65 20 6f 66 20 76 69 6f 6c 61 74 69 6f | .....received.notice.of.violatio |
| 46ca0 | 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 28 66 6f 72 20 61 6e 79 20 77 6f 72 6b 29 | n.of.this.License.(for.any.work) |
| 46cc0 | 20 66 72 6f 6d 0a 20 20 20 20 20 74 68 61 74 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 | .from......that.copyright.holder |
| 46ce0 | 2c 20 61 6e 64 20 79 6f 75 20 63 75 72 65 20 74 68 65 20 76 69 6f 6c 61 74 69 6f 6e 20 70 72 69 | ,.and.you.cure.the.violation.pri |
| 46d00 | 6f 72 20 74 6f 20 33 30 20 64 61 79 73 0a 20 20 20 20 20 61 66 74 65 72 20 79 6f 75 72 20 72 65 | or.to.30.days......after.your.re |
| 46d20 | 63 65 69 70 74 20 6f 66 20 74 68 65 20 6e 6f 74 69 63 65 2e 0a 0a 20 20 20 20 20 54 65 72 6d 69 | ceipt.of.the.notice........Termi |
| 46d40 | 6e 61 74 69 6f 6e 20 6f 66 20 79 6f 75 72 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 | nation.of.your.rights.under.this |
| 46d60 | 20 73 65 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 74 65 72 6d 69 6e 61 74 65 0a 20 20 20 20 | .section.does.not.terminate..... |
| 46d80 | 20 74 68 65 20 6c 69 63 65 6e 73 65 73 20 6f 66 20 70 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 | .the.licenses.of.parties.who.hav |
| 46da0 | 65 20 72 65 63 65 69 76 65 64 20 63 6f 70 69 65 73 20 6f 72 20 72 69 67 68 74 73 20 66 72 6f 6d | e.received.copies.or.rights.from |
| 46dc0 | 20 79 6f 75 0a 20 20 20 20 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 | .you......under.this.License...I |
| 46de0 | 66 20 79 6f 75 72 20 72 69 67 68 74 73 20 68 61 76 65 20 62 65 65 6e 20 74 65 72 6d 69 6e 61 74 | f.your.rights.have.been.terminat |
| 46e00 | 65 64 20 61 6e 64 20 6e 6f 74 0a 20 20 20 20 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 72 65 69 6e | ed.and.not......permanently.rein |
| 46e20 | 73 74 61 74 65 64 2c 20 72 65 63 65 69 70 74 20 6f 66 20 61 20 63 6f 70 79 20 6f 66 20 73 6f 6d | stated,.receipt.of.a.copy.of.som |
| 46e40 | 65 20 6f 72 20 61 6c 6c 20 6f 66 20 74 68 65 0a 20 20 20 20 20 73 61 6d 65 20 6d 61 74 65 72 69 | e.or.all.of.the......same.materi |
| 46e60 | 61 6c 20 64 6f 65 73 20 6e 6f 74 20 67 69 76 65 20 79 6f 75 20 61 6e 79 20 72 69 67 68 74 73 20 | al.does.not.give.you.any.rights. |
| 46e80 | 74 6f 20 75 73 65 20 69 74 2e 0a 0a 20 20 31 30 2e 20 46 55 54 55 52 45 20 52 45 56 49 53 49 4f | to.use.it.....10..FUTURE.REVISIO |
| 46ea0 | 4e 53 20 4f 46 20 54 48 49 53 20 4c 49 43 45 4e 53 45 0a 0a 20 20 20 20 20 54 68 65 20 46 72 65 | NS.OF.THIS.LICENSE.......The.Fre |
| 46ec0 | 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 20 6d 61 79 20 70 75 62 6c 69 73 | e.Software.Foundation.may.publis |
| 46ee0 | 68 20 6e 65 77 2c 20 72 65 76 69 73 65 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 0a 20 20 20 20 20 | h.new,.revised.versions.of...... |
| 46f00 | 74 68 65 20 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e | the.GNU.Free.Documentation.Licen |
| 46f20 | 73 65 20 66 72 6f 6d 20 74 69 6d 65 20 74 6f 20 74 69 6d 65 2e 20 20 53 75 63 68 20 6e 65 77 0a | se.from.time.to.time...Such.new. |
| 46f40 | 20 20 20 20 20 76 65 72 73 69 6f 6e 73 20 77 69 6c 6c 20 62 65 20 73 69 6d 69 6c 61 72 20 69 6e | .....versions.will.be.similar.in |
| 46f60 | 20 73 70 69 72 69 74 20 74 6f 20 74 68 65 20 70 72 65 73 65 6e 74 20 76 65 72 73 69 6f 6e 2c 20 | .spirit.to.the.present.version,. |
| 46f80 | 62 75 74 20 6d 61 79 0a 20 20 20 20 20 64 69 66 66 65 72 20 69 6e 20 64 65 74 61 69 6c 20 74 6f | but.may......differ.in.detail.to |
| 46fa0 | 20 61 64 64 72 65 73 73 20 6e 65 77 20 70 72 6f 62 6c 65 6d 73 20 6f 72 20 63 6f 6e 63 65 72 6e | .address.new.problems.or.concern |
| 46fc0 | 73 2e 20 20 53 65 65 0a 20 20 20 20 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 | s...See......<https://www.gnu.or |
| 46fe0 | 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 20 20 20 20 20 45 61 63 68 20 76 65 72 73 69 6f 6e | g/licenses/>........Each.version |
| 47000 | 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 20 69 73 20 67 69 76 65 6e 20 61 20 64 69 73 74 69 | .of.the.License.is.given.a.disti |
| 47020 | 6e 67 75 69 73 68 69 6e 67 20 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 6e 75 6d 62 65 72 2e 20 20 | nguishing.version......number... |
| 47040 | 49 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 73 70 65 63 69 66 69 65 73 20 74 68 61 74 20 61 | If.the.Document.specifies.that.a |
| 47060 | 20 70 61 72 74 69 63 75 6c 61 72 20 6e 75 6d 62 65 72 65 64 0a 20 20 20 20 20 76 65 72 73 69 6f | .particular.numbered......versio |
| 47080 | 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 e2 80 9c 6f 72 20 61 6e 79 20 6c 61 74 65 | n.of.this.License....or.any.late |
| 470a0 | 72 20 76 65 72 73 69 6f 6e e2 80 9d 20 61 70 70 6c 69 65 73 20 74 6f 20 69 74 2c 20 79 6f 75 0a | r.version....applies.to.it,.you. |
| 470c0 | 20 20 20 20 20 68 61 76 65 20 74 68 65 20 6f 70 74 69 6f 6e 20 6f 66 20 66 6f 6c 6c 6f 77 69 6e | .....have.the.option.of.followin |
| 470e0 | 67 20 74 68 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 65 69 74 68 65 | g.the.terms.and.conditions.eithe |
| 47100 | 72 20 6f 66 0a 20 20 20 20 20 74 68 61 74 20 73 70 65 63 69 66 69 65 64 20 76 65 72 73 69 6f 6e | r.of......that.specified.version |
| 47120 | 20 6f 72 20 6f 66 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 74 68 61 74 20 68 61 | .or.of.any.later.version.that.ha |
| 47140 | 73 20 62 65 65 6e 0a 20 20 20 20 20 70 75 62 6c 69 73 68 65 64 20 28 6e 6f 74 20 61 73 20 61 20 | s.been......published.(not.as.a. |
| 47160 | 64 72 61 66 74 29 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e | draft).by.the.Free.Software.Foun |
| 47180 | 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 20 64 6f | dation...If.the......Document.do |
| 471a0 | 65 73 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 | es.not.specify.a.version.number. |
| 471c0 | 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 6d 61 79 0a 20 20 20 20 20 63 68 | of.this.License,.you.may......ch |
| 471e0 | 6f 6f 73 65 20 61 6e 79 20 76 65 72 73 69 6f 6e 20 65 76 65 72 20 70 75 62 6c 69 73 68 65 64 20 | oose.any.version.ever.published. |
| 47200 | 28 6e 6f 74 20 61 73 20 61 20 64 72 61 66 74 29 20 62 79 20 74 68 65 20 46 72 65 65 0a 20 20 20 | (not.as.a.draft).by.the.Free.... |
| 47220 | 20 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 20 44 | ..Software.Foundation...If.the.D |
| 47240 | 6f 63 75 6d 65 6e 74 20 73 70 65 63 69 66 69 65 73 20 74 68 61 74 20 61 20 70 72 6f 78 79 20 63 | ocument.specifies.that.a.proxy.c |
| 47260 | 61 6e 0a 20 20 20 20 20 64 65 63 69 64 65 20 77 68 69 63 68 20 66 75 74 75 72 65 20 76 65 72 73 | an......decide.which.future.vers |
| 47280 | 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 63 61 6e 20 62 65 20 75 73 65 64 | ions.of.this.License.can.be.used |
| 472a0 | 2c 20 74 68 61 74 0a 20 20 20 20 20 70 72 6f 78 79 e2 80 99 73 20 70 75 62 6c 69 63 20 73 74 61 | ,.that......proxy...s.public.sta |
| 472c0 | 74 65 6d 65 6e 74 20 6f 66 20 61 63 63 65 70 74 61 6e 63 65 20 6f 66 20 61 20 76 65 72 73 69 6f | tement.of.acceptance.of.a.versio |
| 472e0 | 6e 20 70 65 72 6d 61 6e 65 6e 74 6c 79 0a 20 20 20 20 20 61 75 74 68 6f 72 69 7a 65 73 20 79 6f | n.permanently......authorizes.yo |
| 47300 | 75 20 74 6f 20 63 68 6f 6f 73 65 20 74 68 61 74 20 76 65 72 73 69 6f 6e 20 66 6f 72 20 74 68 65 | u.to.choose.that.version.for.the |
| 47320 | 20 44 6f 63 75 6d 65 6e 74 2e 0a 0a 20 20 31 31 2e 20 52 45 4c 49 43 45 4e 53 49 4e 47 0a 0a 20 | .Document.....11..RELICENSING... |
| 47340 | 20 20 20 20 e2 80 9c 4d 61 73 73 69 76 65 20 4d 75 6c 74 69 61 75 74 68 6f 72 20 43 6f 6c 6c 61 | .......Massive.Multiauthor.Colla |
| 47360 | 62 6f 72 61 74 69 6f 6e 20 53 69 74 65 e2 80 9d 20 28 6f 72 20 e2 80 9c 4d 4d 43 20 53 69 74 65 | boration.Site....(or....MMC.Site |
| 47380 | e2 80 9d 29 20 6d 65 61 6e 73 20 61 6e 79 0a 20 20 20 20 20 57 6f 72 6c 64 20 57 69 64 65 20 57 | ...).means.any......World.Wide.W |
| 473a0 | 65 62 20 73 65 72 76 65 72 20 74 68 61 74 20 70 75 62 6c 69 73 68 65 73 20 63 6f 70 79 72 69 67 | eb.server.that.publishes.copyrig |
| 473c0 | 68 74 61 62 6c 65 20 77 6f 72 6b 73 20 61 6e 64 20 61 6c 73 6f 0a 20 20 20 20 20 70 72 6f 76 69 | htable.works.and.also......provi |
| 473e0 | 64 65 73 20 70 72 6f 6d 69 6e 65 6e 74 20 66 61 63 69 6c 69 74 69 65 73 20 66 6f 72 20 61 6e 79 | des.prominent.facilities.for.any |
| 47400 | 62 6f 64 79 20 74 6f 20 65 64 69 74 20 74 68 6f 73 65 20 77 6f 72 6b 73 2e 20 20 41 0a 20 20 20 | body.to.edit.those.works...A.... |
| 47420 | 20 20 70 75 62 6c 69 63 20 77 69 6b 69 20 74 68 61 74 20 61 6e 79 62 6f 64 79 20 63 61 6e 20 65 | ..public.wiki.that.anybody.can.e |
| 47440 | 64 69 74 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 73 75 63 68 20 61 20 73 65 72 76 | dit.is.an.example.of.such.a.serv |
| 47460 | 65 72 2e 0a 20 20 20 20 20 41 20 e2 80 9c 4d 61 73 73 69 76 65 20 4d 75 6c 74 69 61 75 74 68 6f | er.......A....Massive.Multiautho |
| 47480 | 72 20 43 6f 6c 6c 61 62 6f 72 61 74 69 6f 6e e2 80 9d 20 28 6f 72 20 e2 80 9c 4d 4d 43 e2 80 9d | r.Collaboration....(or....MMC... |
| 474a0 | 29 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 73 69 74 65 20 6d 65 61 | ).contained.in.the......site.mea |
| 474c0 | 6e 73 20 61 6e 79 20 73 65 74 20 6f 66 20 63 6f 70 79 72 69 67 68 74 61 62 6c 65 20 77 6f 72 6b | ns.any.set.of.copyrightable.work |
| 474e0 | 73 20 74 68 75 73 20 70 75 62 6c 69 73 68 65 64 20 6f 6e 20 74 68 65 20 4d 4d 43 0a 20 20 20 20 | s.thus.published.on.the.MMC..... |
| 47500 | 20 73 69 74 65 2e 0a 0a 20 20 20 20 20 e2 80 9c 43 43 2d 42 59 2d 53 41 e2 80 9d 20 6d 65 61 6e | .site...........CC-BY-SA....mean |
| 47520 | 73 20 74 68 65 20 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 | s.the.Creative.Commons.Attributi |
| 47540 | 6f 6e 2d 53 68 61 72 65 20 41 6c 69 6b 65 20 33 2e 30 0a 20 20 20 20 20 6c 69 63 65 6e 73 65 20 | on-Share.Alike.3.0......license. |
| 47560 | 70 75 62 6c 69 73 68 65 64 20 62 79 20 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 43 6f | published.by.Creative.Commons.Co |
| 47580 | 72 70 6f 72 61 74 69 6f 6e 2c 20 61 20 6e 6f 74 2d 66 6f 72 2d 70 72 6f 66 69 74 0a 20 20 20 20 | rporation,.a.not-for-profit..... |
| 475a0 | 20 63 6f 72 70 6f 72 61 74 69 6f 6e 20 77 69 74 68 20 61 20 70 72 69 6e 63 69 70 61 6c 20 70 6c | .corporation.with.a.principal.pl |
| 475c0 | 61 63 65 20 6f 66 20 62 75 73 69 6e 65 73 73 20 69 6e 20 53 61 6e 20 46 72 61 6e 63 69 73 63 6f | ace.of.business.in.San.Francisco |
| 475e0 | 2c 0a 20 20 20 20 20 43 61 6c 69 66 6f 72 6e 69 61 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 66 75 | ,......California,.as.well.as.fu |
| 47600 | 74 75 72 65 20 63 6f 70 79 6c 65 66 74 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 61 74 20 6c | ture.copyleft.versions.of.that.l |
| 47620 | 69 63 65 6e 73 65 0a 20 20 20 20 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 61 74 20 73 61 | icense......published.by.that.sa |
| 47640 | 6d 65 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 e2 80 9c 49 6e 63 6f 72 70 | me.organization...........Incorp |
| 47660 | 6f 72 61 74 65 e2 80 9d 20 6d 65 61 6e 73 20 74 6f 20 70 75 62 6c 69 73 68 20 6f 72 20 72 65 70 | orate....means.to.publish.or.rep |
| 47680 | 75 62 6c 69 73 68 20 61 20 44 6f 63 75 6d 65 6e 74 2c 20 69 6e 20 77 68 6f 6c 65 20 6f 72 0a 20 | ublish.a.Document,.in.whole.or.. |
| 476a0 | 20 20 20 20 69 6e 20 70 61 72 74 2c 20 61 73 20 70 61 72 74 20 6f 66 20 61 6e 6f 74 68 65 72 20 | ....in.part,.as.part.of.another. |
| 476c0 | 44 6f 63 75 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 41 6e 20 4d 4d 43 20 69 73 20 e2 80 9c 65 6c 69 | Document........An.MMC.is....eli |
| 476e0 | 67 69 62 6c 65 20 66 6f 72 20 72 65 6c 69 63 65 6e 73 69 6e 67 e2 80 9d 20 69 66 20 69 74 20 69 | gible.for.relicensing....if.it.i |
| 47700 | 73 20 6c 69 63 65 6e 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e | s.licensed.under.this......Licen |
| 47720 | 73 65 2c 20 61 6e 64 20 69 66 20 61 6c 6c 20 77 6f 72 6b 73 20 74 68 61 74 20 77 65 72 65 20 66 | se,.and.if.all.works.that.were.f |
| 47740 | 69 72 73 74 20 70 75 62 6c 69 73 68 65 64 20 75 6e 64 65 72 20 74 68 69 73 0a 20 20 20 20 20 4c | irst.published.under.this......L |
| 47760 | 69 63 65 6e 73 65 20 73 6f 6d 65 77 68 65 72 65 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 69 73 | icense.somewhere.other.than.this |
| 47780 | 20 4d 4d 43 2c 20 61 6e 64 20 73 75 62 73 65 71 75 65 6e 74 6c 79 0a 20 20 20 20 20 69 6e 63 6f | .MMC,.and.subsequently......inco |
| 477a0 | 72 70 6f 72 61 74 65 64 20 69 6e 20 77 68 6f 6c 65 20 6f 72 20 69 6e 20 70 61 72 74 20 69 6e 74 | rporated.in.whole.or.in.part.int |
| 477c0 | 6f 20 74 68 65 20 4d 4d 43 2c 20 28 31 29 20 68 61 64 20 6e 6f 20 63 6f 76 65 72 0a 20 20 20 20 | o.the.MMC,.(1).had.no.cover..... |
| 477e0 | 20 74 65 78 74 73 20 6f 72 20 69 6e 76 61 72 69 61 6e 74 20 73 65 63 74 69 6f 6e 73 2c 20 61 6e | .texts.or.invariant.sections,.an |
| 47800 | 64 20 28 32 29 20 77 65 72 65 20 74 68 75 73 20 69 6e 63 6f 72 70 6f 72 61 74 65 64 20 70 72 69 | d.(2).were.thus.incorporated.pri |
| 47820 | 6f 72 0a 20 20 20 20 20 74 6f 20 4e 6f 76 65 6d 62 65 72 20 31 2c 20 32 30 30 38 2e 0a 0a 20 20 | or......to.November.1,.2008..... |
| 47840 | 20 20 20 54 68 65 20 6f 70 65 72 61 74 6f 72 20 6f 66 20 61 6e 20 4d 4d 43 20 53 69 74 65 20 6d | ...The.operator.of.an.MMC.Site.m |
| 47860 | 61 79 20 72 65 70 75 62 6c 69 73 68 20 61 6e 20 4d 4d 43 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e | ay.republish.an.MMC.contained.in |
| 47880 | 20 74 68 65 0a 20 20 20 20 20 73 69 74 65 20 75 6e 64 65 72 20 43 43 2d 42 59 2d 53 41 20 6f 6e | .the......site.under.CC-BY-SA.on |
| 478a0 | 20 74 68 65 20 73 61 6d 65 20 73 69 74 65 20 61 74 20 61 6e 79 20 74 69 6d 65 20 62 65 66 6f 72 | .the.same.site.at.any.time.befor |
| 478c0 | 65 20 41 75 67 75 73 74 20 31 2c 0a 20 20 20 20 20 32 30 30 39 2c 20 70 72 6f 76 69 64 65 64 20 | e.August.1,......2009,.provided. |
| 478e0 | 74 68 65 20 4d 4d 43 20 69 73 20 65 6c 69 67 69 62 6c 65 20 66 6f 72 20 72 65 6c 69 63 65 6e 73 | the.MMC.is.eligible.for.relicens |
| 47900 | 69 6e 67 2e 0a 0a 41 44 44 45 4e 44 55 4d 3a 20 48 6f 77 20 74 6f 20 75 73 65 20 74 68 69 73 20 | ing...ADDENDUM:.How.to.use.this. |
| 47920 | 4c 69 63 65 6e 73 65 20 66 6f 72 20 79 6f 75 72 20 64 6f 63 75 6d 65 6e 74 73 0a 3d 3d 3d 3d 3d | License.for.your.documents.===== |
| 47940 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ================================ |
| 47960 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 6f 20 75 73 65 20 74 68 69 73 20 4c 69 63 | ===============..To.use.this.Lic |
| 47980 | 65 6e 73 65 20 69 6e 20 61 20 64 6f 63 75 6d 65 6e 74 20 79 6f 75 20 68 61 76 65 20 77 72 69 74 | ense.in.a.document.you.have.writ |
| 479a0 | 74 65 6e 2c 20 69 6e 63 6c 75 64 65 20 61 20 63 6f 70 79 20 6f 66 0a 74 68 65 20 4c 69 63 65 6e | ten,.include.a.copy.of.the.Licen |
| 479c0 | 73 65 20 69 6e 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 61 6e 64 20 70 75 74 20 74 68 65 20 66 | se.in.the.document.and.put.the.f |
| 479e0 | 6f 6c 6c 6f 77 69 6e 67 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 0a 6e | ollowing.copyright.and.license.n |
| 47a00 | 6f 74 69 63 65 73 20 6a 75 73 74 20 61 66 74 65 72 20 74 68 65 20 74 69 74 6c 65 20 70 61 67 65 | otices.just.after.the.title.page |
| 47a20 | 3a 0a 0a 20 20 20 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 20 59 45 41 52 20 20 59 | :.........Copyright.(C)..YEAR..Y |
| 47a40 | 4f 55 52 20 4e 41 4d 45 2e 0a 20 20 20 20 20 20 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 67 | OUR.NAME.........Permission.is.g |
| 47a60 | 72 61 6e 74 65 64 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 2f 6f | ranted.to.copy,.distribute.and/o |
| 47a80 | 72 20 6d 6f 64 69 66 79 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 75 6e | r.modify.this.document........un |
| 47aa0 | 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 46 72 65 65 20 44 6f | der.the.terms.of.the.GNU.Free.Do |
| 47ac0 | 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 2c 20 56 65 72 73 69 6f 6e 20 31 2e 33 | cumentation.License,.Version.1.3 |
| 47ae0 | 0a 20 20 20 20 20 20 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 75 62 | ........or.any.later.version.pub |
| 47b00 | 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e | lished.by.the.Free.Software.Foun |
| 47b20 | 64 61 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 77 69 74 68 20 6e 6f 20 49 6e 76 61 72 69 61 6e 74 | dation;........with.no.Invariant |
| 47b40 | 20 53 65 63 74 69 6f 6e 73 2c 20 6e 6f 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 2c | .Sections,.no.Front-Cover.Texts, |
| 47b60 | 20 61 6e 64 20 6e 6f 20 42 61 63 6b 2d 43 6f 76 65 72 0a 20 20 20 20 20 20 20 54 65 78 74 73 2e | .and.no.Back-Cover........Texts. |
| 47b80 | 20 20 41 20 63 6f 70 79 20 6f 66 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 73 20 69 6e 63 6c 75 | ..A.copy.of.the.license.is.inclu |
| 47ba0 | 64 65 64 20 69 6e 20 74 68 65 20 73 65 63 74 69 6f 6e 20 65 6e 74 69 74 6c 65 64 20 60 60 47 4e | ded.in.the.section.entitled.``GN |
| 47bc0 | 55 0a 20 20 20 20 20 20 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 | U........Free.Documentation.Lice |
| 47be0 | 6e 73 65 27 27 2e 0a 0a 20 20 20 49 66 20 79 6f 75 20 68 61 76 65 20 49 6e 76 61 72 69 61 6e 74 | nse''......If.you.have.Invariant |
| 47c00 | 20 53 65 63 74 69 6f 6e 73 2c 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 20 61 6e 64 | .Sections,.Front-Cover.Texts.and |
| 47c20 | 20 42 61 63 6b 2d 43 6f 76 65 72 0a 54 65 78 74 73 2c 20 72 65 70 6c 61 63 65 20 74 68 65 20 e2 | .Back-Cover.Texts,.replace.the.. |
| 47c40 | 80 9c 77 69 74 68 2e 2e 2e 54 65 78 74 73 2e e2 80 9d 20 6c 69 6e 65 20 77 69 74 68 20 74 68 69 | ..with...Texts.....line.with.thi |
| 47c60 | 73 3a 0a 0a 20 20 20 20 20 20 20 20 20 77 69 74 68 20 74 68 65 20 49 6e 76 61 72 69 61 6e 74 20 | s:...........with.the.Invariant. |
| 47c80 | 53 65 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 4c 49 53 54 20 54 48 45 49 52 20 54 49 54 4c 45 53 | Sections.being.LIST.THEIR.TITLES |
| 47ca0 | 2c 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 | ,.with..........the.Front-Cover. |
| 47cc0 | 54 65 78 74 73 20 62 65 69 6e 67 20 4c 49 53 54 2c 20 61 6e 64 20 77 69 74 68 20 74 68 65 20 42 | Texts.being.LIST,.and.with.the.B |
| 47ce0 | 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 73 0a 20 20 20 20 20 20 20 20 20 62 65 69 6e 67 20 4c | ack-Cover.Texts..........being.L |
| 47d00 | 49 53 54 2e 0a 0a 20 20 20 49 66 20 79 6f 75 20 68 61 76 65 20 49 6e 76 61 72 69 61 6e 74 20 53 | IST......If.you.have.Invariant.S |
| 47d20 | 65 63 74 69 6f 6e 73 20 77 69 74 68 6f 75 74 20 43 6f 76 65 72 20 54 65 78 74 73 2c 20 6f 72 20 | ections.without.Cover.Texts,.or. |
| 47d40 | 73 6f 6d 65 20 6f 74 68 65 72 0a 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 74 68 | some.other.combination.of.the.th |
| 47d60 | 72 65 65 2c 20 6d 65 72 67 65 20 74 68 6f 73 65 20 74 77 6f 20 61 6c 74 65 72 6e 61 74 69 76 65 | ree,.merge.those.two.alternative |
| 47d80 | 73 20 74 6f 20 73 75 69 74 20 74 68 65 0a 73 69 74 75 61 74 69 6f 6e 2e 0a 0a 20 20 20 49 66 20 | s.to.suit.the.situation......If. |
| 47da0 | 79 6f 75 72 20 64 6f 63 75 6d 65 6e 74 20 63 6f 6e 74 61 69 6e 73 20 6e 6f 6e 74 72 69 76 69 61 | your.document.contains.nontrivia |
| 47dc0 | 6c 20 65 78 61 6d 70 6c 65 73 20 6f 66 20 70 72 6f 67 72 61 6d 20 63 6f 64 65 2c 20 77 65 0a 72 | l.examples.of.program.code,.we.r |
| 47de0 | 65 63 6f 6d 6d 65 6e 64 20 72 65 6c 65 61 73 69 6e 67 20 74 68 65 73 65 20 65 78 61 6d 70 6c 65 | ecommend.releasing.these.example |
| 47e00 | 73 20 69 6e 20 70 61 72 61 6c 6c 65 6c 20 75 6e 64 65 72 20 79 6f 75 72 20 63 68 6f 69 63 65 20 | s.in.parallel.under.your.choice. |
| 47e20 | 6f 66 20 66 72 65 65 0a 73 6f 66 74 77 61 72 65 20 6c 69 63 65 6e 73 65 2c 20 73 75 63 68 20 61 | of.free.software.license,.such.a |
| 47e40 | 73 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 | s.the.GNU.General.Public.License |
| 47e60 | 2c 20 74 6f 20 70 65 72 6d 69 74 0a 74 68 65 69 72 20 75 73 65 20 69 6e 20 66 72 65 65 20 73 6f | ,.to.permit.their.use.in.free.so |
| 47e80 | 66 74 77 61 72 65 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 | ftware.....File:.dash.info,..Nod |
| 47ea0 | 65 3a 20 47 50 4c 2c 20 20 4e 65 78 74 3a 20 49 6e 64 65 78 2c 20 20 50 72 65 76 3a 20 46 44 4c | e:.GPL,..Next:.Index,..Prev:.FDL |
| 47ec0 | 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 41 70 70 65 6e 64 69 78 20 42 20 47 4e 55 20 47 65 6e 65 72 | ,..Up:.Top..Appendix.B.GNU.Gener |
| 47ee0 | 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a | al.Public.License.************** |
| 47f00 | 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 20 20 20 20 20 20 20 | ***********************......... |
| 47f20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 33 2c 20 32 39 20 4a | .................Version.3,.29.J |
| 47f40 | 75 6e 65 20 32 30 30 37 0a 0a 20 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 c2 a9 20 32 30 30 37 | une.2007.......Copyright....2007 |
| 47f60 | 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 20 | .Free.Software.Foundation,.Inc.. |
| 47f80 | 3c 68 74 74 70 73 3a 2f 2f 66 73 66 2e 6f 72 67 2f 3e 0a 0a 20 20 20 20 20 45 76 65 72 79 6f 6e | <https://fsf.org/>.......Everyon |
| 47fa0 | 65 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 | e.is.permitted.to.copy.and.distr |
| 47fc0 | 69 62 75 74 65 20 76 65 72 62 61 74 69 6d 20 63 6f 70 69 65 73 20 6f 66 20 74 68 69 73 0a 20 20 | ibute.verbatim.copies.of.this... |
| 47fe0 | 20 20 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 2c 20 62 75 74 20 63 68 61 6e 67 69 6e | ...license.document,.but.changin |
| 48000 | 67 20 69 74 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 0a 0a 50 72 65 61 6d 62 6c 65 0a 3d | g.it.is.not.allowed...Preamble.= |
| 48020 | 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 | =======..The.GNU.General.Public. |
| 48040 | 4c 69 63 65 6e 73 65 20 69 73 20 61 20 66 72 65 65 2c 20 63 6f 70 79 6c 65 66 74 20 6c 69 63 65 | License.is.a.free,.copyleft.lice |
| 48060 | 6e 73 65 20 66 6f 72 20 73 6f 66 74 77 61 72 65 0a 61 6e 64 20 6f 74 68 65 72 20 6b 69 6e 64 73 | nse.for.software.and.other.kinds |
| 48080 | 20 6f 66 20 77 6f 72 6b 73 2e 0a 0a 20 20 20 54 68 65 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 | .of.works......The.licenses.for. |
| 480a0 | 6d 6f 73 74 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 6f 74 68 65 72 20 70 72 61 63 74 69 63 61 | most.software.and.other.practica |
| 480c0 | 6c 20 77 6f 72 6b 73 20 61 72 65 20 64 65 73 69 67 6e 65 64 0a 74 6f 20 74 61 6b 65 20 61 77 61 | l.works.are.designed.to.take.awa |
| 480e0 | 79 20 79 6f 75 72 20 66 72 65 65 64 6f 6d 20 74 6f 20 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e | y.your.freedom.to.share.and.chan |
| 48100 | 67 65 20 74 68 65 20 77 6f 72 6b 73 2e 20 20 42 79 20 63 6f 6e 74 72 61 73 74 2c 0a 74 68 65 20 | ge.the.works...By.contrast,.the. |
| 48120 | 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 73 20 69 6e | GNU.General.Public.License.is.in |
| 48140 | 74 65 6e 64 65 64 20 74 6f 20 67 75 61 72 61 6e 74 65 65 20 79 6f 75 72 20 66 72 65 65 64 6f 6d | tended.to.guarantee.your.freedom |
| 48160 | 20 74 6f 0a 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 61 6c 6c 20 76 65 72 73 69 6f 6e | .to.share.and.change.all.version |
| 48180 | 73 20 6f 66 20 61 20 70 72 6f 67 72 61 6d e2 80 94 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 69 74 | s.of.a.program...to.make.sure.it |
| 481a0 | 20 72 65 6d 61 69 6e 73 20 66 72 65 65 0a 73 6f 66 74 77 61 72 65 20 66 6f 72 20 61 6c 6c 20 69 | .remains.free.software.for.all.i |
| 481c0 | 74 73 20 75 73 65 72 73 2e 20 20 57 65 2c 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 | ts.users...We,.the.Free.Software |
| 481e0 | 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 75 73 65 20 74 68 65 0a 47 4e 55 20 47 65 6e 65 72 61 6c | .Foundation,.use.the.GNU.General |
| 48200 | 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 73 74 20 6f 66 20 6f 75 72 20 | .Public.License.for.most.of.our. |
| 48220 | 73 6f 66 74 77 61 72 65 3b 20 69 74 20 61 70 70 6c 69 65 73 20 61 6c 73 6f 20 74 6f 0a 61 6e 79 | software;.it.applies.also.to.any |
| 48240 | 20 6f 74 68 65 72 20 77 6f 72 6b 20 72 65 6c 65 61 73 65 64 20 74 68 69 73 20 77 61 79 20 62 79 | .other.work.released.this.way.by |
| 48260 | 20 69 74 73 20 61 75 74 68 6f 72 73 2e 20 20 59 6f 75 20 63 61 6e 20 61 70 70 6c 79 20 69 74 20 | .its.authors...You.can.apply.it. |
| 48280 | 74 6f 0a 79 6f 75 72 20 70 72 6f 67 72 61 6d 73 2c 20 74 6f 6f 2e 0a 0a 20 20 20 57 68 65 6e 20 | to.your.programs,.too......When. |
| 482a0 | 77 65 20 73 70 65 61 6b 20 6f 66 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 77 65 20 61 72 | we.speak.of.free.software,.we.ar |
| 482c0 | 65 20 72 65 66 65 72 72 69 6e 67 20 74 6f 20 66 72 65 65 64 6f 6d 2c 20 6e 6f 74 0a 70 72 69 63 | e.referring.to.freedom,.not.pric |
| 482e0 | 65 2e 20 20 4f 75 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 73 20 | e...Our.General.Public.Licenses. |
| 48300 | 61 72 65 20 64 65 73 69 67 6e 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 79 | are.designed.to.make.sure.that.y |
| 48320 | 6f 75 0a 68 61 76 65 20 74 68 65 20 66 72 65 65 64 6f 6d 20 74 6f 20 64 69 73 74 72 69 62 75 74 | ou.have.the.freedom.to.distribut |
| 48340 | 65 20 63 6f 70 69 65 73 20 6f 66 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 28 61 6e 64 20 63 | e.copies.of.free.software.(and.c |
| 48360 | 68 61 72 67 65 20 66 6f 72 0a 74 68 65 6d 20 69 66 20 79 6f 75 20 77 69 73 68 29 2c 20 74 68 61 | harge.for.them.if.you.wish),.tha |
| 48380 | 74 20 79 6f 75 20 72 65 63 65 69 76 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 72 20 63 61 6e | t.you.receive.source.code.or.can |
| 483a0 | 20 67 65 74 20 69 74 20 69 66 20 79 6f 75 0a 77 61 6e 74 20 69 74 2c 20 74 68 61 74 20 79 6f 75 | .get.it.if.you.want.it,.that.you |
| 483c0 | 20 63 61 6e 20 63 68 61 6e 67 65 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 6f 72 20 75 73 65 20 | .can.change.the.software.or.use. |
| 483e0 | 70 69 65 63 65 73 20 6f 66 20 69 74 20 69 6e 20 6e 65 77 0a 66 72 65 65 20 70 72 6f 67 72 61 6d | pieces.of.it.in.new.free.program |
| 48400 | 73 2c 20 61 6e 64 20 74 68 61 74 20 79 6f 75 20 6b 6e 6f 77 20 79 6f 75 20 63 61 6e 20 64 6f 20 | s,.and.that.you.know.you.can.do. |
| 48420 | 74 68 65 73 65 20 74 68 69 6e 67 73 2e 0a 0a 20 20 20 54 6f 20 70 72 6f 74 65 63 74 20 79 6f 75 | these.things......To.protect.you |
| 48440 | 72 20 72 69 67 68 74 73 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 70 72 65 76 65 6e 74 20 6f 74 68 | r.rights,.we.need.to.prevent.oth |
| 48460 | 65 72 73 20 66 72 6f 6d 20 64 65 6e 79 69 6e 67 20 79 6f 75 0a 74 68 65 73 65 20 72 69 67 68 74 | ers.from.denying.you.these.right |
| 48480 | 73 20 6f 72 20 61 73 6b 69 6e 67 20 79 6f 75 20 74 6f 20 73 75 72 72 65 6e 64 65 72 20 74 68 65 | s.or.asking.you.to.surrender.the |
| 484a0 | 20 72 69 67 68 74 73 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 79 6f 75 20 68 61 76 65 0a 63 65 | .rights...Therefore,.you.have.ce |
| 484c0 | 72 74 61 69 6e 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 69 65 73 20 69 66 20 79 6f 75 20 64 69 | rtain.responsibilities.if.you.di |
| 484e0 | 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c | stribute.copies.of.the.software, |
| 48500 | 20 6f 72 20 69 66 0a 79 6f 75 20 6d 6f 64 69 66 79 20 69 74 3a 20 72 65 73 70 6f 6e 73 69 62 69 | .or.if.you.modify.it:.responsibi |
| 48520 | 6c 69 74 69 65 73 20 74 6f 20 72 65 73 70 65 63 74 20 74 68 65 20 66 72 65 65 64 6f 6d 20 6f 66 | lities.to.respect.the.freedom.of |
| 48540 | 20 6f 74 68 65 72 73 2e 0a 0a 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 | .others......For.example,.if.you |
| 48560 | 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 73 75 63 68 20 61 20 70 72 6f | .distribute.copies.of.such.a.pro |
| 48580 | 67 72 61 6d 2c 20 77 68 65 74 68 65 72 0a 67 72 61 74 69 73 20 6f 72 20 66 6f 72 20 61 20 66 65 | gram,.whether.gratis.or.for.a.fe |
| 485a0 | 65 2c 20 79 6f 75 20 6d 75 73 74 20 70 61 73 73 20 6f 6e 20 74 6f 20 74 68 65 20 72 65 63 69 70 | e,.you.must.pass.on.to.the.recip |
| 485c0 | 69 65 6e 74 73 20 74 68 65 20 73 61 6d 65 0a 66 72 65 65 64 6f 6d 73 20 74 68 61 74 20 79 6f 75 | ients.the.same.freedoms.that.you |
| 485e0 | 20 72 65 63 65 69 76 65 64 2e 20 20 59 6f 75 20 6d 75 73 74 20 6d 61 6b 65 20 73 75 72 65 20 74 | .received...You.must.make.sure.t |
| 48600 | 68 61 74 20 74 68 65 79 2c 20 74 6f 6f 2c 20 72 65 63 65 69 76 65 0a 6f 72 20 63 61 6e 20 67 65 | hat.they,.too,.receive.or.can.ge |
| 48620 | 74 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 20 41 6e 64 20 79 6f 75 20 6d 75 73 74 | t.the.source.code...And.you.must |
| 48640 | 20 73 68 6f 77 20 74 68 65 6d 20 74 68 65 73 65 20 74 65 72 6d 73 20 73 6f 20 74 68 65 79 0a 6b | .show.them.these.terms.so.they.k |
| 48660 | 6e 6f 77 20 74 68 65 69 72 20 72 69 67 68 74 73 2e 0a 0a 20 20 20 44 65 76 65 6c 6f 70 65 72 73 | now.their.rights......Developers |
| 48680 | 20 74 68 61 74 20 75 73 65 20 74 68 65 20 47 4e 55 20 47 50 4c 20 70 72 6f 74 65 63 74 20 79 6f | .that.use.the.GNU.GPL.protect.yo |
| 486a0 | 75 72 20 72 69 67 68 74 73 20 77 69 74 68 20 74 77 6f 20 73 74 65 70 73 3a 0a 28 31 29 20 61 73 | ur.rights.with.two.steps:.(1).as |
| 486c0 | 73 65 72 74 20 63 6f 70 79 72 69 67 68 74 20 6f 6e 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 | sert.copyright.on.the.software,. |
| 486e0 | 61 6e 64 20 28 32 29 20 6f 66 66 65 72 20 79 6f 75 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a 67 | and.(2).offer.you.this.License.g |
| 48700 | 69 76 69 6e 67 20 79 6f 75 20 6c 65 67 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 63 6f | iving.you.legal.permission.to.co |
| 48720 | 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 69 74 2e | py,.distribute.and/or.modify.it. |
| 48740 | 0a 0a 20 20 20 46 6f 72 20 74 68 65 20 64 65 76 65 6c 6f 70 65 72 73 e2 80 99 20 61 6e 64 20 61 | .....For.the.developers....and.a |
| 48760 | 75 74 68 6f 72 73 e2 80 99 20 70 72 6f 74 65 63 74 69 6f 6e 2c 20 74 68 65 20 47 50 4c 20 63 6c | uthors....protection,.the.GPL.cl |
| 48780 | 65 61 72 6c 79 20 65 78 70 6c 61 69 6e 73 0a 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 | early.explains.that.there.is.no. |
| 487a0 | 77 61 72 72 61 6e 74 79 20 66 6f 72 20 74 68 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2e | warranty.for.this.free.software. |
| 487c0 | 20 20 46 6f 72 20 62 6f 74 68 20 75 73 65 72 73 e2 80 99 20 61 6e 64 0a 61 75 74 68 6f 72 73 e2 | ..For.both.users....and.authors. |
| 487e0 | 80 99 20 73 61 6b 65 2c 20 74 68 65 20 47 50 4c 20 72 65 71 75 69 72 65 73 20 74 68 61 74 20 6d | ...sake,.the.GPL.requires.that.m |
| 48800 | 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 62 65 20 6d 61 72 6b 65 64 20 61 73 0a 63 68 | odified.versions.be.marked.as.ch |
| 48820 | 61 6e 67 65 64 2c 20 73 6f 20 74 68 61 74 20 74 68 65 69 72 20 70 72 6f 62 6c 65 6d 73 20 77 69 | anged,.so.that.their.problems.wi |
| 48840 | 6c 6c 20 6e 6f 74 20 62 65 20 61 74 74 72 69 62 75 74 65 64 20 65 72 72 6f 6e 65 6f 75 73 6c 79 | ll.not.be.attributed.erroneously |
| 48860 | 20 74 6f 0a 61 75 74 68 6f 72 73 20 6f 66 20 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 | .to.authors.of.previous.versions |
| 48880 | 2e 0a 0a 20 20 20 53 6f 6d 65 20 64 65 76 69 63 65 73 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 | ......Some.devices.are.designed. |
| 488a0 | 74 6f 20 64 65 6e 79 20 75 73 65 72 73 20 61 63 63 65 73 73 20 74 6f 20 69 6e 73 74 61 6c 6c 20 | to.deny.users.access.to.install. |
| 488c0 | 6f 72 20 72 75 6e 0a 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 | or.run.modified.versions.of.the. |
| 488e0 | 73 6f 66 74 77 61 72 65 20 69 6e 73 69 64 65 20 74 68 65 6d 2c 20 61 6c 74 68 6f 75 67 68 20 74 | software.inside.them,.although.t |
| 48900 | 68 65 20 6d 61 6e 75 66 61 63 74 75 72 65 72 0a 63 61 6e 20 64 6f 20 73 6f 2e 20 20 54 68 69 73 | he.manufacturer.can.do.so...This |
| 48920 | 20 69 73 20 66 75 6e 64 61 6d 65 6e 74 61 6c 6c 79 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 | .is.fundamentally.incompatible.w |
| 48940 | 69 74 68 20 74 68 65 20 61 69 6d 20 6f 66 0a 70 72 6f 74 65 63 74 69 6e 67 20 75 73 65 72 73 e2 | ith.the.aim.of.protecting.users. |
| 48960 | 80 99 20 66 72 65 65 64 6f 6d 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 73 6f 66 74 77 61 72 | ...freedom.to.change.the.softwar |
| 48980 | 65 2e 20 20 54 68 65 20 73 79 73 74 65 6d 61 74 69 63 0a 70 61 74 74 65 72 6e 20 6f 66 20 73 75 | e...The.systematic.pattern.of.su |
| 489a0 | 63 68 20 61 62 75 73 65 20 6f 63 63 75 72 73 20 69 6e 20 74 68 65 20 61 72 65 61 20 6f 66 20 70 | ch.abuse.occurs.in.the.area.of.p |
| 489c0 | 72 6f 64 75 63 74 73 20 66 6f 72 20 69 6e 64 69 76 69 64 75 61 6c 73 20 74 6f 0a 75 73 65 2c 20 | roducts.for.individuals.to.use,. |
| 489e0 | 77 68 69 63 68 20 69 73 20 70 72 65 63 69 73 65 6c 79 20 77 68 65 72 65 20 69 74 20 69 73 20 6d | which.is.precisely.where.it.is.m |
| 48a00 | 6f 73 74 20 75 6e 61 63 63 65 70 74 61 62 6c 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 77 65 | ost.unacceptable...Therefore,.we |
| 48a20 | 0a 68 61 76 65 20 64 65 73 69 67 6e 65 64 20 74 68 69 73 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 | .have.designed.this.version.of.t |
| 48a40 | 68 65 20 47 50 4c 20 74 6f 20 70 72 6f 68 69 62 69 74 20 74 68 65 20 70 72 61 63 74 69 63 65 20 | he.GPL.to.prohibit.the.practice. |
| 48a60 | 66 6f 72 20 74 68 6f 73 65 0a 70 72 6f 64 75 63 74 73 2e 20 20 49 66 20 73 75 63 68 20 70 72 6f | for.those.products...If.such.pro |
| 48a80 | 62 6c 65 6d 73 20 61 72 69 73 65 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 69 6e 20 6f 74 68 | blems.arise.substantially.in.oth |
| 48aa0 | 65 72 20 64 6f 6d 61 69 6e 73 2c 20 77 65 0a 73 74 61 6e 64 20 72 65 61 64 79 20 74 6f 20 65 78 | er.domains,.we.stand.ready.to.ex |
| 48ac0 | 74 65 6e 64 20 74 68 69 73 20 70 72 6f 76 69 73 69 6f 6e 20 74 6f 20 74 68 6f 73 65 20 64 6f 6d | tend.this.provision.to.those.dom |
| 48ae0 | 61 69 6e 73 20 69 6e 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 73 0a 6f 66 20 74 68 65 20 47 | ains.in.future.versions.of.the.G |
| 48b00 | 50 4c 2c 20 61 73 20 6e 65 65 64 65 64 20 74 6f 20 70 72 6f 74 65 63 74 20 74 68 65 20 66 72 65 | PL,.as.needed.to.protect.the.fre |
| 48b20 | 65 64 6f 6d 20 6f 66 20 75 73 65 72 73 2e 0a 0a 20 20 20 46 69 6e 61 6c 6c 79 2c 20 65 76 65 72 | edom.of.users......Finally,.ever |
| 48b40 | 79 20 70 72 6f 67 72 61 6d 20 69 73 20 74 68 72 65 61 74 65 6e 65 64 20 63 6f 6e 73 74 61 6e 74 | y.program.is.threatened.constant |
| 48b60 | 6c 79 20 62 79 20 73 6f 66 74 77 61 72 65 20 70 61 74 65 6e 74 73 2e 0a 53 74 61 74 65 73 20 73 | ly.by.software.patents..States.s |
| 48b80 | 68 6f 75 6c 64 20 6e 6f 74 20 61 6c 6c 6f 77 20 70 61 74 65 6e 74 73 20 74 6f 20 72 65 73 74 72 | hould.not.allow.patents.to.restr |
| 48ba0 | 69 63 74 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 61 6e 64 20 75 73 65 20 6f 66 0a 73 6f 66 74 77 | ict.development.and.use.of.softw |
| 48bc0 | 61 72 65 20 6f 6e 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 63 6f 6d 70 75 74 65 72 73 | are.on.general-purpose.computers |
| 48be0 | 2c 20 62 75 74 20 69 6e 20 74 68 6f 73 65 20 74 68 61 74 20 64 6f 2c 20 77 65 20 77 69 73 68 20 | ,.but.in.those.that.do,.we.wish. |
| 48c00 | 74 6f 0a 61 76 6f 69 64 20 74 68 65 20 73 70 65 63 69 61 6c 20 64 61 6e 67 65 72 20 74 68 61 74 | to.avoid.the.special.danger.that |
| 48c20 | 20 70 61 74 65 6e 74 73 20 61 70 70 6c 69 65 64 20 74 6f 20 61 20 66 72 65 65 20 70 72 6f 67 72 | .patents.applied.to.a.free.progr |
| 48c40 | 61 6d 20 63 6f 75 6c 64 0a 6d 61 6b 65 20 69 74 20 65 66 66 65 63 74 69 76 65 6c 79 20 70 72 6f | am.could.make.it.effectively.pro |
| 48c60 | 70 72 69 65 74 61 72 79 2e 20 20 54 6f 20 70 72 65 76 65 6e 74 20 74 68 69 73 2c 20 74 68 65 20 | prietary...To.prevent.this,.the. |
| 48c80 | 47 50 4c 20 61 73 73 75 72 65 73 20 74 68 61 74 0a 70 61 74 65 6e 74 73 20 63 61 6e 6e 6f 74 20 | GPL.assures.that.patents.cannot. |
| 48ca0 | 62 65 20 75 73 65 64 20 74 6f 20 72 65 6e 64 65 72 20 74 68 65 20 70 72 6f 67 72 61 6d 20 6e 6f | be.used.to.render.the.program.no |
| 48cc0 | 6e 2d 66 72 65 65 2e 0a 0a 20 20 20 54 68 65 20 70 72 65 63 69 73 65 20 74 65 72 6d 73 20 61 6e | n-free......The.precise.terms.an |
| 48ce0 | 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 | d.conditions.for.copying,.distri |
| 48d00 | 62 75 74 69 6f 6e 20 61 6e 64 0a 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 66 6f 6c 6c 6f 77 2e 0a | bution.and.modification.follow.. |
| 48d20 | 0a 54 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | .TERMS.AND.CONDITIONS.========== |
| 48d40 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 20 20 30 2e 20 44 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 0a 20 | ==========....0..Definitions.... |
| 48d60 | 20 20 20 20 e2 80 9c 54 68 69 73 20 4c 69 63 65 6e 73 65 e2 80 9d 20 72 65 66 65 72 73 20 74 6f | .......This.License....refers.to |
| 48d80 | 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 | .version.3.of.the.GNU.General.Pu |
| 48da0 | 62 6c 69 63 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 20 e2 80 9c 43 6f 70 79 | blic......License...........Copy |
| 48dc0 | 72 69 67 68 74 e2 80 9d 20 61 6c 73 6f 20 6d 65 61 6e 73 20 63 6f 70 79 72 69 67 68 74 2d 6c 69 | right....also.means.copyright-li |
| 48de0 | 6b 65 20 6c 61 77 73 20 74 68 61 74 20 61 70 70 6c 79 20 74 6f 20 6f 74 68 65 72 0a 20 20 20 20 | ke.laws.that.apply.to.other..... |
| 48e00 | 20 6b 69 6e 64 73 20 6f 66 20 77 6f 72 6b 73 2c 20 73 75 63 68 20 61 73 20 73 65 6d 69 63 6f 6e | .kinds.of.works,.such.as.semicon |
| 48e20 | 64 75 63 74 6f 72 20 6d 61 73 6b 73 2e 0a 0a 20 20 20 20 20 e2 80 9c 54 68 65 20 50 72 6f 67 72 | ductor.masks...........The.Progr |
| 48e40 | 61 6d e2 80 9d 20 72 65 66 65 72 73 20 74 6f 20 61 6e 79 20 63 6f 70 79 72 69 67 68 74 61 62 6c | am....refers.to.any.copyrightabl |
| 48e60 | 65 20 77 6f 72 6b 20 6c 69 63 65 6e 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 0a 20 20 20 20 20 | e.work.licensed.under.this...... |
| 48e80 | 4c 69 63 65 6e 73 65 2e 20 20 45 61 63 68 20 6c 69 63 65 6e 73 65 65 20 69 73 20 61 64 64 72 65 | License...Each.licensee.is.addre |
| 48ea0 | 73 73 65 64 20 61 73 20 e2 80 9c 79 6f 75 e2 80 9d 2e 20 20 e2 80 9c 4c 69 63 65 6e 73 65 65 73 | ssed.as....you.........Licensees |
| 48ec0 | e2 80 9d 20 61 6e 64 0a 20 20 20 20 20 e2 80 9c 72 65 63 69 70 69 65 6e 74 73 e2 80 9d 20 6d 61 | ....and.........recipients....ma |
| 48ee0 | 79 20 62 65 20 69 6e 64 69 76 69 64 75 61 6c 73 20 6f 72 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e | y.be.individuals.or.organization |
| 48f00 | 73 2e 0a 0a 20 20 20 20 20 54 6f 20 e2 80 9c 6d 6f 64 69 66 79 e2 80 9d 20 61 20 77 6f 72 6b 20 | s........To....modify....a.work. |
| 48f20 | 6d 65 61 6e 73 20 74 6f 20 63 6f 70 79 20 66 72 6f 6d 20 6f 72 20 61 64 61 70 74 20 61 6c 6c 20 | means.to.copy.from.or.adapt.all. |
| 48f40 | 6f 72 20 70 61 72 74 20 6f 66 20 74 68 65 0a 20 20 20 20 20 77 6f 72 6b 20 69 6e 20 61 20 66 61 | or.part.of.the......work.in.a.fa |
| 48f60 | 73 68 69 6f 6e 20 72 65 71 75 69 72 69 6e 67 20 63 6f 70 79 72 69 67 68 74 20 70 65 72 6d 69 73 | shion.requiring.copyright.permis |
| 48f80 | 73 69 6f 6e 2c 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 65 0a 20 20 20 20 20 6d 61 6b 69 6e 67 | sion,.other.than.the......making |
| 48fa0 | 20 6f 66 20 61 6e 20 65 78 61 63 74 20 63 6f 70 79 2e 20 20 54 68 65 20 72 65 73 75 6c 74 69 6e | .of.an.exact.copy...The.resultin |
| 48fc0 | 67 20 77 6f 72 6b 20 69 73 20 63 61 6c 6c 65 64 20 61 20 e2 80 9c 6d 6f 64 69 66 69 65 64 0a 20 | g.work.is.called.a....modified.. |
| 48fe0 | 20 20 20 20 76 65 72 73 69 6f 6e e2 80 9d 20 6f 66 20 74 68 65 20 65 61 72 6c 69 65 72 20 77 6f | ....version....of.the.earlier.wo |
| 49000 | 72 6b 20 6f 72 20 61 20 77 6f 72 6b 20 e2 80 9c 62 61 73 65 64 20 6f 6e e2 80 9d 20 74 68 65 20 | rk.or.a.work....based.on....the. |
| 49020 | 65 61 72 6c 69 65 72 20 77 6f 72 6b 2e 0a 0a 20 20 20 20 20 41 20 e2 80 9c 63 6f 76 65 72 65 64 | earlier.work........A....covered |
| 49040 | 20 77 6f 72 6b e2 80 9d 20 6d 65 61 6e 73 20 65 69 74 68 65 72 20 74 68 65 20 75 6e 6d 6f 64 69 | .work....means.either.the.unmodi |
| 49060 | 66 69 65 64 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 20 77 6f 72 6b 0a 20 20 20 20 20 62 61 73 65 | fied.Program.or.a.work......base |
| 49080 | 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 20 20 20 20 20 54 6f 20 e2 80 9c 70 72 | d.on.the.Program........To....pr |
| 490a0 | 6f 70 61 67 61 74 65 e2 80 9d 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 6f 20 64 6f 20 61 6e | opagate....a.work.means.to.do.an |
| 490c0 | 79 74 68 69 6e 67 20 77 69 74 68 20 69 74 20 74 68 61 74 2c 20 77 69 74 68 6f 75 74 0a 20 20 20 | ything.with.it.that,.without.... |
| 490e0 | 20 20 70 65 72 6d 69 73 73 69 6f 6e 2c 20 77 6f 75 6c 64 20 6d 61 6b 65 20 79 6f 75 20 64 69 72 | ..permission,.would.make.you.dir |
| 49100 | 65 63 74 6c 79 20 6f 72 20 73 65 63 6f 6e 64 61 72 69 6c 79 20 6c 69 61 62 6c 65 20 66 6f 72 0a | ectly.or.secondarily.liable.for. |
| 49120 | 20 20 20 20 20 69 6e 66 72 69 6e 67 65 6d 65 6e 74 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 | .....infringement.under.applicab |
| 49140 | 6c 65 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 2c 20 65 78 63 65 70 74 20 65 78 65 63 75 74 69 | le.copyright.law,.except.executi |
| 49160 | 6e 67 20 69 74 20 6f 6e 0a 20 20 20 20 20 61 20 63 6f 6d 70 75 74 65 72 20 6f 72 20 6d 6f 64 69 | ng.it.on......a.computer.or.modi |
| 49180 | 66 79 69 6e 67 20 61 20 70 72 69 76 61 74 65 20 63 6f 70 79 2e 20 20 50 72 6f 70 61 67 61 74 69 | fying.a.private.copy...Propagati |
| 491a0 | 6f 6e 20 69 6e 63 6c 75 64 65 73 0a 20 20 20 20 20 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 | on.includes......copying,.distri |
| 491c0 | 62 75 74 69 6f 6e 20 28 77 69 74 68 20 6f 72 20 77 69 74 68 6f 75 74 20 6d 6f 64 69 66 69 63 61 | bution.(with.or.without.modifica |
| 491e0 | 74 69 6f 6e 29 2c 20 6d 61 6b 69 6e 67 0a 20 20 20 20 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 | tion),.making......available.to. |
| 49200 | 74 68 65 20 70 75 62 6c 69 63 2c 20 61 6e 64 20 69 6e 20 73 6f 6d 65 20 63 6f 75 6e 74 72 69 65 | the.public,.and.in.some.countrie |
| 49220 | 73 20 6f 74 68 65 72 20 61 63 74 69 76 69 74 69 65 73 20 61 73 0a 20 20 20 20 20 77 65 6c 6c 2e | s.other.activities.as......well. |
| 49240 | 0a 0a 20 20 20 20 20 54 6f 20 e2 80 9c 63 6f 6e 76 65 79 e2 80 9d 20 61 20 77 6f 72 6b 20 6d 65 | .......To....convey....a.work.me |
| 49260 | 61 6e 73 20 61 6e 79 20 6b 69 6e 64 20 6f 66 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 74 68 61 74 | ans.any.kind.of.propagation.that |
| 49280 | 20 65 6e 61 62 6c 65 73 20 6f 74 68 65 72 0a 20 20 20 20 20 70 61 72 74 69 65 73 20 74 6f 20 6d | .enables.other......parties.to.m |
| 492a0 | 61 6b 65 20 6f 72 20 72 65 63 65 69 76 65 20 63 6f 70 69 65 73 2e 20 20 4d 65 72 65 20 69 6e 74 | ake.or.receive.copies...Mere.int |
| 492c0 | 65 72 61 63 74 69 6f 6e 20 77 69 74 68 20 61 20 75 73 65 72 0a 20 20 20 20 20 74 68 72 6f 75 67 | eraction.with.a.user......throug |
| 492e0 | 68 20 61 20 63 6f 6d 70 75 74 65 72 20 6e 65 74 77 6f 72 6b 2c 20 77 69 74 68 20 6e 6f 20 74 72 | h.a.computer.network,.with.no.tr |
| 49300 | 61 6e 73 66 65 72 20 6f 66 20 61 20 63 6f 70 79 2c 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 63 6f | ansfer.of.a.copy,.is.not......co |
| 49320 | 6e 76 65 79 69 6e 67 2e 0a 0a 20 20 20 20 20 41 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 75 73 | nveying........An.interactive.us |
| 49340 | 65 72 20 69 6e 74 65 72 66 61 63 65 20 64 69 73 70 6c 61 79 73 20 e2 80 9c 41 70 70 72 6f 70 72 | er.interface.displays....Appropr |
| 49360 | 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 e2 80 9d 0a 20 20 20 20 20 74 6f 20 74 68 | iate.Legal.Notices.........to.th |
| 49380 | 65 20 65 78 74 65 6e 74 20 74 68 61 74 20 69 74 20 69 6e 63 6c 75 64 65 73 20 61 20 63 6f 6e 76 | e.extent.that.it.includes.a.conv |
| 493a0 | 65 6e 69 65 6e 74 20 61 6e 64 20 70 72 6f 6d 69 6e 65 6e 74 6c 79 20 76 69 73 69 62 6c 65 0a 20 | enient.and.prominently.visible.. |
| 493c0 | 20 20 20 20 66 65 61 74 75 72 65 20 74 68 61 74 20 28 31 29 20 64 69 73 70 6c 61 79 73 20 61 6e | ....feature.that.(1).displays.an |
| 493e0 | 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 2c 20 61 | .appropriate.copyright.notice,.a |
| 49400 | 6e 64 20 28 32 29 0a 20 20 20 20 20 74 65 6c 6c 73 20 74 68 65 20 75 73 65 72 20 74 68 61 74 20 | nd.(2)......tells.the.user.that. |
| 49420 | 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 66 6f 72 20 74 68 65 20 77 6f 72 | there.is.no.warranty.for.the.wor |
| 49440 | 6b 20 28 65 78 63 65 70 74 20 74 6f 0a 20 20 20 20 20 74 68 65 20 65 78 74 65 6e 74 20 74 68 61 | k.(except.to......the.extent.tha |
| 49460 | 74 20 77 61 72 72 61 6e 74 69 65 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 29 2c 20 74 68 61 74 | t.warranties.are.provided),.that |
| 49480 | 20 6c 69 63 65 6e 73 65 65 73 20 6d 61 79 20 63 6f 6e 76 65 79 0a 20 20 20 20 20 74 68 65 20 77 | .licensees.may.convey......the.w |
| 494a0 | 6f 72 6b 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 68 6f 77 20 | ork.under.this.License,.and.how. |
| 494c0 | 74 6f 20 76 69 65 77 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 | to.view.a.copy.of.this......Lice |
| 494e0 | 6e 73 65 2e 20 20 49 66 20 74 68 65 20 69 6e 74 65 72 66 61 63 65 20 70 72 65 73 65 6e 74 73 20 | nse...If.the.interface.presents. |
| 49500 | 61 20 6c 69 73 74 20 6f 66 20 75 73 65 72 20 63 6f 6d 6d 61 6e 64 73 20 6f 72 0a 20 20 20 20 20 | a.list.of.user.commands.or...... |
| 49520 | 6f 70 74 69 6f 6e 73 2c 20 73 75 63 68 20 61 73 20 61 20 6d 65 6e 75 2c 20 61 20 70 72 6f 6d 69 | options,.such.as.a.menu,.a.promi |
| 49540 | 6e 65 6e 74 20 69 74 65 6d 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6d 65 65 74 73 20 74 68 69 73 | nent.item.in.the.list.meets.this |
| 49560 | 0a 20 20 20 20 20 63 72 69 74 65 72 69 6f 6e 2e 0a 0a 20 20 31 2e 20 53 6f 75 72 63 65 20 43 6f | ......criterion.....1..Source.Co |
| 49580 | 64 65 2e 0a 0a 20 20 20 20 20 54 68 65 20 e2 80 9c 73 6f 75 72 63 65 20 63 6f 64 65 e2 80 9d 20 | de........The....source.code.... |
| 495a0 | 66 6f 72 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 66 | for.a.work.means.the.preferred.f |
| 495c0 | 6f 72 6d 20 6f 66 20 74 68 65 20 77 6f 72 6b 0a 20 20 20 20 20 66 6f 72 20 6d 61 6b 69 6e 67 20 | orm.of.the.work......for.making. |
| 495e0 | 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 74 6f 20 69 74 2e 20 20 e2 80 9c 4f 62 6a 65 63 74 20 | modifications.to.it......Object. |
| 49600 | 63 6f 64 65 e2 80 9d 20 6d 65 61 6e 73 20 61 6e 79 20 6e 6f 6e 2d 73 6f 75 72 63 65 0a 20 20 20 | code....means.any.non-source.... |
| 49620 | 20 20 66 6f 72 6d 20 6f 66 20 61 20 77 6f 72 6b 2e 0a 0a 20 20 20 20 20 41 20 e2 80 9c 53 74 61 | ..form.of.a.work........A....Sta |
| 49640 | 6e 64 61 72 64 20 49 6e 74 65 72 66 61 63 65 e2 80 9d 20 6d 65 61 6e 73 20 61 6e 20 69 6e 74 65 | ndard.Interface....means.an.inte |
| 49660 | 72 66 61 63 65 20 74 68 61 74 20 65 69 74 68 65 72 20 69 73 20 61 6e 0a 20 20 20 20 20 6f 66 66 | rface.that.either.is.an......off |
| 49680 | 69 63 69 61 6c 20 73 74 61 6e 64 61 72 64 20 64 65 66 69 6e 65 64 20 62 79 20 61 20 72 65 63 6f | icial.standard.defined.by.a.reco |
| 496a0 | 67 6e 69 7a 65 64 20 73 74 61 6e 64 61 72 64 73 20 62 6f 64 79 2c 20 6f 72 2c 20 69 6e 0a 20 20 | gnized.standards.body,.or,.in... |
| 496c0 | 20 20 20 74 68 65 20 63 61 73 65 20 6f 66 20 69 6e 74 65 72 66 61 63 65 73 20 73 70 65 63 69 66 | ...the.case.of.interfaces.specif |
| 496e0 | 69 65 64 20 66 6f 72 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 70 72 6f 67 72 61 6d 6d 69 6e 67 | ied.for.a.particular.programming |
| 49700 | 0a 20 20 20 20 20 6c 61 6e 67 75 61 67 65 2c 20 6f 6e 65 20 74 68 61 74 20 69 73 20 77 69 64 65 | ......language,.one.that.is.wide |
| 49720 | 6c 79 20 75 73 65 64 20 61 6d 6f 6e 67 20 64 65 76 65 6c 6f 70 65 72 73 20 77 6f 72 6b 69 6e 67 | ly.used.among.developers.working |
| 49740 | 20 69 6e 20 74 68 61 74 0a 20 20 20 20 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 20 20 20 20 20 54 68 | .in.that......language........Th |
| 49760 | 65 20 e2 80 9c 53 79 73 74 65 6d 20 4c 69 62 72 61 72 69 65 73 e2 80 9d 20 6f 66 20 61 6e 20 65 | e....System.Libraries....of.an.e |
| 49780 | 78 65 63 75 74 61 62 6c 65 20 77 6f 72 6b 20 69 6e 63 6c 75 64 65 20 61 6e 79 74 68 69 6e 67 2c | xecutable.work.include.anything, |
| 497a0 | 0a 20 20 20 20 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 77 6f 72 6b 20 61 73 20 61 20 77 | ......other.than.the.work.as.a.w |
| 497c0 | 68 6f 6c 65 2c 20 74 68 61 74 20 28 61 29 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 | hole,.that.(a).is.included.in.th |
| 497e0 | 65 20 6e 6f 72 6d 61 6c 0a 20 20 20 20 20 66 6f 72 6d 20 6f 66 20 70 61 63 6b 61 67 69 6e 67 20 | e.normal......form.of.packaging. |
| 49800 | 61 20 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 6e 74 2c 20 62 75 74 20 77 68 69 63 68 20 69 73 20 | a.Major.Component,.but.which.is. |
| 49820 | 6e 6f 74 20 70 61 72 74 20 6f 66 20 74 68 61 74 0a 20 20 20 20 20 4d 61 6a 6f 72 20 43 6f 6d 70 | not.part.of.that......Major.Comp |
| 49840 | 6f 6e 65 6e 74 2c 20 61 6e 64 20 28 62 29 20 73 65 72 76 65 73 20 6f 6e 6c 79 20 74 6f 20 65 6e | onent,.and.(b).serves.only.to.en |
| 49860 | 61 62 6c 65 20 75 73 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 77 69 74 68 0a 20 20 20 20 20 74 | able.use.of.the.work.with......t |
| 49880 | 68 61 74 20 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 6e 74 2c 20 6f 72 20 74 6f 20 69 6d 70 6c 65 | hat.Major.Component,.or.to.imple |
| 498a0 | 6d 65 6e 74 20 61 20 53 74 61 6e 64 61 72 64 20 49 6e 74 65 72 66 61 63 65 20 66 6f 72 0a 20 20 | ment.a.Standard.Interface.for... |
| 498c0 | 20 20 20 77 68 69 63 68 20 61 6e 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 61 76 | ...which.an.implementation.is.av |
| 498e0 | 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 69 6e 20 73 6f 75 72 63 65 20 | ailable.to.the.public.in.source. |
| 49900 | 63 6f 64 65 0a 20 20 20 20 20 66 6f 72 6d 2e 20 20 41 20 e2 80 9c 4d 61 6a 6f 72 20 43 6f 6d 70 | code......form...A....Major.Comp |
| 49920 | 6f 6e 65 6e 74 e2 80 9d 2c 20 69 6e 20 74 68 69 73 20 63 6f 6e 74 65 78 74 2c 20 6d 65 61 6e 73 | onent...,.in.this.context,.means |
| 49940 | 20 61 20 6d 61 6a 6f 72 0a 20 20 20 20 20 65 73 73 65 6e 74 69 61 6c 20 63 6f 6d 70 6f 6e 65 6e | .a.major......essential.componen |
| 49960 | 74 20 28 6b 65 72 6e 65 6c 2c 20 77 69 6e 64 6f 77 20 73 79 73 74 65 6d 2c 20 61 6e 64 20 73 6f | t.(kernel,.window.system,.and.so |
| 49980 | 20 6f 6e 29 20 6f 66 20 74 68 65 0a 20 20 20 20 20 73 70 65 63 69 66 69 63 20 6f 70 65 72 61 74 | .on).of.the......specific.operat |
| 499a0 | 69 6e 67 20 73 79 73 74 65 6d 20 28 69 66 20 61 6e 79 29 20 6f 6e 20 77 68 69 63 68 20 74 68 65 | ing.system.(if.any).on.which.the |
| 499c0 | 20 65 78 65 63 75 74 61 62 6c 65 20 77 6f 72 6b 0a 20 20 20 20 20 72 75 6e 73 2c 20 6f 72 20 61 | .executable.work......runs,.or.a |
| 499e0 | 20 63 6f 6d 70 69 6c 65 72 20 75 73 65 64 20 74 6f 20 70 72 6f 64 75 63 65 20 74 68 65 20 77 6f | .compiler.used.to.produce.the.wo |
| 49a00 | 72 6b 2c 20 6f 72 20 61 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 0a 20 20 20 20 20 69 6e 74 65 72 | rk,.or.an.object.code......inter |
| 49a20 | 70 72 65 74 65 72 20 75 73 65 64 20 74 6f 20 72 75 6e 20 69 74 2e 0a 0a 20 20 20 20 20 54 68 65 | preter.used.to.run.it........The |
| 49a40 | 20 e2 80 9c 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 e2 80 9d 20 66 6f 72 20 | ....Corresponding.Source....for. |
| 49a60 | 61 20 77 6f 72 6b 20 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 66 6f 72 6d 20 6d 65 61 6e 73 | a.work.in.object.code.form.means |
| 49a80 | 20 61 6c 6c 0a 20 20 20 20 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6e 65 65 64 65 64 | .all......the.source.code.needed |
| 49aa0 | 20 74 6f 20 67 65 6e 65 72 61 74 65 2c 20 69 6e 73 74 61 6c 6c 2c 20 61 6e 64 20 28 66 6f 72 20 | .to.generate,.install,.and.(for. |
| 49ac0 | 61 6e 20 65 78 65 63 75 74 61 62 6c 65 0a 20 20 20 20 20 77 6f 72 6b 29 20 72 75 6e 20 74 68 65 | an.executable......work).run.the |
| 49ae0 | 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 61 6e 64 20 74 6f 20 6d 6f 64 69 66 79 20 74 68 65 20 77 | .object.code.and.to.modify.the.w |
| 49b00 | 6f 72 6b 2c 20 69 6e 63 6c 75 64 69 6e 67 20 73 63 72 69 70 74 73 0a 20 20 20 20 20 74 6f 20 63 | ork,.including.scripts......to.c |
| 49b20 | 6f 6e 74 72 6f 6c 20 74 68 6f 73 65 20 61 63 74 69 76 69 74 69 65 73 2e 20 20 48 6f 77 65 76 65 | ontrol.those.activities...Howeve |
| 49b40 | 72 2c 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 74 68 65 0a 20 20 20 20 20 | r,.it.does.not.include.the...... |
| 49b60 | 77 6f 72 6b e2 80 99 73 20 53 79 73 74 65 6d 20 4c 69 62 72 61 72 69 65 73 2c 20 6f 72 20 67 65 | work...s.System.Libraries,.or.ge |
| 49b80 | 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 74 6f 6f 6c 73 20 6f 72 20 67 65 6e 65 72 61 6c 6c 79 | neral-purpose.tools.or.generally |
| 49ba0 | 0a 20 20 20 20 20 61 76 61 69 6c 61 62 6c 65 20 66 72 65 65 20 70 72 6f 67 72 61 6d 73 20 77 68 | ......available.free.programs.wh |
| 49bc0 | 69 63 68 20 61 72 65 20 75 73 65 64 20 75 6e 6d 6f 64 69 66 69 65 64 20 69 6e 20 70 65 72 66 6f | ich.are.used.unmodified.in.perfo |
| 49be0 | 72 6d 69 6e 67 0a 20 20 20 20 20 74 68 6f 73 65 20 61 63 74 69 76 69 74 69 65 73 20 62 75 74 20 | rming......those.activities.but. |
| 49c00 | 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 74 68 65 20 77 6f 72 6b 2e 20 | which.are.not.part.of.the.work.. |
| 49c20 | 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 20 20 20 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 | .For.example,......Corresponding |
| 49c40 | 20 53 6f 75 72 63 65 20 69 6e 63 6c 75 64 65 73 20 69 6e 74 65 72 66 61 63 65 20 64 65 66 69 6e | .Source.includes.interface.defin |
| 49c60 | 69 74 69 6f 6e 20 66 69 6c 65 73 20 61 73 73 6f 63 69 61 74 65 64 0a 20 20 20 20 20 77 69 74 68 | ition.files.associated......with |
| 49c80 | 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 66 6f 72 20 74 68 65 20 77 6f 72 6b 2c 20 61 6e 64 20 | .source.files.for.the.work,.and. |
| 49ca0 | 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 20 73 68 61 72 65 64 0a 20 20 20 20 20 | the.source.code.for.shared...... |
| 49cc0 | 6c 69 62 72 61 72 69 65 73 20 61 6e 64 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 | libraries.and.dynamically.linked |
| 49ce0 | 20 73 75 62 70 72 6f 67 72 61 6d 73 20 74 68 61 74 20 74 68 65 20 77 6f 72 6b 20 69 73 0a 20 20 | .subprograms.that.the.work.is... |
| 49d00 | 20 20 20 73 70 65 63 69 66 69 63 61 6c 6c 79 20 64 65 73 69 67 6e 65 64 20 74 6f 20 72 65 71 75 | ...specifically.designed.to.requ |
| 49d20 | 69 72 65 2c 20 73 75 63 68 20 61 73 20 62 79 20 69 6e 74 69 6d 61 74 65 20 64 61 74 61 0a 20 20 | ire,.such.as.by.intimate.data... |
| 49d40 | 20 20 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 6f 72 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 | ...communication.or.control.flow |
| 49d60 | 20 62 65 74 77 65 65 6e 20 74 68 6f 73 65 20 73 75 62 70 72 6f 67 72 61 6d 73 20 61 6e 64 20 6f | .between.those.subprograms.and.o |
| 49d80 | 74 68 65 72 0a 20 20 20 20 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 77 6f 72 6b 2e 0a 0a 20 20 | ther......parts.of.the.work..... |
| 49da0 | 20 20 20 54 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6e 65 65 64 | ...The.Corresponding.Source.need |
| 49dc0 | 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 61 6e 79 74 68 69 6e 67 20 74 68 61 74 20 75 73 65 72 73 | .not.include.anything.that.users |
| 49de0 | 20 63 61 6e 0a 20 20 20 20 20 72 65 67 65 6e 65 72 61 74 65 20 61 75 74 6f 6d 61 74 69 63 61 6c | .can......regenerate.automatical |
| 49e00 | 6c 79 20 66 72 6f 6d 20 6f 74 68 65 72 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 43 6f 72 72 65 | ly.from.other.parts.of.the.Corre |
| 49e20 | 73 70 6f 6e 64 69 6e 67 0a 20 20 20 20 20 53 6f 75 72 63 65 2e 0a 0a 20 20 20 20 20 54 68 65 20 | sponding......Source........The. |
| 49e40 | 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 6f 72 20 61 20 77 6f 72 6b 20 | Corresponding.Source.for.a.work. |
| 49e60 | 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 20 69 73 20 74 68 61 74 0a 20 20 20 20 | in.source.code.form.is.that..... |
| 49e80 | 20 73 61 6d 65 20 77 6f 72 6b 2e 0a 0a 20 20 32 2e 20 42 61 73 69 63 20 50 65 72 6d 69 73 73 69 | .same.work.....2..Basic.Permissi |
| 49ea0 | 6f 6e 73 2e 0a 0a 20 20 20 20 20 41 6c 6c 20 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 75 6e | ons........All.rights.granted.un |
| 49ec0 | 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 72 65 20 67 72 61 6e 74 65 64 20 66 6f 72 | der.this.License.are.granted.for |
| 49ee0 | 20 74 68 65 20 74 65 72 6d 20 6f 66 0a 20 20 20 20 20 63 6f 70 79 72 69 67 68 74 20 6f 6e 20 74 | .the.term.of......copyright.on.t |
| 49f00 | 68 65 20 50 72 6f 67 72 61 6d 2c 20 61 6e 64 20 61 72 65 20 69 72 72 65 76 6f 63 61 62 6c 65 20 | he.Program,.and.are.irrevocable. |
| 49f20 | 70 72 6f 76 69 64 65 64 20 74 68 65 20 73 74 61 74 65 64 0a 20 20 20 20 20 63 6f 6e 64 69 74 69 | provided.the.stated......conditi |
| 49f40 | 6f 6e 73 20 61 72 65 20 6d 65 74 2e 20 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 65 78 70 6c 69 | ons.are.met...This.License.expli |
| 49f60 | 63 69 74 6c 79 20 61 66 66 69 72 6d 73 20 79 6f 75 72 20 75 6e 6c 69 6d 69 74 65 64 0a 20 20 20 | citly.affirms.your.unlimited.... |
| 49f80 | 20 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 72 75 6e 20 74 68 65 20 75 6e 6d 6f 64 69 66 69 | ..permission.to.run.the.unmodifi |
| 49fa0 | 65 64 20 50 72 6f 67 72 61 6d 2e 20 20 54 68 65 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 72 75 6e | ed.Program...The.output.from.run |
| 49fc0 | 6e 69 6e 67 0a 20 20 20 20 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 73 20 63 6f 76 65 | ning......a.covered.work.is.cove |
| 49fe0 | 72 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 6f 6e 6c 79 20 69 66 20 74 68 65 20 | red.by.this.License.only.if.the. |
| 4a000 | 6f 75 74 70 75 74 2c 20 67 69 76 65 6e 0a 20 20 20 20 20 69 74 73 20 63 6f 6e 74 65 6e 74 2c 20 | output,.given......its.content,. |
| 4a020 | 63 6f 6e 73 74 69 74 75 74 65 73 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2e 20 20 54 68 69 | constitutes.a.covered.work...Thi |
| 4a040 | 73 20 4c 69 63 65 6e 73 65 20 61 63 6b 6e 6f 77 6c 65 64 67 65 73 0a 20 20 20 20 20 79 6f 75 72 | s.License.acknowledges......your |
| 4a060 | 20 72 69 67 68 74 73 20 6f 66 20 66 61 69 72 20 75 73 65 20 6f 72 20 6f 74 68 65 72 20 65 71 75 | .rights.of.fair.use.or.other.equ |
| 4a080 | 69 76 61 6c 65 6e 74 2c 20 61 73 20 70 72 6f 76 69 64 65 64 20 62 79 0a 20 20 20 20 20 63 6f 70 | ivalent,.as.provided.by......cop |
| 4a0a0 | 79 72 69 67 68 74 20 6c 61 77 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 6d 61 6b 65 2c 20 | yright.law........You.may.make,. |
| 4a0c0 | 72 75 6e 20 61 6e 64 20 70 72 6f 70 61 67 61 74 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 20 | run.and.propagate.covered.works. |
| 4a0e0 | 74 68 61 74 20 79 6f 75 20 64 6f 20 6e 6f 74 0a 20 20 20 20 20 63 6f 6e 76 65 79 2c 20 77 69 74 | that.you.do.not......convey,.wit |
| 4a100 | 68 6f 75 74 20 63 6f 6e 64 69 74 69 6f 6e 73 20 73 6f 20 6c 6f 6e 67 20 61 73 20 79 6f 75 72 20 | hout.conditions.so.long.as.your. |
| 4a120 | 6c 69 63 65 6e 73 65 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 72 65 6d 61 69 6e 73 20 69 | license.otherwise......remains.i |
| 4a140 | 6e 20 66 6f 72 63 65 2e 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 63 6f 76 65 72 65 64 | n.force...You.may.convey.covered |
| 4a160 | 20 77 6f 72 6b 73 20 74 6f 20 6f 74 68 65 72 73 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 73 6f | .works.to.others.for.the......so |
| 4a180 | 6c 65 20 70 75 72 70 6f 73 65 20 6f 66 20 68 61 76 69 6e 67 20 74 68 65 6d 20 6d 61 6b 65 20 6d | le.purpose.of.having.them.make.m |
| 4a1a0 | 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 65 78 63 6c 75 73 69 76 65 6c 79 20 66 6f 72 20 79 6f 75 | odifications.exclusively.for.you |
| 4a1c0 | 2c 0a 20 20 20 20 20 6f 72 20 70 72 6f 76 69 64 65 20 79 6f 75 20 77 69 74 68 20 66 61 63 69 6c | ,......or.provide.you.with.facil |
| 4a1e0 | 69 74 69 65 73 20 66 6f 72 20 72 75 6e 6e 69 6e 67 20 74 68 6f 73 65 20 77 6f 72 6b 73 2c 20 70 | ities.for.running.those.works,.p |
| 4a200 | 72 6f 76 69 64 65 64 0a 20 20 20 20 20 74 68 61 74 20 79 6f 75 20 63 6f 6d 70 6c 79 20 77 69 74 | rovided......that.you.comply.wit |
| 4a220 | 68 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 63 | h.the.terms.of.this.License.in.c |
| 4a240 | 6f 6e 76 65 79 69 6e 67 20 61 6c 6c 0a 20 20 20 20 20 6d 61 74 65 72 69 61 6c 20 66 6f 72 20 77 | onveying.all......material.for.w |
| 4a260 | 68 69 63 68 20 79 6f 75 20 64 6f 20 6e 6f 74 20 63 6f 6e 74 72 6f 6c 20 63 6f 70 79 72 69 67 68 | hich.you.do.not.control.copyrigh |
| 4a280 | 74 2e 20 20 54 68 6f 73 65 20 74 68 75 73 20 6d 61 6b 69 6e 67 0a 20 20 20 20 20 6f 72 20 72 75 | t...Those.thus.making......or.ru |
| 4a2a0 | 6e 6e 69 6e 67 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 20 66 6f 72 20 79 6f 75 20 | nning.the.covered.works.for.you. |
| 4a2c0 | 6d 75 73 74 20 64 6f 20 73 6f 20 65 78 63 6c 75 73 69 76 65 6c 79 20 6f 6e 20 79 6f 75 72 0a 20 | must.do.so.exclusively.on.your.. |
| 4a2e0 | 20 20 20 20 62 65 68 61 6c 66 2c 20 75 6e 64 65 72 20 79 6f 75 72 20 64 69 72 65 63 74 69 6f 6e | ....behalf,.under.your.direction |
| 4a300 | 20 61 6e 64 20 63 6f 6e 74 72 6f 6c 2c 20 6f 6e 20 74 65 72 6d 73 20 74 68 61 74 20 70 72 6f 68 | .and.control,.on.terms.that.proh |
| 4a320 | 69 62 69 74 0a 20 20 20 20 20 74 68 65 6d 20 66 72 6f 6d 20 6d 61 6b 69 6e 67 20 61 6e 79 20 63 | ibit......them.from.making.any.c |
| 4a340 | 6f 70 69 65 73 20 6f 66 20 79 6f 75 72 20 63 6f 70 79 72 69 67 68 74 65 64 20 6d 61 74 65 72 69 | opies.of.your.copyrighted.materi |
| 4a360 | 61 6c 20 6f 75 74 73 69 64 65 0a 20 20 20 20 20 74 68 65 69 72 20 72 65 6c 61 74 69 6f 6e 73 68 | al.outside......their.relationsh |
| 4a380 | 69 70 20 77 69 74 68 20 79 6f 75 2e 0a 0a 20 20 20 20 20 43 6f 6e 76 65 79 69 6e 67 20 75 6e 64 | ip.with.you........Conveying.und |
| 4a3a0 | 65 72 20 61 6e 79 20 6f 74 68 65 72 20 63 69 72 63 75 6d 73 74 61 6e 63 65 73 20 69 73 20 70 65 | er.any.other.circumstances.is.pe |
| 4a3c0 | 72 6d 69 74 74 65 64 20 73 6f 6c 65 6c 79 20 75 6e 64 65 72 0a 20 20 20 20 20 74 68 65 20 63 6f | rmitted.solely.under......the.co |
| 4a3e0 | 6e 64 69 74 69 6f 6e 73 20 73 74 61 74 65 64 20 62 65 6c 6f 77 2e 20 20 53 75 62 6c 69 63 65 6e | nditions.stated.below...Sublicen |
| 4a400 | 73 69 6e 67 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 3b 20 73 65 63 74 69 6f 6e 0a 20 20 20 | sing.is.not.allowed;.section.... |
| 4a420 | 20 20 31 30 20 6d 61 6b 65 73 20 69 74 20 75 6e 6e 65 63 65 73 73 61 72 79 2e 0a 0a 20 20 33 2e | ..10.makes.it.unnecessary.....3. |
| 4a440 | 20 50 72 6f 74 65 63 74 69 6e 67 20 55 73 65 72 73 e2 80 99 20 4c 65 67 61 6c 20 52 69 67 68 74 | .Protecting.Users....Legal.Right |
| 4a460 | 73 20 46 72 6f 6d 20 41 6e 74 69 2d 43 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 4c 61 77 2e 0a 0a | s.From.Anti-Circumvention.Law... |
| 4a480 | 20 20 20 20 20 4e 6f 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 73 68 61 6c 6c 20 62 65 20 64 65 | .....No.covered.work.shall.be.de |
| 4a4a0 | 65 6d 65 64 20 70 61 72 74 20 6f 66 20 61 6e 20 65 66 66 65 63 74 69 76 65 20 74 65 63 68 6e 6f | emed.part.of.an.effective.techno |
| 4a4c0 | 6c 6f 67 69 63 61 6c 0a 20 20 20 20 20 6d 65 61 73 75 72 65 20 75 6e 64 65 72 20 61 6e 79 20 61 | logical......measure.under.any.a |
| 4a4e0 | 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 20 66 75 6c 66 69 6c 6c 69 6e 67 20 6f 62 6c 69 67 61 74 | pplicable.law.fulfilling.obligat |
| 4a500 | 69 6f 6e 73 20 75 6e 64 65 72 0a 20 20 20 20 20 61 72 74 69 63 6c 65 20 31 31 20 6f 66 20 74 68 | ions.under......article.11.of.th |
| 4a520 | 65 20 57 49 50 4f 20 63 6f 70 79 72 69 67 68 74 20 74 72 65 61 74 79 20 61 64 6f 70 74 65 64 20 | e.WIPO.copyright.treaty.adopted. |
| 4a540 | 6f 6e 20 32 30 20 44 65 63 65 6d 62 65 72 0a 20 20 20 20 20 31 39 39 36 2c 20 6f 72 20 73 69 6d | on.20.December......1996,.or.sim |
| 4a560 | 69 6c 61 72 20 6c 61 77 73 20 70 72 6f 68 69 62 69 74 69 6e 67 20 6f 72 20 72 65 73 74 72 69 63 | ilar.laws.prohibiting.or.restric |
| 4a580 | 74 69 6e 67 20 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 73 75 63 68 20 | ting.circumvention.of......such. |
| 4a5a0 | 6d 65 61 73 75 72 65 73 2e 0a 0a 20 20 20 20 20 57 68 65 6e 20 79 6f 75 20 63 6f 6e 76 65 79 20 | measures........When.you.convey. |
| 4a5c0 | 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 79 6f 75 20 77 61 69 76 65 20 61 6e 79 20 6c 65 | a.covered.work,.you.waive.any.le |
| 4a5e0 | 67 61 6c 20 70 6f 77 65 72 20 74 6f 20 66 6f 72 62 69 64 0a 20 20 20 20 20 63 69 72 63 75 6d 76 | gal.power.to.forbid......circumv |
| 4a600 | 65 6e 74 69 6f 6e 20 6f 66 20 74 65 63 68 6e 6f 6c 6f 67 69 63 61 6c 20 6d 65 61 73 75 72 65 73 | ention.of.technological.measures |
| 4a620 | 20 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 73 75 63 68 0a 20 20 20 20 20 63 69 72 63 75 6d 76 | .to.the.extent.such......circumv |
| 4a640 | 65 6e 74 69 6f 6e 20 69 73 20 65 66 66 65 63 74 65 64 20 62 79 20 65 78 65 72 63 69 73 69 6e 67 | ention.is.effected.by.exercising |
| 4a660 | 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 20 | .rights.under.this.License...... |
| 4a680 | 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b | with.respect.to.the.covered.work |
| 4a6a0 | 2c 20 61 6e 64 20 79 6f 75 20 64 69 73 63 6c 61 69 6d 20 61 6e 79 20 69 6e 74 65 6e 74 69 6f 6e | ,.and.you.disclaim.any.intention |
| 4a6c0 | 20 74 6f 0a 20 20 20 20 20 6c 69 6d 69 74 20 6f 70 65 72 61 74 69 6f 6e 20 6f 72 20 6d 6f 64 69 | .to......limit.operation.or.modi |
| 4a6e0 | 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 61 73 20 61 20 6d 65 61 6e 73 20 | fication.of.the.work.as.a.means. |
| 4a700 | 6f 66 0a 20 20 20 20 20 65 6e 66 6f 72 63 69 6e 67 2c 20 61 67 61 69 6e 73 74 20 74 68 65 20 77 | of......enforcing,.against.the.w |
| 4a720 | 6f 72 6b e2 80 99 73 20 75 73 65 72 73 2c 20 79 6f 75 72 20 6f 72 20 74 68 69 72 64 20 70 61 72 | ork...s.users,.your.or.third.par |
| 4a740 | 74 69 65 73 e2 80 99 20 6c 65 67 61 6c 0a 20 20 20 20 20 72 69 67 68 74 73 20 74 6f 20 66 6f 72 | ties....legal......rights.to.for |
| 4a760 | 62 69 64 20 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 6f 66 20 74 65 63 68 6e 6f 6c 6f 67 69 63 | bid.circumvention.of.technologic |
| 4a780 | 61 6c 20 6d 65 61 73 75 72 65 73 2e 0a 0a 20 20 34 2e 20 43 6f 6e 76 65 79 69 6e 67 20 56 65 72 | al.measures.....4..Conveying.Ver |
| 4a7a0 | 62 61 74 69 6d 20 43 6f 70 69 65 73 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 | batim.Copies........You.may.conv |
| 4a7c0 | 65 79 20 76 65 72 62 61 74 69 6d 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 | ey.verbatim.copies.of.the.Progra |
| 4a7e0 | 6d e2 80 99 73 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61 73 20 79 6f 75 0a 20 20 20 20 20 72 65 | m...s.source.code.as.you......re |
| 4a800 | 63 65 69 76 65 20 69 74 2c 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c 20 70 72 6f 76 69 64 65 | ceive.it,.in.any.medium,.provide |
| 4a820 | 64 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 73 70 69 63 75 6f 75 73 6c 79 20 61 6e 64 0a 20 20 20 | d.that.you.conspicuously.and.... |
| 4a840 | 20 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 20 70 75 62 6c 69 73 68 20 6f 6e 20 65 61 63 68 20 | ..appropriately.publish.on.each. |
| 4a860 | 63 6f 70 79 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f | copy.an.appropriate.copyright.no |
| 4a880 | 74 69 63 65 3b 0a 20 20 20 20 20 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f 74 69 63 | tice;......keep.intact.all.notic |
| 4a8a0 | 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 | es.stating.that.this.License.and |
| 4a8c0 | 20 61 6e 79 0a 20 20 20 20 20 6e 6f 6e 2d 70 65 72 6d 69 73 73 69 76 65 20 74 65 72 6d 73 20 61 | .any......non-permissive.terms.a |
| 4a8e0 | 64 64 65 64 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 73 65 63 74 69 6f 6e 20 37 20 61 70 | dded.in.accord.with.section.7.ap |
| 4a900 | 70 6c 79 20 74 6f 20 74 68 65 0a 20 20 20 20 20 63 6f 64 65 3b 20 6b 65 65 70 20 69 6e 74 61 63 | ply.to.the......code;.keep.intac |
| 4a920 | 74 20 61 6c 6c 20 6e 6f 74 69 63 65 73 20 6f 66 20 74 68 65 20 61 62 73 65 6e 63 65 20 6f 66 20 | t.all.notices.of.the.absence.of. |
| 4a940 | 61 6e 79 20 77 61 72 72 61 6e 74 79 3b 20 61 6e 64 0a 20 20 20 20 20 67 69 76 65 20 61 6c 6c 20 | any.warranty;.and......give.all. |
| 4a960 | 72 65 63 69 70 69 65 6e 74 73 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 | recipients.a.copy.of.this.Licens |
| 4a980 | 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 20 20 20 20 20 | e.along.with.the.Program........ |
| 4a9a0 | 59 6f 75 20 6d 61 79 20 63 68 61 72 67 65 20 61 6e 79 20 70 72 69 63 65 20 6f 72 20 6e 6f 20 70 | You.may.charge.any.price.or.no.p |
| 4a9c0 | 72 69 63 65 20 66 6f 72 20 65 61 63 68 20 63 6f 70 79 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 76 | rice.for.each.copy.that.you.conv |
| 4a9e0 | 65 79 2c 0a 20 20 20 20 20 61 6e 64 20 79 6f 75 20 6d 61 79 20 6f 66 66 65 72 20 73 75 70 70 6f | ey,......and.you.may.offer.suppo |
| 4aa00 | 72 74 20 6f 72 20 77 61 72 72 61 6e 74 79 20 70 72 6f 74 65 63 74 69 6f 6e 20 66 6f 72 20 61 20 | rt.or.warranty.protection.for.a. |
| 4aa20 | 66 65 65 2e 0a 0a 20 20 35 2e 20 43 6f 6e 76 65 79 69 6e 67 20 4d 6f 64 69 66 69 65 64 20 53 6f | fee.....5..Conveying.Modified.So |
| 4aa40 | 75 72 63 65 20 56 65 72 73 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e | urce.Versions........You.may.con |
| 4aa60 | 76 65 79 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c | vey.a.work.based.on.the.Program, |
| 4aa80 | 20 6f 72 20 74 68 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 74 6f 0a 20 20 20 20 20 70 72 | .or.the.modifications.to......pr |
| 4aaa0 | 6f 64 75 63 65 20 69 74 20 66 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 69 6e 20 74 68 | oduce.it.from.the.Program,.in.th |
| 4aac0 | 65 20 66 6f 72 6d 20 6f 66 20 73 6f 75 72 63 65 20 63 6f 64 65 20 75 6e 64 65 72 20 74 68 65 0a | e.form.of.source.code.under.the. |
| 4aae0 | 20 20 20 20 20 74 65 72 6d 73 20 6f 66 20 73 65 63 74 69 6f 6e 20 34 2c 20 70 72 6f 76 69 64 65 | .....terms.of.section.4,.provide |
| 4ab00 | 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 6d 65 65 74 20 61 6c 6c 20 6f 66 20 74 68 65 73 | d.that.you.also.meet.all.of.thes |
| 4ab20 | 65 0a 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 20 20 20 20 20 20 20 61 2e 20 54 68 | e......conditions:.........a..Th |
| 4ab40 | 65 20 77 6f 72 6b 20 6d 75 73 74 20 63 61 72 72 79 20 70 72 6f 6d 69 6e 65 6e 74 20 6e 6f 74 69 | e.work.must.carry.prominent.noti |
| 4ab60 | 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 79 6f 75 0a 20 20 20 20 20 20 20 20 20 20 6d | ces.stating.that.you...........m |
| 4ab80 | 6f 64 69 66 69 65 64 20 69 74 2c 20 61 6e 64 20 67 69 76 69 6e 67 20 61 20 72 65 6c 65 76 61 6e | odified.it,.and.giving.a.relevan |
| 4aba0 | 74 20 64 61 74 65 2e 0a 0a 20 20 20 20 20 20 20 62 2e 20 54 68 65 20 77 6f 72 6b 20 6d 75 73 74 | t.date..........b..The.work.must |
| 4abc0 | 20 63 61 72 72 79 20 70 72 6f 6d 69 6e 65 6e 74 20 6e 6f 74 69 63 65 73 20 73 74 61 74 69 6e 67 | .carry.prominent.notices.stating |
| 4abe0 | 20 74 68 61 74 20 69 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 72 65 6c 65 61 73 65 64 20 75 | .that.it.is...........released.u |
| 4ac00 | 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 20 63 6f 6e 64 69 74 | nder.this.License.and.any.condit |
| 4ac20 | 69 6f 6e 73 20 61 64 64 65 64 20 75 6e 64 65 72 0a 20 20 20 20 20 20 20 20 20 20 73 65 63 74 69 | ions.added.under...........secti |
| 4ac40 | 6f 6e 20 37 2e 20 20 54 68 69 73 20 72 65 71 75 69 72 65 6d 65 6e 74 20 6d 6f 64 69 66 69 65 73 | on.7...This.requirement.modifies |
| 4ac60 | 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 73 65 | .the.requirement.in...........se |
| 4ac80 | 63 74 69 6f 6e 20 34 20 74 6f 20 e2 80 9c 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f | ction.4.to....keep.intact.all.no |
| 4aca0 | 74 69 63 65 73 e2 80 9d 2e 0a 0a 20 20 20 20 20 20 20 63 2e 20 59 6f 75 20 6d 75 73 74 20 6c 69 | tices.............c..You.must.li |
| 4acc0 | 63 65 6e 73 65 20 74 68 65 20 65 6e 74 69 72 65 20 77 6f 72 6b 2c 20 61 73 20 61 20 77 68 6f 6c | cense.the.entire.work,.as.a.whol |
| 4ace0 | 65 2c 20 75 6e 64 65 72 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 20 4c 69 63 65 6e 73 65 20 | e,.under.this...........License. |
| 4ad00 | 74 6f 20 61 6e 79 6f 6e 65 20 77 68 6f 20 63 6f 6d 65 73 20 69 6e 74 6f 20 70 6f 73 73 65 73 73 | to.anyone.who.comes.into.possess |
| 4ad20 | 69 6f 6e 20 6f 66 20 61 20 63 6f 70 79 2e 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 20 4c | ion.of.a.copy...This...........L |
| 4ad40 | 69 63 65 6e 73 65 20 77 69 6c 6c 20 74 68 65 72 65 66 6f 72 65 20 61 70 70 6c 79 2c 20 61 6c 6f | icense.will.therefore.apply,.alo |
| 4ad60 | 6e 67 20 77 69 74 68 20 61 6e 79 20 61 70 70 6c 69 63 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 | ng.with.any.applicable.......... |
| 4ad80 | 20 73 65 63 74 69 6f 6e 20 37 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 20 74 6f 20 | .section.7.additional.terms,.to. |
| 4ada0 | 74 68 65 20 77 68 6f 6c 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 2c 20 61 6e 64 20 61 6c 6c 0a 20 | the.whole.of.the.work,.and.all.. |
| 4adc0 | 20 20 20 20 20 20 20 20 20 69 74 73 20 70 61 72 74 73 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f | .........its.parts,.regardless.o |
| 4ade0 | 66 20 68 6f 77 20 74 68 65 79 20 61 72 65 20 70 61 63 6b 61 67 65 64 2e 20 20 54 68 69 73 20 4c | f.how.they.are.packaged...This.L |
| 4ae00 | 69 63 65 6e 73 65 0a 20 20 20 20 20 20 20 20 20 20 67 69 76 65 73 20 6e 6f 20 70 65 72 6d 69 73 | icense...........gives.no.permis |
| 4ae20 | 73 69 6f 6e 20 74 6f 20 6c 69 63 65 6e 73 65 20 74 68 65 20 77 6f 72 6b 20 69 6e 20 61 6e 79 20 | sion.to.license.the.work.in.any. |
| 4ae40 | 6f 74 68 65 72 20 77 61 79 2c 20 62 75 74 0a 20 20 20 20 20 20 20 20 20 20 69 74 20 64 6f 65 73 | other.way,.but...........it.does |
| 4ae60 | 20 6e 6f 74 20 69 6e 76 61 6c 69 64 61 74 65 20 73 75 63 68 20 70 65 72 6d 69 73 73 69 6f 6e 20 | .not.invalidate.such.permission. |
| 4ae80 | 69 66 20 79 6f 75 20 68 61 76 65 20 73 65 70 61 72 61 74 65 6c 79 0a 20 20 20 20 20 20 20 20 20 | if.you.have.separately.......... |
| 4aea0 | 20 72 65 63 65 69 76 65 64 20 69 74 2e 0a 0a 20 20 20 20 20 20 20 64 2e 20 49 66 20 74 68 65 20 | .received.it..........d..If.the. |
| 4aec0 | 77 6f 72 6b 20 68 61 73 20 69 6e 74 65 72 61 63 74 69 76 65 20 75 73 65 72 20 69 6e 74 65 72 66 | work.has.interactive.user.interf |
| 4aee0 | 61 63 65 73 2c 20 65 61 63 68 20 6d 75 73 74 20 64 69 73 70 6c 61 79 0a 20 20 20 20 20 20 20 20 | aces,.each.must.display......... |
| 4af00 | 20 20 41 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 3b 20 68 6f 77 | ..Appropriate.Legal.Notices;.how |
| 4af20 | 65 76 65 72 2c 20 69 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 68 61 73 0a 20 20 20 20 20 20 20 | ever,.if.the.Program.has........ |
| 4af40 | 20 20 20 69 6e 74 65 72 61 63 74 69 76 65 20 69 6e 74 65 72 66 61 63 65 73 20 74 68 61 74 20 64 | ...interactive.interfaces.that.d |
| 4af60 | 6f 20 6e 6f 74 20 64 69 73 70 6c 61 79 20 41 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 0a | o.not.display.Appropriate.Legal. |
| 4af80 | 20 20 20 20 20 20 20 20 20 20 4e 6f 74 69 63 65 73 2c 20 79 6f 75 72 20 77 6f 72 6b 20 6e 65 65 | ..........Notices,.your.work.nee |
| 4afa0 | 64 20 6e 6f 74 20 6d 61 6b 65 20 74 68 65 6d 20 64 6f 20 73 6f 2e 0a 0a 20 20 20 20 20 41 20 63 | d.not.make.them.do.so........A.c |
| 4afc0 | 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 77 69 74 | ompilation.of.a.covered.work.wit |
| 4afe0 | 68 20 6f 74 68 65 72 20 73 65 70 61 72 61 74 65 20 61 6e 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 | h.other.separate.and.independent |
| 4b000 | 0a 20 20 20 20 20 77 6f 72 6b 73 2c 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 62 79 20 74 68 | ......works,.which.are.not.by.th |
| 4b020 | 65 69 72 20 6e 61 74 75 72 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 63 6f 76 | eir.nature.extensions.of.the.cov |
| 4b040 | 65 72 65 64 0a 20 20 20 20 20 77 6f 72 6b 2c 20 61 6e 64 20 77 68 69 63 68 20 61 72 65 20 6e 6f | ered......work,.and.which.are.no |
| 4b060 | 74 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 69 74 20 73 75 63 68 20 61 73 20 74 6f 20 66 6f | t.combined.with.it.such.as.to.fo |
| 4b080 | 72 6d 20 61 20 6c 61 72 67 65 72 0a 20 20 20 20 20 70 72 6f 67 72 61 6d 2c 20 69 6e 20 6f 72 20 | rm.a.larger......program,.in.or. |
| 4b0a0 | 6f 6e 20 61 20 76 6f 6c 75 6d 65 20 6f 66 20 61 20 73 74 6f 72 61 67 65 20 6f 72 20 64 69 73 74 | on.a.volume.of.a.storage.or.dist |
| 4b0c0 | 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 2c 20 69 73 0a 20 20 20 20 20 63 61 6c 6c 65 64 20 | ribution.medium,.is......called. |
| 4b0e0 | 61 6e 20 e2 80 9c 61 67 67 72 65 67 61 74 65 e2 80 9d 20 69 66 20 74 68 65 20 63 6f 6d 70 69 6c | an....aggregate....if.the.compil |
| 4b100 | 61 74 69 6f 6e 20 61 6e 64 20 69 74 73 20 72 65 73 75 6c 74 69 6e 67 0a 20 20 20 20 20 63 6f 70 | ation.and.its.resulting......cop |
| 4b120 | 79 72 69 67 68 74 20 61 72 65 20 6e 6f 74 20 75 73 65 64 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 | yright.are.not.used.to.limit.the |
| 4b140 | 20 61 63 63 65 73 73 20 6f 72 20 6c 65 67 61 6c 20 72 69 67 68 74 73 20 6f 66 20 74 68 65 0a 20 | .access.or.legal.rights.of.the.. |
| 4b160 | 20 20 20 20 63 6f 6d 70 69 6c 61 74 69 6f 6e e2 80 99 73 20 75 73 65 72 73 20 62 65 79 6f 6e 64 | ....compilation...s.users.beyond |
| 4b180 | 20 77 68 61 74 20 74 68 65 20 69 6e 64 69 76 69 64 75 61 6c 20 77 6f 72 6b 73 20 70 65 72 6d 69 | .what.the.individual.works.permi |
| 4b1a0 | 74 2e 0a 20 20 20 20 20 49 6e 63 6c 75 73 69 6f 6e 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 | t.......Inclusion.of.a.covered.w |
| 4b1c0 | 6f 72 6b 20 69 6e 20 61 6e 20 61 67 67 72 65 67 61 74 65 20 64 6f 65 73 20 6e 6f 74 20 63 61 75 | ork.in.an.aggregate.does.not.cau |
| 4b1e0 | 73 65 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 20 74 6f 20 61 70 70 6c 79 20 74 6f | se.this......License.to.apply.to |
| 4b200 | 20 74 68 65 20 6f 74 68 65 72 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 61 67 67 72 65 67 61 74 | .the.other.parts.of.the.aggregat |
| 4b220 | 65 2e 0a 0a 20 20 36 2e 20 43 6f 6e 76 65 79 69 6e 67 20 4e 6f 6e 2d 53 6f 75 72 63 65 20 46 6f | e.....6..Conveying.Non-Source.Fo |
| 4b240 | 72 6d 73 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 61 20 63 6f 76 65 | rms........You.may.convey.a.cove |
| 4b260 | 72 65 64 20 77 6f 72 6b 20 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 66 6f 72 6d 20 75 6e 64 | red.work.in.object.code.form.und |
| 4b280 | 65 72 20 74 68 65 20 74 65 72 6d 73 0a 20 20 20 20 20 6f 66 20 73 65 63 74 69 6f 6e 73 20 34 20 | er.the.terms......of.sections.4. |
| 4b2a0 | 61 6e 64 20 35 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 63 6f | and.5,.provided.that.you.also.co |
| 4b2c0 | 6e 76 65 79 20 74 68 65 0a 20 20 20 20 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 20 43 | nvey.the......machine-readable.C |
| 4b2e0 | 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 75 6e 64 65 72 20 74 68 65 20 74 65 | orresponding.Source.under.the.te |
| 4b300 | 72 6d 73 20 6f 66 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 2c 20 69 6e 20 6f 6e 65 | rms.of.this......License,.in.one |
| 4b320 | 20 6f 66 20 74 68 65 73 65 20 77 61 79 73 3a 0a 0a 20 20 20 20 20 20 20 61 2e 20 43 6f 6e 76 65 | .of.these.ways:.........a..Conve |
| 4b340 | 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 6e 2c 20 6f 72 20 65 6d 62 6f 64 69 65 | y.the.object.code.in,.or.embodie |
| 4b360 | 64 20 69 6e 2c 20 61 20 70 68 79 73 69 63 61 6c 20 70 72 6f 64 75 63 74 0a 20 20 20 20 20 20 20 | d.in,.a.physical.product........ |
| 4b380 | 20 20 20 28 69 6e 63 6c 75 64 69 6e 67 20 61 20 70 68 79 73 69 63 61 6c 20 64 69 73 74 72 69 62 | ...(including.a.physical.distrib |
| 4b3a0 | 75 74 69 6f 6e 20 6d 65 64 69 75 6d 29 2c 20 61 63 63 6f 6d 70 61 6e 69 65 64 20 62 79 20 74 68 | ution.medium),.accompanied.by.th |
| 4b3c0 | 65 0a 20 20 20 20 20 20 20 20 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 | e...........Corresponding.Source |
| 4b3e0 | 20 66 69 78 65 64 20 6f 6e 20 61 20 64 75 72 61 62 6c 65 20 70 68 79 73 69 63 61 6c 20 6d 65 64 | .fixed.on.a.durable.physical.med |
| 4b400 | 69 75 6d 0a 20 20 20 20 20 20 20 20 20 20 63 75 73 74 6f 6d 61 72 69 6c 79 20 75 73 65 64 20 66 | ium...........customarily.used.f |
| 4b420 | 6f 72 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 65 2e 0a 0a 20 20 20 20 20 20 | or.software.interchange......... |
| 4b440 | 20 62 2e 20 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 6e 2c 20 6f | .b..Convey.the.object.code.in,.o |
| 4b460 | 72 20 65 6d 62 6f 64 69 65 64 20 69 6e 2c 20 61 20 70 68 79 73 69 63 61 6c 20 70 72 6f 64 75 63 | r.embodied.in,.a.physical.produc |
| 4b480 | 74 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 63 6c 75 64 69 6e 67 20 61 20 70 68 79 73 69 63 61 | t...........(including.a.physica |
| 4b4a0 | 6c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 29 2c 20 61 63 63 6f 6d 70 61 6e | l.distribution.medium),.accompan |
| 4b4c0 | 69 65 64 20 62 79 20 61 0a 20 20 20 20 20 20 20 20 20 20 77 72 69 74 74 65 6e 20 6f 66 66 65 72 | ied.by.a...........written.offer |
| 4b4e0 | 2c 20 76 61 6c 69 64 20 66 6f 72 20 61 74 20 6c 65 61 73 74 20 74 68 72 65 65 20 79 65 61 72 73 | ,.valid.for.at.least.three.years |
| 4b500 | 20 61 6e 64 20 76 61 6c 69 64 20 66 6f 72 20 61 73 0a 20 20 20 20 20 20 20 20 20 20 6c 6f 6e 67 | .and.valid.for.as...........long |
| 4b520 | 20 61 73 20 79 6f 75 20 6f 66 66 65 72 20 73 70 61 72 65 20 70 61 72 74 73 20 6f 72 20 63 75 73 | .as.you.offer.spare.parts.or.cus |
| 4b540 | 74 6f 6d 65 72 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 | tomer.support.for.that.......... |
| 4b560 | 20 70 72 6f 64 75 63 74 20 6d 6f 64 65 6c 2c 20 74 6f 20 67 69 76 65 20 61 6e 79 6f 6e 65 20 77 | .product.model,.to.give.anyone.w |
| 4b580 | 68 6f 20 70 6f 73 73 65 73 73 65 73 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 0a 20 20 20 | ho.possesses.the.object.code.... |
| 4b5a0 | 20 20 20 20 20 20 20 65 69 74 68 65 72 20 28 31 29 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 | .......either.(1).a.copy.of.the. |
| 4b5c0 | 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 6f 72 20 61 6c 6c 20 74 68 65 | Corresponding.Source.for.all.the |
| 4b5e0 | 0a 20 20 20 20 20 20 20 20 20 20 73 6f 66 74 77 61 72 65 20 69 6e 20 74 68 65 20 70 72 6f 64 75 | ...........software.in.the.produ |
| 4b600 | 63 74 20 74 68 61 74 20 69 73 20 63 6f 76 65 72 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e | ct.that.is.covered.by.this.Licen |
| 4b620 | 73 65 2c 20 6f 6e 20 61 0a 20 20 20 20 20 20 20 20 20 20 64 75 72 61 62 6c 65 20 70 68 79 73 69 | se,.on.a...........durable.physi |
| 4b640 | 63 61 6c 20 6d 65 64 69 75 6d 20 63 75 73 74 6f 6d 61 72 69 6c 79 20 75 73 65 64 20 66 6f 72 20 | cal.medium.customarily.used.for. |
| 4b660 | 73 6f 66 74 77 61 72 65 0a 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 63 68 61 6e 67 65 2c 20 | software...........interchange,. |
| 4b680 | 66 6f 72 20 61 20 70 72 69 63 65 20 6e 6f 20 6d 6f 72 65 20 74 68 61 6e 20 79 6f 75 72 20 72 65 | for.a.price.no.more.than.your.re |
| 4b6a0 | 61 73 6f 6e 61 62 6c 65 20 63 6f 73 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 70 68 79 73 69 | asonable.cost.of...........physi |
| 4b6c0 | 63 61 6c 6c 79 20 70 65 72 66 6f 72 6d 69 6e 67 20 74 68 69 73 20 63 6f 6e 76 65 79 69 6e 67 20 | cally.performing.this.conveying. |
| 4b6e0 | 6f 66 20 73 6f 75 72 63 65 2c 20 6f 72 20 28 32 29 20 61 63 63 65 73 73 0a 20 20 20 20 20 20 20 | of.source,.or.(2).access........ |
| 4b700 | 20 20 20 74 6f 20 63 6f 70 79 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 | ...to.copy.the.Corresponding.Sou |
| 4b720 | 72 63 65 20 66 72 6f 6d 20 61 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 20 61 74 20 6e 6f 0a | rce.from.a.network.server.at.no. |
| 4b740 | 20 20 20 20 20 20 20 20 20 20 63 68 61 72 67 65 2e 0a 0a 20 20 20 20 20 20 20 63 2e 20 43 6f 6e | ..........charge..........c..Con |
| 4b760 | 76 65 79 20 69 6e 64 69 76 69 64 75 61 6c 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 6f 62 6a | vey.individual.copies.of.the.obj |
| 4b780 | 65 63 74 20 63 6f 64 65 20 77 69 74 68 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 0a 20 20 20 20 | ect.code.with.a.copy.of.the..... |
| 4b7a0 | 20 20 20 20 20 20 77 72 69 74 74 65 6e 20 6f 66 66 65 72 20 74 6f 20 70 72 6f 76 69 64 65 20 74 | ......written.offer.to.provide.t |
| 4b7c0 | 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e 20 20 54 68 69 73 0a 20 | he.Corresponding.Source...This.. |
| 4b7e0 | 20 20 20 20 20 20 20 20 20 61 6c 74 65 72 6e 61 74 69 76 65 20 69 73 20 61 6c 6c 6f 77 65 64 20 | .........alternative.is.allowed. |
| 4b800 | 6f 6e 6c 79 20 6f 63 63 61 73 69 6f 6e 61 6c 6c 79 20 61 6e 64 20 6e 6f 6e 63 6f 6d 6d 65 72 63 | only.occasionally.and.noncommerc |
| 4b820 | 69 61 6c 6c 79 2c 0a 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 79 6f 75 | ially,...........and.only.if.you |
| 4b840 | 20 72 65 63 65 69 76 65 64 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 69 74 68 20 73 | .received.the.object.code.with.s |
| 4b860 | 75 63 68 20 61 6e 20 6f 66 66 65 72 2c 0a 20 20 20 20 20 20 20 20 20 20 69 6e 20 61 63 63 6f 72 | uch.an.offer,...........in.accor |
| 4b880 | 64 20 77 69 74 68 20 73 75 62 73 65 63 74 69 6f 6e 20 36 62 2e 0a 0a 20 20 20 20 20 20 20 64 2e | d.with.subsection.6b..........d. |
| 4b8a0 | 20 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 62 79 20 6f 66 66 65 72 | .Convey.the.object.code.by.offer |
| 4b8c0 | 69 6e 67 20 61 63 63 65 73 73 20 66 72 6f 6d 20 61 20 64 65 73 69 67 6e 61 74 65 64 0a 20 20 20 | ing.access.from.a.designated.... |
| 4b8e0 | 20 20 20 20 20 20 20 70 6c 61 63 65 20 28 67 72 61 74 69 73 20 6f 72 20 66 6f 72 20 61 20 63 68 | .......place.(gratis.or.for.a.ch |
| 4b900 | 61 72 67 65 29 2c 20 61 6e 64 20 6f 66 66 65 72 20 65 71 75 69 76 61 6c 65 6e 74 20 61 63 63 65 | arge),.and.offer.equivalent.acce |
| 4b920 | 73 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e | ss.to...........the.Correspondin |
| 4b940 | 67 20 53 6f 75 72 63 65 20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 74 68 72 6f 75 67 68 | g.Source.in.the.same.way.through |
| 4b960 | 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 70 6c 61 63 65 20 61 74 20 6e 6f 20 | .the.same...........place.at.no. |
| 4b980 | 66 75 72 74 68 65 72 20 63 68 61 72 67 65 2e 20 20 59 6f 75 20 6e 65 65 64 20 6e 6f 74 20 72 65 | further.charge...You.need.not.re |
| 4b9a0 | 71 75 69 72 65 20 72 65 63 69 70 69 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 74 6f 20 63 6f | quire.recipients...........to.co |
| 4b9c0 | 70 79 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 61 6c 6f 6e | py.the.Corresponding.Source.alon |
| 4b9e0 | 67 20 77 69 74 68 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 | g.with.the.object.code.......... |
| 4ba00 | 20 20 49 66 20 74 68 65 20 70 6c 61 63 65 20 74 6f 20 63 6f 70 79 20 74 68 65 20 6f 62 6a 65 63 | ..If.the.place.to.copy.the.objec |
| 4ba20 | 74 20 63 6f 64 65 20 69 73 20 61 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 2c 20 74 68 65 0a | t.code.is.a.network.server,.the. |
| 4ba40 | 20 20 20 20 20 20 20 20 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6d | ..........Corresponding.Source.m |
| 4ba60 | 61 79 20 62 65 20 6f 6e 20 61 20 64 69 66 66 65 72 65 6e 74 20 73 65 72 76 65 72 20 28 6f 70 65 | ay.be.on.a.different.server.(ope |
| 4ba80 | 72 61 74 65 64 20 62 79 0a 20 20 20 20 20 20 20 20 20 20 79 6f 75 20 6f 72 20 61 20 74 68 69 72 | rated.by...........you.or.a.thir |
| 4baa0 | 64 20 70 61 72 74 79 29 20 74 68 61 74 20 73 75 70 70 6f 72 74 73 20 65 71 75 69 76 61 6c 65 6e | d.party).that.supports.equivalen |
| 4bac0 | 74 20 63 6f 70 79 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 66 61 63 69 6c 69 74 69 65 73 2c 20 | t.copying...........facilities,. |
| 4bae0 | 70 72 6f 76 69 64 65 64 20 79 6f 75 20 6d 61 69 6e 74 61 69 6e 20 63 6c 65 61 72 20 64 69 72 65 | provided.you.maintain.clear.dire |
| 4bb00 | 63 74 69 6f 6e 73 20 6e 65 78 74 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 6f 62 6a | ctions.next.to.the...........obj |
| 4bb20 | 65 63 74 20 63 6f 64 65 20 73 61 79 69 6e 67 20 77 68 65 72 65 20 74 6f 20 66 69 6e 64 20 74 68 | ect.code.saying.where.to.find.th |
| 4bb40 | 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e 0a 20 20 20 20 20 20 20 20 | e.Corresponding.Source.......... |
| 4bb60 | 20 20 52 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 61 74 20 73 65 72 76 65 72 20 68 6f 73 74 | ..Regardless.of.what.server.host |
| 4bb80 | 73 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2c 20 79 6f 75 0a | s.the.Corresponding.Source,.you. |
| 4bba0 | 20 20 20 20 20 20 20 20 20 20 72 65 6d 61 69 6e 20 6f 62 6c 69 67 61 74 65 64 20 74 6f 20 65 6e | ..........remain.obligated.to.en |
| 4bbc0 | 73 75 72 65 20 74 68 61 74 20 69 74 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 61 73 | sure.that.it.is.available.for.as |
| 4bbe0 | 20 6c 6f 6e 67 20 61 73 0a 20 20 20 20 20 20 20 20 20 20 6e 65 65 64 65 64 20 74 6f 20 73 61 74 | .long.as...........needed.to.sat |
| 4bc00 | 69 73 66 79 20 74 68 65 73 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 20 | isfy.these.requirements......... |
| 4bc20 | 20 65 2e 20 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 75 73 69 6e 67 | .e..Convey.the.object.code.using |
| 4bc40 | 20 70 65 65 72 2d 74 6f 2d 70 65 65 72 20 74 72 61 6e 73 6d 69 73 73 69 6f 6e 2c 0a 20 20 20 20 | .peer-to-peer.transmission,..... |
| 4bc60 | 20 20 20 20 20 20 70 72 6f 76 69 64 65 64 20 79 6f 75 20 69 6e 66 6f 72 6d 20 6f 74 68 65 72 20 | ......provided.you.inform.other. |
| 4bc80 | 70 65 65 72 73 20 77 68 65 72 65 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 61 6e 64 0a | peers.where.the.object.code.and. |
| 4bca0 | 20 20 20 20 20 20 20 20 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6f | ..........Corresponding.Source.o |
| 4bcc0 | 66 20 74 68 65 20 77 6f 72 6b 20 61 72 65 20 62 65 69 6e 67 20 6f 66 66 65 72 65 64 20 74 6f 20 | f.the.work.are.being.offered.to. |
| 4bce0 | 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 67 65 6e 65 72 61 6c 20 70 75 62 6c 69 63 20 61 74 20 | the...........general.public.at. |
| 4bd00 | 6e 6f 20 63 68 61 72 67 65 20 75 6e 64 65 72 20 73 75 62 73 65 63 74 69 6f 6e 20 36 64 2e 0a 0a | no.charge.under.subsection.6d... |
| 4bd20 | 20 20 20 20 20 41 20 73 65 70 61 72 61 62 6c 65 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 | .....A.separable.portion.of.the. |
| 4bd40 | 6f 62 6a 65 63 74 20 63 6f 64 65 2c 20 77 68 6f 73 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 | object.code,.whose.source.code.i |
| 4bd60 | 73 0a 20 20 20 20 20 65 78 63 6c 75 64 65 64 20 66 72 6f 6d 20 74 68 65 20 43 6f 72 72 65 73 70 | s......excluded.from.the.Corresp |
| 4bd80 | 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 61 73 20 61 20 53 79 73 74 65 6d 20 4c 69 62 72 61 72 | onding.Source.as.a.System.Librar |
| 4bda0 | 79 2c 20 6e 65 65 64 0a 20 20 20 20 20 6e 6f 74 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 | y,.need......not.be.included.in. |
| 4bdc0 | 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 6f 72 6b 2e 0a | conveying.the.object.code.work.. |
| 4bde0 | 0a 20 20 20 20 20 41 20 e2 80 9c 55 73 65 72 20 50 72 6f 64 75 63 74 e2 80 9d 20 69 73 20 65 69 | ......A....User.Product....is.ei |
| 4be00 | 74 68 65 72 20 28 31 29 20 61 20 e2 80 9c 63 6f 6e 73 75 6d 65 72 20 70 72 6f 64 75 63 74 e2 80 | ther.(1).a....consumer.product.. |
| 4be20 | 9d 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 0a 20 20 20 20 20 61 6e 79 20 74 61 6e 67 69 62 6c 65 | .,.which.means......any.tangible |
| 4be40 | 20 70 65 72 73 6f 6e 61 6c 20 70 72 6f 70 65 72 74 79 20 77 68 69 63 68 20 69 73 20 6e 6f 72 6d | .personal.property.which.is.norm |
| 4be60 | 61 6c 6c 79 20 75 73 65 64 20 66 6f 72 20 70 65 72 73 6f 6e 61 6c 2c 0a 20 20 20 20 20 66 61 6d | ally.used.for.personal,......fam |
| 4be80 | 69 6c 79 2c 20 6f 72 20 68 6f 75 73 65 68 6f 6c 64 20 70 75 72 70 6f 73 65 73 2c 20 6f 72 20 28 | ily,.or.household.purposes,.or.( |
| 4bea0 | 32 29 20 61 6e 79 74 68 69 6e 67 20 64 65 73 69 67 6e 65 64 20 6f 72 20 73 6f 6c 64 20 66 6f 72 | 2).anything.designed.or.sold.for |
| 4bec0 | 0a 20 20 20 20 20 69 6e 63 6f 72 70 6f 72 61 74 69 6f 6e 20 69 6e 74 6f 20 61 20 64 77 65 6c 6c | ......incorporation.into.a.dwell |
| 4bee0 | 69 6e 67 2e 20 20 49 6e 20 64 65 74 65 72 6d 69 6e 69 6e 67 20 77 68 65 74 68 65 72 20 61 20 70 | ing...In.determining.whether.a.p |
| 4bf00 | 72 6f 64 75 63 74 20 69 73 0a 20 20 20 20 20 61 20 63 6f 6e 73 75 6d 65 72 20 70 72 6f 64 75 63 | roduct.is......a.consumer.produc |
| 4bf20 | 74 2c 20 64 6f 75 62 74 66 75 6c 20 63 61 73 65 73 20 73 68 61 6c 6c 20 62 65 20 72 65 73 6f 6c | t,.doubtful.cases.shall.be.resol |
| 4bf40 | 76 65 64 20 69 6e 20 66 61 76 6f 72 20 6f 66 0a 20 20 20 20 20 63 6f 76 65 72 61 67 65 2e 20 20 | ved.in.favor.of......coverage... |
| 4bf60 | 46 6f 72 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 70 72 6f 64 75 63 74 20 72 65 63 65 69 76 65 | For.a.particular.product.receive |
| 4bf80 | 64 20 62 79 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 72 2c 0a 20 20 20 20 20 e2 80 9c | d.by.a.particular.user,......... |
| 4bfa0 | 6e 6f 72 6d 61 6c 6c 79 20 75 73 65 64 e2 80 9d 20 72 65 66 65 72 73 20 74 6f 20 61 20 74 79 70 | normally.used....refers.to.a.typ |
| 4bfc0 | 69 63 61 6c 20 6f 72 20 63 6f 6d 6d 6f 6e 20 75 73 65 20 6f 66 20 74 68 61 74 20 63 6c 61 73 73 | ical.or.common.use.of.that.class |
| 4bfe0 | 20 6f 66 0a 20 20 20 20 20 70 72 6f 64 75 63 74 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 | .of......product,.regardless.of. |
| 4c000 | 74 68 65 20 73 74 61 74 75 73 20 6f 66 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 | the.status.of.the.particular.use |
| 4c020 | 72 20 6f 72 20 6f 66 20 74 68 65 0a 20 20 20 20 20 77 61 79 20 69 6e 20 77 68 69 63 68 20 74 68 | r.or.of.the......way.in.which.th |
| 4c040 | 65 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 72 20 61 63 74 75 61 6c 6c 79 20 75 73 65 73 2c | e.particular.user.actually.uses, |
| 4c060 | 20 6f 72 20 65 78 70 65 63 74 73 20 6f 72 20 69 73 0a 20 20 20 20 20 65 78 70 65 63 74 65 64 20 | .or.expects.or.is......expected. |
| 4c080 | 74 6f 20 75 73 65 2c 20 74 68 65 20 70 72 6f 64 75 63 74 2e 20 20 41 20 70 72 6f 64 75 63 74 20 | to.use,.the.product...A.product. |
| 4c0a0 | 69 73 20 61 20 63 6f 6e 73 75 6d 65 72 20 70 72 6f 64 75 63 74 0a 20 20 20 20 20 72 65 67 61 72 | is.a.consumer.product......regar |
| 4c0c0 | 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 74 68 65 20 70 72 6f 64 75 63 74 20 68 61 73 | dless.of.whether.the.product.has |
| 4c0e0 | 20 73 75 62 73 74 61 6e 74 69 61 6c 20 63 6f 6d 6d 65 72 63 69 61 6c 2c 0a 20 20 20 20 20 69 6e | .substantial.commercial,......in |
| 4c100 | 64 75 73 74 72 69 61 6c 20 6f 72 20 6e 6f 6e 2d 63 6f 6e 73 75 6d 65 72 20 75 73 65 73 2c 20 75 | dustrial.or.non-consumer.uses,.u |
| 4c120 | 6e 6c 65 73 73 20 73 75 63 68 20 75 73 65 73 20 72 65 70 72 65 73 65 6e 74 20 74 68 65 0a 20 20 | nless.such.uses.represent.the... |
| 4c140 | 20 20 20 6f 6e 6c 79 20 73 69 67 6e 69 66 69 63 61 6e 74 20 6d 6f 64 65 20 6f 66 20 75 73 65 20 | ...only.significant.mode.of.use. |
| 4c160 | 6f 66 20 74 68 65 20 70 72 6f 64 75 63 74 2e 0a 0a 20 20 20 20 20 e2 80 9c 49 6e 73 74 61 6c 6c | of.the.product...........Install |
| 4c180 | 61 74 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e e2 80 9d 20 66 6f 72 20 61 20 55 73 65 72 20 | ation.Information....for.a.User. |
| 4c1a0 | 50 72 6f 64 75 63 74 20 6d 65 61 6e 73 20 61 6e 79 20 6d 65 74 68 6f 64 73 2c 0a 20 20 20 20 20 | Product.means.any.methods,...... |
| 4c1c0 | 70 72 6f 63 65 64 75 72 65 73 2c 20 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 20 6b 65 79 73 2c 20 | procedures,.authorization.keys,. |
| 4c1e0 | 6f 72 20 6f 74 68 65 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 72 65 71 75 69 72 65 64 20 74 6f | or.other.information.required.to |
| 4c200 | 0a 20 20 20 20 20 69 6e 73 74 61 6c 6c 20 61 6e 64 20 65 78 65 63 75 74 65 20 6d 6f 64 69 66 69 | ......install.and.execute.modifi |
| 4c220 | 65 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e | ed.versions.of.a.covered.work.in |
| 4c240 | 20 74 68 61 74 0a 20 20 20 20 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 66 72 6f 6d 20 61 20 6d | .that......User.Product.from.a.m |
| 4c260 | 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 69 74 73 20 43 6f 72 72 65 73 70 6f 6e | odified.version.of.its.Correspon |
| 4c280 | 64 69 6e 67 20 53 6f 75 72 63 65 2e 0a 20 20 20 20 20 54 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f | ding.Source.......The.informatio |
| 4c2a0 | 6e 20 6d 75 73 74 20 73 75 66 66 69 63 65 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 74 68 | n.must.suffice.to.ensure.that.th |
| 4c2c0 | 65 20 63 6f 6e 74 69 6e 75 65 64 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 69 6e 67 20 6f 66 20 | e.continued......functioning.of. |
| 4c2e0 | 74 68 65 20 6d 6f 64 69 66 69 65 64 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 73 20 69 6e 20 6e | the.modified.object.code.is.in.n |
| 4c300 | 6f 20 63 61 73 65 20 70 72 65 76 65 6e 74 65 64 20 6f 72 0a 20 20 20 20 20 69 6e 74 65 72 66 65 | o.case.prevented.or......interfe |
| 4c320 | 72 65 64 20 77 69 74 68 20 73 6f 6c 65 6c 79 20 62 65 63 61 75 73 65 20 6d 6f 64 69 66 69 63 61 | red.with.solely.because.modifica |
| 4c340 | 74 69 6f 6e 20 68 61 73 20 62 65 65 6e 20 6d 61 64 65 2e 0a 0a 20 20 20 20 20 49 66 20 79 6f 75 | tion.has.been.made........If.you |
| 4c360 | 20 63 6f 6e 76 65 79 20 61 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 6f 72 6b 20 75 6e 64 65 | .convey.an.object.code.work.unde |
| 4c380 | 72 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 69 6e 2c 20 6f 72 20 77 69 74 68 2c 0a 20 20 20 20 | r.this.section.in,.or.with,..... |
| 4c3a0 | 20 6f 72 20 73 70 65 63 69 66 69 63 61 6c 6c 79 20 66 6f 72 20 75 73 65 20 69 6e 2c 20 61 20 55 | .or.specifically.for.use.in,.a.U |
| 4c3c0 | 73 65 72 20 50 72 6f 64 75 63 74 2c 20 61 6e 64 20 74 68 65 20 63 6f 6e 76 65 79 69 6e 67 0a 20 | ser.Product,.and.the.conveying.. |
| 4c3e0 | 20 20 20 20 6f 63 63 75 72 73 20 61 73 20 70 61 72 74 20 6f 66 20 61 20 74 72 61 6e 73 61 63 74 | ....occurs.as.part.of.a.transact |
| 4c400 | 69 6f 6e 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 72 69 67 68 74 20 6f 66 20 70 6f 73 73 65 73 | ion.in.which.the.right.of.posses |
| 4c420 | 73 69 6f 6e 0a 20 20 20 20 20 61 6e 64 20 75 73 65 20 6f 66 20 74 68 65 20 55 73 65 72 20 50 72 | sion......and.use.of.the.User.Pr |
| 4c440 | 6f 64 75 63 74 20 69 73 20 74 72 61 6e 73 66 65 72 72 65 64 20 74 6f 20 74 68 65 20 72 65 63 69 | oduct.is.transferred.to.the.reci |
| 4c460 | 70 69 65 6e 74 20 69 6e 0a 20 20 20 20 20 70 65 72 70 65 74 75 69 74 79 20 6f 72 20 66 6f 72 20 | pient.in......perpetuity.or.for. |
| 4c480 | 61 20 66 69 78 65 64 20 74 65 72 6d 20 28 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 68 6f 77 20 | a.fixed.term.(regardless.of.how. |
| 4c4a0 | 74 68 65 20 74 72 61 6e 73 61 63 74 69 6f 6e 0a 20 20 20 20 20 69 73 20 63 68 61 72 61 63 74 65 | the.transaction......is.characte |
| 4c4c0 | 72 69 7a 65 64 29 2c 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 | rized),.the.Corresponding.Source |
| 4c4e0 | 20 63 6f 6e 76 65 79 65 64 20 75 6e 64 65 72 20 74 68 69 73 0a 20 20 20 20 20 73 65 63 74 69 6f | .conveyed.under.this......sectio |
| 4c500 | 6e 20 6d 75 73 74 20 62 65 20 61 63 63 6f 6d 70 61 6e 69 65 64 20 62 79 20 74 68 65 20 49 6e 73 | n.must.be.accompanied.by.the.Ins |
| 4c520 | 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 20 42 75 74 0a 20 20 20 20 | tallation.Information...But..... |
| 4c540 | 20 74 68 69 73 20 72 65 71 75 69 72 65 6d 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 | .this.requirement.does.not.apply |
| 4c560 | 20 69 66 20 6e 65 69 74 68 65 72 20 79 6f 75 20 6e 6f 72 20 61 6e 79 20 74 68 69 72 64 20 70 61 | .if.neither.you.nor.any.third.pa |
| 4c580 | 72 74 79 0a 20 20 20 20 20 72 65 74 61 69 6e 73 20 74 68 65 20 61 62 69 6c 69 74 79 20 74 6f 20 | rty......retains.the.ability.to. |
| 4c5a0 | 69 6e 73 74 61 6c 6c 20 6d 6f 64 69 66 69 65 64 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 6f 6e 20 | install.modified.object.code.on. |
| 4c5c0 | 74 68 65 20 55 73 65 72 0a 20 20 20 20 20 50 72 6f 64 75 63 74 20 28 66 6f 72 20 65 78 61 6d 70 | the.User......Product.(for.examp |
| 4c5e0 | 6c 65 2c 20 74 68 65 20 77 6f 72 6b 20 68 61 73 20 62 65 65 6e 20 69 6e 73 74 61 6c 6c 65 64 20 | le,.the.work.has.been.installed. |
| 4c600 | 69 6e 20 52 4f 4d 29 2e 0a 0a 20 20 20 20 20 54 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 20 74 | in.ROM)........The.requirement.t |
| 4c620 | 6f 20 70 72 6f 76 69 64 65 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 | o.provide.Installation.Informati |
| 4c640 | 6f 6e 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 20 69 6e 63 6c 75 64 65 20 61 20 72 65 71 75 69 | on.does.not......include.a.requi |
| 4c660 | 72 65 6d 65 6e 74 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 70 72 6f 76 69 64 65 20 73 75 | rement.to.continue.to.provide.su |
| 4c680 | 70 70 6f 72 74 20 73 65 72 76 69 63 65 2c 0a 20 20 20 20 20 77 61 72 72 61 6e 74 79 2c 20 6f 72 | pport.service,......warranty,.or |
| 4c6a0 | 20 75 70 64 61 74 65 73 20 66 6f 72 20 61 20 77 6f 72 6b 20 74 68 61 74 20 68 61 73 20 62 65 65 | .updates.for.a.work.that.has.bee |
| 4c6c0 | 6e 20 6d 6f 64 69 66 69 65 64 20 6f 72 20 69 6e 73 74 61 6c 6c 65 64 0a 20 20 20 20 20 62 79 20 | n.modified.or.installed......by. |
| 4c6e0 | 74 68 65 20 72 65 63 69 70 69 65 6e 74 2c 20 6f 72 20 66 6f 72 20 74 68 65 20 55 73 65 72 20 50 | the.recipient,.or.for.the.User.P |
| 4c700 | 72 6f 64 75 63 74 20 69 6e 20 77 68 69 63 68 20 69 74 20 68 61 73 20 62 65 65 6e 0a 20 20 20 20 | roduct.in.which.it.has.been..... |
| 4c720 | 20 6d 6f 64 69 66 69 65 64 20 6f 72 20 69 6e 73 74 61 6c 6c 65 64 2e 20 20 41 63 63 65 73 73 20 | .modified.or.installed...Access. |
| 4c740 | 74 6f 20 61 20 6e 65 74 77 6f 72 6b 20 6d 61 79 20 62 65 20 64 65 6e 69 65 64 20 77 68 65 6e 20 | to.a.network.may.be.denied.when. |
| 4c760 | 74 68 65 0a 20 20 20 20 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 69 74 73 65 6c 66 20 6d 61 74 | the......modification.itself.mat |
| 4c780 | 65 72 69 61 6c 6c 79 20 61 6e 64 20 61 64 76 65 72 73 65 6c 79 20 61 66 66 65 63 74 73 20 74 68 | erially.and.adversely.affects.th |
| 4c7a0 | 65 20 6f 70 65 72 61 74 69 6f 6e 0a 20 20 20 20 20 6f 66 20 74 68 65 20 6e 65 74 77 6f 72 6b 20 | e.operation......of.the.network. |
| 4c7c0 | 6f 72 20 76 69 6f 6c 61 74 65 73 20 74 68 65 20 72 75 6c 65 73 20 61 6e 64 20 70 72 6f 74 6f 63 | or.violates.the.rules.and.protoc |
| 4c7e0 | 6f 6c 73 20 66 6f 72 0a 20 20 20 20 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 61 63 72 6f 73 | ols.for......communication.acros |
| 4c800 | 73 20 74 68 65 20 6e 65 74 77 6f 72 6b 2e 0a 0a 20 20 20 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 | s.the.network........Correspondi |
| 4c820 | 6e 67 20 53 6f 75 72 63 65 20 63 6f 6e 76 65 79 65 64 2c 20 61 6e 64 20 49 6e 73 74 61 6c 6c 61 | ng.Source.conveyed,.and.Installa |
| 4c840 | 74 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 0a 20 20 20 20 20 70 72 6f 76 69 64 65 64 2c 20 | tion.Information......provided,. |
| 4c860 | 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 6d 75 73 74 | in.accord.with.this.section.must |
| 4c880 | 20 62 65 20 69 6e 20 61 20 66 6f 72 6d 61 74 20 74 68 61 74 20 69 73 0a 20 20 20 20 20 70 75 62 | .be.in.a.format.that.is......pub |
| 4c8a0 | 6c 69 63 6c 79 20 64 6f 63 75 6d 65 6e 74 65 64 20 28 61 6e 64 20 77 69 74 68 20 61 6e 20 69 6d | licly.documented.(and.with.an.im |
| 4c8c0 | 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 0a 20 20 | plementation.available.to.the... |
| 4c8e0 | 20 20 20 70 75 62 6c 69 63 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 29 2c 20 | ...public.in.source.code.form),. |
| 4c900 | 61 6e 64 20 6d 75 73 74 20 72 65 71 75 69 72 65 20 6e 6f 20 73 70 65 63 69 61 6c 20 70 61 73 73 | and.must.require.no.special.pass |
| 4c920 | 77 6f 72 64 0a 20 20 20 20 20 6f 72 20 6b 65 79 20 66 6f 72 20 75 6e 70 61 63 6b 69 6e 67 2c 20 | word......or.key.for.unpacking,. |
| 4c940 | 72 65 61 64 69 6e 67 20 6f 72 20 63 6f 70 79 69 6e 67 2e 0a 0a 20 20 37 2e 20 41 64 64 69 74 69 | reading.or.copying.....7..Additi |
| 4c960 | 6f 6e 61 6c 20 54 65 72 6d 73 2e 0a 0a 20 20 20 20 20 e2 80 9c 41 64 64 69 74 69 6f 6e 61 6c 20 | onal.Terms...........Additional. |
| 4c980 | 70 65 72 6d 69 73 73 69 6f 6e 73 e2 80 9d 20 61 72 65 20 74 65 72 6d 73 20 74 68 61 74 20 73 75 | permissions....are.terms.that.su |
| 4c9a0 | 70 70 6c 65 6d 65 6e 74 20 74 68 65 20 74 65 72 6d 73 20 6f 66 0a 20 20 20 20 20 74 68 69 73 20 | pplement.the.terms.of......this. |
| 4c9c0 | 4c 69 63 65 6e 73 65 20 62 79 20 6d 61 6b 69 6e 67 20 65 78 63 65 70 74 69 6f 6e 73 20 66 72 6f | License.by.making.exceptions.fro |
| 4c9e0 | 6d 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 66 20 69 74 73 0a 20 20 20 20 20 63 6f 6e 64 69 74 | m.one.or.more.of.its......condit |
| 4ca00 | 69 6f 6e 73 2e 20 20 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 74 68 | ions...Additional.permissions.th |
| 4ca20 | 61 74 20 61 72 65 20 61 70 70 6c 69 63 61 62 6c 65 20 74 6f 20 74 68 65 0a 20 20 20 20 20 65 6e | at.are.applicable.to.the......en |
| 4ca40 | 74 69 72 65 20 50 72 6f 67 72 61 6d 20 73 68 61 6c 6c 20 62 65 20 74 72 65 61 74 65 64 20 61 73 | tire.Program.shall.be.treated.as |
| 4ca60 | 20 74 68 6f 75 67 68 20 74 68 65 79 20 77 65 72 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 0a 20 20 | .though.they.were.included.in... |
| 4ca80 | 20 20 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 74 | ...this.License,.to.the.extent.t |
| 4caa0 | 68 61 74 20 74 68 65 79 20 61 72 65 20 76 61 6c 69 64 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 | hat.they.are.valid.under.applica |
| 4cac0 | 62 6c 65 0a 20 20 20 20 20 6c 61 77 2e 20 20 49 66 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 | ble......law...If.additional.per |
| 4cae0 | 6d 69 73 73 69 6f 6e 73 20 61 70 70 6c 79 20 6f 6e 6c 79 20 74 6f 20 70 61 72 74 20 6f 66 20 74 | missions.apply.only.to.part.of.t |
| 4cb00 | 68 65 20 50 72 6f 67 72 61 6d 2c 0a 20 20 20 20 20 74 68 61 74 20 70 61 72 74 20 6d 61 79 20 62 | he.Program,......that.part.may.b |
| 4cb20 | 65 20 75 73 65 64 20 73 65 70 61 72 61 74 65 6c 79 20 75 6e 64 65 72 20 74 68 6f 73 65 20 70 65 | e.used.separately.under.those.pe |
| 4cb40 | 72 6d 69 73 73 69 6f 6e 73 2c 20 62 75 74 20 74 68 65 0a 20 20 20 20 20 65 6e 74 69 72 65 20 50 | rmissions,.but.the......entire.P |
| 4cb60 | 72 6f 67 72 61 6d 20 72 65 6d 61 69 6e 73 20 67 6f 76 65 72 6e 65 64 20 62 79 20 74 68 69 73 20 | rogram.remains.governed.by.this. |
| 4cb80 | 4c 69 63 65 6e 73 65 20 77 69 74 68 6f 75 74 20 72 65 67 61 72 64 20 74 6f 0a 20 20 20 20 20 74 | License.without.regard.to......t |
| 4cba0 | 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 2e 0a 0a 20 20 20 20 | he.additional.permissions....... |
| 4cbc0 | 20 57 68 65 6e 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 20 63 6f 70 79 20 6f 66 20 61 20 63 6f 76 | .When.you.convey.a.copy.of.a.cov |
| 4cbe0 | 65 72 65 64 20 77 6f 72 6b 2c 20 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f | ered.work,.you.may.at.your.optio |
| 4cc00 | 6e 0a 20 20 20 20 20 72 65 6d 6f 76 65 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 | n......remove.any.additional.per |
| 4cc20 | 6d 69 73 73 69 6f 6e 73 20 66 72 6f 6d 20 74 68 61 74 20 63 6f 70 79 2c 20 6f 72 20 66 72 6f 6d | missions.from.that.copy,.or.from |
| 4cc40 | 20 61 6e 79 20 70 61 72 74 0a 20 20 20 20 20 6f 66 20 69 74 2e 20 20 28 41 64 64 69 74 69 6f 6e | .any.part......of.it...(Addition |
| 4cc60 | 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 6d 61 79 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f | al.permissions.may.be.written.to |
| 4cc80 | 20 72 65 71 75 69 72 65 20 74 68 65 69 72 20 6f 77 6e 0a 20 20 20 20 20 72 65 6d 6f 76 61 6c 20 | .require.their.own......removal. |
| 4cca0 | 69 6e 20 63 65 72 74 61 69 6e 20 63 61 73 65 73 20 77 68 65 6e 20 79 6f 75 20 6d 6f 64 69 66 79 | in.certain.cases.when.you.modify |
| 4ccc0 | 20 74 68 65 20 77 6f 72 6b 2e 29 20 20 59 6f 75 20 6d 61 79 20 70 6c 61 63 65 0a 20 20 20 20 20 | .the.work.)..You.may.place...... |
| 4cce0 | 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 6f 6e 20 6d 61 74 65 72 69 | additional.permissions.on.materi |
| 4cd00 | 61 6c 2c 20 61 64 64 65 64 20 62 79 20 79 6f 75 20 74 6f 20 61 20 63 6f 76 65 72 65 64 20 77 6f | al,.added.by.you.to.a.covered.wo |
| 4cd20 | 72 6b 2c 0a 20 20 20 20 20 66 6f 72 20 77 68 69 63 68 20 79 6f 75 20 68 61 76 65 20 6f 72 20 63 | rk,......for.which.you.have.or.c |
| 4cd40 | 61 6e 20 67 69 76 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 70 65 | an.give.appropriate.copyright.pe |
| 4cd60 | 72 6d 69 73 73 69 6f 6e 2e 0a 0a 20 20 20 20 20 4e 6f 74 77 69 74 68 73 74 61 6e 64 69 6e 67 20 | rmission........Notwithstanding. |
| 4cd80 | 61 6e 79 20 6f 74 68 65 72 20 70 72 6f 76 69 73 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 | any.other.provision.of.this.Lice |
| 4cda0 | 6e 73 65 2c 20 66 6f 72 20 6d 61 74 65 72 69 61 6c 0a 20 20 20 20 20 79 6f 75 20 61 64 64 20 74 | nse,.for.material......you.add.t |
| 4cdc0 | 6f 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 79 6f 75 20 6d 61 79 20 28 69 66 20 61 75 | o.a.covered.work,.you.may.(if.au |
| 4cde0 | 74 68 6f 72 69 7a 65 64 20 62 79 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 0a 20 20 20 20 20 68 | thorized.by.the.copyright......h |
| 4ce00 | 6f 6c 64 65 72 73 20 6f 66 20 74 68 61 74 20 6d 61 74 65 72 69 61 6c 29 20 73 75 70 70 6c 65 6d | olders.of.that.material).supplem |
| 4ce20 | 65 6e 74 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 | ent.the.terms.of.this.License.wi |
| 4ce40 | 74 68 0a 20 20 20 20 20 74 65 72 6d 73 3a 0a 0a 20 20 20 20 20 20 20 61 2e 20 44 69 73 63 6c 61 | th......terms:.........a..Discla |
| 4ce60 | 69 6d 69 6e 67 20 77 61 72 72 61 6e 74 79 20 6f 72 20 6c 69 6d 69 74 69 6e 67 20 6c 69 61 62 69 | iming.warranty.or.limiting.liabi |
| 4ce80 | 6c 69 74 79 20 64 69 66 66 65 72 65 6e 74 6c 79 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 20 | lity.differently.from........... |
| 4cea0 | 74 68 65 20 74 65 72 6d 73 20 6f 66 20 73 65 63 74 69 6f 6e 73 20 31 35 20 61 6e 64 20 31 36 20 | the.terms.of.sections.15.and.16. |
| 4cec0 | 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 3b 20 6f 72 0a 0a 20 20 20 20 20 20 20 62 2e 20 52 | of.this.License;.or.........b..R |
| 4cee0 | 65 71 75 69 72 69 6e 67 20 70 72 65 73 65 72 76 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 66 69 | equiring.preservation.of.specifi |
| 4cf00 | 65 64 20 72 65 61 73 6f 6e 61 62 6c 65 20 6c 65 67 61 6c 20 6e 6f 74 69 63 65 73 0a 20 20 20 20 | ed.reasonable.legal.notices..... |
| 4cf20 | 20 20 20 20 20 20 6f 72 20 61 75 74 68 6f 72 20 61 74 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 | ......or.author.attributions.in. |
| 4cf40 | 74 68 61 74 20 6d 61 74 65 72 69 61 6c 20 6f 72 20 69 6e 20 74 68 65 20 41 70 70 72 6f 70 72 69 | that.material.or.in.the.Appropri |
| 4cf60 | 61 74 65 0a 20 20 20 20 20 20 20 20 20 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 20 64 69 73 70 | ate...........Legal.Notices.disp |
| 4cf80 | 6c 61 79 65 64 20 62 79 20 77 6f 72 6b 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 69 74 3b 20 6f 72 | layed.by.works.containing.it;.or |
| 4cfa0 | 0a 0a 20 20 20 20 20 20 20 63 2e 20 50 72 6f 68 69 62 69 74 69 6e 67 20 6d 69 73 72 65 70 72 65 | .........c..Prohibiting.misrepre |
| 4cfc0 | 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 20 6f 66 20 74 68 61 74 20 | sentation.of.the.origin.of.that. |
| 4cfe0 | 6d 61 74 65 72 69 61 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 6f 72 20 72 65 71 75 69 72 69 6e 67 | material,...........or.requiring |
| 4d000 | 20 74 68 61 74 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 73 75 63 68 20 | .that.modified.versions.of.such. |
| 4d020 | 6d 61 74 65 72 69 61 6c 20 62 65 20 6d 61 72 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 69 6e 20 | material.be.marked...........in. |
| 4d040 | 72 65 61 73 6f 6e 61 62 6c 65 20 77 61 79 73 20 61 73 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f | reasonable.ways.as.different.fro |
| 4d060 | 6d 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 3b 20 6f 72 0a 0a 20 20 20 20 | m.the.original.version;.or...... |
| 4d080 | 20 20 20 64 2e 20 4c 69 6d 69 74 69 6e 67 20 74 68 65 20 75 73 65 20 66 6f 72 20 70 75 62 6c 69 | ...d..Limiting.the.use.for.publi |
| 4d0a0 | 63 69 74 79 20 70 75 72 70 6f 73 65 73 20 6f 66 20 6e 61 6d 65 73 20 6f 66 20 6c 69 63 65 6e 73 | city.purposes.of.names.of.licens |
| 4d0c0 | 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 6f 72 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 20 | ors...........or.authors.of.the. |
| 4d0e0 | 6d 61 74 65 72 69 61 6c 3b 20 6f 72 0a 0a 20 20 20 20 20 20 20 65 2e 20 44 65 63 6c 69 6e 69 6e | material;.or.........e..Declinin |
| 4d100 | 67 20 74 6f 20 67 72 61 6e 74 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 72 61 64 65 6d 61 72 | g.to.grant.rights.under.trademar |
| 4d120 | 6b 20 6c 61 77 20 66 6f 72 20 75 73 65 20 6f 66 20 73 6f 6d 65 0a 20 20 20 20 20 20 20 20 20 20 | k.law.for.use.of.some........... |
| 4d140 | 74 72 61 64 65 20 6e 61 6d 65 73 2c 20 74 72 61 64 65 6d 61 72 6b 73 2c 20 6f 72 20 73 65 72 76 | trade.names,.trademarks,.or.serv |
| 4d160 | 69 63 65 20 6d 61 72 6b 73 3b 20 6f 72 0a 0a 20 20 20 20 20 20 20 66 2e 20 52 65 71 75 69 72 69 | ice.marks;.or.........f..Requiri |
| 4d180 | 6e 67 20 69 6e 64 65 6d 6e 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 6c 69 63 65 6e 73 6f 72 73 20 | ng.indemnification.of.licensors. |
| 4d1a0 | 61 6e 64 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 20 6d 61 | and.authors.of.that...........ma |
| 4d1c0 | 74 65 72 69 61 6c 20 62 79 20 61 6e 79 6f 6e 65 20 77 68 6f 20 63 6f 6e 76 65 79 73 20 74 68 65 | terial.by.anyone.who.conveys.the |
| 4d1e0 | 20 6d 61 74 65 72 69 61 6c 20 28 6f 72 20 6d 6f 64 69 66 69 65 64 0a 20 20 20 20 20 20 20 20 20 | .material.(or.modified.......... |
| 4d200 | 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 69 74 29 20 77 69 74 68 20 63 6f 6e 74 72 61 63 74 75 61 | .versions.of.it).with.contractua |
| 4d220 | 6c 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 6f 66 20 6c 69 61 62 69 6c 69 74 79 20 74 6f 0a 20 20 | l.assumptions.of.liability.to... |
| 4d240 | 20 20 20 20 20 20 20 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 2c 20 66 6f 72 20 61 6e 79 20 6c | ........the.recipient,.for.any.l |
| 4d260 | 69 61 62 69 6c 69 74 79 20 74 68 61 74 20 74 68 65 73 65 20 63 6f 6e 74 72 61 63 74 75 61 6c 0a | iability.that.these.contractual. |
| 4d280 | 20 20 20 20 20 20 20 20 20 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 64 69 72 65 63 74 6c 79 20 69 | ..........assumptions.directly.i |
| 4d2a0 | 6d 70 6f 73 65 20 6f 6e 20 74 68 6f 73 65 20 6c 69 63 65 6e 73 6f 72 73 20 61 6e 64 20 61 75 74 | mpose.on.those.licensors.and.aut |
| 4d2c0 | 68 6f 72 73 2e 0a 0a 20 20 20 20 20 41 6c 6c 20 6f 74 68 65 72 20 6e 6f 6e 2d 70 65 72 6d 69 73 | hors........All.other.non-permis |
| 4d2e0 | 73 69 76 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 20 61 72 65 20 63 6f 6e 73 69 64 | sive.additional.terms.are.consid |
| 4d300 | 65 72 65 64 20 e2 80 9c 66 75 72 74 68 65 72 0a 20 20 20 20 20 72 65 73 74 72 69 63 74 69 6f 6e | ered....further......restriction |
| 4d320 | 73 e2 80 9d 20 77 69 74 68 69 6e 20 74 68 65 20 6d 65 61 6e 69 6e 67 20 6f 66 20 73 65 63 74 69 | s....within.the.meaning.of.secti |
| 4d340 | 6f 6e 20 31 30 2e 20 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 61 73 0a 20 20 20 20 20 79 | on.10...If.the.Program.as......y |
| 4d360 | 6f 75 20 72 65 63 65 69 76 65 64 20 69 74 2c 20 6f 72 20 61 6e 79 20 70 61 72 74 20 6f 66 20 69 | ou.received.it,.or.any.part.of.i |
| 4d380 | 74 2c 20 63 6f 6e 74 61 69 6e 73 20 61 20 6e 6f 74 69 63 65 20 73 74 61 74 69 6e 67 20 74 68 61 | t,.contains.a.notice.stating.tha |
| 4d3a0 | 74 0a 20 20 20 20 20 69 74 20 69 73 20 67 6f 76 65 72 6e 65 64 20 62 79 20 74 68 69 73 20 4c 69 | t......it.is.governed.by.this.Li |
| 4d3c0 | 63 65 6e 73 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 61 20 74 65 72 6d 20 74 68 61 74 20 69 73 20 | cense.along.with.a.term.that.is. |
| 4d3e0 | 61 20 66 75 72 74 68 65 72 0a 20 20 20 20 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 79 6f 75 20 | a.further......restriction,.you. |
| 4d400 | 6d 61 79 20 72 65 6d 6f 76 65 20 74 68 61 74 20 74 65 72 6d 2e 20 20 49 66 20 61 20 6c 69 63 65 | may.remove.that.term...If.a.lice |
| 4d420 | 6e 73 65 20 64 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 63 6f 6e 74 61 69 6e 73 20 61 20 66 75 72 | nse.document......contains.a.fur |
| 4d440 | 74 68 65 72 20 72 65 73 74 72 69 63 74 69 6f 6e 20 62 75 74 20 70 65 72 6d 69 74 73 20 72 65 6c | ther.restriction.but.permits.rel |
| 4d460 | 69 63 65 6e 73 69 6e 67 20 6f 72 20 63 6f 6e 76 65 79 69 6e 67 0a 20 20 20 20 20 75 6e 64 65 72 | icensing.or.conveying......under |
| 4d480 | 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 6d 61 79 20 61 64 64 20 74 6f 20 61 20 | .this.License,.you.may.add.to.a. |
| 4d4a0 | 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 6d 61 74 65 72 69 61 6c 20 67 6f 76 65 72 6e 65 64 0a 20 | covered.work.material.governed.. |
| 4d4c0 | 20 20 20 20 62 79 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 61 74 20 6c 69 63 65 6e 73 65 | ....by.the.terms.of.that.license |
| 4d4e0 | 20 64 6f 63 75 6d 65 6e 74 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 74 68 65 20 66 75 72 | .document,.provided.that.the.fur |
| 4d500 | 74 68 65 72 0a 20 20 20 20 20 72 65 73 74 72 69 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 73 | ther......restriction.does.not.s |
| 4d520 | 75 72 76 69 76 65 20 73 75 63 68 20 72 65 6c 69 63 65 6e 73 69 6e 67 20 6f 72 20 63 6f 6e 76 65 | urvive.such.relicensing.or.conve |
| 4d540 | 79 69 6e 67 2e 0a 0a 20 20 20 20 20 49 66 20 79 6f 75 20 61 64 64 20 74 65 72 6d 73 20 74 6f 20 | ying........If.you.add.terms.to. |
| 4d560 | 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 74 68 | a.covered.work.in.accord.with.th |
| 4d580 | 69 73 20 73 65 63 74 69 6f 6e 2c 20 79 6f 75 0a 20 20 20 20 20 6d 75 73 74 20 70 6c 61 63 65 2c | is.section,.you......must.place, |
| 4d5a0 | 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2c 20 61 | .in.the.relevant.source.files,.a |
| 4d5c0 | 20 73 74 61 74 65 6d 65 6e 74 20 6f 66 20 74 68 65 0a 20 20 20 20 20 61 64 64 69 74 69 6f 6e 61 | .statement.of.the......additiona |
| 4d5e0 | 6c 20 74 65 72 6d 73 20 74 68 61 74 20 61 70 70 6c 79 20 74 6f 20 74 68 6f 73 65 20 66 69 6c 65 | l.terms.that.apply.to.those.file |
| 4d600 | 73 2c 20 6f 72 20 61 20 6e 6f 74 69 63 65 20 69 6e 64 69 63 61 74 69 6e 67 0a 20 20 20 20 20 77 | s,.or.a.notice.indicating......w |
| 4d620 | 68 65 72 65 20 74 6f 20 66 69 6e 64 20 74 68 65 20 61 70 70 6c 69 63 61 62 6c 65 20 74 65 72 6d | here.to.find.the.applicable.term |
| 4d640 | 73 2e 0a 0a 20 20 20 20 20 41 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 20 70 65 72 6d 69 | s........Additional.terms,.permi |
| 4d660 | 73 73 69 76 65 20 6f 72 20 6e 6f 6e 2d 70 65 72 6d 69 73 73 69 76 65 2c 20 6d 61 79 20 62 65 20 | ssive.or.non-permissive,.may.be. |
| 4d680 | 73 74 61 74 65 64 20 69 6e 0a 20 20 20 20 20 74 68 65 20 66 6f 72 6d 20 6f 66 20 61 20 73 65 70 | stated.in......the.form.of.a.sep |
| 4d6a0 | 61 72 61 74 65 6c 79 20 77 72 69 74 74 65 6e 20 6c 69 63 65 6e 73 65 2c 20 6f 72 20 73 74 61 74 | arately.written.license,.or.stat |
| 4d6c0 | 65 64 20 61 73 20 65 78 63 65 70 74 69 6f 6e 73 3b 0a 20 20 20 20 20 74 68 65 20 61 62 6f 76 65 | ed.as.exceptions;......the.above |
| 4d6e0 | 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 61 70 70 6c 79 20 65 69 74 68 65 72 20 77 61 79 2e 0a | .requirements.apply.either.way.. |
| 4d700 | 0a 20 20 38 2e 20 54 65 72 6d 69 6e 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 | ...8..Termination........You.may |
| 4d720 | 20 6e 6f 74 20 70 72 6f 70 61 67 61 74 65 20 6f 72 20 6d 6f 64 69 66 79 20 61 20 63 6f 76 65 72 | .not.propagate.or.modify.a.cover |
| 4d740 | 65 64 20 77 6f 72 6b 20 65 78 63 65 70 74 20 61 73 20 65 78 70 72 65 73 73 6c 79 0a 20 20 20 20 | ed.work.except.as.expressly..... |
| 4d760 | 20 70 72 6f 76 69 64 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 41 | .provided.under.this.License...A |
| 4d780 | 6e 79 20 61 74 74 65 6d 70 74 20 6f 74 68 65 72 77 69 73 65 20 74 6f 20 70 72 6f 70 61 67 61 74 | ny.attempt.otherwise.to.propagat |
| 4d7a0 | 65 20 6f 72 0a 20 20 20 20 20 6d 6f 64 69 66 79 20 69 74 20 69 73 20 76 6f 69 64 2c 20 61 6e 64 | e.or......modify.it.is.void,.and |
| 4d7c0 | 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 20 79 6f | .will.automatically.terminate.yo |
| 4d7e0 | 75 72 20 72 69 67 68 74 73 0a 20 20 20 20 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 | ur.rights......under.this.Licens |
| 4d800 | 65 20 28 69 6e 63 6c 75 64 69 6e 67 20 61 6e 79 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 73 | e.(including.any.patent.licenses |
| 4d820 | 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 65 0a 20 20 20 20 20 74 68 69 72 64 20 70 61 | .granted.under.the......third.pa |
| 4d840 | 72 61 67 72 61 70 68 20 6f 66 20 73 65 63 74 69 6f 6e 20 31 31 29 2e 0a 0a 20 20 20 20 20 48 6f | ragraph.of.section.11)........Ho |
| 4d860 | 77 65 76 65 72 2c 20 69 66 20 79 6f 75 20 63 65 61 73 65 20 61 6c 6c 20 76 69 6f 6c 61 74 69 6f | wever,.if.you.cease.all.violatio |
| 4d880 | 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 6e 20 79 6f 75 72 0a 20 20 20 | n.of.this.License,.then.your.... |
| 4d8a0 | 20 20 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 | ..license.from.a.particular.copy |
| 4d8c0 | 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 20 72 65 69 6e 73 74 61 74 65 64 20 28 61 29 0a 20 | right.holder.is.reinstated.(a).. |
| 4d8e0 | 20 20 20 20 70 72 6f 76 69 73 69 6f 6e 61 6c 6c 79 2c 20 75 6e 6c 65 73 73 20 61 6e 64 20 75 6e | ....provisionally,.unless.and.un |
| 4d900 | 74 69 6c 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 65 78 70 6c 69 63 69 | til.the.copyright.holder.explici |
| 4d920 | 74 6c 79 20 61 6e 64 0a 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 73 20 | tly.and......finally.terminates. |
| 4d940 | 79 6f 75 72 20 6c 69 63 65 6e 73 65 2c 20 61 6e 64 20 28 62 29 20 70 65 72 6d 61 6e 65 6e 74 6c | your.license,.and.(b).permanentl |
| 4d960 | 79 2c 20 69 66 20 74 68 65 0a 20 20 20 20 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 | y,.if.the......copyright.holder. |
| 4d980 | 66 61 69 6c 73 20 74 6f 20 6e 6f 74 69 66 79 20 79 6f 75 20 6f 66 20 74 68 65 20 76 69 6f 6c 61 | fails.to.notify.you.of.the.viola |
| 4d9a0 | 74 69 6f 6e 20 62 79 20 73 6f 6d 65 0a 20 20 20 20 20 72 65 61 73 6f 6e 61 62 6c 65 20 6d 65 61 | tion.by.some......reasonable.mea |
| 4d9c0 | 6e 73 20 70 72 69 6f 72 20 74 6f 20 36 30 20 64 61 79 73 20 61 66 74 65 72 20 74 68 65 20 63 65 | ns.prior.to.60.days.after.the.ce |
| 4d9e0 | 73 73 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 4d 6f 72 65 6f 76 65 72 2c 20 79 6f 75 72 20 6c 69 | ssation........Moreover,.your.li |
| 4da00 | 63 65 6e 73 65 20 66 72 6f 6d 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 | cense.from.a.particular.copyrigh |
| 4da20 | 74 20 68 6f 6c 64 65 72 20 69 73 0a 20 20 20 20 20 72 65 69 6e 73 74 61 74 65 64 20 70 65 72 6d | t.holder.is......reinstated.perm |
| 4da40 | 61 6e 65 6e 74 6c 79 20 69 66 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 | anently.if.the.copyright.holder. |
| 4da60 | 6e 6f 74 69 66 69 65 73 20 79 6f 75 20 6f 66 20 74 68 65 0a 20 20 20 20 20 76 69 6f 6c 61 74 69 | notifies.you.of.the......violati |
| 4da80 | 6f 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 20 6d 65 61 6e 73 2c 20 74 68 69 | on.by.some.reasonable.means,.thi |
| 4daa0 | 73 20 69 73 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 79 6f 75 20 68 61 76 65 0a 20 20 20 | s.is.the.first.time.you.have.... |
| 4dac0 | 20 20 72 65 63 65 69 76 65 64 20 6e 6f 74 69 63 65 20 6f 66 20 76 69 6f 6c 61 74 69 6f 6e 20 6f | ..received.notice.of.violation.o |
| 4dae0 | 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 28 66 6f 72 20 61 6e 79 20 77 6f 72 6b 29 20 66 72 | f.this.License.(for.any.work).fr |
| 4db00 | 6f 6d 0a 20 20 20 20 20 74 68 61 74 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 2c 20 61 | om......that.copyright.holder,.a |
| 4db20 | 6e 64 20 79 6f 75 20 63 75 72 65 20 74 68 65 20 76 69 6f 6c 61 74 69 6f 6e 20 70 72 69 6f 72 20 | nd.you.cure.the.violation.prior. |
| 4db40 | 74 6f 20 33 30 20 64 61 79 73 0a 20 20 20 20 20 61 66 74 65 72 20 79 6f 75 72 20 72 65 63 65 69 | to.30.days......after.your.recei |
| 4db60 | 70 74 20 6f 66 20 74 68 65 20 6e 6f 74 69 63 65 2e 0a 0a 20 20 20 20 20 54 65 72 6d 69 6e 61 74 | pt.of.the.notice........Terminat |
| 4db80 | 69 6f 6e 20 6f 66 20 79 6f 75 72 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 | ion.of.your.rights.under.this.se |
| 4dba0 | 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 74 65 72 6d 69 6e 61 74 65 0a 20 20 20 20 20 74 68 | ction.does.not.terminate......th |
| 4dbc0 | 65 20 6c 69 63 65 6e 73 65 73 20 6f 66 20 70 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 | e.licenses.of.parties.who.have.r |
| 4dbe0 | 65 63 65 69 76 65 64 20 63 6f 70 69 65 73 20 6f 72 20 72 69 67 68 74 73 20 66 72 6f 6d 20 79 6f | eceived.copies.or.rights.from.yo |
| 4dc00 | 75 0a 20 20 20 20 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 | u......under.this.License...If.y |
| 4dc20 | 6f 75 72 20 72 69 67 68 74 73 20 68 61 76 65 20 62 65 65 6e 20 74 65 72 6d 69 6e 61 74 65 64 20 | our.rights.have.been.terminated. |
| 4dc40 | 61 6e 64 20 6e 6f 74 0a 20 20 20 20 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 72 65 69 6e 73 74 61 | and.not......permanently.reinsta |
| 4dc60 | 74 65 64 2c 20 79 6f 75 20 64 6f 20 6e 6f 74 20 71 75 61 6c 69 66 79 20 74 6f 20 72 65 63 65 69 | ted,.you.do.not.qualify.to.recei |
| 4dc80 | 76 65 20 6e 65 77 20 6c 69 63 65 6e 73 65 73 0a 20 20 20 20 20 66 6f 72 20 74 68 65 20 73 61 6d | ve.new.licenses......for.the.sam |
| 4dca0 | 65 20 6d 61 74 65 72 69 61 6c 20 75 6e 64 65 72 20 73 65 63 74 69 6f 6e 20 31 30 2e 0a 0a 20 20 | e.material.under.section.10..... |
| 4dcc0 | 39 2e 20 41 63 63 65 70 74 61 6e 63 65 20 4e 6f 74 20 52 65 71 75 69 72 65 64 20 66 6f 72 20 48 | 9..Acceptance.Not.Required.for.H |
| 4dce0 | 61 76 69 6e 67 20 43 6f 70 69 65 73 2e 0a 0a 20 20 20 20 20 59 6f 75 20 61 72 65 20 6e 6f 74 20 | aving.Copies........You.are.not. |
| 4dd00 | 72 65 71 75 69 72 65 64 20 74 6f 20 61 63 63 65 70 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 | required.to.accept.this.License. |
| 4dd20 | 69 6e 20 6f 72 64 65 72 20 74 6f 20 72 65 63 65 69 76 65 20 6f 72 0a 20 20 20 20 20 72 75 6e 20 | in.order.to.receive.or......run. |
| 4dd40 | 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 20 20 41 6e 63 69 6c 6c 61 72 | a.copy.of.the.Program...Ancillar |
| 4dd60 | 79 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a | y.propagation.of.a.covered.work. |
| 4dd80 | 20 20 20 20 20 6f 63 63 75 72 72 69 6e 67 20 73 6f 6c 65 6c 79 20 61 73 20 61 20 63 6f 6e 73 65 | .....occurring.solely.as.a.conse |
| 4dda0 | 71 75 65 6e 63 65 20 6f 66 20 75 73 69 6e 67 20 70 65 65 72 2d 74 6f 2d 70 65 65 72 0a 20 20 20 | quence.of.using.peer-to-peer.... |
| 4ddc0 | 20 20 74 72 61 6e 73 6d 69 73 73 69 6f 6e 20 74 6f 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 | ..transmission.to.receive.a.copy |
| 4dde0 | 20 6c 69 6b 65 77 69 73 65 20 64 6f 65 73 20 6e 6f 74 20 72 65 71 75 69 72 65 0a 20 20 20 20 20 | .likewise.does.not.require...... |
| 4de00 | 61 63 63 65 70 74 61 6e 63 65 2e 20 20 48 6f 77 65 76 65 72 2c 20 6e 6f 74 68 69 6e 67 20 6f 74 | acceptance...However,.nothing.ot |
| 4de20 | 68 65 72 20 74 68 61 6e 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 67 72 61 6e 74 73 20 79 6f 75 | her.than.this.License.grants.you |
| 4de40 | 0a 20 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 70 72 6f 70 61 67 61 74 65 20 6f 72 | ......permission.to.propagate.or |
| 4de60 | 20 6d 6f 64 69 66 79 20 61 6e 79 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2e 20 20 54 68 65 73 65 | .modify.any.covered.work...These |
| 4de80 | 20 61 63 74 69 6f 6e 73 0a 20 20 20 20 20 69 6e 66 72 69 6e 67 65 20 63 6f 70 79 72 69 67 68 74 | .actions......infringe.copyright |
| 4dea0 | 20 69 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 61 63 63 65 70 74 20 74 68 69 73 20 4c 69 63 65 6e | .if.you.do.not.accept.this.Licen |
| 4dec0 | 73 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 0a 20 20 20 20 20 62 79 20 6d 6f 64 69 66 79 69 6e | se...Therefore,......by.modifyin |
| 4dee0 | 67 20 6f 72 20 70 72 6f 70 61 67 61 74 69 6e 67 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c | g.or.propagating.a.covered.work, |
| 4df00 | 20 79 6f 75 20 69 6e 64 69 63 61 74 65 20 79 6f 75 72 0a 20 20 20 20 20 61 63 63 65 70 74 61 6e | .you.indicate.your......acceptan |
| 4df20 | 63 65 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 20 64 6f 20 73 6f 2e 0a 0a 20 20 | ce.of.this.License.to.do.so..... |
| 4df40 | 31 30 2e 20 41 75 74 6f 6d 61 74 69 63 20 4c 69 63 65 6e 73 69 6e 67 20 6f 66 20 44 6f 77 6e 73 | 10..Automatic.Licensing.of.Downs |
| 4df60 | 74 72 65 61 6d 20 52 65 63 69 70 69 65 6e 74 73 2e 0a 0a 20 20 20 20 20 45 61 63 68 20 74 69 6d | tream.Recipients........Each.tim |
| 4df80 | 65 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 74 68 65 | e.you.convey.a.covered.work,.the |
| 4dfa0 | 20 72 65 63 69 70 69 65 6e 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 20 20 20 20 20 72 65 | .recipient.automatically......re |
| 4dfc0 | 63 65 69 76 65 73 20 61 20 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e | ceives.a.license.from.the.origin |
| 4dfe0 | 61 6c 20 6c 69 63 65 6e 73 6f 72 73 2c 20 74 6f 20 72 75 6e 2c 20 6d 6f 64 69 66 79 20 61 6e 64 | al.licensors,.to.run,.modify.and |
| 4e000 | 0a 20 20 20 20 20 70 72 6f 70 61 67 61 74 65 20 74 68 61 74 20 77 6f 72 6b 2c 20 73 75 62 6a 65 | ......propagate.that.work,.subje |
| 4e020 | 63 74 20 74 6f 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 59 6f 75 20 61 72 65 20 6e 6f 74 | ct.to.this.License...You.are.not |
| 4e040 | 0a 20 20 20 20 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 65 6e 66 6f 72 63 69 6e 67 20 | ......responsible.for.enforcing. |
| 4e060 | 63 6f 6d 70 6c 69 61 6e 63 65 20 62 79 20 74 68 69 72 64 20 70 61 72 74 69 65 73 20 77 69 74 68 | compliance.by.third.parties.with |
| 4e080 | 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 20 41 6e 20 e2 80 9c | .this......License........An.... |
| 4e0a0 | 65 6e 74 69 74 79 20 74 72 61 6e 73 61 63 74 69 6f 6e e2 80 9d 20 69 73 20 61 20 74 72 61 6e 73 | entity.transaction....is.a.trans |
| 4e0c0 | 61 63 74 69 6f 6e 20 74 72 61 6e 73 66 65 72 72 69 6e 67 20 63 6f 6e 74 72 6f 6c 20 6f 66 20 61 | action.transferring.control.of.a |
| 4e0e0 | 6e 0a 20 20 20 20 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 2c 20 6f 72 20 73 75 62 73 74 61 6e 74 | n......organization,.or.substant |
| 4e100 | 69 61 6c 6c 79 20 61 6c 6c 20 61 73 73 65 74 73 20 6f 66 20 6f 6e 65 2c 20 6f 72 20 73 75 62 64 | ially.all.assets.of.one,.or.subd |
| 4e120 | 69 76 69 64 69 6e 67 20 61 6e 0a 20 20 20 20 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 2c 20 6f 72 | ividing.an......organization,.or |
| 4e140 | 20 6d 65 72 67 69 6e 67 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 73 2e 20 20 49 66 20 70 72 6f 70 | .merging.organizations...If.prop |
| 4e160 | 61 67 61 74 69 6f 6e 20 6f 66 20 61 0a 20 20 20 20 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 72 | agation.of.a......covered.work.r |
| 4e180 | 65 73 75 6c 74 73 20 66 72 6f 6d 20 61 6e 20 65 6e 74 69 74 79 20 74 72 61 6e 73 61 63 74 69 6f | esults.from.an.entity.transactio |
| 4e1a0 | 6e 2c 20 65 61 63 68 20 70 61 72 74 79 20 74 6f 20 74 68 61 74 0a 20 20 20 20 20 74 72 61 6e 73 | n,.each.party.to.that......trans |
| 4e1c0 | 61 63 74 69 6f 6e 20 77 68 6f 20 72 65 63 65 69 76 65 73 20 61 20 63 6f 70 79 20 6f 66 20 74 68 | action.who.receives.a.copy.of.th |
| 4e1e0 | 65 20 77 6f 72 6b 20 61 6c 73 6f 20 72 65 63 65 69 76 65 73 20 77 68 61 74 65 76 65 72 0a 20 20 | e.work.also.receives.whatever... |
| 4e200 | 20 20 20 6c 69 63 65 6e 73 65 73 20 74 6f 20 74 68 65 20 77 6f 72 6b 20 74 68 65 20 70 61 72 74 | ...licenses.to.the.work.the.part |
| 4e220 | 79 e2 80 99 73 20 70 72 65 64 65 63 65 73 73 6f 72 20 69 6e 20 69 6e 74 65 72 65 73 74 20 68 61 | y...s.predecessor.in.interest.ha |
| 4e240 | 64 20 6f 72 0a 20 20 20 20 20 63 6f 75 6c 64 20 67 69 76 65 20 75 6e 64 65 72 20 74 68 65 20 70 | d.or......could.give.under.the.p |
| 4e260 | 72 65 76 69 6f 75 73 20 70 61 72 61 67 72 61 70 68 2c 20 70 6c 75 73 20 61 20 72 69 67 68 74 20 | revious.paragraph,.plus.a.right. |
| 4e280 | 74 6f 20 70 6f 73 73 65 73 73 69 6f 6e 0a 20 20 20 20 20 6f 66 20 74 68 65 20 43 6f 72 72 65 73 | to.possession......of.the.Corres |
| 4e2a0 | 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 66 72 6f 6d 20 | ponding.Source.of.the.work.from. |
| 4e2c0 | 74 68 65 20 70 72 65 64 65 63 65 73 73 6f 72 20 69 6e 0a 20 20 20 20 20 69 6e 74 65 72 65 73 74 | the.predecessor.in......interest |
| 4e2e0 | 2c 20 69 66 20 74 68 65 20 70 72 65 64 65 63 65 73 73 6f 72 20 68 61 73 20 69 74 20 6f 72 20 63 | ,.if.the.predecessor.has.it.or.c |
| 4e300 | 61 6e 20 67 65 74 20 69 74 20 77 69 74 68 20 72 65 61 73 6f 6e 61 62 6c 65 0a 20 20 20 20 20 65 | an.get.it.with.reasonable......e |
| 4e320 | 66 66 6f 72 74 73 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 69 6d 70 6f 73 65 | fforts........You.may.not.impose |
| 4e340 | 20 61 6e 79 20 66 75 72 74 68 65 72 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 6f 6e 20 74 68 65 | .any.further.restrictions.on.the |
| 4e360 | 20 65 78 65 72 63 69 73 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 72 69 67 68 74 73 20 67 72 61 | .exercise.of.the......rights.gra |
| 4e380 | 6e 74 65 64 20 6f 72 20 61 66 66 69 72 6d 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 | nted.or.affirmed.under.this.Lice |
| 4e3a0 | 6e 73 65 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 79 6f 75 0a 20 20 20 20 20 6d 61 79 20 | nse...For.example,.you......may. |
| 4e3c0 | 6e 6f 74 20 69 6d 70 6f 73 65 20 61 20 6c 69 63 65 6e 73 65 20 66 65 65 2c 20 72 6f 79 61 6c 74 | not.impose.a.license.fee,.royalt |
| 4e3e0 | 79 2c 20 6f 72 20 6f 74 68 65 72 20 63 68 61 72 67 65 20 66 6f 72 20 65 78 65 72 63 69 73 65 0a | y,.or.other.charge.for.exercise. |
| 4e400 | 20 20 20 20 20 6f 66 20 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 | .....of.rights.granted.under.thi |
| 4e420 | 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 79 6f 75 20 6d 61 79 20 6e 6f 74 20 69 6e 69 74 69 | s.License,.and.you.may.not.initi |
| 4e440 | 61 74 65 0a 20 20 20 20 20 6c 69 74 69 67 61 74 69 6f 6e 20 28 69 6e 63 6c 75 64 69 6e 67 20 61 | ate......litigation.(including.a |
| 4e460 | 20 63 72 6f 73 73 2d 63 6c 61 69 6d 20 6f 72 20 63 6f 75 6e 74 65 72 63 6c 61 69 6d 20 69 6e 20 | .cross-claim.or.counterclaim.in. |
| 4e480 | 61 20 6c 61 77 73 75 69 74 29 0a 20 20 20 20 20 61 6c 6c 65 67 69 6e 67 20 74 68 61 74 20 61 6e | a.lawsuit)......alleging.that.an |
| 4e4a0 | 79 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 20 69 73 20 69 6e 66 72 69 6e 67 65 64 20 62 79 20 6d | y.patent.claim.is.infringed.by.m |
| 4e4c0 | 61 6b 69 6e 67 2c 20 75 73 69 6e 67 2c 0a 20 20 20 20 20 73 65 6c 6c 69 6e 67 2c 20 6f 66 66 65 | aking,.using,......selling,.offe |
| 4e4e0 | 72 69 6e 67 20 66 6f 72 20 73 61 6c 65 2c 20 6f 72 20 69 6d 70 6f 72 74 69 6e 67 20 74 68 65 20 | ring.for.sale,.or.importing.the. |
| 4e500 | 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e 79 20 70 6f 72 74 69 6f 6e 0a 20 20 20 20 20 6f 66 20 69 | Program.or.any.portion......of.i |
| 4e520 | 74 2e 0a 0a 20 20 31 31 2e 20 50 61 74 65 6e 74 73 2e 0a 0a 20 20 20 20 20 41 20 e2 80 9c 63 6f | t.....11..Patents........A....co |
| 4e540 | 6e 74 72 69 62 75 74 6f 72 e2 80 9d 20 69 73 20 61 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 | ntributor....is.a.copyright.hold |
| 4e560 | 65 72 20 77 68 6f 20 61 75 74 68 6f 72 69 7a 65 73 20 75 73 65 20 75 6e 64 65 72 20 74 68 69 73 | er.who.authorizes.use.under.this |
| 4e580 | 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 | ......License.of.the.Program.or. |
| 4e5a0 | 61 20 77 6f 72 6b 20 6f 6e 20 77 68 69 63 68 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 73 20 62 | a.work.on.which.the.Program.is.b |
| 4e5c0 | 61 73 65 64 2e 0a 20 20 20 20 20 54 68 65 20 77 6f 72 6b 20 74 68 75 73 20 6c 69 63 65 6e 73 65 | ased.......The.work.thus.license |
| 4e5e0 | 64 20 69 73 20 63 61 6c 6c 65 64 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 e2 80 99 73 20 | d.is.called.the.contributor...s. |
| 4e600 | e2 80 9c 63 6f 6e 74 72 69 62 75 74 6f 72 0a 20 20 20 20 20 76 65 72 73 69 6f 6e e2 80 9d 2e 0a | ...contributor......version..... |
| 4e620 | 0a 20 20 20 20 20 41 20 63 6f 6e 74 72 69 62 75 74 6f 72 e2 80 99 73 20 e2 80 9c 65 73 73 65 6e | ......A.contributor...s....essen |
| 4e640 | 74 69 61 6c 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 e2 80 9d 20 61 72 65 20 61 6c 6c 20 70 61 | tial.patent.claims....are.all.pa |
| 4e660 | 74 65 6e 74 20 63 6c 61 69 6d 73 0a 20 20 20 20 20 6f 77 6e 65 64 20 6f 72 20 63 6f 6e 74 72 6f | tent.claims......owned.or.contro |
| 4e680 | 6c 6c 65 64 20 62 79 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 2c 20 77 68 65 74 68 65 72 | lled.by.the.contributor,.whether |
| 4e6a0 | 20 61 6c 72 65 61 64 79 20 61 63 71 75 69 72 65 64 20 6f 72 0a 20 20 20 20 20 68 65 72 65 61 66 | .already.acquired.or......hereaf |
| 4e6c0 | 74 65 72 20 61 63 71 75 69 72 65 64 2c 20 74 68 61 74 20 77 6f 75 6c 64 20 62 65 20 69 6e 66 72 | ter.acquired,.that.would.be.infr |
| 4e6e0 | 69 6e 67 65 64 20 62 79 20 73 6f 6d 65 20 6d 61 6e 6e 65 72 2c 0a 20 20 20 20 20 70 65 72 6d 69 | inged.by.some.manner,......permi |
| 4e700 | 74 74 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 6f 66 20 6d 61 6b 69 6e 67 2c | tted.by.this.License,.of.making, |
| 4e720 | 20 75 73 69 6e 67 2c 20 6f 72 20 73 65 6c 6c 69 6e 67 20 69 74 73 0a 20 20 20 20 20 63 6f 6e 74 | .using,.or.selling.its......cont |
| 4e740 | 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2c 20 62 75 74 20 64 6f 20 6e 6f 74 20 69 6e 63 6c | ributor.version,.but.do.not.incl |
| 4e760 | 75 64 65 20 63 6c 61 69 6d 73 20 74 68 61 74 20 77 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 69 6e | ude.claims.that.would.be......in |
| 4e780 | 66 72 69 6e 67 65 64 20 6f 6e 6c 79 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 | fringed.only.as.a.consequence.of |
| 4e7a0 | 20 66 75 72 74 68 65 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 0a 20 20 20 | .further.modification.of.the.... |
| 4e7c0 | 20 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2e 20 20 46 6f 72 20 70 75 72 70 | ..contributor.version...For.purp |
| 4e7e0 | 6f 73 65 73 20 6f 66 20 74 68 69 73 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 e2 80 9c 63 6f 6e 74 | oses.of.this.definition,....cont |
| 4e800 | 72 6f 6c e2 80 9d 0a 20 20 20 20 20 69 6e 63 6c 75 64 65 73 20 74 68 65 20 72 69 67 68 74 20 74 | rol.........includes.the.right.t |
| 4e820 | 6f 20 67 72 61 6e 74 20 70 61 74 65 6e 74 20 73 75 62 6c 69 63 65 6e 73 65 73 20 69 6e 20 61 20 | o.grant.patent.sublicenses.in.a. |
| 4e840 | 6d 61 6e 6e 65 72 0a 20 20 20 20 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 74 68 20 74 68 65 20 | manner......consistent.with.the. |
| 4e860 | 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 | requirements.of.this.License.... |
| 4e880 | 20 20 20 20 45 61 63 68 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 67 72 61 6e 74 73 20 79 6f 75 20 | ....Each.contributor.grants.you. |
| 4e8a0 | 61 20 6e 6f 6e 2d 65 78 63 6c 75 73 69 76 65 2c 20 77 6f 72 6c 64 77 69 64 65 2c 0a 20 20 20 20 | a.non-exclusive,.worldwide,..... |
| 4e8c0 | 20 72 6f 79 61 6c 74 79 2d 66 72 65 65 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 75 6e 64 | .royalty-free.patent.license.und |
| 4e8e0 | 65 72 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 e2 80 99 73 20 65 73 73 65 6e 74 69 61 6c | er.the.contributor...s.essential |
| 4e900 | 0a 20 20 20 20 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 2c 20 74 6f 20 6d 61 6b 65 2c 20 75 73 | ......patent.claims,.to.make,.us |
| 4e920 | 65 2c 20 73 65 6c 6c 2c 20 6f 66 66 65 72 20 66 6f 72 20 73 61 6c 65 2c 20 69 6d 70 6f 72 74 20 | e,.sell,.offer.for.sale,.import. |
| 4e940 | 61 6e 64 0a 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 72 75 6e 2c 20 6d 6f 64 69 66 79 20 61 | and......otherwise.run,.modify.a |
| 4e960 | 6e 64 20 70 72 6f 70 61 67 61 74 65 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 69 74 73 | nd.propagate.the.contents.of.its |
| 4e980 | 20 63 6f 6e 74 72 69 62 75 74 6f 72 0a 20 20 20 20 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 | .contributor......version....... |
| 4e9a0 | 20 49 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 72 65 65 20 70 61 72 61 67 72 61 70 | .In.the.following.three.paragrap |
| 4e9c0 | 68 73 2c 20 61 20 e2 80 9c 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 e2 80 9d 20 69 73 20 61 6e | hs,.a....patent.license....is.an |
| 4e9e0 | 79 0a 20 20 20 20 20 65 78 70 72 65 73 73 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 20 63 6f 6d 6d | y......express.agreement.or.comm |
| 4ea00 | 69 74 6d 65 6e 74 2c 20 68 6f 77 65 76 65 72 20 64 65 6e 6f 6d 69 6e 61 74 65 64 2c 20 6e 6f 74 | itment,.however.denominated,.not |
| 4ea20 | 20 74 6f 0a 20 20 20 20 20 65 6e 66 6f 72 63 65 20 61 20 70 61 74 65 6e 74 20 28 73 75 63 68 20 | .to......enforce.a.patent.(such. |
| 4ea40 | 61 73 20 61 6e 20 65 78 70 72 65 73 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 70 72 61 63 | as.an.express.permission.to.prac |
| 4ea60 | 74 69 63 65 20 61 0a 20 20 20 20 20 70 61 74 65 6e 74 20 6f 72 20 63 6f 76 65 6e 61 6e 74 20 6e | tice.a......patent.or.covenant.n |
| 4ea80 | 6f 74 20 74 6f 20 73 75 65 20 66 6f 72 20 70 61 74 65 6e 74 20 69 6e 66 72 69 6e 67 65 6d 65 6e | ot.to.sue.for.patent.infringemen |
| 4eaa0 | 74 29 2e 20 20 54 6f 20 e2 80 9c 67 72 61 6e 74 e2 80 9d 0a 20 20 20 20 20 73 75 63 68 20 61 20 | t)...To....grant.........such.a. |
| 4eac0 | 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 74 6f 20 61 20 70 61 72 74 79 20 6d 65 61 6e 73 20 | patent.license.to.a.party.means. |
| 4eae0 | 74 6f 20 6d 61 6b 65 20 73 75 63 68 20 61 6e 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 0a 20 20 20 | to.make.such.an.agreement.or.... |
| 4eb00 | 20 20 63 6f 6d 6d 69 74 6d 65 6e 74 20 6e 6f 74 20 74 6f 20 65 6e 66 6f 72 63 65 20 61 20 70 61 | ..commitment.not.to.enforce.a.pa |
| 4eb20 | 74 65 6e 74 20 61 67 61 69 6e 73 74 20 74 68 65 20 70 61 72 74 79 2e 0a 0a 20 20 20 20 20 49 66 | tent.against.the.party........If |
| 4eb40 | 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 6b 6e 6f 77 | .you.convey.a.covered.work,.know |
| 4eb60 | 69 6e 67 6c 79 20 72 65 6c 79 69 6e 67 20 6f 6e 20 61 20 70 61 74 65 6e 74 0a 20 20 20 20 20 6c | ingly.relying.on.a.patent......l |
| 4eb80 | 69 63 65 6e 73 65 2c 20 61 6e 64 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f | icense,.and.the.Corresponding.So |
| 4eba0 | 75 72 63 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c | urce.of.the.work.is.not.availabl |
| 4ebc0 | 65 0a 20 20 20 20 20 66 6f 72 20 61 6e 79 6f 6e 65 20 74 6f 20 63 6f 70 79 2c 20 66 72 65 65 20 | e......for.anyone.to.copy,.free. |
| 4ebe0 | 6f 66 20 63 68 61 72 67 65 20 61 6e 64 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 | of.charge.and.under.the.terms.of |
| 4ec00 | 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 2c 20 74 68 72 6f 75 67 68 20 61 20 70 75 | .this......License,.through.a.pu |
| 4ec20 | 62 6c 69 63 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 20 | blicly.available.network.server. |
| 4ec40 | 6f 72 20 6f 74 68 65 72 0a 20 20 20 20 20 72 65 61 64 69 6c 79 20 61 63 63 65 73 73 69 62 6c 65 | or.other......readily.accessible |
| 4ec60 | 20 6d 65 61 6e 73 2c 20 74 68 65 6e 20 79 6f 75 20 6d 75 73 74 20 65 69 74 68 65 72 20 28 31 29 | .means,.then.you.must.either.(1) |
| 4ec80 | 20 63 61 75 73 65 20 74 68 65 0a 20 20 20 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f | .cause.the......Corresponding.So |
| 4eca0 | 75 72 63 65 20 74 6f 20 62 65 20 73 6f 20 61 76 61 69 6c 61 62 6c 65 2c 20 6f 72 20 28 32 29 20 | urce.to.be.so.available,.or.(2). |
| 4ecc0 | 61 72 72 61 6e 67 65 20 74 6f 20 64 65 70 72 69 76 65 0a 20 20 20 20 20 79 6f 75 72 73 65 6c 66 | arrange.to.deprive......yourself |
| 4ece0 | 20 6f 66 20 74 68 65 20 62 65 6e 65 66 69 74 20 6f 66 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 | .of.the.benefit.of.the.patent.li |
| 4ed00 | 63 65 6e 73 65 20 66 6f 72 20 74 68 69 73 20 70 61 72 74 69 63 75 6c 61 72 0a 20 20 20 20 20 77 | cense.for.this.particular......w |
| 4ed20 | 6f 72 6b 2c 20 6f 72 20 28 33 29 20 61 72 72 61 6e 67 65 2c 20 69 6e 20 61 20 6d 61 6e 6e 65 72 | ork,.or.(3).arrange,.in.a.manner |
| 4ed40 | 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 74 68 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 | .consistent.with.the.requirement |
| 4ed60 | 73 0a 20 20 20 20 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 6f 20 65 78 74 65 6e | s......of.this.License,.to.exten |
| 4ed80 | 64 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 74 6f 20 64 6f 77 6e 73 74 72 65 | d.the.patent.license.to.downstre |
| 4eda0 | 61 6d 0a 20 20 20 20 20 72 65 63 69 70 69 65 6e 74 73 2e 20 20 e2 80 9c 4b 6e 6f 77 69 6e 67 6c | am......recipients......Knowingl |
| 4edc0 | 79 20 72 65 6c 79 69 6e 67 e2 80 9d 20 6d 65 61 6e 73 20 79 6f 75 20 68 61 76 65 20 61 63 74 75 | y.relying....means.you.have.actu |
| 4ede0 | 61 6c 20 6b 6e 6f 77 6c 65 64 67 65 0a 20 20 20 20 20 74 68 61 74 2c 20 62 75 74 20 66 6f 72 20 | al.knowledge......that,.but.for. |
| 4ee00 | 74 68 65 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 2c 20 79 6f 75 72 20 63 6f 6e 76 65 79 69 | the.patent.license,.your.conveyi |
| 4ee20 | 6e 67 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 20 20 20 20 20 69 6e 20 61 20 63 6f | ng.the.covered.work......in.a.co |
| 4ee40 | 75 6e 74 72 79 2c 20 6f 72 20 79 6f 75 72 20 72 65 63 69 70 69 65 6e 74 e2 80 99 73 20 75 73 65 | untry,.or.your.recipient...s.use |
| 4ee60 | 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 61 0a 20 20 20 20 20 63 | .of.the.covered.work.in.a......c |
| 4ee80 | 6f 75 6e 74 72 79 2c 20 77 6f 75 6c 64 20 69 6e 66 72 69 6e 67 65 20 6f 6e 65 20 6f 72 20 6d 6f | ountry,.would.infringe.one.or.mo |
| 4eea0 | 72 65 20 69 64 65 6e 74 69 66 69 61 62 6c 65 20 70 61 74 65 6e 74 73 20 69 6e 20 74 68 61 74 0a | re.identifiable.patents.in.that. |
| 4eec0 | 20 20 20 20 20 63 6f 75 6e 74 72 79 20 74 68 61 74 20 79 6f 75 20 68 61 76 65 20 72 65 61 73 6f | .....country.that.you.have.reaso |
| 4eee0 | 6e 20 74 6f 20 62 65 6c 69 65 76 65 20 61 72 65 20 76 61 6c 69 64 2e 0a 0a 20 20 20 20 20 49 66 | n.to.believe.are.valid........If |
| 4ef00 | 2c 20 70 75 72 73 75 61 6e 74 20 74 6f 20 6f 72 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 | ,.pursuant.to.or.in.connection.w |
| 4ef20 | 69 74 68 20 61 20 73 69 6e 67 6c 65 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 6f 72 0a 20 20 20 20 | ith.a.single.transaction.or..... |
| 4ef40 | 20 61 72 72 61 6e 67 65 6d 65 6e 74 2c 20 79 6f 75 20 63 6f 6e 76 65 79 2c 20 6f 72 20 70 72 6f | .arrangement,.you.convey,.or.pro |
| 4ef60 | 70 61 67 61 74 65 20 62 79 20 70 72 6f 63 75 72 69 6e 67 20 63 6f 6e 76 65 79 61 6e 63 65 20 6f | pagate.by.procuring.conveyance.o |
| 4ef80 | 66 2c 20 61 0a 20 20 20 20 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 67 72 61 6e | f,.a......covered.work,.and.gran |
| 4efa0 | 74 20 61 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 74 6f 20 73 6f 6d 65 20 6f 66 20 74 68 | t.a.patent.license.to.some.of.th |
| 4efc0 | 65 20 70 61 72 74 69 65 73 0a 20 20 20 20 20 72 65 63 65 69 76 69 6e 67 20 74 68 65 20 63 6f 76 | e.parties......receiving.the.cov |
| 4efe0 | 65 72 65 64 20 77 6f 72 6b 20 61 75 74 68 6f 72 69 7a 69 6e 67 20 74 68 65 6d 20 74 6f 20 75 73 | ered.work.authorizing.them.to.us |
| 4f000 | 65 2c 20 70 72 6f 70 61 67 61 74 65 2c 0a 20 20 20 20 20 6d 6f 64 69 66 79 20 6f 72 20 63 6f 6e | e,.propagate,......modify.or.con |
| 4f020 | 76 65 79 20 61 20 73 70 65 63 69 66 69 63 20 63 6f 70 79 20 6f 66 20 74 68 65 20 63 6f 76 65 72 | vey.a.specific.copy.of.the.cover |
| 4f040 | 65 64 20 77 6f 72 6b 2c 20 74 68 65 6e 20 74 68 65 0a 20 20 20 20 20 70 61 74 65 6e 74 20 6c 69 | ed.work,.then.the......patent.li |
| 4f060 | 63 65 6e 73 65 20 79 6f 75 20 67 72 61 6e 74 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 | cense.you.grant.is.automatically |
| 4f080 | 20 65 78 74 65 6e 64 65 64 20 74 6f 20 61 6c 6c 0a 20 20 20 20 20 72 65 63 69 70 69 65 6e 74 73 | .extended.to.all......recipients |
| 4f0a0 | 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 61 6e 64 20 77 6f 72 6b 73 20 62 | .of.the.covered.work.and.works.b |
| 4f0c0 | 61 73 65 64 20 6f 6e 20 69 74 2e 0a 0a 20 20 20 20 20 41 20 70 61 74 65 6e 74 20 6c 69 63 65 6e | ased.on.it........A.patent.licen |
| 4f0e0 | 73 65 20 69 73 20 e2 80 9c 64 69 73 63 72 69 6d 69 6e 61 74 6f 72 79 e2 80 9d 20 69 66 20 69 74 | se.is....discriminatory....if.it |
| 4f100 | 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 77 69 74 68 69 6e 0a 20 20 20 20 20 74 68 | .does.not.include.within......th |
| 4f120 | 65 20 73 63 6f 70 65 20 6f 66 20 69 74 73 20 63 6f 76 65 72 61 67 65 2c 20 70 72 6f 68 69 62 69 | e.scope.of.its.coverage,.prohibi |
| 4f140 | 74 73 20 74 68 65 20 65 78 65 72 63 69 73 65 20 6f 66 2c 20 6f 72 20 69 73 0a 20 20 20 20 20 63 | ts.the.exercise.of,.or.is......c |
| 4f160 | 6f 6e 64 69 74 69 6f 6e 65 64 20 6f 6e 20 74 68 65 20 6e 6f 6e 2d 65 78 65 72 63 69 73 65 20 6f | onditioned.on.the.non-exercise.o |
| 4f180 | 66 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 66 20 74 68 65 20 72 69 67 68 74 73 20 74 68 61 74 | f.one.or.more.of.the.rights.that |
| 4f1a0 | 0a 20 20 20 20 20 61 72 65 20 73 70 65 63 69 66 69 63 61 6c 6c 79 20 67 72 61 6e 74 65 64 20 75 | ......are.specifically.granted.u |
| 4f1c0 | 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 | nder.this.License...You.may.not. |
| 4f1e0 | 63 6f 6e 76 65 79 20 61 0a 20 20 20 20 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 66 20 79 6f | convey.a......covered.work.if.yo |
| 4f200 | 75 20 61 72 65 20 61 20 70 61 72 74 79 20 74 6f 20 61 6e 20 61 72 72 61 6e 67 65 6d 65 6e 74 20 | u.are.a.party.to.an.arrangement. |
| 4f220 | 77 69 74 68 20 61 20 74 68 69 72 64 0a 20 20 20 20 20 70 61 72 74 79 20 74 68 61 74 20 69 73 20 | with.a.third......party.that.is. |
| 4f240 | 69 6e 20 74 68 65 20 62 75 73 69 6e 65 73 73 20 6f 66 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 | in.the.business.of.distributing. |
| 4f260 | 73 6f 66 74 77 61 72 65 2c 20 75 6e 64 65 72 20 77 68 69 63 68 0a 20 20 20 20 20 79 6f 75 20 6d | software,.under.which......you.m |
| 4f280 | 61 6b 65 20 70 61 79 6d 65 6e 74 20 74 6f 20 74 68 65 20 74 68 69 72 64 20 70 61 72 74 79 20 62 | ake.payment.to.the.third.party.b |
| 4f2a0 | 61 73 65 64 20 6f 6e 20 74 68 65 20 65 78 74 65 6e 74 20 6f 66 20 79 6f 75 72 0a 20 20 20 20 20 | ased.on.the.extent.of.your...... |
| 4f2c0 | 61 63 74 69 76 69 74 79 20 6f 66 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 20 77 6f 72 6b 2c 20 | activity.of.conveying.the.work,. |
| 4f2e0 | 61 6e 64 20 75 6e 64 65 72 20 77 68 69 63 68 20 74 68 65 20 74 68 69 72 64 20 70 61 72 74 79 0a | and.under.which.the.third.party. |
| 4f300 | 20 20 20 20 20 67 72 61 6e 74 73 2c 20 74 6f 20 61 6e 79 20 6f 66 20 74 68 65 20 70 61 72 74 69 | .....grants,.to.any.of.the.parti |
| 4f320 | 65 73 20 77 68 6f 20 77 6f 75 6c 64 20 72 65 63 65 69 76 65 20 74 68 65 20 63 6f 76 65 72 65 64 | es.who.would.receive.the.covered |
| 4f340 | 20 77 6f 72 6b 0a 20 20 20 20 20 66 72 6f 6d 20 79 6f 75 2c 20 61 20 64 69 73 63 72 69 6d 69 6e | .work......from.you,.a.discrimin |
| 4f360 | 61 74 6f 72 79 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 28 61 29 20 69 6e 20 63 6f 6e 6e | atory.patent.license.(a).in.conn |
| 4f380 | 65 63 74 69 6f 6e 20 77 69 74 68 0a 20 20 20 20 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 63 | ection.with......copies.of.the.c |
| 4f3a0 | 6f 76 65 72 65 64 20 77 6f 72 6b 20 63 6f 6e 76 65 79 65 64 20 62 79 20 79 6f 75 20 28 6f 72 20 | overed.work.conveyed.by.you.(or. |
| 4f3c0 | 63 6f 70 69 65 73 20 6d 61 64 65 20 66 72 6f 6d 0a 20 20 20 20 20 74 68 6f 73 65 20 63 6f 70 69 | copies.made.from......those.copi |
| 4f3e0 | 65 73 29 2c 20 6f 72 20 28 62 29 20 70 72 69 6d 61 72 69 6c 79 20 66 6f 72 20 61 6e 64 20 69 6e | es),.or.(b).primarily.for.and.in |
| 4f400 | 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 73 70 65 63 69 66 69 63 0a 20 20 20 20 20 70 | .connection.with.specific......p |
| 4f420 | 72 6f 64 75 63 74 73 20 6f 72 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 73 20 74 68 61 74 20 63 6f 6e | roducts.or.compilations.that.con |
| 4f440 | 74 61 69 6e 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 75 6e 6c 65 73 73 20 79 6f | tain.the.covered.work,.unless.yo |
| 4f460 | 75 0a 20 20 20 20 20 65 6e 74 65 72 65 64 20 69 6e 74 6f 20 74 68 61 74 20 61 72 72 61 6e 67 65 | u......entered.into.that.arrange |
| 4f480 | 6d 65 6e 74 2c 20 6f 72 20 74 68 61 74 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 77 61 73 | ment,.or.that.patent.license.was |
| 4f4a0 | 20 67 72 61 6e 74 65 64 2c 0a 20 20 20 20 20 70 72 69 6f 72 20 74 6f 20 32 38 20 4d 61 72 63 68 | .granted,......prior.to.28.March |
| 4f4c0 | 20 32 30 30 37 2e 0a 0a 20 20 20 20 20 4e 6f 74 68 69 6e 67 20 69 6e 20 74 68 69 73 20 4c 69 63 | .2007........Nothing.in.this.Lic |
| 4f4e0 | 65 6e 73 65 20 73 68 61 6c 6c 20 62 65 20 63 6f 6e 73 74 72 75 65 64 20 61 73 20 65 78 63 6c 75 | ense.shall.be.construed.as.exclu |
| 4f500 | 64 69 6e 67 20 6f 72 20 6c 69 6d 69 74 69 6e 67 0a 20 20 20 20 20 61 6e 79 20 69 6d 70 6c 69 65 | ding.or.limiting......any.implie |
| 4f520 | 64 20 6c 69 63 65 6e 73 65 20 6f 72 20 6f 74 68 65 72 20 64 65 66 65 6e 73 65 73 20 74 6f 20 69 | d.license.or.other.defenses.to.i |
| 4f540 | 6e 66 72 69 6e 67 65 6d 65 6e 74 20 74 68 61 74 20 6d 61 79 0a 20 20 20 20 20 6f 74 68 65 72 77 | nfringement.that.may......otherw |
| 4f560 | 69 73 65 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 79 6f 75 20 75 6e 64 65 72 20 61 70 | ise.be.available.to.you.under.ap |
| 4f580 | 70 6c 69 63 61 62 6c 65 20 70 61 74 65 6e 74 20 6c 61 77 2e 0a 0a 20 20 31 32 2e 20 4e 6f 20 53 | plicable.patent.law.....12..No.S |
| 4f5a0 | 75 72 72 65 6e 64 65 72 20 6f 66 20 4f 74 68 65 72 73 e2 80 99 20 46 72 65 65 64 6f 6d 2e 0a 0a | urrender.of.Others....Freedom... |
| 4f5c0 | 20 20 20 20 20 49 66 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f | .....If.conditions.are.imposed.o |
| 4f5e0 | 6e 20 79 6f 75 20 28 77 68 65 74 68 65 72 20 62 79 20 63 6f 75 72 74 20 6f 72 64 65 72 2c 20 61 | n.you.(whether.by.court.order,.a |
| 4f600 | 67 72 65 65 6d 65 6e 74 0a 20 20 20 20 20 6f 72 20 6f 74 68 65 72 77 69 73 65 29 20 74 68 61 74 | greement......or.otherwise).that |
| 4f620 | 20 63 6f 6e 74 72 61 64 69 63 74 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 20 74 68 | .contradict.the.conditions.of.th |
| 4f640 | 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 79 0a 20 20 20 20 20 64 6f 20 6e 6f 74 20 65 78 63 | is.License,.they......do.not.exc |
| 4f660 | 75 73 65 20 79 6f 75 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 20 74 | use.you.from.the.conditions.of.t |
| 4f680 | 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 0a 20 20 20 20 20 63 61 6e 6e 6f 74 | his.License...If.you......cannot |
| 4f6a0 | 20 63 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 73 6f 20 61 73 20 74 6f 20 | .convey.a.covered.work.so.as.to. |
| 4f6c0 | 73 61 74 69 73 66 79 20 73 69 6d 75 6c 74 61 6e 65 6f 75 73 6c 79 20 79 6f 75 72 0a 20 20 20 20 | satisfy.simultaneously.your..... |
| 4f6e0 | 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 | .obligations.under.this.License. |
| 4f700 | 61 6e 64 20 61 6e 79 20 6f 74 68 65 72 20 70 65 72 74 69 6e 65 6e 74 20 6f 62 6c 69 67 61 74 69 | and.any.other.pertinent.obligati |
| 4f720 | 6f 6e 73 2c 0a 20 20 20 20 20 74 68 65 6e 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 | ons,......then.as.a.consequence. |
| 4f740 | 79 6f 75 20 6d 61 79 20 6e 6f 74 20 63 6f 6e 76 65 79 20 69 74 20 61 74 20 61 6c 6c 2e 20 20 46 | you.may.not.convey.it.at.all...F |
| 4f760 | 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 20 20 20 20 20 69 66 20 79 6f 75 20 61 67 72 65 65 20 74 6f | or.example,......if.you.agree.to |
| 4f780 | 20 74 65 72 6d 73 20 74 68 61 74 20 6f 62 6c 69 67 61 74 65 20 79 6f 75 20 74 6f 20 63 6f 6c 6c | .terms.that.obligate.you.to.coll |
| 4f7a0 | 65 63 74 20 61 20 72 6f 79 61 6c 74 79 20 66 6f 72 0a 20 20 20 20 20 66 75 72 74 68 65 72 20 63 | ect.a.royalty.for......further.c |
| 4f7c0 | 6f 6e 76 65 79 69 6e 67 20 66 72 6f 6d 20 74 68 6f 73 65 20 74 6f 20 77 68 6f 6d 20 79 6f 75 20 | onveying.from.those.to.whom.you. |
| 4f7e0 | 63 6f 6e 76 65 79 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 74 68 65 0a 20 20 20 20 20 6f 6e 6c | convey.the.Program,.the......onl |
| 4f800 | 79 20 77 61 79 20 79 6f 75 20 63 6f 75 6c 64 20 73 61 74 69 73 66 79 20 62 6f 74 68 20 74 68 6f | y.way.you.could.satisfy.both.tho |
| 4f820 | 73 65 20 74 65 72 6d 73 20 61 6e 64 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 6f 75 6c 64 0a | se.terms.and.this.License.would. |
| 4f840 | 20 20 20 20 20 62 65 20 74 6f 20 72 65 66 72 61 69 6e 20 65 6e 74 69 72 65 6c 79 20 66 72 6f 6d | .....be.to.refrain.entirely.from |
| 4f860 | 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 20 20 31 33 2e 20 55 | .conveying.the.Program.....13..U |
| 4f880 | 73 65 20 77 69 74 68 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 | se.with.the.GNU.Affero.General.P |
| 4f8a0 | 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 20 4e 6f 74 77 69 74 68 73 74 61 6e | ublic.License........Notwithstan |
| 4f8c0 | 64 69 6e 67 20 61 6e 79 20 6f 74 68 65 72 20 70 72 6f 76 69 73 69 6f 6e 20 6f 66 20 74 68 69 73 | ding.any.other.provision.of.this |
| 4f8e0 | 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 68 61 76 65 0a 20 20 20 20 20 70 65 72 6d 69 73 73 69 | .License,.you.have......permissi |
| 4f900 | 6f 6e 20 74 6f 20 6c 69 6e 6b 20 6f 72 20 63 6f 6d 62 69 6e 65 20 61 6e 79 20 63 6f 76 65 72 65 | on.to.link.or.combine.any.covere |
| 4f920 | 64 20 77 6f 72 6b 20 77 69 74 68 20 61 20 77 6f 72 6b 20 6c 69 63 65 6e 73 65 64 0a 20 20 20 20 | d.work.with.a.work.licensed..... |
| 4f940 | 20 75 6e 64 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 | .under.version.3.of.the.GNU.Affe |
| 4f960 | 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 74 6f 20 61 | ro.General.Public.License.into.a |
| 4f980 | 0a 20 20 20 20 20 73 69 6e 67 6c 65 20 63 6f 6d 62 69 6e 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 | ......single.combined.work,.and. |
| 4f9a0 | 74 6f 20 63 6f 6e 76 65 79 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 77 6f 72 6b 2e 20 20 54 | to.convey.the.resulting.work...T |
| 4f9c0 | 68 65 20 74 65 72 6d 73 0a 20 20 20 20 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 | he.terms......of.this.License.wi |
| 4f9e0 | 6c 6c 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 70 61 72 74 | ll.continue.to.apply.to.the.part |
| 4fa00 | 20 77 68 69 63 68 20 69 73 20 74 68 65 0a 20 20 20 20 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c | .which.is.the......covered.work, |
| 4fa20 | 20 62 75 74 20 74 68 65 20 73 70 65 63 69 61 6c 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f 66 | .but.the.special.requirements.of |
| 4fa40 | 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 0a 20 20 20 20 20 47 65 6e 65 72 61 6c 20 50 75 62 | .the.GNU.Affero......General.Pub |
| 4fa60 | 6c 69 63 20 4c 69 63 65 6e 73 65 2c 20 73 65 63 74 69 6f 6e 20 31 33 2c 20 63 6f 6e 63 65 72 6e | lic.License,.section.13,.concern |
| 4fa80 | 69 6e 67 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 74 68 72 6f 75 67 68 0a 20 20 20 20 20 61 20 6e | ing.interaction.through......a.n |
| 4faa0 | 65 74 77 6f 72 6b 20 77 69 6c 6c 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 63 6f 6d 62 69 6e 61 | etwork.will.apply.to.the.combina |
| 4fac0 | 74 69 6f 6e 20 61 73 20 73 75 63 68 2e 0a 0a 20 20 31 34 2e 20 52 65 76 69 73 65 64 20 56 65 72 | tion.as.such.....14..Revised.Ver |
| 4fae0 | 73 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 20 54 68 65 | sions.of.this.License........The |
| 4fb00 | 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 20 6d 61 79 20 70 75 | .Free.Software.Foundation.may.pu |
| 4fb20 | 62 6c 69 73 68 20 72 65 76 69 73 65 64 20 61 6e 64 2f 6f 72 20 6e 65 77 0a 20 20 20 20 20 76 65 | blish.revised.and/or.new......ve |
| 4fb40 | 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 | rsions.of.the.GNU.General.Public |
| 4fb60 | 20 4c 69 63 65 6e 73 65 20 66 72 6f 6d 20 74 69 6d 65 20 74 6f 20 74 69 6d 65 2e 20 20 53 75 63 | .License.from.time.to.time...Suc |
| 4fb80 | 68 0a 20 20 20 20 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 20 77 69 6c 6c 20 62 65 20 73 69 6d 69 | h......new.versions.will.be.simi |
| 4fba0 | 6c 61 72 20 69 6e 20 73 70 69 72 69 74 20 74 6f 20 74 68 65 20 70 72 65 73 65 6e 74 20 76 65 72 | lar.in.spirit.to.the.present.ver |
| 4fbc0 | 73 69 6f 6e 2c 20 62 75 74 0a 20 20 20 20 20 6d 61 79 20 64 69 66 66 65 72 20 69 6e 20 64 65 74 | sion,.but......may.differ.in.det |
| 4fbe0 | 61 69 6c 20 74 6f 20 61 64 64 72 65 73 73 20 6e 65 77 20 70 72 6f 62 6c 65 6d 73 20 6f 72 20 63 | ail.to.address.new.problems.or.c |
| 4fc00 | 6f 6e 63 65 72 6e 73 2e 0a 0a 20 20 20 20 20 45 61 63 68 20 76 65 72 73 69 6f 6e 20 69 73 20 67 | oncerns........Each.version.is.g |
| 4fc20 | 69 76 65 6e 20 61 20 64 69 73 74 69 6e 67 75 69 73 68 69 6e 67 20 76 65 72 73 69 6f 6e 20 6e 75 | iven.a.distinguishing.version.nu |
| 4fc40 | 6d 62 65 72 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 50 72 6f 67 72 61 6d 20 73 70 65 63 69 | mber...If.the......Program.speci |
| 4fc60 | 66 69 65 73 20 74 68 61 74 20 61 20 63 65 72 74 61 69 6e 20 6e 75 6d 62 65 72 65 64 20 76 65 72 | fies.that.a.certain.numbered.ver |
| 4fc80 | 73 69 6f 6e 20 6f 66 20 74 68 65 20 47 4e 55 0a 20 20 20 20 20 47 65 6e 65 72 61 6c 20 50 75 62 | sion.of.the.GNU......General.Pub |
| 4fca0 | 6c 69 63 20 4c 69 63 65 6e 73 65 20 e2 80 9c 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 | lic.License....or.any.later.vers |
| 4fcc0 | 69 6f 6e e2 80 9d 20 61 70 70 6c 69 65 73 20 74 6f 20 69 74 2c 20 79 6f 75 0a 20 20 20 20 20 68 | ion....applies.to.it,.you......h |
| 4fce0 | 61 76 65 20 74 68 65 20 6f 70 74 69 6f 6e 20 6f 66 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 | ave.the.option.of.following.the. |
| 4fd00 | 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 65 69 74 68 65 72 20 6f 66 0a 20 | terms.and.conditions.either.of.. |
| 4fd20 | 20 20 20 20 74 68 61 74 20 6e 75 6d 62 65 72 65 64 20 76 65 72 73 69 6f 6e 20 6f 72 20 6f 66 20 | ....that.numbered.version.or.of. |
| 4fd40 | 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 | any.later.version.published.by.t |
| 4fd60 | 68 65 20 46 72 65 65 0a 20 20 20 20 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e | he.Free......Software.Foundation |
| 4fd80 | 2e 20 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 64 6f 65 73 20 6e 6f 74 20 73 70 65 63 69 | ...If.the.Program.does.not.speci |
| 4fda0 | 66 79 20 61 20 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 65 20 | fy.a.version......number.of.the. |
| 4fdc0 | 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 | GNU.General.Public.License,.you. |
| 4fde0 | 6d 61 79 20 63 68 6f 6f 73 65 20 61 6e 79 0a 20 20 20 20 20 76 65 72 73 69 6f 6e 20 65 76 65 72 | may.choose.any......version.ever |
| 4fe00 | 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 | .published.by.the.Free.Software. |
| 4fe20 | 46 6f 75 6e 64 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d | Foundation........If.the.Program |
| 4fe40 | 20 73 70 65 63 69 66 69 65 73 20 74 68 61 74 20 61 20 70 72 6f 78 79 20 63 61 6e 20 64 65 63 69 | .specifies.that.a.proxy.can.deci |
| 4fe60 | 64 65 20 77 68 69 63 68 20 66 75 74 75 72 65 0a 20 20 20 20 20 76 65 72 73 69 6f 6e 73 20 6f 66 | de.which.future......versions.of |
| 4fe80 | 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 | .the.GNU.General.Public.License. |
| 4fea0 | 63 61 6e 20 62 65 20 75 73 65 64 2c 20 74 68 61 74 0a 20 20 20 20 20 70 72 6f 78 79 e2 80 99 73 | can.be.used,.that......proxy...s |
| 4fec0 | 20 70 75 62 6c 69 63 20 73 74 61 74 65 6d 65 6e 74 20 6f 66 20 61 63 63 65 70 74 61 6e 63 65 20 | .public.statement.of.acceptance. |
| 4fee0 | 6f 66 20 61 20 76 65 72 73 69 6f 6e 20 70 65 72 6d 61 6e 65 6e 74 6c 79 0a 20 20 20 20 20 61 75 | of.a.version.permanently......au |
| 4ff00 | 74 68 6f 72 69 7a 65 73 20 79 6f 75 20 74 6f 20 63 68 6f 6f 73 65 20 74 68 61 74 20 76 65 72 73 | thorizes.you.to.choose.that.vers |
| 4ff20 | 69 6f 6e 20 66 6f 72 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 20 20 20 20 20 4c 61 74 65 72 | ion.for.the.Program........Later |
| 4ff40 | 20 6c 69 63 65 6e 73 65 20 76 65 72 73 69 6f 6e 73 20 6d 61 79 20 67 69 76 65 20 79 6f 75 20 61 | .license.versions.may.give.you.a |
| 4ff60 | 64 64 69 74 69 6f 6e 61 6c 20 6f 72 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 20 70 65 72 6d | dditional.or.different......perm |
| 4ff80 | 69 73 73 69 6f 6e 73 2e 20 20 48 6f 77 65 76 65 72 2c 20 6e 6f 20 61 64 64 69 74 69 6f 6e 61 6c | issions...However,.no.additional |
| 4ffa0 | 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e 20 61 6e 79 0a | .obligations.are.imposed.on.any. |
| 4ffc0 | 20 20 20 20 20 61 75 74 68 6f 72 20 6f 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 | .....author.or.copyright.holder. |
| 4ffe0 | 61 73 20 61 20 72 65 73 75 6c 74 20 6f 66 20 79 6f 75 72 20 63 68 6f 6f 73 69 6e 67 20 74 6f 20 | as.a.result.of.your.choosing.to. |
| 50000 | 66 6f 6c 6c 6f 77 20 61 0a 20 20 20 20 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 | follow.a......later.version..... |
| 50020 | 31 35 2e 20 44 69 73 63 6c 61 69 6d 65 72 20 6f 66 20 57 61 72 72 61 6e 74 79 2e 0a 0a 20 20 20 | 15..Disclaimer.of.Warranty...... |
| 50040 | 20 20 54 48 45 52 45 20 49 53 20 4e 4f 20 57 41 52 52 41 4e 54 59 20 46 4f 52 20 54 48 45 20 50 | ..THERE.IS.NO.WARRANTY.FOR.THE.P |
| 50060 | 52 4f 47 52 41 4d 2c 20 54 4f 20 54 48 45 20 45 58 54 45 4e 54 20 50 45 52 4d 49 54 54 45 44 20 | ROGRAM,.TO.THE.EXTENT.PERMITTED. |
| 50080 | 42 59 0a 20 20 20 20 20 41 50 50 4c 49 43 41 42 4c 45 20 4c 41 57 2e 20 20 45 58 43 45 50 54 20 | BY......APPLICABLE.LAW...EXCEPT. |
| 500a0 | 57 48 45 4e 20 4f 54 48 45 52 57 49 53 45 20 53 54 41 54 45 44 20 49 4e 20 57 52 49 54 49 4e 47 | WHEN.OTHERWISE.STATED.IN.WRITING |
| 500c0 | 20 54 48 45 0a 20 20 20 20 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 41 4e 44 2f | .THE......COPYRIGHT.HOLDERS.AND/ |
| 500e0 | 4f 52 20 4f 54 48 45 52 20 50 41 52 54 49 45 53 20 50 52 4f 56 49 44 45 20 54 48 45 20 50 52 4f | OR.OTHER.PARTIES.PROVIDE.THE.PRO |
| 50100 | 47 52 41 4d 20 e2 80 9c 41 53 20 49 53 e2 80 9d 0a 20 20 20 20 20 57 49 54 48 4f 55 54 20 57 41 | GRAM....AS.IS.........WITHOUT.WA |
| 50120 | 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 49 54 48 45 52 20 45 58 50 52 45 | RRANTY.OF.ANY.KIND,.EITHER.EXPRE |
| 50140 | 53 53 45 44 20 4f 52 20 49 4d 50 4c 49 45 44 2c 0a 20 20 20 20 20 49 4e 43 4c 55 44 49 4e 47 2c | SSED.OR.IMPLIED,......INCLUDING, |
| 50160 | 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 2c 20 54 48 45 20 49 4d 50 4c 49 45 44 | .BUT.NOT.LIMITED.TO,.THE.IMPLIED |
| 50180 | 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 0a 20 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c | .WARRANTIES.OF......MERCHANTABIL |
| 501a0 | 49 54 59 20 41 4e 44 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 | ITY.AND.FITNESS.FOR.A.PARTICULAR |
| 501c0 | 20 50 55 52 50 4f 53 45 2e 20 20 54 48 45 20 45 4e 54 49 52 45 0a 20 20 20 20 20 52 49 53 4b 20 | .PURPOSE...THE.ENTIRE......RISK. |
| 501e0 | 41 53 20 54 4f 20 54 48 45 20 51 55 41 4c 49 54 59 20 41 4e 44 20 50 45 52 46 4f 52 4d 41 4e 43 | AS.TO.THE.QUALITY.AND.PERFORMANC |
| 50200 | 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d 20 49 53 20 57 49 54 48 20 59 4f 55 2e 0a 20 20 | E.OF.THE.PROGRAM.IS.WITH.YOU.... |
| 50220 | 20 20 20 53 48 4f 55 4c 44 20 54 48 45 20 50 52 4f 47 52 41 4d 20 50 52 4f 56 45 20 44 45 46 45 | ...SHOULD.THE.PROGRAM.PROVE.DEFE |
| 50240 | 43 54 49 56 45 2c 20 59 4f 55 20 41 53 53 55 4d 45 20 54 48 45 20 43 4f 53 54 20 4f 46 20 41 4c | CTIVE,.YOU.ASSUME.THE.COST.OF.AL |
| 50260 | 4c 0a 20 20 20 20 20 4e 45 43 45 53 53 41 52 59 20 53 45 52 56 49 43 49 4e 47 2c 20 52 45 50 41 | L......NECESSARY.SERVICING,.REPA |
| 50280 | 49 52 20 4f 52 20 43 4f 52 52 45 43 54 49 4f 4e 2e 0a 0a 20 20 31 36 2e 20 4c 69 6d 69 74 61 74 | IR.OR.CORRECTION.....16..Limitat |
| 502a0 | 69 6f 6e 20 6f 66 20 4c 69 61 62 69 6c 69 74 79 2e 0a 0a 20 20 20 20 20 49 4e 20 4e 4f 20 45 56 | ion.of.Liability........IN.NO.EV |
| 502c0 | 45 4e 54 20 55 4e 4c 45 53 53 20 52 45 51 55 49 52 45 44 20 42 59 20 41 50 50 4c 49 43 41 42 4c | ENT.UNLESS.REQUIRED.BY.APPLICABL |
| 502e0 | 45 20 4c 41 57 20 4f 52 20 41 47 52 45 45 44 20 54 4f 20 49 4e 0a 20 20 20 20 20 57 52 49 54 49 | E.LAW.OR.AGREED.TO.IN......WRITI |
| 50300 | 4e 47 20 57 49 4c 4c 20 41 4e 59 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 2c 20 4f 52 | NG.WILL.ANY.COPYRIGHT.HOLDER,.OR |
| 50320 | 20 41 4e 59 20 4f 54 48 45 52 20 50 41 52 54 59 20 57 48 4f 20 4d 4f 44 49 46 49 45 53 0a 20 20 | .ANY.OTHER.PARTY.WHO.MODIFIES... |
| 50340 | 20 20 20 41 4e 44 2f 4f 52 20 43 4f 4e 56 45 59 53 20 54 48 45 20 50 52 4f 47 52 41 4d 20 41 53 | ...AND/OR.CONVEYS.THE.PROGRAM.AS |
| 50360 | 20 50 45 52 4d 49 54 54 45 44 20 41 42 4f 56 45 2c 20 42 45 20 4c 49 41 42 4c 45 20 54 4f 20 59 | .PERMITTED.ABOVE,.BE.LIABLE.TO.Y |
| 50380 | 4f 55 20 46 4f 52 0a 20 20 20 20 20 44 41 4d 41 47 45 53 2c 20 49 4e 43 4c 55 44 49 4e 47 20 41 | OU.FOR......DAMAGES,.INCLUDING.A |
| 503a0 | 4e 59 20 47 45 4e 45 52 41 4c 2c 20 53 50 45 43 49 41 4c 2c 20 49 4e 43 49 44 45 4e 54 41 4c 20 | NY.GENERAL,.SPECIAL,.INCIDENTAL. |
| 503c0 | 4f 52 0a 20 20 20 20 20 43 4f 4e 53 45 51 55 45 4e 54 49 41 4c 20 44 41 4d 41 47 45 53 20 41 52 | OR......CONSEQUENTIAL.DAMAGES.AR |
| 503e0 | 49 53 49 4e 47 20 4f 55 54 20 4f 46 20 54 48 45 20 55 53 45 20 4f 52 20 49 4e 41 42 49 4c 49 54 | ISING.OUT.OF.THE.USE.OR.INABILIT |
| 50400 | 59 20 54 4f 20 55 53 45 0a 20 20 20 20 20 54 48 45 20 50 52 4f 47 52 41 4d 20 28 49 4e 43 4c 55 | Y.TO.USE......THE.PROGRAM.(INCLU |
| 50420 | 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 4c 4f 53 53 20 4f 46 20 | DING.BUT.NOT.LIMITED.TO.LOSS.OF. |
| 50440 | 44 41 54 41 20 4f 52 20 44 41 54 41 0a 20 20 20 20 20 42 45 49 4e 47 20 52 45 4e 44 45 52 45 44 | DATA.OR.DATA......BEING.RENDERED |
| 50460 | 20 49 4e 41 43 43 55 52 41 54 45 20 4f 52 20 4c 4f 53 53 45 53 20 53 55 53 54 41 49 4e 45 44 20 | .INACCURATE.OR.LOSSES.SUSTAINED. |
| 50480 | 42 59 20 59 4f 55 20 4f 52 20 54 48 49 52 44 0a 20 20 20 20 20 50 41 52 54 49 45 53 20 4f 52 20 | BY.YOU.OR.THIRD......PARTIES.OR. |
| 504a0 | 41 20 46 41 49 4c 55 52 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d 20 54 4f 20 4f 50 45 52 | A.FAILURE.OF.THE.PROGRAM.TO.OPER |
| 504c0 | 41 54 45 20 57 49 54 48 20 41 4e 59 20 4f 54 48 45 52 0a 20 20 20 20 20 50 52 4f 47 52 41 4d 53 | ATE.WITH.ANY.OTHER......PROGRAMS |
| 504e0 | 29 2c 20 45 56 45 4e 20 49 46 20 53 55 43 48 20 48 4f 4c 44 45 52 20 4f 52 20 4f 54 48 45 52 20 | ),.EVEN.IF.SUCH.HOLDER.OR.OTHER. |
| 50500 | 50 41 52 54 59 20 48 41 53 20 42 45 45 4e 20 41 44 56 49 53 45 44 20 4f 46 0a 20 20 20 20 20 54 | PARTY.HAS.BEEN.ADVISED.OF......T |
| 50520 | 48 45 20 50 4f 53 53 49 42 49 4c 49 54 59 20 4f 46 20 53 55 43 48 20 44 41 4d 41 47 45 53 2e 0a | HE.POSSIBILITY.OF.SUCH.DAMAGES.. |
| 50540 | 0a 20 20 31 37 2e 20 49 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 20 6f 66 20 53 65 63 74 69 6f 6e | ...17..Interpretation.of.Section |
| 50560 | 73 20 31 35 20 61 6e 64 20 31 36 2e 0a 0a 20 20 20 20 20 49 66 20 74 68 65 20 64 69 73 63 6c 61 | s.15.and.16........If.the.discla |
| 50580 | 69 6d 65 72 20 6f 66 20 77 61 72 72 61 6e 74 79 20 61 6e 64 20 6c 69 6d 69 74 61 74 69 6f 6e 20 | imer.of.warranty.and.limitation. |
| 505a0 | 6f 66 20 6c 69 61 62 69 6c 69 74 79 20 70 72 6f 76 69 64 65 64 0a 20 20 20 20 20 61 62 6f 76 65 | of.liability.provided......above |
| 505c0 | 20 63 61 6e 6e 6f 74 20 62 65 20 67 69 76 65 6e 20 6c 6f 63 61 6c 20 6c 65 67 61 6c 20 65 66 66 | .cannot.be.given.local.legal.eff |
| 505e0 | 65 63 74 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 69 72 20 74 65 72 6d 73 2c 0a 20 20 | ect.according.to.their.terms,... |
| 50600 | 20 20 20 72 65 76 69 65 77 69 6e 67 20 63 6f 75 72 74 73 20 73 68 61 6c 6c 20 61 70 70 6c 79 20 | ...reviewing.courts.shall.apply. |
| 50620 | 6c 6f 63 61 6c 20 6c 61 77 20 74 68 61 74 20 6d 6f 73 74 20 63 6c 6f 73 65 6c 79 0a 20 20 20 20 | local.law.that.most.closely..... |
| 50640 | 20 61 70 70 72 6f 78 69 6d 61 74 65 73 20 61 6e 20 61 62 73 6f 6c 75 74 65 20 77 61 69 76 65 72 | .approximates.an.absolute.waiver |
| 50660 | 20 6f 66 20 61 6c 6c 20 63 69 76 69 6c 20 6c 69 61 62 69 6c 69 74 79 20 69 6e 0a 20 20 20 20 20 | .of.all.civil.liability.in...... |
| 50680 | 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 75 6e 6c | connection.with.the.Program,.unl |
| 506a0 | 65 73 73 20 61 20 77 61 72 72 61 6e 74 79 20 6f 72 20 61 73 73 75 6d 70 74 69 6f 6e 20 6f 66 0a | ess.a.warranty.or.assumption.of. |
| 506c0 | 20 20 20 20 20 6c 69 61 62 69 6c 69 74 79 20 61 63 63 6f 6d 70 61 6e 69 65 73 20 61 20 63 6f 70 | .....liability.accompanies.a.cop |
| 506e0 | 79 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 6e 20 72 65 74 75 72 6e 20 66 6f 72 20 61 | y.of.the.Program.in.return.for.a |
| 50700 | 20 66 65 65 2e 0a 0a 45 4e 44 20 4f 46 20 54 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f | .fee...END.OF.TERMS.AND.CONDITIO |
| 50720 | 4e 53 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a | NS.===========================.. |
| 50740 | 48 6f 77 20 74 6f 20 41 70 70 6c 79 20 54 68 65 73 65 20 54 65 72 6d 73 20 74 6f 20 59 6f 75 72 | How.to.Apply.These.Terms.to.Your |
| 50760 | 20 4e 65 77 20 50 72 6f 67 72 61 6d 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | .New.Programs.================== |
| 50780 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 49 66 20 | ===========================..If. |
| 507a0 | 79 6f 75 20 64 65 76 65 6c 6f 70 20 61 20 6e 65 77 20 70 72 6f 67 72 61 6d 2c 20 61 6e 64 20 79 | you.develop.a.new.program,.and.y |
| 507c0 | 6f 75 20 77 61 6e 74 20 69 74 20 74 6f 20 62 65 20 6f 66 20 74 68 65 20 67 72 65 61 74 65 73 74 | ou.want.it.to.be.of.the.greatest |
| 507e0 | 0a 70 6f 73 73 69 62 6c 65 20 75 73 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 2c 20 74 68 65 | .possible.use.to.the.public,.the |
| 50800 | 20 62 65 73 74 20 77 61 79 20 74 6f 20 61 63 68 69 65 76 65 20 74 68 69 73 20 69 73 20 74 6f 20 | .best.way.to.achieve.this.is.to. |
| 50820 | 6d 61 6b 65 20 69 74 0a 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 77 68 69 63 68 20 65 76 65 72 | make.it.free.software.which.ever |
| 50840 | 79 6f 6e 65 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 20 63 68 61 6e 67 65 | yone.can.redistribute.and.change |
| 50860 | 20 75 6e 64 65 72 20 74 68 65 73 65 0a 74 65 72 6d 73 2e 0a 0a 20 20 20 54 6f 20 64 6f 20 73 6f | .under.these.terms......To.do.so |
| 50880 | 2c 20 61 74 74 61 63 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6e 6f 74 69 63 65 73 20 74 | ,.attach.the.following.notices.t |
| 508a0 | 6f 20 74 68 65 20 70 72 6f 67 72 61 6d 2e 20 20 49 74 20 69 73 20 73 61 66 65 73 74 0a 74 6f 20 | o.the.program...It.is.safest.to. |
| 508c0 | 61 74 74 61 63 68 20 74 68 65 6d 20 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 65 61 63 68 | attach.them.to.the.start.of.each |
| 508e0 | 20 73 6f 75 72 63 65 20 66 69 6c 65 20 74 6f 20 6d 6f 73 74 20 65 66 66 65 63 74 69 76 65 6c 79 | .source.file.to.most.effectively |
| 50900 | 0a 73 74 61 74 65 20 74 68 65 20 65 78 63 6c 75 73 69 6f 6e 20 6f 66 20 77 61 72 72 61 6e 74 79 | .state.the.exclusion.of.warranty |
| 50920 | 3b 20 61 6e 64 20 65 61 63 68 20 66 69 6c 65 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 74 20 6c | ;.and.each.file.should.have.at.l |
| 50940 | 65 61 73 74 20 74 68 65 0a e2 80 9c 63 6f 70 79 72 69 67 68 74 e2 80 9d 20 6c 69 6e 65 20 61 6e | east.the....copyright....line.an |
| 50960 | 64 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 77 68 65 72 65 20 74 68 65 20 66 75 6c 6c 20 6e 6f | d.a.pointer.to.where.the.full.no |
| 50980 | 74 69 63 65 20 69 73 20 66 6f 75 6e 64 2e 0a 0a 20 20 20 20 20 4f 4e 45 20 4c 49 4e 45 20 54 4f | tice.is.found........ONE.LINE.TO |
| 509a0 | 20 47 49 56 45 20 54 48 45 20 50 52 4f 47 52 41 4d 27 53 20 4e 41 4d 45 20 41 4e 44 20 41 20 42 | .GIVE.THE.PROGRAM'S.NAME.AND.A.B |
| 509c0 | 52 49 45 46 20 49 44 45 41 20 4f 46 20 57 48 41 54 20 49 54 20 44 4f 45 53 2e 0a 20 20 20 20 20 | RIEF.IDEA.OF.WHAT.IT.DOES....... |
| 509e0 | 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 59 45 41 52 20 4e 41 4d 45 20 4f 46 20 41 55 54 48 4f | Copyright.(C).YEAR.NAME.OF.AUTHO |
| 50a00 | 52 0a 0a 20 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 | R.......This.program.is.free.sof |
| 50a20 | 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 | tware:.you.can.redistribute.it.a |
| 50a40 | 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 20 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 | nd/or.modify......it.under.the.t |
| 50a60 | 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c | erms.of.the.GNU.General.Public.L |
| 50a80 | 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 20 74 68 65 20 | icense.as.published.by......the. |
| 50aa0 | 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 | Free.Software.Foundation,.either |
| 50ac0 | 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 20 28 61 | .version.3.of.the.License,.or.(a |
| 50ae0 | 74 0a 20 20 20 20 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 | t......your.option).any.later.ve |
| 50b00 | 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 | rsion........This.program.is.dis |
| 50b20 | 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c | tributed.in.the.hope.that.it.wil |
| 50b40 | 6c 20 62 65 20 75 73 65 66 75 6c 2c 20 62 75 74 0a 20 20 20 20 20 57 49 54 48 4f 55 54 20 41 4e | l.be.useful,.but......WITHOUT.AN |
| 50b60 | 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 | Y.WARRANTY;.without.even.the.imp |
| 50b80 | 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 | lied.warranty.of......MERCHANTAB |
| 50ba0 | 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 | ILITY.or.FITNESS.FOR.A.PARTICULA |
| 50bc0 | 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 20 47 4e 55 0a 20 20 20 20 20 47 65 6e | R.PURPOSE...See.the.GNU......Gen |
| 50be0 | 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 | eral.Public.License.for.more.det |
| 50c00 | 61 69 6c 73 2e 0a 0a 20 20 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 | ails........You.should.have.rece |
| 50c20 | 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 | ived.a.copy.of.the.GNU.General.P |
| 50c40 | 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 | ublic.License......along.with.th |
| 50c60 | 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a | is.program...If.not,.see.<https: |
| 50c80 | 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 20 20 20 41 6c | //www.gnu.org/licenses/>......Al |
| 50ca0 | 73 6f 20 61 64 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 68 6f 77 20 74 6f 20 63 6f 6e | so.add.information.on.how.to.con |
| 50cc0 | 74 61 63 74 20 79 6f 75 20 62 79 20 65 6c 65 63 74 72 6f 6e 69 63 20 61 6e 64 20 70 61 70 65 72 | tact.you.by.electronic.and.paper |
| 50ce0 | 0a 6d 61 69 6c 2e 0a 0a 20 20 20 49 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 64 6f 65 73 20 74 | .mail......If.the.program.does.t |
| 50d00 | 65 72 6d 69 6e 61 6c 20 69 6e 74 65 72 61 63 74 69 6f 6e 2c 20 6d 61 6b 65 20 69 74 20 6f 75 74 | erminal.interaction,.make.it.out |
| 50d20 | 70 75 74 20 61 20 73 68 6f 72 74 0a 6e 6f 74 69 63 65 20 6c 69 6b 65 20 74 68 69 73 20 77 68 65 | put.a.short.notice.like.this.whe |
| 50d40 | 6e 20 69 74 20 73 74 61 72 74 73 20 69 6e 20 61 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f | n.it.starts.in.an.interactive.mo |
| 50d60 | 64 65 3a 0a 0a 20 20 20 20 20 50 52 4f 47 52 41 4d 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 | de:.......PROGRAM.Copyright.(C). |
| 50d80 | 59 45 41 52 20 4e 41 4d 45 20 4f 46 20 41 55 54 48 4f 52 0a 20 20 20 20 20 54 68 69 73 20 70 72 | YEAR.NAME.OF.AUTHOR......This.pr |
| 50da0 | 6f 67 72 61 6d 20 63 6f 6d 65 73 20 77 69 74 68 20 41 42 53 4f 4c 55 54 45 4c 59 20 4e 4f 20 57 | ogram.comes.with.ABSOLUTELY.NO.W |
| 50dc0 | 41 52 52 41 4e 54 59 3b 20 66 6f 72 20 64 65 74 61 69 6c 73 20 74 79 70 65 20 e2 80 98 73 68 6f | ARRANTY;.for.details.type....sho |
| 50de0 | 77 20 77 e2 80 99 2e 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 | w.w..........This.is.free.softwa |
| 50e00 | 72 65 2c 20 61 6e 64 20 79 6f 75 20 61 72 65 20 77 65 6c 63 6f 6d 65 20 74 6f 20 72 65 64 69 73 | re,.and.you.are.welcome.to.redis |
| 50e20 | 74 72 69 62 75 74 65 20 69 74 0a 20 20 20 20 20 75 6e 64 65 72 20 63 65 72 74 61 69 6e 20 63 6f | tribute.it......under.certain.co |
| 50e40 | 6e 64 69 74 69 6f 6e 73 3b 20 74 79 70 65 20 e2 80 98 73 68 6f 77 20 63 e2 80 99 20 66 6f 72 20 | nditions;.type....show.c....for. |
| 50e60 | 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 54 68 65 20 68 79 70 6f 74 68 65 74 69 63 61 6c 20 63 6f | details......The.hypothetical.co |
| 50e80 | 6d 6d 61 6e 64 73 20 e2 80 98 73 68 6f 77 20 77 e2 80 99 20 61 6e 64 20 e2 80 98 73 68 6f 77 20 | mmands....show.w....and....show. |
| 50ea0 | 63 e2 80 99 20 73 68 6f 75 6c 64 20 73 68 6f 77 20 74 68 65 0a 61 70 70 72 6f 70 72 69 61 74 65 | c....should.show.the.appropriate |
| 50ec0 | 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 | .parts.of.the.General.Public.Lic |
| 50ee0 | 65 6e 73 65 2e 20 20 4f 66 20 63 6f 75 72 73 65 2c 20 79 6f 75 72 0a 70 72 6f 67 72 61 6d e2 80 | ense...Of.course,.your.program.. |
| 50f00 | 99 73 20 63 6f 6d 6d 61 6e 64 73 20 6d 69 67 68 74 20 62 65 20 64 69 66 66 65 72 65 6e 74 3b 20 | .s.commands.might.be.different;. |
| 50f20 | 66 6f 72 20 61 20 47 55 49 20 69 6e 74 65 72 66 61 63 65 2c 20 79 6f 75 20 77 6f 75 6c 64 0a 75 | for.a.GUI.interface,.you.would.u |
| 50f40 | 73 65 20 61 6e 20 e2 80 9c 61 62 6f 75 74 20 62 6f 78 e2 80 9d 2e 0a 0a 20 20 20 59 6f 75 20 73 | se.an....about.box.........You.s |
| 50f60 | 68 6f 75 6c 64 20 61 6c 73 6f 20 67 65 74 20 79 6f 75 72 20 65 6d 70 6c 6f 79 65 72 20 28 69 66 | hould.also.get.your.employer.(if |
| 50f80 | 20 79 6f 75 20 77 6f 72 6b 20 61 73 20 61 20 70 72 6f 67 72 61 6d 6d 65 72 29 20 6f 72 0a 73 63 | .you.work.as.a.programmer).or.sc |
| 50fa0 | 68 6f 6f 6c 2c 20 69 66 20 61 6e 79 2c 20 74 6f 20 73 69 67 6e 20 61 20 e2 80 9c 63 6f 70 79 72 | hool,.if.any,.to.sign.a....copyr |
| 50fc0 | 69 67 68 74 20 64 69 73 63 6c 61 69 6d 65 72 e2 80 9d 20 66 6f 72 20 74 68 65 20 70 72 6f 67 72 | ight.disclaimer....for.the.progr |
| 50fe0 | 61 6d 2c 20 69 66 0a 6e 65 63 65 73 73 61 72 79 2e 20 20 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f | am,.if.necessary...For.more.info |
| 51000 | 72 6d 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 2c 20 61 6e 64 20 68 6f 77 20 74 6f 20 61 70 70 6c | rmation.on.this,.and.how.to.appl |
| 51020 | 79 20 61 6e 64 20 66 6f 6c 6c 6f 77 0a 74 68 65 20 47 4e 55 20 47 50 4c 2c 20 73 65 65 20 3c 68 | y.and.follow.the.GNU.GPL,.see.<h |
| 51040 | 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a | ttps://www.gnu.org/licenses/>... |
| 51060 | 20 20 20 54 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 | ...The.GNU.General.Public.Licens |
| 51080 | 65 20 64 6f 65 73 20 6e 6f 74 20 70 65 72 6d 69 74 20 69 6e 63 6f 72 70 6f 72 61 74 69 6e 67 20 | e.does.not.permit.incorporating. |
| 510a0 | 79 6f 75 72 0a 70 72 6f 67 72 61 6d 20 69 6e 74 6f 20 70 72 6f 70 72 69 65 74 61 72 79 20 70 72 | your.program.into.proprietary.pr |
| 510c0 | 6f 67 72 61 6d 73 2e 20 20 49 66 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 69 73 20 61 20 73 75 | ograms...If.your.program.is.a.su |
| 510e0 | 62 72 6f 75 74 69 6e 65 0a 6c 69 62 72 61 72 79 2c 20 79 6f 75 20 6d 61 79 20 63 6f 6e 73 69 64 | broutine.library,.you.may.consid |
| 51100 | 65 72 20 69 74 20 6d 6f 72 65 20 75 73 65 66 75 6c 20 74 6f 20 70 65 72 6d 69 74 20 6c 69 6e 6b | er.it.more.useful.to.permit.link |
| 51120 | 69 6e 67 20 70 72 6f 70 72 69 65 74 61 72 79 0a 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 77 69 74 | ing.proprietary.applications.wit |
| 51140 | 68 20 74 68 65 20 6c 69 62 72 61 72 79 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 77 68 61 74 20 | h.the.library...If.this.is.what. |
| 51160 | 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 6f 2c 20 75 73 65 20 74 68 65 0a 47 4e 55 20 4c 65 73 73 | you.want.to.do,.use.the.GNU.Less |
| 51180 | 65 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 | er.General.Public.License.instea |
| 511a0 | 64 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 42 75 74 20 66 69 72 73 74 2c 0a 70 | d.of.this.License...But.first,.p |
| 511c0 | 6c 65 61 73 65 20 72 65 61 64 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f | lease.read.<https://www.gnu.org/ |
| 511e0 | 6c 69 63 65 6e 73 65 73 2f 77 68 79 2d 6e 6f 74 2d 6c 67 70 6c 2e 68 74 6d 6c 3e 2e 0a 0a 1f 0a | licenses/why-not-lgpl.html>..... |
| 51200 | 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 49 6e 64 65 78 2c 20 20 | File:.dash.info,..Node:.Index,.. |
| 51220 | 50 72 65 76 3a 20 47 50 4c 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 49 6e 64 65 78 0a 2a 2a 2a 2a 2a | Prev:.GPL,..Up:.Top..Index.***** |
| 51240 | 0a 0a 00 08 5b 69 6e 64 65 78 00 08 5d 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 21 63 64 72 3a 20 20 | ....[index..].*.Menu:..*.!cdr:.. |
| 51260 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 51280 | 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 | Destructive.operations.......... |
| 512a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 512c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 36 29 | ......................(line..16) |
| 512e0 | 0a 2a 20 21 63 6f 6e 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .*.!cons:....................... |
| 51300 | 20 20 20 20 20 20 20 20 20 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 | ..........Destructive.operations |
| 51320 | 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 51340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 51360 | 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 2d 3e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (line...8).*.-->:............... |
| 51380 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 20 6d 61 | ....................Threading.ma |
| 513a0 | 63 72 6f 73 2e 20 20 20 20 28 6c 69 6e 65 20 20 33 35 29 0a 2a 20 2d 3e 3a 20 20 20 20 20 20 20 | cros.....(line..35).*.->:....... |
| 513c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 72 | .............................Thr |
| 513e0 | 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2e 20 20 20 20 28 6c 69 6e 65 20 20 20 39 29 0a 2a 20 2d | eading.macros.....(line...9).*.- |
| 51400 | 3e 3e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | >>:............................. |
| 51420 | 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2e 20 20 20 20 28 6c 69 6e 65 | ......Threading.macros.....(line |
| 51440 | 20 20 32 32 29 0a 2a 20 2d 61 6c 6c 3f 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..22).*.-all?:.................. |
| 51460 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 20 20 20 | ...............Predicates....... |
| 51480 | 20 20 20 20 28 6c 69 6e 65 20 20 35 33 29 0a 2a 20 2d 61 6e 64 66 6e 3a 20 20 20 20 20 20 20 20 | ....(line..53).*.-andfn:........ |
| 514a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e | ........................Function |
| 514c0 | 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .combinators.................... |
| 514e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 51500 | 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 38 34 29 0a 2a 20 2d 61 6e 6e 6f 74 61 | ............(line.184).*.-annota |
| 51520 | 74 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | te:............................. |
| 51540 | 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 38 36 29 0a | Maps.................(line..86). |
| 51560 | 2a 20 2d 61 6e 79 3f 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | *.-any?:........................ |
| 51580 | 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c | .........Predicates...........(l |
| 515a0 | 69 6e 65 20 20 34 31 29 0a 2a 20 2d 61 70 70 6c 69 66 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 | ine..41).*.-applify:............ |
| 515c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 | ..................Function.combi |
| 515e0 | 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nators.......................... |
| 51600 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 51620 | 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 33 29 0a 2a 20 2d 61 73 2d 3e 3a 20 20 20 20 20 20 20 | ......(line..63).*.-as->:....... |
| 51640 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 | ..........................Thread |
| 51660 | 69 6e 67 20 6d 61 63 72 6f 73 2e 20 20 20 20 28 6c 69 6e 65 20 20 34 39 29 0a 2a 20 2d 62 75 74 | ing.macros.....(line..49).*.-but |
| 51680 | 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | last:........................... |
| 516a0 | 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 | ...Other.list.operations........ |
| 516c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 516e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 34 30 | ........................(line.40 |
| 51700 | 35 29 0a 2a 20 2d 63 6c 6f 6e 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 5).*.-clone:.................... |
| 51720 | 20 20 20 20 20 20 20 20 20 20 20 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 | ............Tree.operations..... |
| 51740 | 20 28 6c 69 6e 65 20 31 32 33 29 0a 2a 20 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 3a 20 20 20 | .(line.123).*.-common-prefix:... |
| 51760 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e | .....................Reductions. |
| 51780 | 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 34 32 29 0a 2a 20 2d 63 6f 6d 6d 6f 6e 2d 73 | ..........(line.242).*.-common-s |
| 517a0 | 75 66 66 69 78 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 | uffix:........................Re |
| 517c0 | 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 35 32 29 0a 2a 20 | ductions...........(line.252).*. |
| 517e0 | 2d 63 6f 6d 70 6f 73 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -compose:....................... |
| 51800 | 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 | .......Function.combinators..... |
| 51820 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 51840 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 | ...........................(line |
| 51860 | 20 20 34 39 29 0a 2a 20 2d 63 6f 6e 63 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..49).*.-concat:................ |
| 51880 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 | ...............List.to.list..... |
| 518a0 | 20 20 20 20 28 6c 69 6e 65 20 20 32 33 29 0a 2a 20 2d 63 6f 6e 73 2a 3a 20 20 20 20 20 20 20 20 | ....(line..23).*.-cons*:........ |
| 518c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 | ........................Other.li |
| 518e0 | 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | st.operations................... |
| 51900 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 51920 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 39 29 0a 2a 20 2d 63 6f 6e 73 2d | .............(line..19).*.-cons- |
| 51940 | 70 61 69 72 3f 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | pair?:.......................... |
| 51960 | 20 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 35 34 29 | .Predicates...........(line.154) |
| 51980 | 0a 2a 20 2d 63 6f 6e 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .*.-const:...................... |
| 519a0 | 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a | ..........Function.combinators.. |
| 519c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 519e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c | ..............................(l |
| 51a00 | 69 6e 65 20 31 32 38 29 0a 2a 20 2d 63 6f 6e 74 61 69 6e 73 3f 3a 20 20 20 20 20 20 20 20 20 20 | ine.128).*.-contains?:.......... |
| 51a20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 | ..................Predicates.... |
| 51a40 | 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 30 30 29 0a 2a 20 2d 63 6f 70 79 3a 20 20 20 20 20 20 | .......(line.100).*.-copy:...... |
| 51a60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e | ...........................Maps. |
| 51a80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 35 31 29 0a 2a 20 2d 63 6f | ................(line.151).*.-co |
| 51aa0 | 75 6e 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | unt:............................ |
| 51ac0 | 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 | ....Reductions...........(line.1 |
| 51ae0 | 37 32 29 0a 2a 20 2d 63 75 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 72).*.-cut:..................... |
| 51b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 | .............Function.combinator |
| 51b20 | 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | s............................... |
| 51b40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 51b60 | 20 28 6c 69 6e 65 20 31 34 30 29 0a 2a 20 2d 63 79 63 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 | .(line.140).*.-cycle:........... |
| 51b80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 6e 66 6f 6c 64 69 6e 67 2e 20 | .....................Unfolding.. |
| 51ba0 | 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 35 29 0a 2a 20 2d 64 69 66 66 65 72 65 6e | ..........(line..55).*.-differen |
| 51bc0 | 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 | ce:...........................Se |
| 51be0 | 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 32 29 0a 2a 20 | t.operations.......(line..22).*. |
| 51c00 | 2d 64 69 73 74 69 6e 63 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -distinct:...................... |
| 51c20 | 20 20 20 20 20 20 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 20 28 6c 69 6e | .......Set.operations.......(lin |
| 51c40 | 65 20 20 37 33 29 0a 2a 20 2d 64 6f 74 69 6d 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e..73).*.-dotimes:.............. |
| 51c60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 69 64 65 20 65 66 66 65 63 74 73 2e 20 20 20 | ................Side.effects.... |
| 51c80 | 20 20 20 20 20 28 6c 69 6e 65 20 20 38 30 29 0a 2a 20 2d 64 6f 74 6f 3a 20 20 20 20 20 20 20 20 | .....(line..80).*.-doto:........ |
| 51ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 | .........................Threadi |
| 51cc0 | 6e 67 20 6d 61 63 72 6f 73 2e 20 20 20 20 28 6c 69 6e 65 20 20 39 39 29 0a 2a 20 2d 64 72 6f 70 | ng.macros.....(line..99).*.-drop |
| 51ce0 | 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | :............................... |
| 51d00 | 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 31 34 39 | ..Sublist.selection....(line.149 |
| 51d20 | 29 0a 2a 20 2d 64 72 6f 70 2d 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ).*.-drop-last:................. |
| 51d40 | 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 | ...........Sublist.selection.... |
| 51d60 | 28 6c 69 6e 65 20 31 36 33 29 0a 2a 20 2d 64 72 6f 70 2d 77 68 69 6c 65 3a 20 20 20 20 20 20 20 | (line.163).*.-drop-while:....... |
| 51d80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 | ....................Sublist.sele |
| 51da0 | 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 31 39 34 29 0a 2a 20 2d 65 61 63 68 3a 20 20 20 20 | ction....(line.194).*.-each:.... |
| 51dc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 69 64 | .............................Sid |
| 51de0 | 65 20 65 66 66 65 63 74 73 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d | e.effects.........(line...8).*.- |
| 51e00 | 65 61 63 68 2d 69 6e 64 65 78 65 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | each-indexed:................... |
| 51e20 | 20 20 20 20 20 20 53 69 64 65 20 65 66 66 65 63 74 73 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 | ......Side.effects.........(line |
| 51e40 | 20 20 33 38 29 0a 2a 20 2d 65 61 63 68 2d 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..38).*.-each-r:................ |
| 51e60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 69 64 65 20 65 66 66 65 63 74 73 2e 20 20 20 20 | ...............Side.effects..... |
| 51e80 | 20 20 20 20 28 6c 69 6e 65 20 20 35 32 29 0a 2a 20 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 3a 20 | ....(line..52).*.-each-r-while:. |
| 51ea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 69 64 65 20 65 66 66 | ........................Side.eff |
| 51ec0 | 65 63 74 73 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 35 29 0a 2a 20 2d 65 61 63 68 2d | ects.........(line..65).*.-each- |
| 51ee0 | 77 68 69 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | while:.......................... |
| 51f00 | 20 53 69 64 65 20 65 66 66 65 63 74 73 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 34 29 | .Side.effects.........(line..24) |
| 51f20 | 0a 2a 20 2d 65 6c 65 6d 2d 69 6e 64 65 78 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .*.-elem-index:................. |
| 51f40 | 20 20 20 20 20 20 20 20 20 20 49 6e 64 65 78 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 28 | ..........Indexing.............( |
| 51f60 | 6c 69 6e 65 20 20 20 39 29 0a 2a 20 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 3a 20 20 20 20 20 20 | line...9).*.-elem-indices:...... |
| 51f80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 65 78 69 6e 67 2e 20 20 20 20 | ...................Indexing..... |
| 51fa0 | 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 33 29 0a 2a 20 2d 65 76 65 72 79 3a 20 20 20 20 | ........(line..23).*.-every:.... |
| 51fc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 | ............................Pred |
| 51fe0 | 69 63 61 74 65 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 33 29 0a 2a 20 2d 66 | icates...........(line..23).*.-f |
| 52000 | 69 66 74 68 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ifth-item:...................... |
| 52020 | 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 | .....Other.list.operations...... |
| 52040 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 52060 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 | ..........................(line. |
| 52080 | 33 38 30 29 0a 2a 20 2d 66 69 6c 74 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 380).*.-filter:................. |
| 520a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e | ..............Sublist.selection. |
| 520c0 | 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 66 69 6e 64 2d 69 6e 64 65 78 3a 20 20 20 20 | ...(line...8).*.-find-index:.... |
| 520e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 65 78 69 6e 67 2e | .......................Indexing. |
| 52100 | 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 35 29 0a 2a 20 2d 66 69 6e 64 2d 69 | ............(line..35).*.-find-i |
| 52120 | 6e 64 69 63 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ndices:......................... |
| 52140 | 49 6e 64 65 78 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 33 29 0a | Indexing.............(line..73). |
| 52160 | 2a 20 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 | *.-find-last-index:............. |
| 52180 | 20 20 20 20 20 20 20 20 20 49 6e 64 65 78 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 28 6c | .........Indexing.............(l |
| 521a0 | 69 6e 65 20 20 35 34 29 0a 2a 20 2d 66 69 72 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ine..54).*.-first:.............. |
| 521c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 | ..................Other.list.ope |
| 521e0 | 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rations......................... |
| 52200 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 52220 | 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 30 30 29 0a 2a 20 2d 66 69 72 73 74 2d 69 74 65 6d 3a | .......(line.300).*.-first-item: |
| 52240 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 | ...........................Other |
| 52260 | 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .list.operations................ |
| 52280 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 522a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 32 38 29 0a 2a 20 2d 66 69 | ................(line.328).*.-fi |
| 522c0 | 78 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | x:.............................. |
| 522e0 | 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 | ....Other.list.operations....... |
| 52300 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 52320 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 34 | .........................(line.4 |
| 52340 | 34 35 29 0a 2a 20 2d 66 69 78 66 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 45).*.-fixfn:................... |
| 52360 | 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 | .............Function.combinator |
| 52380 | 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | s............................... |
| 523a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 523c0 | 20 28 6c 69 6e 65 20 32 32 34 29 0a 2a 20 2d 66 6c 61 74 74 65 6e 3a 20 20 20 20 20 20 20 20 20 | .(line.224).*.-flatten:......... |
| 523e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 | .....................List.to.lis |
| 52400 | 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 38 29 0a 2a 20 2d 66 6c 61 74 74 65 6e 2d | t.........(line..38).*.-flatten- |
| 52420 | 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 | n:............................Li |
| 52440 | 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 30 29 0a 2a 20 | st.to.list.........(line..60).*. |
| 52460 | 2d 66 6c 69 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -flip:.......................... |
| 52480 | 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 | .......Function.combinators..... |
| 524a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 524c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 | ...........................(line |
| 524e0 | 20 20 39 35 29 0a 2a 20 2d 66 6f 75 72 74 68 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 20 20 20 20 | ..95).*.-fourth-item:........... |
| 52500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 | ...............Other.list.operat |
| 52520 | 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ions............................ |
| 52540 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 52560 | 20 20 20 20 28 6c 69 6e 65 20 33 36 37 29 0a 2a 20 2d 66 72 65 71 75 65 6e 63 69 65 73 3a 20 20 | ....(line.367).*.-frequencies:.. |
| 52580 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f | ........................Reductio |
| 525a0 | 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 31 30 29 0a 2a 20 2d 67 72 61 64 65 | ns...........(line.310).*.-grade |
| 525c0 | 2d 64 6f 77 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -down:.......................... |
| 525e0 | 20 49 6e 64 65 78 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 30 33 29 | .Indexing.............(line.103) |
| 52600 | 0a 2a 20 2d 67 72 61 64 65 2d 75 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .*.-grade-up:................... |
| 52620 | 20 20 20 20 20 20 20 20 20 20 49 6e 64 65 78 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 28 | ..........Indexing.............( |
| 52640 | 6c 69 6e 65 20 20 39 33 29 0a 2a 20 2d 67 72 6f 75 70 2d 62 79 3a 20 20 20 20 20 20 20 20 20 20 | line..93).*.-group-by:.......... |
| 52660 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e | ...................Partitioning. |
| 52680 | 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 30 35 29 0a 2a 20 2d 69 66 2d 6c 65 74 3a 20 20 20 | ........(line.205).*.-if-let:... |
| 526a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e 64 | ............................Bind |
| 526c0 | 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 34 29 0a 2a 20 2d 69 | ing..............(line..34).*.-i |
| 526e0 | 66 2d 6c 65 74 2a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | f-let*:......................... |
| 52700 | 20 20 20 20 20 42 69 6e 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 | .....Binding..............(line. |
| 52720 | 20 34 35 29 0a 2a 20 2d 69 6e 69 74 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .45).*.-inits:.................. |
| 52740 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 | ..............Reductions........ |
| 52760 | 20 20 20 28 6c 69 6e 65 20 32 32 32 29 0a 2a 20 2d 69 6e 73 65 72 74 2d 61 74 3a 20 20 20 20 20 | ...(line.222).*.-insert-at:..... |
| 52780 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c | .......................List.to.l |
| 527a0 | 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 31 34 29 0a 2a 20 2d 69 6e 74 65 72 6c | ist.........(line.114).*.-interl |
| 527c0 | 65 61 76 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | eave:........................... |
| 527e0 | 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 | Other.list.operations........... |
| 52800 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 52820 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 36 29 0a | .....................(line..56). |
| 52840 | 2a 20 2d 69 6e 74 65 72 70 6f 73 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | *.-interpose:................... |
| 52860 | 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a | .........Other.list.operations.. |
| 52880 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 528a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c | ..............................(l |
| 528c0 | 69 6e 65 20 20 34 36 29 0a 2a 20 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 3a 20 20 20 20 20 20 20 | ine..46).*.-intersection:....... |
| 528e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 | ..................Set.operations |
| 52900 | 2e 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 36 29 0a 2a 20 2d 69 6f 74 61 3a 20 20 20 20 20 20 | .......(line..36).*.-iota:...... |
| 52920 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 | ...........................Other |
| 52940 | 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .list.operations................ |
| 52960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 52980 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 37 29 0a 2a 20 2d 69 73 | ................(line..67).*.-is |
| 529a0 | 2d 69 6e 66 69 78 3f 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -infix?:........................ |
| 529c0 | 20 20 20 20 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 | ....Predicates...........(line.1 |
| 529e0 | 34 30 29 0a 2a 20 2d 69 73 2d 70 72 65 66 69 78 3f 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 40).*.-is-prefix?:.............. |
| 52a00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 20 20 20 20 20 | .............Predicates......... |
| 52a20 | 20 20 28 6c 69 6e 65 20 31 31 36 29 0a 2a 20 2d 69 73 2d 73 75 66 66 69 78 3f 3a 20 20 20 20 20 | ..(line.116).*.-is-suffix?:..... |
| 52a40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 | ......................Predicates |
| 52a60 | 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 32 38 29 0a 2a 20 2d 69 74 65 72 61 74 65 | ...........(line.128).*.-iterate |
| 52a80 | 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 | :..............................U |
| 52aa0 | 6e 66 6f 6c 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 39 29 0a 2a | nfolding............(line...9).* |
| 52ac0 | 20 2d 69 74 65 72 61 74 65 66 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .-iteratefn:.................... |
| 52ae0 | 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 | ........Function.combinators.... |
| 52b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 52b20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e | ............................(lin |
| 52b40 | 65 20 32 30 31 29 0a 2a 20 2d 6a 75 78 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e.201).*.-juxt:................. |
| 52b60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 | ................Function.combina |
| 52b80 | 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tors............................ |
| 52ba0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 52bc0 | 20 20 20 20 28 6c 69 6e 65 20 20 33 37 29 0a 2a 20 2d 6b 65 65 70 3a 20 20 20 20 20 20 20 20 20 | ....(line..37).*.-keep:......... |
| 52be0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 | ........................List.to. |
| 52c00 | 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 6c 61 6d 62 64 | list.........(line...8).*.-lambd |
| 52c20 | 61 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | a:.............................. |
| 52c40 | 20 42 69 6e 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 34 37 29 | .Binding..............(line.247) |
| 52c60 | 0a 2a 20 2d 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .*.-last:....................... |
| 52c80 | 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e | ..........Other.list.operations. |
| 52ca0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 52cc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | ...............................( |
| 52ce0 | 6c 69 6e 65 20 33 31 38 29 0a 2a 20 2d 6c 61 73 74 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 20 20 | line.318).*.-last-item:......... |
| 52d00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 | ...................Other.list.op |
| 52d20 | 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | erations........................ |
| 52d40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 52d60 | 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 39 33 29 0a 2a 20 2d 6c 65 74 3a 20 20 20 20 20 20 | ........(line.393).*.-let:...... |
| 52d80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e 64 | ............................Bind |
| 52da0 | 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 31 29 0a 2a 20 2d 6c | ing..............(line..61).*.-l |
| 52dc0 | 65 74 2a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | et*:............................ |
| 52de0 | 20 20 20 20 20 42 69 6e 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 | .....Binding..............(line. |
| 52e00 | 32 32 37 29 0a 2a 20 2d 6c 69 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 227).*.-list:................... |
| 52e20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 | ..............Other.list.operati |
| 52e40 | 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ons............................. |
| 52e60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 52e80 | 20 20 20 28 6c 69 6e 65 20 34 32 38 29 0a 2a 20 2d 6d 61 70 3a 20 20 20 20 20 20 20 20 20 20 20 | ...(line.428).*.-map:........... |
| 52ea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 | .......................Maps..... |
| 52ec0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 30 29 0a 2a 20 2d 6d 61 70 2d 66 69 | ............(line..10).*.-map-fi |
| 52ee0 | 72 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rst:............................ |
| 52f00 | 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 38 29 0a | Maps.................(line..38). |
| 52f20 | 2a 20 2d 6d 61 70 2d 69 6e 64 65 78 65 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | *.-map-indexed:................. |
| 52f40 | 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c | .........Maps.................(l |
| 52f60 | 69 6e 65 20 20 36 38 29 0a 2a 20 2d 6d 61 70 2d 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 | ine..68).*.-map-last:........... |
| 52f80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 | ..................Maps.......... |
| 52fa0 | 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 33 29 0a 2a 20 2d 6d 61 70 2d 77 68 65 6e 3a 20 20 | .......(line..53).*.-map-when:.. |
| 52fc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e | ...........................Maps. |
| 52fe0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 32 29 0a 2a 20 2d 6d 61 | ................(line..22).*.-ma |
| 53000 | 70 63 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | pcat:........................... |
| 53020 | 20 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 | ....Maps.................(line.1 |
| 53040 | 34 30 29 0a 2a 20 2d 6d 61 78 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 40).*.-max:..................... |
| 53060 | 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 | .............Reductions......... |
| 53080 | 20 20 28 6c 69 6e 65 20 32 38 36 29 0a 2a 20 2d 6d 61 78 2d 62 79 3a 20 20 20 20 20 20 20 20 20 | ..(line.286).*.-max-by:......... |
| 530a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 | ......................Reductions |
| 530c0 | 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 39 36 29 0a 2a 20 2d 6d 69 6e 3a 20 20 20 | ...........(line.296).*.-min:... |
| 530e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 | ...............................R |
| 53100 | 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 36 32 29 0a 2a | eductions...........(line.262).* |
| 53120 | 20 2d 6d 69 6e 2d 62 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .-min-by:....................... |
| 53140 | 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 | ........Reductions...........(li |
| 53160 | 6e 65 20 32 37 32 29 0a 2a 20 2d 6e 6f 6e 2d 6e 69 6c 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ne.272).*.-non-nil:............. |
| 53180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 | .................Sublist.selecti |
| 531a0 | 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 20 39 35 29 0a 2a 20 2d 6e 6f 6e 65 3f 3a 20 20 20 20 20 20 | on....(line..95).*.-none?:...... |
| 531c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 | ..........................Predic |
| 531e0 | 61 74 65 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 33 29 0a 2a 20 2d 6e 6f 74 | ates...........(line..73).*.-not |
| 53200 | 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | :............................... |
| 53220 | 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 | ...Function.combinators......... |
| 53240 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 53260 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 35 33 | .......................(line.153 |
| 53280 | 29 0a 2a 20 2d 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ).*.-on:........................ |
| 532a0 | 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e | ...........Function.combinators. |
| 532c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 532e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | ...............................( |
| 53300 | 6c 69 6e 65 20 20 37 35 29 0a 2a 20 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 3a 20 20 20 20 20 20 20 20 | line..75).*.-only-some?:........ |
| 53320 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 2e 20 20 | ...................Predicates... |
| 53340 | 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 38 35 29 0a 2a 20 2d 6f 72 66 6e 3a 20 20 20 20 20 | ........(line..85).*.-orfn:..... |
| 53360 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 | ............................Func |
| 53380 | 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tion.combinators................ |
| 533a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 533c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 36 37 29 0a 2a 20 2d 70 61 | ................(line.167).*.-pa |
| 533e0 | 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | d:.............................. |
| 53400 | 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 | ....Other.list.operations....... |
| 53420 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 53440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 | .........................(line.2 |
| 53460 | 34 31 29 0a 2a 20 2d 70 61 72 74 69 61 6c 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 41).*.-partial:................. |
| 53480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 | .............Function.combinator |
| 534a0 | 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | s............................... |
| 534c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 534e0 | 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 3a 20 20 20 20 20 20 20 | .(line...8).*.-partition:....... |
| 53500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e | .....................Partitionin |
| 53520 | 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 39 30 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f | g.........(line..90).*.-partitio |
| 53540 | 6e 2d 61 66 74 65 72 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 | n-after-item:.................Pa |
| 53560 | 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 39 35 29 0a 2a 20 | rtitioning.........(line.195).*. |
| 53580 | 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 3a 20 20 20 20 20 20 20 20 20 20 | -partition-after-pred:.......... |
| 535a0 | 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e | .......Partitioning.........(lin |
| 535c0 | 65 20 31 36 32 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 3a 20 20 20 20 20 20 20 20 | e.162).*.-partition-all:........ |
| 535e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 | ................Partitioning.... |
| 53600 | 20 20 20 20 20 28 6c 69 6e 65 20 31 30 32 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c | .....(line.102).*.-partition-all |
| 53620 | 2d 69 6e 2d 73 74 65 70 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 | -in-steps:...............Partiti |
| 53640 | 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 32 36 29 0a 2a 20 2d 70 61 72 74 | oning.........(line.126).*.-part |
| 53660 | 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ition-before-item:.............. |
| 53680 | 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 38 35 | ..Partitioning.........(line.185 |
| 536a0 | 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 3a 20 20 20 20 20 | ).*.-partition-before-pred:..... |
| 536c0 | 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 | ...........Partitioning......... |
| 536e0 | 28 6c 69 6e 65 20 31 37 34 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 3a 20 20 20 20 20 | (line.174).*.-partition-by:..... |
| 53700 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 | ....................Partitioning |
| 53720 | 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 33 38 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e | .........(line.138).*.-partition |
| 53740 | 2d 62 79 2d 68 65 61 64 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 | -by-header:..................Par |
| 53760 | 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 34 39 29 0a 2a 20 2d | titioning.........(line.149).*.- |
| 53780 | 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 | partition-in-steps:............. |
| 537a0 | 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 | ......Partitioning.........(line |
| 537c0 | 20 31 31 33 29 0a 2a 20 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 3a 20 20 20 20 20 20 20 20 20 20 | .113).*.-permutations:.......... |
| 537e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 | ...............Set.operations... |
| 53800 | 20 20 20 20 28 6c 69 6e 65 20 20 36 30 29 0a 2a 20 2d 70 6f 77 65 72 73 65 74 3a 20 20 20 20 20 | ....(line..60).*.-powerset:..... |
| 53820 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 20 6f 70 65 72 | ........................Set.oper |
| 53840 | 61 74 69 6f 6e 73 2e 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 30 29 0a 2a 20 2d 70 72 6f 64 66 | ations.......(line..50).*.-prodf |
| 53860 | 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | n:.............................. |
| 53880 | 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 | .Function.combinators........... |
| 538a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 538c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 35 38 29 0a | .....................(line.258). |
| 538e0 | 2a 20 2d 70 72 6f 64 75 63 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | *.-product:..................... |
| 53900 | 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c | .........Reductions...........(l |
| 53920 | 69 6e 65 20 32 30 31 29 0a 2a 20 2d 72 65 64 75 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ine.201).*.-reduce:............. |
| 53940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 | ..................Reductions.... |
| 53960 | 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 33 29 0a 2a 20 2d 72 65 64 75 63 65 2d 66 72 6f 6d | .......(line..53).*.-reduce-from |
| 53980 | 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 | :..........................Reduc |
| 539a0 | 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 72 65 | tions...........(line...8).*.-re |
| 539c0 | 64 75 63 65 2d 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | duce-r:......................... |
| 539e0 | 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 | ....Reductions...........(line.. |
| 53a00 | 37 32 29 0a 2a 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 3a 20 20 20 20 20 20 20 20 20 20 20 | 72).*.-reduce-r-from:........... |
| 53a20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 | .............Reductions......... |
| 53a40 | 20 20 28 6c 69 6e 65 20 20 32 36 29 0a 2a 20 2d 72 65 64 75 63 74 69 6f 6e 73 3a 20 20 20 20 20 | ..(line..26).*.-reductions:..... |
| 53a60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 | ......................Reductions |
| 53a80 | 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 33 36 29 0a 2a 20 2d 72 65 64 75 63 74 69 | ...........(line.136).*.-reducti |
| 53aa0 | 6f 6e 73 2d 66 72 6f 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 | ons-from:......................R |
| 53ac0 | 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 30 30 29 0a 2a | eductions...........(line.100).* |
| 53ae0 | 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .-reductions-r:................. |
| 53b00 | 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 | ........Reductions...........(li |
| 53b20 | 6e 65 20 31 35 34 29 0a 2a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 3a 20 20 20 | ne.154).*.-reductions-r-from:... |
| 53b40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 | .................Reductions..... |
| 53b60 | 20 20 20 20 20 20 28 6c 69 6e 65 20 31 31 38 29 0a 2a 20 2d 72 65 6d 6f 76 65 3a 20 20 20 20 20 | ......(line.118).*.-remove:..... |
| 53b80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 | ..........................Sublis |
| 53ba0 | 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 20 32 36 29 0a 2a 20 2d 72 65 6d | t.selection....(line..26).*.-rem |
| 53bc0 | 6f 76 65 2d 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ove-at:......................... |
| 53be0 | 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 35 | ...List.to.list.........(line.15 |
| 53c00 | 31 29 0a 2a 20 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 3a 20 20 20 20 20 20 20 20 | 1).*.-remove-at-indices:........ |
| 53c20 | 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 | ............List.to.list........ |
| 53c40 | 20 28 6c 69 6e 65 20 31 37 30 29 0a 2a 20 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 3a 20 20 20 20 | .(line.170).*.-remove-first:.... |
| 53c60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c | .....................Sublist.sel |
| 53c80 | 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 20 34 34 29 0a 2a 20 2d 72 65 6d 6f 76 65 2d 69 | ection....(line..44).*.-remove-i |
| 53ca0 | 74 65 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 | tem:..........................Su |
| 53cc0 | 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 20 38 34 29 0a 2a 20 | blist.selection....(line..84).*. |
| 53ce0 | 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -remove-last:................... |
| 53d00 | 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e | .......Sublist.selection....(lin |
| 53d20 | 65 20 20 36 35 29 0a 2a 20 2d 72 65 70 65 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e..65).*.-repeat:............... |
| 53d40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 6e 66 6f 6c 64 69 6e 67 2e 20 20 20 20 20 20 | ................Unfolding....... |
| 53d60 | 20 20 20 20 20 28 6c 69 6e 65 20 20 34 34 29 0a 2a 20 2d 72 65 70 6c 61 63 65 3a 20 20 20 20 20 | .....(line..44).*.-replace:..... |
| 53d80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f | .........................List.to |
| 53da0 | 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 32 29 0a 2a 20 2d 72 65 70 6c | .list.........(line..72).*.-repl |
| 53dc0 | 61 63 65 2d 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ace-at:......................... |
| 53de0 | 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 32 35 | ..List.to.list.........(line.125 |
| 53e00 | 29 0a 2a 20 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ).*.-replace-first:............. |
| 53e20 | 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 | ...........List.to.list......... |
| 53e40 | 28 6c 69 6e 65 20 20 38 36 29 0a 2a 20 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 3a 20 20 20 20 20 | (line..86).*.-replace-last:..... |
| 53e60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 | ....................List.to.list |
| 53e80 | 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 30 30 29 0a 2a 20 2d 72 6f 74 61 74 65 3a 20 20 | .........(line.100).*.-rotate:.. |
| 53ea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 | .............................Oth |
| 53ec0 | 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 | er.list.operations.............. |
| 53ee0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 53f00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d | ..................(line...8).*.- |
| 53f20 | 72 6f 74 61 74 65 2d 61 72 67 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rotate-args:.................... |
| 53f40 | 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 | ......Function.combinators...... |
| 53f60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 53f80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 | ..........................(line. |
| 53fa0 | 31 31 32 29 0a 2a 20 2d 72 70 61 72 74 69 61 6c 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 112).*.-rpartial:............... |
| 53fc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f | ..............Function.combinato |
| 53fe0 | 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rs.............................. |
| 54000 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 54020 | 20 20 28 6c 69 6e 65 20 20 32 32 29 0a 2a 20 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 3a | ..(line..22).*.-running-product: |
| 54040 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 | ......................Reductions |
| 54060 | 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 31 31 29 0a 2a 20 2d 72 75 6e 6e 69 6e 67 | ...........(line.211).*.-running |
| 54080 | 2d 73 75 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 | -sum:..........................R |
| 540a0 | 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 39 30 29 0a 2a | eductions...........(line.190).* |
| 540c0 | 20 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .-same-items?:.................. |
| 540e0 | 20 20 20 20 20 20 20 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 20 28 6c 69 | ........Set.operations.......(li |
| 54100 | 6e 65 20 20 38 38 29 0a 2a 20 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 20 20 | ne..88).*.-second-item:......... |
| 54120 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 | .................Other.list.oper |
| 54140 | 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ations.......................... |
| 54160 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 54180 | 20 20 20 20 20 20 28 6c 69 6e 65 20 33 34 31 29 0a 2a 20 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e | ......(line.341).*.-select-by-in |
| 541a0 | 64 69 63 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 | dices:....................Sublis |
| 541c0 | 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 32 31 31 29 0a 2a 20 2d 73 65 6c | t.selection....(line.211).*.-sel |
| 541e0 | 65 63 74 2d 63 6f 6c 75 6d 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ect-column:..................... |
| 54200 | 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 32 34 | ...Sublist.selection....(line.24 |
| 54220 | 31 29 0a 2a 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 3a 20 20 20 20 20 20 20 20 20 20 20 | 1).*.-select-columns:........... |
| 54240 | 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 | ............Sublist.selection... |
| 54260 | 20 28 6c 69 6e 65 20 32 32 32 29 0a 2a 20 2d 73 65 70 61 72 61 74 65 3a 20 20 20 20 20 20 20 20 | .(line.222).*.-separate:........ |
| 54280 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e | .....................Partitionin |
| 542a0 | 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 35 29 0a 2a 20 2d 73 65 74 71 3a 20 20 20 | g.........(line..75).*.-setq:... |
| 542c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 | ..............................Bi |
| 542e0 | 6e 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 37 30 29 0a 2a 20 | nding..............(line.270).*. |
| 54300 | 2d 73 6c 69 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -slice:......................... |
| 54320 | 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e | .......Sublist.selection....(lin |
| 54340 | 65 20 31 30 35 29 0a 2a 20 2d 73 6e 6f 63 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e.105).*.-snoc:................. |
| 54360 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 | ................Other.list.opera |
| 54380 | 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tions........................... |
| 543a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 543c0 | 20 20 20 20 20 28 6c 69 6e 65 20 20 33 32 29 0a 2a 20 2d 73 6f 6d 65 3a 20 20 20 20 20 20 20 20 | .....(line..32).*.-some:........ |
| 543e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 | .........................Predica |
| 54400 | 74 65 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 73 6f 6d 65 | tes...........(line...8).*.-some |
| 54420 | 2d 2d 3e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -->:............................ |
| 54440 | 20 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2e 20 20 20 20 28 6c 69 6e 65 20 20 38 36 | ..Threading.macros.....(line..86 |
| 54460 | 29 0a 2a 20 2d 73 6f 6d 65 2d 3e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ).*.-some->:.................... |
| 54480 | 20 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2e 20 20 20 20 | ...........Threading.macros..... |
| 544a0 | 28 6c 69 6e 65 20 20 36 32 29 0a 2a 20 2d 73 6f 6d 65 2d 3e 3e 3a 20 20 20 20 20 20 20 20 20 20 | (line..62).*.-some->>:.......... |
| 544c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 20 6d 61 | ....................Threading.ma |
| 544e0 | 63 72 6f 73 2e 20 20 20 20 28 6c 69 6e 65 20 20 37 34 29 0a 2a 20 2d 73 6f 72 74 3a 20 20 20 20 | cros.....(line..74).*.-sort:.... |
| 54500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 | .............................Oth |
| 54520 | 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 | er.list.operations.............. |
| 54540 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 54560 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 34 31 35 29 0a 2a 20 2d | ..................(line.415).*.- |
| 54580 | 73 70 6c 69 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | splice:......................... |
| 545a0 | 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 | ......Maps.................(line |
| 545c0 | 20 31 30 32 29 0a 2a 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 | .102).*.-splice-list:........... |
| 545e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 | ...............Maps............. |
| 54600 | 20 20 20 20 28 6c 69 6e 65 20 31 32 37 29 0a 2a 20 2d 73 70 6c 69 74 2d 61 74 3a 20 20 20 20 20 | ....(line.127).*.-split-at:..... |
| 54620 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f | ........................Partitio |
| 54640 | 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 73 70 6c 69 74 | ning.........(line...8).*.-split |
| 54660 | 2d 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -on:............................ |
| 54680 | 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 30 29 | .Partitioning.........(line..40) |
| 546a0 | 0a 2a 20 2d 73 70 6c 69 74 2d 77 68 65 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .*.-split-when:................. |
| 546c0 | 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 | ..........Partitioning.........( |
| 546e0 | 6c 69 6e 65 20 20 35 38 29 0a 2a 20 2d 73 70 6c 69 74 2d 77 69 74 68 3a 20 20 20 20 20 20 20 20 | line..58).*.-split-with:........ |
| 54700 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e | ...................Partitioning. |
| 54720 | 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 33 29 0a 2a 20 2d 73 75 6d 3a 20 20 20 20 20 20 | ........(line..23).*.-sum:...... |
| 54740 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 | ............................Redu |
| 54760 | 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 38 30 29 0a 2a 20 2d 74 | ctions...........(line.180).*.-t |
| 54780 | 61 62 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | able:........................... |
| 547a0 | 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 | .....Other.list.operations...... |
| 547c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 547e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 | ..........................(line. |
| 54800 | 32 35 36 29 0a 2a 20 2d 74 61 62 6c 65 2d 66 6c 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 | 256).*.-table-flat:............. |
| 54820 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 | ..............Other.list.operati |
| 54840 | 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ons............................. |
| 54860 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 54880 | 20 20 20 28 6c 69 6e 65 20 32 37 35 29 0a 2a 20 2d 74 61 69 6c 73 3a 20 20 20 20 20 20 20 20 20 | ...(line.275).*.-tails:......... |
| 548a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e | .......................Reduction |
| 548c0 | 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 33 32 29 0a 2a 20 2d 74 61 6b 65 3a 20 | s...........(line.232).*.-take:. |
| 548e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 54900 | 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 31 32 31 29 0a | Sublist.selection....(line.121). |
| 54920 | 2a 20 2d 74 61 6b 65 2d 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | *.-take-last:................... |
| 54940 | 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c | .........Sublist.selection....(l |
| 54960 | 69 6e 65 20 31 33 35 29 0a 2a 20 2d 74 61 6b 65 2d 77 68 69 6c 65 3a 20 20 20 20 20 20 20 20 20 | ine.135).*.-take-while:......... |
| 54980 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 | ..................Sublist.select |
| 549a0 | 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 31 37 37 29 0a 2a 20 2d 74 68 69 72 64 2d 69 74 65 6d 3a | ion....(line.177).*.-third-item: |
| 549c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 | ...........................Other |
| 549e0 | 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .list.operations................ |
| 54a00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 54a20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 35 34 29 0a 2a 20 2d 74 72 | ................(line.354).*.-tr |
| 54a40 | 65 65 2d 6d 61 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ee-map:......................... |
| 54a60 | 20 20 20 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 6e 65 20 20 | ....Tree.operations......(line.. |
| 54a80 | 32 38 29 0a 2a 20 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 3a 20 20 20 20 20 20 20 20 20 20 | 28).*.-tree-map-nodes:.......... |
| 54aa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 | .............Tree.operations.... |
| 54ac0 | 20 20 28 6c 69 6e 65 20 20 33 39 29 0a 2a 20 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 3a 20 | ..(line..39).*.-tree-mapreduce:. |
| 54ae0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 72 65 65 20 6f 70 65 72 61 | ......................Tree.opera |
| 54b00 | 74 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 6e 65 20 20 38 35 29 0a 2a 20 2d 74 72 65 65 2d 6d 61 | tions......(line..85).*.-tree-ma |
| 54b20 | 70 72 65 64 75 63 65 2d 66 72 6f 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 | preduce-from:..................T |
| 54b40 | 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 6e 65 20 31 30 34 29 0a 2a | ree.operations......(line.104).* |
| 54b60 | 20 2d 74 72 65 65 2d 72 65 64 75 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .-tree-reduce:.................. |
| 54b80 | 20 20 20 20 20 20 20 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 | ........Tree.operations......(li |
| 54ba0 | 6e 65 20 20 35 33 29 0a 2a 20 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 3a 20 20 20 20 | ne..53).*.-tree-reduce-from:.... |
| 54bc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 | .................Tree.operations |
| 54be0 | 2e 20 20 20 20 20 28 6c 69 6e 65 20 20 37 30 29 0a 2a 20 2d 74 72 65 65 2d 73 65 71 3a 20 20 20 | ......(line..70).*.-tree-seq:... |
| 54c00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 72 65 65 20 6f | ..........................Tree.o |
| 54c20 | 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 75 6e 66 | perations......(line...8).*.-unf |
| 54c40 | 6f 6c 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | old:............................ |
| 54c60 | 20 20 20 55 6e 66 6f 6c 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 | ...Unfolding............(line..2 |
| 54c80 | 35 29 0a 2a 20 2d 75 6e 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 5).*.-union:.................... |
| 54ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 | ............Set.operations...... |
| 54cc0 | 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 75 6e 7a 69 70 3a 20 20 20 20 20 20 20 20 20 20 20 | .(line...8).*.-unzip:........... |
| 54ce0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 | .....................Other.list. |
| 54d00 | 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | operations...................... |
| 54d20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 54d40 | 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 31 35 29 0a 2a 20 2d 75 6e 7a 69 70 2d 6c 69 | ..........(line.215).*.-unzip-li |
| 54d60 | 73 74 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 | sts:..........................Ot |
| 54d80 | 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 | her.list.operations............. |
| 54da0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 54dc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 39 36 29 0a 2a 20 | ...................(line.196).*. |
| 54de0 | 2d 75 70 64 61 74 65 2d 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -update-at:..................... |
| 54e00 | 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e | .......List.to.list.........(lin |
| 54e20 | 65 20 31 33 37 29 0a 2a 20 2d 77 68 65 6e 2d 6c 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 | e.137).*.-when-let:............. |
| 54e40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e 64 69 6e 67 2e 20 20 20 20 20 20 20 20 | ................Binding......... |
| 54e60 | 20 20 20 20 20 28 6c 69 6e 65 20 20 20 39 29 0a 2a 20 2d 77 68 65 6e 2d 6c 65 74 2a 3a 20 20 20 | .....(line...9).*.-when-let*:... |
| 54e80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e 64 69 6e 67 | .........................Binding |
| 54ea0 | 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 31 29 0a 2a 20 2d 7a 69 70 3a | ..............(line..21).*.-zip: |
| 54ec0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 54ee0 | 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 | ..Other.list.operations......... |
| 54f00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 54f20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 35 30 | .......................(line.150 |
| 54f40 | 29 0a 2a 20 2d 7a 69 70 2d 66 69 6c 6c 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ).*.-zip-fill:.................. |
| 54f60 | 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 | ...........Other.list.operations |
| 54f80 | 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 54fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 54fc0 | 28 6c 69 6e 65 20 31 37 36 29 0a 2a 20 2d 7a 69 70 2d 6c 69 73 74 73 3a 20 20 20 20 20 20 20 20 | (line.176).*.-zip-lists:........ |
| 54fe0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f | ....................Other.list.o |
| 55000 | 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | perations....................... |
| 55020 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 55040 | 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 31 34 29 0a 2a 20 2d 7a 69 70 2d 6c 69 73 74 73 | .........(line.114).*.-zip-lists |
| 55060 | 2d 66 69 6c 6c 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 | -fill:.......................Oth |
| 55080 | 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 | er.list.operations.............. |
| 550a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 550c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 33 35 29 0a 2a 20 2d | ..................(line.135).*.- |
| 550e0 | 7a 69 70 2d 70 61 69 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | zip-pair:....................... |
| 55100 | 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 | ......Other.list.operations..... |
| 55120 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 55140 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 | ...........................(line |
| 55160 | 20 20 39 38 29 0a 2a 20 2d 7a 69 70 2d 77 69 74 68 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..98).*.-zip-with:.............. |
| 55180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 | ...............Other.list.operat |
| 551a0 | 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ions............................ |
| 551c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 551e0 | 20 20 20 20 28 6c 69 6e 65 20 20 38 30 29 0a 2a 20 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f | ....(line..80).*.dash-fontify-mo |
| 55200 | 64 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 6f 6e 74 69 66 69 63 | de:.....................Fontific |
| 55220 | 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 2e 0a 20 20 20 20 | ation.of.special.variables...... |
| 55240 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 55260 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 | ..........................(line. |
| 55280 | 20 20 36 29 0a 2a 20 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 | ..6).*.dash-register-info-lookup |
| 552a0 | 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 | :.............Info.symbol.lookup |
| 552c0 | 2e 20 20 28 6c 69 6e 65 20 20 20 36 29 0a 2a 20 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 | ...(line...6).*.global-dash-font |
| 552e0 | 69 66 79 2d 6d 6f 64 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 6f 6e 74 69 66 69 63 61 | ify-mode:..............Fontifica |
| 55300 | 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 2e 0a 20 20 20 20 20 | tion.of.special.variables....... |
| 55320 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 55340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 | .........................(line.. |
| 55360 | 31 32 29 0a 0a 0a 1f 0a 54 61 67 20 54 61 62 6c 65 3a 0a 4e 6f 64 65 3a 20 54 6f 70 7f 37 34 32 | 12).....Tag.Table:.Node:.Top.742 |
| 55380 | 0a 4e 6f 64 65 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 7f 32 33 39 37 0a 4e 6f 64 65 3a 20 55 | .Node:.Installation.2397.Node:.U |
| 553a0 | 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 7f 33 31 35 39 0a 4e 6f 64 65 3a 20 46 6f 6e | sing.in.a.package.3159.Node:.Fon |
| 553c0 | 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 7f | tification.of.special.variables. |
| 553e0 | 33 35 30 34 0a 4e 6f 64 65 3a 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 7f 34 32 | 3504.Node:.Info.symbol.lookup.42 |
| 55400 | 39 34 0a 4e 6f 64 65 3a 20 46 75 6e 63 74 69 6f 6e 73 7f 34 38 37 37 0a 4e 6f 64 65 3a 20 4d 61 | 94.Node:.Functions.4877.Node:.Ma |
| 55420 | 70 73 7f 36 33 36 31 0a 52 65 66 3a 20 2d 6d 61 70 7f 36 36 35 38 0a 52 65 66 3a 20 2d 6d 61 70 | ps.6361.Ref:.-map.6658.Ref:.-map |
| 55440 | 2d 77 68 65 6e 7f 37 30 33 31 0a 52 65 66 3a 20 2d 6d 61 70 2d 66 69 72 73 74 7f 37 36 30 35 0a | -when.7031.Ref:.-map-first.7605. |
| 55460 | 52 65 66 3a 20 2d 6d 61 70 2d 6c 61 73 74 7f 38 32 30 30 0a 52 65 66 3a 20 2d 6d 61 70 2d 69 6e | Ref:.-map-last.8200.Ref:.-map-in |
| 55480 | 64 65 78 65 64 7f 38 37 39 30 0a 52 65 66 3a 20 2d 61 6e 6e 6f 74 61 74 65 7f 39 34 37 36 0a 52 | dexed.8790.Ref:.-annotate.9476.R |
| 554a0 | 65 66 3a 20 2d 73 70 6c 69 63 65 7f 31 30 30 38 30 0a 52 65 66 3a 20 2d 73 70 6c 69 63 65 2d 6c | ef:.-splice.10080.Ref:.-splice-l |
| 554c0 | 69 73 74 7f 31 31 31 35 35 0a 52 65 66 3a 20 2d 6d 61 70 63 61 74 7f 31 31 36 31 34 0a 52 65 66 | ist.11155.Ref:.-mapcat.11614.Ref |
| 554e0 | 3a 20 2d 63 6f 70 79 7f 31 31 39 38 37 0a 4e 6f 64 65 3a 20 53 75 62 6c 69 73 74 20 73 65 6c 65 | :.-copy.11987.Node:.Sublist.sele |
| 55500 | 63 74 69 6f 6e 7f 31 32 31 37 35 0a 52 65 66 3a 20 2d 66 69 6c 74 65 72 7f 31 32 33 36 38 0a 52 | ction.12175.Ref:.-filter.12368.R |
| 55520 | 65 66 3a 20 2d 72 65 6d 6f 76 65 7f 31 32 39 32 31 0a 52 65 66 3a 20 2d 72 65 6d 6f 76 65 2d 66 | ef:.-remove.12921.Ref:.-remove-f |
| 55540 | 69 72 73 74 7f 31 33 34 37 30 0a 52 65 66 3a 20 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 7f 31 34 33 | irst.13470.Ref:.-remove-last.143 |
| 55560 | 31 38 0a 52 65 66 3a 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 7f 31 35 30 34 38 0a 52 65 66 3a 20 | 18.Ref:.-remove-item.15048.Ref:. |
| 55580 | 2d 6e 6f 6e 2d 6e 69 6c 7f 31 35 34 34 38 0a 52 65 66 3a 20 2d 73 6c 69 63 65 7f 31 35 37 33 30 | -non-nil.15448.Ref:.-slice.15730 |
| 555a0 | 0a 52 65 66 3a 20 2d 74 61 6b 65 7f 31 36 32 35 39 0a 52 65 66 3a 20 2d 74 61 6b 65 2d 6c 61 73 | .Ref:.-take.16259.Ref:.-take-las |
| 555c0 | 74 7f 31 36 36 37 37 0a 52 65 66 3a 20 2d 64 72 6f 70 7f 31 37 31 31 34 0a 52 65 66 3a 20 2d 64 | t.16677.Ref:.-drop.17114.Ref:.-d |
| 555e0 | 72 6f 70 2d 6c 61 73 74 7f 31 37 35 36 31 0a 52 65 66 3a 20 2d 74 61 6b 65 2d 77 68 69 6c 65 7f | rop-last.17561.Ref:.-take-while. |
| 55600 | 31 37 39 39 33 0a 52 65 66 3a 20 2d 64 72 6f 70 2d 77 68 69 6c 65 7f 31 38 36 32 30 0a 52 65 66 | 17993.Ref:.-drop-while.18620.Ref |
| 55620 | 3a 20 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 7f 31 39 32 35 33 0a 52 65 66 3a 20 | :.-select-by-indices.19253.Ref:. |
| 55640 | 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 7f 31 39 37 36 34 0a 52 65 66 3a 20 2d 73 65 6c 65 | -select-columns.19764.Ref:.-sele |
| 55660 | 63 74 2d 63 6f 6c 75 6d 6e 7f 32 30 34 36 37 0a 4e 6f 64 65 3a 20 4c 69 73 74 20 74 6f 20 6c 69 | ct-column.20467.Node:.List.to.li |
| 55680 | 73 74 7f 32 30 39 33 30 0a 52 65 66 3a 20 2d 6b 65 65 70 7f 32 31 31 32 32 0a 52 65 66 3a 20 2d | st.20930.Ref:.-keep.21122.Ref:.- |
| 556a0 | 63 6f 6e 63 61 74 7f 32 31 36 39 38 0a 52 65 66 3a 20 2d 66 6c 61 74 74 65 6e 7f 32 32 32 32 36 | concat.21698.Ref:.-flatten.22226 |
| 556c0 | 0a 52 65 66 3a 20 2d 66 6c 61 74 74 65 6e 2d 6e 7f 32 32 39 38 38 0a 52 65 66 3a 20 2d 72 65 70 | .Ref:.-flatten-n.22988.Ref:.-rep |
| 556e0 | 6c 61 63 65 7f 32 33 33 37 32 0a 52 65 66 3a 20 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 7f 32 | lace.23372.Ref:.-replace-first.2 |
| 55700 | 33 38 33 33 0a 52 65 66 3a 20 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 7f 32 34 33 32 38 0a 52 65 | 3833.Ref:.-replace-last.24328.Re |
| 55720 | 66 3a 20 2d 69 6e 73 65 72 74 2d 61 74 7f 32 34 38 31 36 0a 52 65 66 3a 20 2d 72 65 70 6c 61 63 | f:.-insert-at.24816.Ref:.-replac |
| 55740 | 65 2d 61 74 7f 32 35 31 34 31 0a 52 65 66 3a 20 2d 75 70 64 61 74 65 2d 61 74 7f 32 35 35 32 38 | e-at.25141.Ref:.-update-at.25528 |
| 55760 | 0a 52 65 66 3a 20 2d 72 65 6d 6f 76 65 2d 61 74 7f 32 36 30 36 39 0a 52 65 66 3a 20 2d 72 65 6d | .Ref:.-remove-at.26069.Ref:.-rem |
| 55780 | 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 7f 32 36 36 39 36 0a 4e 6f 64 65 3a 20 52 65 64 75 63 | ove-at-indices.26696.Node:.Reduc |
| 557a0 | 74 69 6f 6e 73 7f 32 37 33 38 36 0a 52 65 66 3a 20 2d 72 65 64 75 63 65 2d 66 72 6f 6d 7f 32 37 | tions.27386.Ref:.-reduce-from.27 |
| 557c0 | 35 38 32 0a 52 65 66 3a 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 7f 32 38 33 30 36 0a 52 65 | 582.Ref:.-reduce-r-from.28306.Re |
| 557e0 | 66 3a 20 2d 72 65 64 75 63 65 7f 32 39 35 36 39 0a 52 65 66 3a 20 2d 72 65 64 75 63 65 2d 72 7f | f:.-reduce.29569.Ref:.-reduce-r. |
| 55800 | 33 30 33 32 30 0a 52 65 66 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 7f 33 31 35 39 | 30320.Ref:.-reductions-from.3159 |
| 55820 | 38 0a 52 65 66 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 7f 33 32 34 30 34 0a | 8.Ref:.-reductions-r-from.32404. |
| 55840 | 52 65 66 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 7f 33 33 32 33 34 0a 52 65 66 3a 20 2d 72 65 64 | Ref:.-reductions.33234.Ref:.-red |
| 55860 | 75 63 74 69 6f 6e 73 2d 72 7f 33 33 39 34 35 0a 52 65 66 3a 20 2d 63 6f 75 6e 74 7f 33 34 36 39 | uctions-r.33945.Ref:.-count.3469 |
| 55880 | 30 0a 52 65 66 3a 20 2d 73 75 6d 7f 33 34 39 32 30 0a 52 65 66 3a 20 2d 72 75 6e 6e 69 6e 67 2d | 0.Ref:.-sum.34920.Ref:.-running- |
| 558a0 | 73 75 6d 7f 33 35 31 30 38 0a 52 65 66 3a 20 2d 70 72 6f 64 75 63 74 7f 33 35 34 32 39 0a 52 65 | sum.35108.Ref:.-product.35429.Re |
| 558c0 | 66 3a 20 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 7f 33 35 36 33 37 0a 52 65 66 3a 20 2d | f:.-running-product.35637.Ref:.- |
| 558e0 | 69 6e 69 74 73 7f 33 35 39 37 38 0a 52 65 66 3a 20 2d 74 61 69 6c 73 7f 33 36 32 32 33 0a 52 65 | inits.35978.Ref:.-tails.36223.Re |
| 55900 | 66 3a 20 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 7f 33 36 34 36 38 0a 52 65 66 3a 20 2d 63 6f | f:.-common-prefix.36468.Ref:.-co |
| 55920 | 6d 6d 6f 6e 2d 73 75 66 66 69 78 7f 33 36 37 36 32 0a 52 65 66 3a 20 2d 6d 69 6e 7f 33 37 30 35 | mmon-suffix.36762.Ref:.-min.3705 |
| 55940 | 36 0a 52 65 66 3a 20 2d 6d 69 6e 2d 62 79 7f 33 37 32 38 32 0a 52 65 66 3a 20 2d 6d 61 78 7f 33 | 6.Ref:.-min-by.37282.Ref:.-max.3 |
| 55960 | 37 38 30 33 0a 52 65 66 3a 20 2d 6d 61 78 2d 62 79 7f 33 38 30 32 38 0a 52 65 66 3a 20 2d 66 72 | 7803.Ref:.-max-by.38028.Ref:.-fr |
| 55980 | 65 71 75 65 6e 63 69 65 73 7f 33 38 35 35 34 0a 4e 6f 64 65 3a 20 55 6e 66 6f 6c 64 69 6e 67 7f | equencies.38554.Node:.Unfolding. |
| 559a0 | 33 39 31 36 39 0a 52 65 66 3a 20 2d 69 74 65 72 61 74 65 7f 33 39 34 31 30 0a 52 65 66 3a 20 2d | 39169.Ref:.-iterate.39410.Ref:.- |
| 559c0 | 75 6e 66 6f 6c 64 7f 33 39 38 35 37 0a 52 65 66 3a 20 2d 72 65 70 65 61 74 7f 34 30 36 36 32 0a | unfold.39857.Ref:.-repeat.40662. |
| 559e0 | 52 65 66 3a 20 2d 63 79 63 6c 65 7f 34 30 39 34 36 0a 4e 6f 64 65 3a 20 50 72 65 64 69 63 61 74 | Ref:.-cycle.40946.Node:.Predicat |
| 55a00 | 65 73 7f 34 31 33 34 33 0a 52 65 66 3a 20 2d 73 6f 6d 65 7f 34 31 35 32 30 0a 52 65 66 3a 20 2d | es.41343.Ref:.-some.41520.Ref:.- |
| 55a20 | 65 76 65 72 79 7f 34 31 39 34 39 0a 52 65 66 3a 20 2d 61 6e 79 3f 7f 34 32 36 36 33 0a 52 65 66 | every.41949.Ref:.-any?.42663.Ref |
| 55a40 | 3a 20 2d 61 6c 6c 3f 7f 34 33 30 31 32 0a 52 65 66 3a 20 2d 6e 6f 6e 65 3f 7f 34 33 37 35 34 0a | :.-all?.43012.Ref:.-none?.43754. |
| 55a60 | 52 65 66 3a 20 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 7f 34 34 30 37 34 0a 52 65 66 3a 20 2d 63 6f 6e | Ref:.-only-some?.44074.Ref:.-con |
| 55a80 | 74 61 69 6e 73 3f 7f 34 34 36 31 39 0a 52 65 66 3a 20 2d 69 73 2d 70 72 65 66 69 78 3f 7f 34 35 | tains?.44619.Ref:.-is-prefix?.45 |
| 55aa0 | 31 32 35 0a 52 65 66 3a 20 2d 69 73 2d 73 75 66 66 69 78 3f 7f 34 35 34 35 37 0a 52 65 66 3a 20 | 125.Ref:.-is-suffix?.45457.Ref:. |
| 55ac0 | 2d 69 73 2d 69 6e 66 69 78 3f 7f 34 35 37 38 39 0a 52 65 66 3a 20 2d 63 6f 6e 73 2d 70 61 69 72 | -is-infix?.45789.Ref:.-cons-pair |
| 55ae0 | 3f 7f 34 36 31 34 39 0a 4e 6f 64 65 3a 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 7f 34 36 34 38 30 | ?.46149.Node:.Partitioning.46480 |
| 55b00 | 0a 52 65 66 3a 20 2d 73 70 6c 69 74 2d 61 74 7f 34 36 36 36 38 0a 52 65 66 3a 20 2d 73 70 6c 69 | .Ref:.-split-at.46668.Ref:.-spli |
| 55b20 | 74 2d 77 69 74 68 7f 34 37 33 33 32 0a 52 65 66 3a 20 2d 73 70 6c 69 74 2d 6f 6e 7f 34 37 39 37 | t-with.47332.Ref:.-split-on.4797 |
| 55b40 | 32 0a 52 65 66 3a 20 2d 73 70 6c 69 74 2d 77 68 65 6e 7f 34 38 36 34 33 0a 52 65 66 3a 20 2d 73 | 2.Ref:.-split-when.48643.Ref:.-s |
| 55b60 | 65 70 61 72 61 74 65 7f 34 39 32 38 36 0a 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 7f 34 39 | eparate.49286.Ref:.-partition.49 |
| 55b80 | 38 32 30 0a 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 7f 35 30 32 36 39 0a 52 65 | 820.Ref:.-partition-all.50269.Re |
| 55ba0 | 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 7f 35 30 36 39 34 0a 52 65 66 | f:.-partition-in-steps.50694.Ref |
| 55bc0 | 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 7f 35 31 32 34 30 0a | :.-partition-all-in-steps.51240. |
| 55be0 | 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 7f 35 31 37 35 34 0a 52 65 66 3a 20 2d 70 | Ref:.-partition-by.51754.Ref:.-p |
| 55c00 | 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 7f 35 32 31 33 32 0a 52 65 66 3a 20 2d 70 | artition-by-header.52132.Ref:.-p |
| 55c20 | 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 7f 35 32 37 33 33 0a 52 65 66 3a 20 2d | artition-after-pred.52733.Ref:.- |
| 55c40 | 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 7f 35 33 31 38 36 0a 52 65 66 3a | partition-before-pred.53186.Ref: |
| 55c60 | 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 7f 35 33 35 37 31 0a 52 65 | .-partition-before-item.53571.Re |
| 55c80 | 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 7f 35 33 38 37 38 0a 52 | f:.-partition-after-item.53878.R |
| 55ca0 | 65 66 3a 20 2d 67 72 6f 75 70 2d 62 79 7f 35 34 31 38 30 0a 4e 6f 64 65 3a 20 49 6e 64 65 78 69 | ef:.-group-by.54180.Node:.Indexi |
| 55cc0 | 6e 67 7f 35 34 36 31 33 0a 52 65 66 3a 20 2d 65 6c 65 6d 2d 69 6e 64 65 78 7f 35 34 38 31 35 0a | ng.54613.Ref:.-elem-index.54815. |
| 55ce0 | 52 65 66 3a 20 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 7f 35 35 33 30 32 0a 52 65 66 3a 20 2d 66 | Ref:.-elem-indices.55302.Ref:.-f |
| 55d00 | 69 6e 64 2d 69 6e 64 65 78 7f 35 35 37 36 31 0a 52 65 66 3a 20 2d 66 69 6e 64 2d 6c 61 73 74 2d | ind-index.55761.Ref:.-find-last- |
| 55d20 | 69 6e 64 65 78 7f 35 36 34 33 30 0a 52 65 66 3a 20 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 7f 35 | index.56430.Ref:.-find-indices.5 |
| 55d40 | 37 30 38 31 0a 52 65 66 3a 20 2d 67 72 61 64 65 2d 75 70 7f 35 37 38 34 33 0a 52 65 66 3a 20 2d | 7081.Ref:.-grade-up.57843.Ref:.- |
| 55d60 | 67 72 61 64 65 2d 64 6f 77 6e 7f 35 38 32 35 30 0a 4e 6f 64 65 3a 20 53 65 74 20 6f 70 65 72 61 | grade-down.58250.Node:.Set.opera |
| 55d80 | 74 69 6f 6e 73 7f 35 38 36 36 34 0a 52 65 66 3a 20 2d 75 6e 69 6f 6e 7f 35 38 38 34 37 0a 52 65 | tions.58664.Ref:.-union.58847.Re |
| 55da0 | 66 3a 20 2d 64 69 66 66 65 72 65 6e 63 65 7f 35 39 32 37 37 0a 52 65 66 3a 20 2d 69 6e 74 65 72 | f:.-difference.59277.Ref:.-inter |
| 55dc0 | 73 65 63 74 69 6f 6e 7f 35 39 37 30 35 0a 52 65 66 3a 20 2d 70 6f 77 65 72 73 65 74 7f 36 30 31 | section.59705.Ref:.-powerset.601 |
| 55de0 | 33 34 0a 52 65 66 3a 20 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 7f 36 30 34 31 31 0a 52 65 66 3a | 34.Ref:.-permutations.60411.Ref: |
| 55e00 | 20 2d 64 69 73 74 69 6e 63 74 7f 36 30 38 34 39 0a 52 65 66 3a 20 2d 73 61 6d 65 2d 69 74 65 6d | .-distinct.60849.Ref:.-same-item |
| 55e20 | 73 3f 7f 36 31 32 34 33 0a 4e 6f 64 65 3a 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 | s?.61243.Node:.Other.list.operat |
| 55e40 | 69 6f 6e 73 7f 36 31 38 35 32 0a 52 65 66 3a 20 2d 72 6f 74 61 74 65 7f 36 32 30 37 37 0a 52 65 | ions.61852.Ref:.-rotate.62077.Re |
| 55e60 | 66 3a 20 2d 63 6f 6e 73 2a 7f 36 32 34 33 30 0a 52 65 66 3a 20 2d 73 6e 6f 63 7f 36 32 38 35 32 | f:.-cons*.62430.Ref:.-snoc.62852 |
| 55e80 | 0a 52 65 66 3a 20 2d 69 6e 74 65 72 70 6f 73 65 7f 36 33 32 36 34 0a 52 65 66 3a 20 2d 69 6e 74 | .Ref:.-interpose.63264.Ref:.-int |
| 55ea0 | 65 72 6c 65 61 76 65 7f 36 33 35 35 38 0a 52 65 66 3a 20 2d 69 6f 74 61 7f 36 33 39 32 34 0a 52 | erleave.63558.Ref:.-iota.63924.R |
| 55ec0 | 65 66 3a 20 2d 7a 69 70 2d 77 69 74 68 7f 36 34 34 30 37 0a 52 65 66 3a 20 2d 7a 69 70 2d 70 61 | ef:.-zip-with.64407.Ref:.-zip-pa |
| 55ee0 | 69 72 7f 36 35 32 31 35 0a 52 65 66 3a 20 2d 7a 69 70 2d 6c 69 73 74 73 7f 36 35 37 38 31 0a 52 | ir.65215.Ref:.-zip-lists.65781.R |
| 55f00 | 65 66 3a 20 2d 7a 69 70 2d 6c 69 73 74 73 2d 66 69 6c 6c 7f 36 36 35 37 39 0a 52 65 66 3a 20 2d | ef:.-zip-lists-fill.66579.Ref:.- |
| 55f20 | 7a 69 70 7f 36 37 32 38 39 0a 52 65 66 3a 20 2d 7a 69 70 2d 66 69 6c 6c 7f 36 38 33 31 36 0a 52 | zip.67289.Ref:.-zip-fill.68316.R |
| 55f40 | 65 66 3a 20 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 7f 36 39 32 33 30 0a 52 65 66 3a 20 2d 75 6e 7a | ef:.-unzip-lists.69230.Ref:.-unz |
| 55f60 | 69 70 7f 36 39 38 35 33 0a 52 65 66 3a 20 2d 70 61 64 7f 37 30 38 34 36 0a 52 65 66 3a 20 2d 74 | ip.69853.Ref:.-pad.70846.Ref:.-t |
| 55f80 | 61 62 6c 65 7f 37 31 33 33 31 0a 52 65 66 3a 20 2d 74 61 62 6c 65 2d 66 6c 61 74 7f 37 32 31 31 | able.71331.Ref:.-table-flat.7211 |
| 55fa0 | 37 0a 52 65 66 3a 20 2d 66 69 72 73 74 7f 37 33 31 32 32 0a 52 65 66 3a 20 2d 6c 61 73 74 7f 37 | 7.Ref:.-first.73122.Ref:.-last.7 |
| 55fc0 | 33 36 35 35 0a 52 65 66 3a 20 2d 66 69 72 73 74 2d 69 74 65 6d 7f 37 34 30 30 31 0a 52 65 66 3a | 3655.Ref:.-first-item.74001.Ref: |
| 55fe0 | 20 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 7f 37 34 34 31 33 0a 52 65 66 3a 20 2d 74 68 69 72 64 2d | .-second-item.74413.Ref:.-third- |
| 56000 | 69 74 65 6d 7f 37 34 38 33 30 0a 52 65 66 3a 20 2d 66 6f 75 72 74 68 2d 69 74 65 6d 7f 37 35 32 | item.74830.Ref:.-fourth-item.752 |
| 56020 | 30 35 0a 52 65 66 3a 20 2d 66 69 66 74 68 2d 69 74 65 6d 7f 37 35 35 38 33 0a 52 65 66 3a 20 2d | 05.Ref:.-fifth-item.75583.Ref:.- |
| 56040 | 6c 61 73 74 2d 69 74 65 6d 7f 37 35 39 35 38 0a 52 65 66 3a 20 2d 62 75 74 6c 61 73 74 7f 37 36 | last-item.75958.Ref:.-butlast.76 |
| 56060 | 33 31 39 0a 52 65 66 3a 20 2d 73 6f 72 74 7f 37 36 35 36 34 0a 52 65 66 3a 20 2d 6c 69 73 74 7f | 319.Ref:.-sort.76564.Ref:.-list. |
| 56080 | 37 37 30 35 38 0a 52 65 66 3a 20 2d 66 69 78 7f 37 37 36 32 37 0a 4e 6f 64 65 3a 20 54 72 65 65 | 77058.Ref:.-fix.77627.Node:.Tree |
| 560a0 | 20 6f 70 65 72 61 74 69 6f 6e 73 7f 37 38 31 31 36 0a 52 65 66 3a 20 2d 74 72 65 65 2d 73 65 71 | .operations.78116.Ref:.-tree-seq |
| 560c0 | 7f 37 38 33 31 32 0a 52 65 66 3a 20 2d 74 72 65 65 2d 6d 61 70 7f 37 39 31 37 33 0a 52 65 66 3a | .78312.Ref:.-tree-map.79173.Ref: |
| 560e0 | 20 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 7f 37 39 36 31 33 0a 52 65 66 3a 20 2d 74 72 65 | .-tree-map-nodes.79613.Ref:.-tre |
| 56100 | 65 2d 72 65 64 75 63 65 7f 38 30 34 37 37 0a 52 65 66 3a 20 2d 74 72 65 65 2d 72 65 64 75 63 65 | e-reduce.80477.Ref:.-tree-reduce |
| 56120 | 2d 66 72 6f 6d 7f 38 31 33 35 39 0a 52 65 66 3a 20 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 | -from.81359.Ref:.-tree-mapreduce |
| 56140 | 7f 38 31 39 35 39 0a 52 65 66 3a 20 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d | .81959.Ref:.-tree-mapreduce-from |
| 56160 | 7f 38 32 38 31 38 0a 52 65 66 3a 20 2d 63 6c 6f 6e 65 7f 38 34 31 30 33 0a 4e 6f 64 65 3a 20 54 | .82818.Ref:.-clone.84103.Node:.T |
| 56180 | 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 7f 38 34 34 34 31 0a 52 65 66 3a 20 2d 3e 7f 38 34 | hreading.macros.84441.Ref:.->.84 |
| 561a0 | 36 36 36 0a 52 65 66 3a 20 2d 3e 3e 7f 38 35 31 35 34 0a 52 65 66 3a 20 2d 2d 3e 7f 38 35 36 35 | 666.Ref:.->>.85154.Ref:.-->.8565 |
| 561c0 | 37 0a 52 65 66 3a 20 2d 61 73 2d 3e 7f 38 36 32 31 33 0a 52 65 66 3a 20 2d 73 6f 6d 65 2d 3e 7f | 7.Ref:.-as->.86213.Ref:.-some->. |
| 561e0 | 38 36 36 36 37 0a 52 65 66 3a 20 2d 73 6f 6d 65 2d 3e 3e 7f 38 37 30 35 32 0a 52 65 66 3a 20 2d | 86667.Ref:.-some->>.87052.Ref:.- |
| 56200 | 73 6f 6d 65 2d 2d 3e 7f 38 37 34 39 39 0a 52 65 66 3a 20 2d 64 6f 74 6f 7f 38 38 30 36 36 0a 4e | some-->.87499.Ref:.-doto.88066.N |
| 56220 | 6f 64 65 3a 20 42 69 6e 64 69 6e 67 7f 38 38 36 31 39 0a 52 65 66 3a 20 2d 77 68 65 6e 2d 6c 65 | ode:.Binding.88619.Ref:.-when-le |
| 56240 | 74 7f 38 38 38 32 36 0a 52 65 66 3a 20 2d 77 68 65 6e 2d 6c 65 74 2a 7f 38 39 32 38 37 0a 52 65 | t.88826.Ref:.-when-let*.89287.Re |
| 56260 | 66 3a 20 2d 69 66 2d 6c 65 74 7f 38 39 38 31 36 0a 52 65 66 3a 20 2d 69 66 2d 6c 65 74 2a 7f 39 | f:.-if-let.89816.Ref:.-if-let*.9 |
| 56280 | 30 31 38 32 0a 52 65 66 3a 20 2d 6c 65 74 7f 39 30 38 30 35 0a 52 65 66 3a 20 2d 6c 65 74 2a 7f | 0182.Ref:.-let.90805.Ref:.-let*. |
| 562a0 | 39 36 38 39 35 0a 52 65 66 3a 20 2d 6c 61 6d 62 64 61 7f 39 37 38 33 32 0a 52 65 66 3a 20 2d 73 | 96895.Ref:.-lambda.97832.Ref:.-s |
| 562c0 | 65 74 71 7f 39 38 36 33 38 0a 4e 6f 64 65 3a 20 53 69 64 65 20 65 66 66 65 63 74 73 7f 39 39 34 | etq.98638.Node:.Side.effects.994 |
| 562e0 | 33 39 0a 52 65 66 3a 20 2d 65 61 63 68 7f 39 39 36 33 33 0a 52 65 66 3a 20 2d 65 61 63 68 2d 77 | 39.Ref:.-each.99633.Ref:.-each-w |
| 56300 | 68 69 6c 65 7f 31 30 30 31 36 30 0a 52 65 66 3a 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 7f 31 | hile.100160.Ref:.-each-indexed.1 |
| 56320 | 30 30 37 38 30 0a 52 65 66 3a 20 2d 65 61 63 68 2d 72 7f 31 30 31 33 37 32 0a 52 65 66 3a 20 2d | 00780.Ref:.-each-r.101372.Ref:.- |
| 56340 | 65 61 63 68 2d 72 2d 77 68 69 6c 65 7f 31 30 31 38 31 34 0a 52 65 66 3a 20 2d 64 6f 74 69 6d 65 | each-r-while.101814.Ref:.-dotime |
| 56360 | 73 7f 31 30 32 34 35 38 0a 4e 6f 64 65 3a 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 | s.102458.Node:.Destructive.opera |
| 56380 | 74 69 6f 6e 73 7f 31 30 33 30 31 31 0a 52 65 66 3a 20 21 63 6f 6e 73 7f 31 30 33 32 32 39 0a 52 | tions.103011.Ref:.!cons.103229.R |
| 563a0 | 65 66 3a 20 21 63 64 72 7f 31 30 33 34 33 33 0a 4e 6f 64 65 3a 20 46 75 6e 63 74 69 6f 6e 20 63 | ef:.!cdr.103433.Node:.Function.c |
| 563c0 | 6f 6d 62 69 6e 61 74 6f 72 73 7f 31 30 33 36 32 36 0a 52 65 66 3a 20 2d 70 61 72 74 69 61 6c 7f | ombinators.103626.Ref:.-partial. |
| 563e0 | 31 30 33 38 33 30 0a 52 65 66 3a 20 2d 72 70 61 72 74 69 61 6c 7f 31 30 34 33 34 38 0a 52 65 66 | 103830.Ref:.-rpartial.104348.Ref |
| 56400 | 3a 20 2d 6a 75 78 74 7f 31 30 34 39 39 36 0a 52 65 66 3a 20 2d 63 6f 6d 70 6f 73 65 7f 31 30 35 | :.-juxt.104996.Ref:.-compose.105 |
| 56420 | 34 34 38 0a 52 65 66 3a 20 2d 61 70 70 6c 69 66 79 7f 31 30 36 30 35 35 0a 52 65 66 3a 20 2d 6f | 448.Ref:.-applify.106055.Ref:.-o |
| 56440 | 6e 7f 31 30 36 34 38 35 0a 52 65 66 3a 20 2d 66 6c 69 70 7f 31 30 37 32 35 37 0a 52 65 66 3a 20 | n.106485.Ref:.-flip.107257.Ref:. |
| 56460 | 2d 72 6f 74 61 74 65 2d 61 72 67 73 7f 31 30 37 37 38 31 0a 52 65 66 3a 20 2d 63 6f 6e 73 74 7f | -rotate-args.107781.Ref:.-const. |
| 56480 | 31 30 38 34 31 30 0a 52 65 66 3a 20 2d 63 75 74 7f 31 30 38 37 35 32 0a 52 65 66 3a 20 2d 6e 6f | 108410.Ref:.-cut.108752.Ref:.-no |
| 564a0 | 74 7f 31 30 39 32 33 32 0a 52 65 66 3a 20 2d 6f 72 66 6e 7f 31 30 39 37 37 36 0a 52 65 66 3a 20 | t.109232.Ref:.-orfn.109776.Ref:. |
| 564c0 | 2d 61 6e 64 66 6e 7f 31 31 30 35 36 39 0a 52 65 66 3a 20 2d 69 74 65 72 61 74 65 66 6e 7f 31 31 | -andfn.110569.Ref:.-iteratefn.11 |
| 564e0 | 31 33 35 36 0a 52 65 66 3a 20 2d 66 69 78 66 6e 7f 31 31 32 30 35 38 0a 52 65 66 3a 20 2d 70 72 | 1356.Ref:.-fixfn.112058.Ref:.-pr |
| 56500 | 6f 64 66 6e 7f 31 31 33 36 33 32 0a 4e 6f 64 65 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 7f 31 31 | odfn.113632.Node:.Development.11 |
| 56520 | 34 37 38 33 0a 4e 6f 64 65 3a 20 43 6f 6e 74 72 69 62 75 74 65 7f 31 31 35 30 37 32 0a 4e 6f 64 | 4783.Node:.Contribute.115072.Nod |
| 56540 | 65 3a 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 7f 31 31 36 30 38 34 0a 4e 6f 64 65 3a 20 46 44 4c | e:.Contributors.116084.Node:.FDL |
| 56560 | 7f 31 31 38 31 37 37 0a 4e 6f 64 65 3a 20 47 50 4c 7f 31 34 33 34 39 37 0a 4e 6f 64 65 3a 20 49 | .118177.Node:.GPL.143497.Node:.I |
| 56580 | 6e 64 65 78 7f 31 38 31 32 34 36 0a 1f 0a 45 6e 64 20 54 61 67 20 54 61 62 6c 65 0a 0a 1f 0a 4c | ndex.181246...End.Tag.Table....L |
| 565a0 | 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a 63 6f 64 69 6e 67 3a 20 75 74 66 2d 38 0a 45 6e | ocal.Variables:.coding:.utf-8.En |
| 565c0 | 64 3a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | d:.............................. |
| 565e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56600 | 64 61 73 68 2d 32 30 32 34 30 34 30 35 2e 39 34 36 2f 64 69 72 00 00 00 00 00 00 00 00 00 00 00 | dash-20240405.946/dir........... |
| 56620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56660 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 56680 | 30 30 30 31 31 35 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 33 35 32 00 20 30 00 00 00 | 0001151.00000000000.012352..0... |
| 566a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 566c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 566e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56700 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 56720 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 56740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 567a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 567c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 567e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56800 | 54 68 69 73 20 69 73 20 74 68 65 20 66 69 6c 65 20 2e 2e 2e 2f 69 6e 66 6f 2f 64 69 72 2c 20 77 | This.is.the.file..../info/dir,.w |
| 56820 | 68 69 63 68 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 0a 74 6f 70 6d 6f 73 74 20 6e 6f 64 65 20 6f | hich.contains.the.topmost.node.o |
| 56840 | 66 20 74 68 65 20 49 6e 66 6f 20 68 69 65 72 61 72 63 68 79 2c 20 63 61 6c 6c 65 64 20 28 64 69 | f.the.Info.hierarchy,.called.(di |
| 56860 | 72 29 54 6f 70 2e 0a 54 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 79 6f 75 20 69 6e 76 6f 6b 65 | r)Top..The.first.time.you.invoke |
| 56880 | 20 49 6e 66 6f 20 79 6f 75 20 73 74 61 72 74 20 6f 66 66 20 6c 6f 6f 6b 69 6e 67 20 61 74 20 74 | .Info.you.start.off.looking.at.t |
| 568a0 | 68 69 73 20 6e 6f 64 65 2e 0a 1f 0a 46 69 6c 65 3a 20 64 69 72 2c 09 4e 6f 64 65 3a 20 54 6f 70 | his.node....File:.dir,.Node:.Top |
| 568c0 | 09 54 68 69 73 20 69 73 20 74 68 65 20 74 6f 70 20 6f 66 20 74 68 65 20 49 4e 46 4f 20 74 72 65 | .This.is.the.top.of.the.INFO.tre |
| 568e0 | 65 0a 0a 20 20 54 68 69 73 20 28 74 68 65 20 44 69 72 65 63 74 6f 72 79 20 6e 6f 64 65 29 20 67 | e....This.(the.Directory.node).g |
| 56900 | 69 76 65 73 20 61 20 6d 65 6e 75 20 6f 66 20 6d 61 6a 6f 72 20 74 6f 70 69 63 73 2e 0a 20 20 54 | ives.a.menu.of.major.topics....T |
| 56920 | 79 70 69 6e 67 20 22 71 22 20 65 78 69 74 73 2c 20 22 48 22 20 6c 69 73 74 73 20 61 6c 6c 20 49 | yping."q".exits,."H".lists.all.I |
| 56940 | 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 2c 20 22 64 22 20 72 65 74 75 72 6e 73 20 68 65 72 65 2c 0a | nfo.commands,."d".returns.here,. |
| 56960 | 20 20 22 68 22 20 67 69 76 65 73 20 61 20 70 72 69 6d 65 72 20 66 6f 72 20 66 69 72 73 74 2d 74 | .."h".gives.a.primer.for.first-t |
| 56980 | 69 6d 65 72 73 2c 0a 20 20 22 6d 45 6d 61 63 73 3c 52 65 74 75 72 6e 3e 22 20 76 69 73 69 74 73 | imers,..."mEmacs<Return>".visits |
| 569a0 | 20 74 68 65 20 45 6d 61 63 73 20 6d 61 6e 75 61 6c 2c 20 65 74 63 2e 0a 0a 20 20 49 6e 20 45 6d | .the.Emacs.manual,.etc.....In.Em |
| 569c0 | 61 63 73 2c 20 79 6f 75 20 63 61 6e 20 63 6c 69 63 6b 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 | acs,.you.can.click.mouse.button. |
| 569e0 | 32 20 6f 6e 20 61 20 6d 65 6e 75 20 69 74 65 6d 20 6f 72 20 63 72 6f 73 73 20 72 65 66 65 72 65 | 2.on.a.menu.item.or.cross.refere |
| 56a00 | 6e 63 65 0a 20 20 74 6f 20 73 65 6c 65 63 74 20 69 74 2e 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 45 6d | nce...to.select.it...*.Menu:..Em |
| 56a20 | 61 63 73 0a 2a 20 44 61 73 68 3a 20 28 64 61 73 68 2e 69 6e 66 6f 29 2e 20 20 20 20 20 20 20 20 | acs.*.Dash:.(dash.info)......... |
| 56a40 | 20 20 20 20 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 62 72 61 72 79 20 66 6f 72 20 47 4e | ....A.modern.list.library.for.GN |
| 56a60 | 55 20 45 6d 61 63 73 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | U.Emacs......................... |
| 56a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 56fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 570a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 570c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 570e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 571a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 571c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 571e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 572a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 572c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 572e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 573a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 573c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 573e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 574a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 574c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 574e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 575a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 575c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 575e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 576a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 576c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 576e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 57780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 577a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 577c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 577e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |