summaryrefslogtreecommitdiff
path: root/.localrepo/dash-2.19.1.tar
blob: 560d7541247355ab130cc9e70dc78da8ff27aedb (plain)
ofshex dumpascii
0000 64 61 73 68 2d 32 2e 31 39 2e 31 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/....................
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 31 36 32 00 20 35 00 00 00 0000000.00000000000.011162..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 2e 31 39 2e 31 2f 2e 67 69 74 68 75 62 2f 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/.github/............
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 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
0280 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 35 32 32 00 20 35 00 00 00 0000000.00000000000.012522..5...
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 64 61 73 68 2d 32 2e 31 39 2e 31 2f 2e 67 69 74 68 75 62 2f 77 6f 72 6b 66 6c 6f 77 73 2f 00 00 dash-2.19.1/.github/workflows/..
0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0460 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
0480 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 35 37 00 20 35 00 00 00 0000000.00000000000.014557..5...
04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0500 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...................
0520 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...................
0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 2e 31 39 2e 31 2f 2e 67 69 74 68 75 62 2f 77 6f 72 6b 66 6c 6f 77 73 2f 74 65 dash-2.19.1/.github/workflows/te
0620 73 74 2e 79 6d 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 st.yml..........................
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 30 30 31 34 34 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 32 36 31 00 20 30 00 00 00 0001441.00000000000.016261..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 6e 61 6d 65 3a 20 43 49 0a 6f 6e 3a 20 5b 70 75 73 68 2c 20 70 75 6c 6c 5f 72 65 71 75 65 73 74 name:.CI.on:.[push,.pull_request
0820 5d 0a 0a 6a 6f 62 73 3a 0a 20 20 62 75 69 6c 64 3a 0a 20 20 20 20 72 75 6e 73 2d 6f 6e 3a 20 75 ]..jobs:...build:.....runs-on:.u
0840 62 75 6e 74 75 2d 6c 61 74 65 73 74 0a 20 20 20 20 73 74 72 61 74 65 67 79 3a 0a 20 20 20 20 20 buntu-latest.....strategy:......
0860 20 6d 61 74 72 69 78 3a 0a 20 20 20 20 20 20 20 20 65 6d 61 63 73 5f 76 65 72 73 69 6f 6e 3a 0a .matrix:.........emacs_version:.
0880 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 34 2e 31 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 ..........-.'24.1'...........-.'
08a0 32 34 2e 32 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 34 2e 33 27 0a 20 20 20 20 20 20 20 24.2'...........-.'24.3'........
08c0 20 20 20 2d 20 27 32 34 2e 34 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 34 2e 35 27 0a 20 ...-.'24.4'...........-.'24.5'..
08e0 20 20 20 20 20 20 20 20 20 2d 20 27 32 35 2e 31 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 .........-.'25.1'...........-.'2
0900 35 2e 32 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 35 2e 33 27 0a 20 20 20 20 20 20 20 20 5.2'...........-.'25.3'.........
0920 20 20 2d 20 27 32 36 2e 31 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 36 2e 32 27 0a 20 20 ..-.'26.1'...........-.'26.2'...
0940 20 20 20 20 20 20 20 20 2d 20 27 32 36 2e 33 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 32 37 ........-.'26.3'...........-.'27
0960 2e 31 27 0a 20 20 20 20 20 20 20 20 20 20 2d 20 27 73 6e 61 70 73 68 6f 74 27 0a 20 20 20 20 20 .1'...........-.'snapshot'......
0980 20 20 20 69 6e 63 6c 75 64 65 3a 0a 20 20 20 20 20 20 20 20 20 20 2d 20 65 6d 61 63 73 5f 76 65 ...include:...........-.emacs_ve
09a0 72 73 69 6f 6e 3a 20 27 73 6e 61 70 73 68 6f 74 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 6c rsion:.'snapshot'.............al
09c0 6c 6f 77 5f 66 61 69 6c 75 72 65 3a 20 74 72 75 65 0a 20 20 20 20 73 74 65 70 73 3a 0a 20 20 20 low_failure:.true.....steps:....
09e0 20 2d 20 75 73 65 73 3a 20 61 63 74 69 6f 6e 73 2f 63 68 65 63 6b 6f 75 74 40 76 32 0a 20 20 20 .-.uses:.actions/checkout@v2....
0a00 20 2d 20 75 73 65 73 3a 20 70 75 72 63 65 6c 6c 2f 73 65 74 75 70 2d 65 6d 61 63 73 40 6d 61 73 .-.uses:.purcell/setup-emacs@mas
0a20 74 65 72 0a 20 20 20 20 20 20 77 69 74 68 3a 0a 20 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 3a ter.......with:.........version:
0a40 20 24 7b 7b 20 6d 61 74 72 69 78 2e 65 6d 61 63 73 5f 76 65 72 73 69 6f 6e 20 7d 7d 0a 0a 20 20 .${{.matrix.emacs_version.}}....
0a60 20 20 2d 20 6e 61 6d 65 3a 20 52 75 6e 20 74 65 73 74 73 0a 20 20 20 20 20 20 69 66 3a 20 6d 61 ..-.name:.Run.tests.......if:.ma
0a80 74 72 69 78 2e 61 6c 6c 6f 77 5f 66 61 69 6c 75 72 65 20 21 3d 20 74 72 75 65 0a 20 20 20 20 20 trix.allow_failure.!=.true......
0aa0 20 72 75 6e 3a 20 27 6d 61 6b 65 20 63 68 65 63 6b 27 0a 0a 20 20 20 20 2d 20 6e 61 6d 65 3a 20 .run:.'make.check'......-.name:.
0ac0 52 75 6e 20 74 65 73 74 73 20 28 61 6c 6c 6f 77 20 66 61 69 6c 75 72 65 29 0a 20 20 20 20 20 20 Run.tests.(allow.failure).......
0ae0 69 66 3a 20 6d 61 74 72 69 78 2e 61 6c 6c 6f 77 5f 66 61 69 6c 75 72 65 20 3d 3d 20 74 72 75 65 if:.matrix.allow_failure.==.true
0b00 0a 20 20 20 20 20 20 72 75 6e 3a 20 27 6d 61 6b 65 20 63 68 65 63 6b 20 7c 7c 20 74 72 75 65 27 .......run:.'make.check.||.true'
0b20 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 00 00 ................................
0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c00 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 61 73 68 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/dash.el.............
0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c60 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
0c80 30 33 36 32 37 37 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 34 34 34 00 20 30 00 00 00 0362772.00000000000.012444..0...
0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d00 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...................
0d20 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...................
0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e00 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
0e20 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
0e40 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
0e60 31 32 2d 32 30 32 31 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-2021.Free.Software.Foundation
0e80 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.
0ea0 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:.
0ec0 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
0ee0 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
0f00 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
0f20 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
0f40 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.
0f60 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
0f80 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
0fa0 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
0fc0 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
0fe0 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
1000 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
1020 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
1040 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
1060 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
1080 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
10a0 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
10c0 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.
10e0 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.;;.
1100 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
1120 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
1140 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
1160 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
1180 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
11a0 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/>...;;
11c0 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.
11e0 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
1200 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
1220 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
1240 3a 0a 0a 3b 3b 20 54 4f 44 4f 3a 20 60 67 76 27 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 :..;;.TODO:.`gv'.was.introduced.
1260 69 6e 20 45 6d 61 63 73 20 32 34 2e 33 2c 20 73 6f 20 72 65 6d 6f 76 65 20 74 68 69 73 20 61 6e in.Emacs.24.3,.so.remove.this.an
1280 64 20 61 6c 6c 0a 3b 3b 20 63 61 6c 6c 73 20 74 6f 20 60 64 65 66 73 65 74 66 27 20 77 68 65 6e d.all.;;.calls.to.`defsetf'.when
12a0 20 73 75 70 70 6f 72 74 20 66 6f 72 20 65 61 72 6c 69 65 72 20 76 65 72 73 69 6f 6e 73 20 69 73 .support.for.earlier.versions.is
12c0 20 64 72 6f 70 70 65 64 2e 0a 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 28 .dropped..(eval-when-compile...(
12e0 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 74 74 65 unless.(fboundp.'gv-define-sette
1300 72 29 0a 20 20 20 20 28 72 65 71 75 69 72 65 20 27 63 6c 29 29 29 0a 0a 28 64 65 66 67 72 6f 75 r).....(require.'cl)))..(defgrou
1320 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 6f 75 70 20 66 6f 72 p.dash.()..."Customize.group.for
1340 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 61 72 79 2e 22 0a 20 .Dash,.a.modern.list.library."..
1360 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 6f 75 70 20 27 6c 69 .:group.'extensions...:group.'li
1380 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 65 66 6d 61 63 72 6f sp...:prefix."dash-")..(defmacro
13a0 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 75 63 74 69 76 65 3a .!cons.(car.cdr)..."Destructive:
13c0 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 41 52 20 61 6e 64 20 .Set.CDR.to.the.cons.of.CAR.and.
13e0 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 66 6f 72 6d 20 73 79 CDR."...(declare.(debug.(form.sy
1400 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 6f 6e 73 20 2c 63 61 mbolp)))...`(setq.,cdr.(cons.,ca
1420 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 20 28 6c 69 73 74 29 r.,cdr)))..(defmacro.!cdr.(list)
1440 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 20 74 6f 20 74 68 65 ..."Destructive:.Set.LIST.to.the
1460 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 20 28 64 65 62 75 67 .cdr.of.LIST."...(declare.(debug
1480 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 73 74 20 28 63 64 72 .(symbolp)))...`(setq.,list.(cdr
14a0 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 63 68 20 28 6c 69 73 .,list)))..(defmacro.--each.(lis
14c0 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 20 42 4f 44 59 20 66 t.&rest.body)..."Evaluate.BODY.f
14e0 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 6e 64 20 72 65 74 75 or.each.element.of.LIST.and.retu
1500 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 49 53 54 20 69 6e 20 rn.nil..Each.element.of.LIST.in.
1520 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 6e turn.is.bound.to.`it'.and.its.in
1540 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 65 dex.within.LIST.to.`it-index'.be
1560 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 73 20 69 73 20 74 68 fore.evaluating.BODY..This.is.th
1580 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
15a0 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 6f 72 6d 20 62 6f 64 h'."...(declare.(debug.(form.bod
15c0 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 6c 20 28 6d 61 6b 65 y)).(indent.1))...(let.((l.(make
15e0 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 69 20 28 6d 61 6b -symbol."list")).........(i.(mak
1600 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 20 28 28 2c 6c 20 2c e-symbol."i"))).....`(let.((,l.,
1620 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2c 69 20 30 29 0a 20 20 20 20 20 20 20 20 list)............(,i.0).........
1640 20 20 20 69 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 20 69 ...it.it-index)........(ignore.i
1660 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 2c 6c 0a 20 20 20 t.it-index)........(while.,l....
1680 20 20 20 20 20 20 28 73 65 74 71 20 69 74 20 28 70 6f 70 20 2c 6c 29 20 69 74 2d 69 6e 64 65 78 ......(setq.it.(pop.,l).it-index
16a0 20 2c 69 20 2c 69 20 28 31 2b 20 2c 69 29 29 0a 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 .,i.,i.(1+.,i))..........,@body)
16c0 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 65 61 63 68 20 28 6c 69 73 74 20 66 6e 29 0a 20 20 22 43 )))..(defun.-each.(list.fn)..."C
16e0 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 2e 0a all.FN.on.each.element.of.LIST..
1700 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 20 69 6e 74 Return.nil;.this.function.is.int
1720 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 49 74 73 20 61 6e 61 ended.for.side.effects...Its.ana
1740 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 68 27 2e 0a phoric.counterpart.is.`--each'..
1760 0a 46 6f 72 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 .For.access.to.the.current.eleme
1780 6e 74 27 73 20 69 6e 64 65 78 20 69 6e 20 4c 49 53 54 2c 20 73 65 65 0a 60 2d 65 61 63 68 2d 69 nt's.index.in.LIST,.see.`-each-i
17a0 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 29 ndexed'."...(declare.(indent.1))
17c0 0a 20 20 28 69 67 6e 6f 72 65 20 28 6d 61 70 63 20 66 6e 20 6c 69 73 74 29 29 29 0a 0a 28 64 65 ...(ignore.(mapc.fn.list)))..(de
17e0 66 61 6c 69 61 73 20 27 2d 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 27 2d 2d 65 61 63 68 29 0a falias.'--each-indexed.'--each).
1800 0a 28 64 65 66 75 6e 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 28 6c 69 73 74 20 66 6e 29 0a .(defun.-each-indexed.(list.fn).
1820 20 20 22 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 69 6e 64 65 78 20 61 6e 64 20 65 6c 65 .."Call.FN.on.each.index.and.ele
1840 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 0a 46 6f 72 20 65 61 63 68 20 49 54 45 4d 20 61 74 20 49 ment.of.LIST..For.each.ITEM.at.I
1860 4e 44 45 58 20 69 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 NDEX.in.LIST,.call.(funcall.FN.I
1880 4e 44 45 58 20 49 54 45 4d 29 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e NDEX.ITEM)..Return.nil;.this.fun
18a0 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 65 20 65 66 66 65 63 ction.is.intended.for.side.effec
18c0 74 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 6d 61 70 2d 69 6e 64 65 78 65 64 27 2e 22 0a ts...See.also:.`-map-indexed'.".
18e0 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 65 61 63 68 ..(declare.(indent.1))...(--each
1900 20 6c 69 73 74 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 2d 69 6e 64 65 78 20 69 74 29 29 29 .list.(funcall.fn.it-index.it)))
1920 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 28 6c 69 73 74 20 70 ..(defmacro.--each-while.(list.p
1940 72 65 64 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 red.&rest.body)..."Evaluate.BODY
1960 20 66 6f 72 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2c 20 77 68 69 6c 65 20 50 52 .for.each.item.in.LIST,.while.PR
1980 45 44 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2e 0a 45 61 63 68 20 65 6c ED.evaluates.to.non-nil..Each.el
19a0 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 74 ement.of.LIST.in.turn.is.bound.t
19c0 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 54 o.`it'.and.its.index.within.LIST
19e0 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 67 .to.`it-index'.before.evaluating
1a00 20 50 52 45 44 20 6f 72 20 42 4f 44 59 2e 20 20 4f 6e 63 65 0a 61 6e 20 65 6c 65 6d 65 6e 74 20 .PRED.or.BODY...Once.an.element.
1a20 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 65 76 61 6c 75 61 is.reached.for.which.PRED.evalua
1a40 74 65 73 20 74 6f 20 6e 69 6c 2c 20 6e 6f 20 66 75 72 74 68 65 72 0a 42 4f 44 59 20 69 73 20 65 tes.to.nil,.no.further.BODY.is.e
1a60 76 61 6c 75 61 74 65 64 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 valuated...The.return.value.is.a
1a80 6c 77 61 79 73 20 6e 69 6c 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 lways.nil..This.is.the.anaphoric
1aa0 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 65 61 63 68 2d 77 68 69 6c 65 27 2e 22 0a .counterpart.to.`-each-while'.".
1ac0 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 62 6f 64 ..(declare.(debug.(form.form.bod
1ae0 79 29 29 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 20 28 6c 65 74 20 28 28 6c 20 28 6d 61 6b 65 y)).(indent.2))...(let.((l.(make
1b00 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 69 20 28 6d 61 6b -symbol."list")).........(i.(mak
1b20 65 2d 73 79 6d 62 6f 6c 20 22 69 22 29 29 0a 20 20 20 20 20 20 20 20 28 65 6c 74 20 28 6d 61 6b e-symbol."i")).........(elt.(mak
1b40 65 2d 73 79 6d 62 6f 6c 20 22 65 6c 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6c e-symbol."elt"))).....`(let.((,l
1b60 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 0a 20 20 20 20 20 20 .,list)............(,i.0).......
1b80 20 20 20 20 20 2c 65 6c 74 20 69 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 28 69 .....,elt.it.it-index)........(i
1ba0 67 6e 6f 72 65 20 69 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 gnore.it.it-index)........(while
1bc0 20 28 61 6e 64 20 2c 6c 20 28 73 65 74 71 20 2c 65 6c 74 20 28 70 6f 70 20 2c 6c 29 20 69 74 20 .(and.,l.(setq.,elt.(pop.,l).it.
1be0 2c 65 6c 74 20 69 74 2d 69 6e 64 65 78 20 2c 69 29 20 2c 70 72 65 64 29 0a 20 20 20 20 20 20 20 ,elt.it-index.,i).,pred)........
1c00 20 20 28 73 65 74 71 20 69 74 20 2c 65 6c 74 20 69 74 2d 69 6e 64 65 78 20 2c 69 20 2c 69 20 28 ..(setq.it.,elt.it-index.,i.,i.(
1c20 31 2b 20 2c 69 29 29 0a 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 29 29 0a 0a 28 64 65 1+.,i))..........,@body))))..(de
1c40 66 75 6e 20 2d 65 61 63 68 2d 77 68 69 6c 65 20 28 6c 69 73 74 20 70 72 65 64 20 66 6e 29 0a 20 fun.-each-while.(list.pred.fn)..
1c60 20 22 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 49 54 45 4d 20 69 6e 20 4c 49 53 54 2c 20 ."Call.FN.on.each.ITEM.in.LIST,.
1c80 77 68 69 6c 65 20 28 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 while.(PRED.ITEM).is.non-nil..On
1ca0 63 65 20 61 6e 20 49 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 ce.an.ITEM.is.reached.for.which.
1cc0 50 52 45 44 20 72 65 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 PRED.returns.nil,.FN.is.no.longe
1ce0 72 20 63 61 6c 6c 65 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 r.called...Return.nil;.this.func
1d00 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 0a 65 66 66 65 63 74 tion.is.intended.for.side.effect
1d20 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
1d40 20 60 2d 2d 65 61 63 68 2d 77 68 69 6c 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e .`--each-while'."...(declare.(in
1d60 64 65 6e 74 20 32 29 29 0a 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 6c 69 73 74 20 28 66 dent.2))...(--each-while.list.(f
1d80 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 6e 20 69 74 29 29 uncall.pred.it).(funcall.fn.it))
1da0 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 65 61 63 68 2d 72 20 28 6c 69 73 74 20 26 72 65 73 )..(defmacro.--each-r.(list.&res
1dc0 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 66 6f 72 20 65 61 63 t.body)..."Evaluate.BODY.for.eac
1de0 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 72 65 76 65 72 73 65 64 20 6f 72 h.element.of.LIST.in.reversed.or
1e00 64 65 72 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 der..Each.element.of.LIST.in.tur
1e20 6e 2c 20 73 74 61 72 74 69 6e 67 20 61 74 20 69 74 73 20 65 6e 64 2c 20 69 73 20 62 6f 75 6e 64 n,.starting.at.its.end,.is.bound
1e40 20 74 6f 0a 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 20 77 69 74 68 69 6e 20 4c 49 .to.`it'.and.its.index.within.LI
1e60 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 74 69 ST.to.`it-index'.before.evaluati
1e80 6e 67 0a 42 4f 44 59 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 6c ng.BODY...The.return.value.is.al
1ea0 77 61 79 73 20 6e 69 6c 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 ways.nil..This.is.the.anaphoric.
1ec0 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 65 61 63 68 2d 72 27 2e 22 0a 20 20 28 64 65 counterpart.to.`-each-r'."...(de
1ee0 63 6c 61 72 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 clare.(debug.(form.body)).(inden
1f00 74 20 31 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 t.1))...(let.((v.(make-symbol."v
1f20 65 63 74 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 ector")).........(i.(make-symbol
1f40 20 22 69 22 29 29 29 0a 20 20 20 20 3b 3b 20 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6e 6f ."i"))).....;;.Implementation.no
1f60 74 65 3a 20 62 75 69 6c 64 69 6e 67 20 61 20 76 65 63 74 6f 72 20 69 73 20 63 6f 6e 73 69 64 65 te:.building.a.vector.is.conside
1f80 72 61 62 6c 79 20 66 61 73 74 65 72 0a 20 20 20 20 3b 3b 20 74 68 61 6e 20 62 75 69 6c 64 69 6e rably.faster.....;;.than.buildin
1fa0 67 20 61 20 72 65 76 65 72 73 65 64 20 6c 69 73 74 20 28 76 65 63 74 6f 72 20 74 61 6b 65 73 20 g.a.reversed.list.(vector.takes.
1fc0 6c 65 73 73 20 6d 65 6d 6f 72 79 2c 20 73 6f 0a 20 20 20 20 3b 3b 20 74 68 65 72 65 20 69 73 20 less.memory,.so.....;;.there.is.
1fe0 6c 65 73 73 20 47 43 29 2c 20 70 6c 75 73 20 60 6c 65 6e 67 74 68 27 20 63 6f 6d 65 73 20 6e 61 less.GC),.plus.`length'.comes.na
2000 74 75 72 61 6c 6c 79 2e 20 20 49 6e 2d 70 6c 61 63 65 0a 20 20 20 20 3b 3b 20 60 6e 72 65 76 65 turally...In-place.....;;.`nreve
2020 72 73 65 27 20 77 6f 75 6c 64 20 62 65 20 66 61 73 74 65 72 20 73 74 69 6c 6c 2c 20 62 75 74 20 rse'.would.be.faster.still,.but.
2040 42 4f 44 59 20 77 6f 75 6c 64 20 62 65 20 61 62 6c 65 20 74 6f 20 73 65 65 0a 20 20 20 20 3b 3b BODY.would.be.able.to.see.....;;
2060 20 74 68 61 74 2c 20 65 76 65 6e 20 69 66 20 74 68 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 .that,.even.if.the.modification.
2080 77 61 73 20 75 6e 64 6f 6e 65 20 62 65 66 6f 72 65 20 77 65 20 72 65 74 75 72 6e 2e 0a 20 20 20 was.undone.before.we.return.....
20a0 20 60 28 6c 65 74 2a 20 28 28 2c 76 20 28 76 63 6f 6e 63 61 74 20 2c 6c 69 73 74 29 29 0a 20 20 .`(let*.((,v.(vconcat.,list))...
20c0 20 20 20 20 20 20 20 20 20 20 28 2c 69 20 28 6c 65 6e 67 74 68 20 2c 76 29 29 0a 20 20 20 20 20 ..........(,i.(length.,v))......
20e0 20 20 20 20 20 20 20 69 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 28 69 67 6e 6f .......it.it-index)........(igno
2100 72 65 20 69 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e re.it.it-index)........(while.(>
2120 20 2c 69 20 30 29 0a 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 .,i.0)..........(setq.,i.(1-.,i)
2140 20 69 74 2d 69 6e 64 65 78 20 2c 69 20 69 74 20 28 61 72 65 66 20 2c 76 20 2c 69 29 29 0a 20 20 .it-index.,i.it.(aref.,v.,i))...
2160 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 65 61 63 68 2d .......,@body))))..(defun.-each-
2180 72 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 65 r.(list.fn)..."Call.FN.on.each.e
21a0 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 72 65 76 65 72 73 65 64 20 6f 72 64 65 72 lement.of.LIST.in.reversed.order
21c0 2e 0a 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 20 69 ..Return.nil;.this.function.is.i
21e0 6e 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 49 74 73 20 61 ntended.for.side.effects...Its.a
2200 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 68 2d naphoric.counterpart.is.`--each-
2220 72 27 2e 22 0a 20 20 28 2d 2d 65 61 63 68 2d 72 20 6c 69 73 74 20 28 66 75 6e 63 61 6c 6c 20 66 r'."...(--each-r.list.(funcall.f
2240 6e 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 72 2d 77 68 69 6c n.it)))..(defmacro.--each-r-whil
2260 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 61 6c e.(list.pred.&rest.body)..."Eval
2280 20 42 4f 44 59 20 66 6f 72 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 72 65 76 65 72 73 65 64 20 .BODY.for.each.item.in.reversed.
22a0 4c 49 53 54 2c 20 77 68 69 6c 65 20 50 52 45 44 20 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d 6e 69 LIST,.while.PRED.evals.to.non-ni
22c0 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 2c l..Each.element.of.LIST.in.turn,
22e0 20 73 74 61 72 74 69 6e 67 20 61 74 20 69 74 73 20 65 6e 64 2c 20 69 73 20 62 6f 75 6e 64 20 74 .starting.at.its.end,.is.bound.t
2300 6f 0a 60 69 74 27 20 61 6e 64 20 69 74 73 20 69 6e 64 65 78 20 77 69 74 68 69 6e 20 4c 49 53 54 o.`it'.and.its.index.within.LIST
2320 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 67 .to.`it-index'.before.evaluating
2340 0a 50 52 45 44 20 6f 72 20 42 4f 44 59 2e 20 20 4f 6e 63 65 20 61 6e 20 65 6c 65 6d 65 6e 74 20 .PRED.or.BODY...Once.an.element.
2360 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 0a 65 76 61 6c 75 61 is.reached.for.which.PRED.evalua
2380 74 65 73 20 74 6f 20 6e 69 6c 2c 20 6e 6f 20 66 75 72 74 68 65 72 20 42 4f 44 59 20 69 73 20 65 tes.to.nil,.no.further.BODY.is.e
23a0 76 61 6c 75 61 74 65 64 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 0a 69 73 20 61 valuated...The.return.value.is.a
23c0 6c 77 61 79 73 20 6e 69 6c 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 lways.nil..This.is.the.anaphoric
23e0 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 27 2e .counterpart.to.`-each-r-while'.
2400 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 20 62 "...(declare.(debug.(form.form.b
2420 6f 64 79 29 29 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 20 28 6c 65 74 20 28 28 76 20 28 6d 61 ody)).(indent.2))...(let.((v.(ma
2440 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 20 20 28 69 20 ke-symbol."vector")).........(i.
2460 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 20 20 28 65 6c 74 20 (make-symbol."i")).........(elt.
2480 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 20 60 28 6c 65 74 2a (make-symbol."elt"))).....`(let*
24a0 20 28 28 2c 76 20 28 76 63 6f 6e 63 61 74 20 2c 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 .((,v.(vconcat.,list))..........
24c0 20 20 20 28 2c 69 20 28 6c 65 6e 67 74 68 20 2c 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...(,i.(length.,v)).............
24e0 2c 65 6c 74 20 69 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 ,elt.it.it-index)........(ignore
2500 20 69 74 20 69 74 2d 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 77 68 65 .it.it-index)........(while.(whe
2520 6e 20 28 3e 20 2c 69 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 n.(>.,i.0).................(setq
2540 20 2c 69 20 28 31 2d 20 2c 69 29 20 69 74 2d 69 6e 64 65 78 20 2c 69 29 0a 20 20 20 20 20 20 20 .,i.(1-.,i).it-index.,i)........
2560 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 65 6c 74 20 28 61 72 65 66 20 2c 76 20 2c 69 29 .........(setq.,elt.(aref.,v.,i)
2580 20 69 74 20 2c 65 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 70 72 65 64 29 .it.,elt).................,pred)
25a0 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 74 2d 69 6e 64 65 78 20 2c 69 20 69 74 20 2c ..........(setq.it-index.,i.it.,
25c0 65 6c 74 29 0a 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 29 29 0a 0a 28 64 65 66 75 6e elt)..........,@body))))..(defun
25e0 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 0a 20 20 .-each-r-while.(list.pred.fn)...
2600 22 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 76 65 72 73 65 "Call.FN.on.each.ITEM.in.reverse
2620 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 73 20 6e 6f 6e d.LIST,.while.(PRED.ITEM).is.non
2640 2d 6e 69 6c 2e 0a 4f 6e 63 65 20 61 6e 20 49 54 45 4d 20 69 73 20 72 65 61 63 68 65 64 20 66 6f -nil..Once.an.ITEM.is.reached.fo
2660 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 46 4e 20 69 73 20 r.which.PRED.returns.nil,.FN.is.
2680 6e 6f 0a 6c 6f 6e 67 65 72 20 63 61 6c 6c 65 64 2e 20 20 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 no.longer.called...Return.nil;.t
26a0 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
26c0 65 0a 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
26e0 72 70 61 72 74 20 69 73 20 60 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 27 2e 22 0a 20 20 28 2d rpart.is.`--each-r-while'."...(-
2700 2d 65 61 63 68 2d 72 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 -each-r-while.list.(funcall.pred
2720 20 69 74 29 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 .it).(funcall.fn.it)))..(defmacr
2740 6f 20 2d 2d 64 6f 74 69 6d 65 73 20 28 6e 75 6d 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 o.--dotimes.(num.&rest.body)..."
2760 45 76 61 6c 75 61 74 65 20 42 4f 44 59 20 4e 55 4d 20 74 69 6d 65 73 2c 20 70 72 65 73 75 6d 61 Evaluate.BODY.NUM.times,.presuma
2780 62 6c 79 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 42 4f 44 59 20 69 73 20 65 76 bly.for.side.effects..BODY.is.ev
27a0 61 6c 75 61 74 65 64 20 77 69 74 68 20 74 68 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 aluated.with.the.local.variable.
27c0 60 69 74 27 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 62 6f 75 6e 64 0a 74 6f 20 73 75 63 63 65 73 `it'.temporarily.bound.to.succes
27e0 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 69 6e sive.integers.running.from.0,.in
2800 63 6c 75 73 69 76 65 2c 20 74 6f 20 4e 55 4d 2c 0a 65 78 63 6c 75 73 69 76 65 2e 20 20 42 4f 44 clusive,.to.NUM,.exclusive...BOD
2820 59 20 69 73 20 6e 6f 74 20 65 76 61 6c 75 61 74 65 64 20 69 66 20 4e 55 4d 20 69 73 20 6c 65 73 Y.is.not.evaluated.if.NUM.is.les
2840 73 20 74 68 61 6e 20 31 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 6e 61 70 68 6f 72 69 63 20 s.than.1..This.is.the.anaphoric.
2860 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 64 6f 74 69 6d 65 73 27 2e 22 0a 20 20 28 64 counterpart.to.`-dotimes'."...(d
2880 65 63 6c 61 72 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 eclare.(debug.(form.body)).(inde
28a0 6e 74 20 31 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 nt.1))...(let.((n.(make-symbol."
28c0 6e 75 6d 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 num")).........(i.(make-symbol."
28e0 69 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6e 20 2c 6e 75 6d 29 0a 20 20 20 20 20 i"))).....`(let.((,n.,num)......
2900 20 20 20 20 20 20 28 2c 69 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 69 74 29 0a 20 20 20 20 ......(,i.0)............it).....
2920 20 20 20 28 69 67 6e 6f 72 65 20 69 74 29 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 ...(ignore.it)........(while.(<.
2940 2c 69 20 2c 6e 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 74 20 2c 69 20 2c 69 20 28 ,i.,n)..........(setq.it.,i.,i.(
2960 31 2b 20 2c 69 29 29 0a 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 29 29 0a 0a 28 64 65 1+.,i))..........,@body))))..(de
2980 66 75 6e 20 2d 64 6f 74 69 6d 65 73 20 28 6e 75 6d 20 66 6e 29 0a 20 20 22 43 61 6c 6c 20 46 4e fun.-dotimes.(num.fn)..."Call.FN
29a0 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 20 73 69 64 65 20 .NUM.times,.presumably.for.side.
29c0 65 66 66 65 63 74 73 2e 0a 46 4e 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 73 69 6e effects..FN.is.called.with.a.sin
29e0 67 6c 65 20 61 72 67 75 6d 65 6e 74 20 6f 6e 20 73 75 63 63 65 73 73 69 76 65 20 69 6e 74 65 67 gle.argument.on.successive.integ
2a00 65 72 73 0a 72 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 ers.running.from.0,.inclusive,.t
2a20 6f 20 4e 55 4d 2c 20 65 78 63 6c 75 73 69 76 65 2e 20 20 46 4e 20 69 73 20 6e 6f 74 20 63 61 6c o.NUM,.exclusive...FN.is.not.cal
2a40 6c 65 64 0a 69 66 20 4e 55 4d 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 31 2e 0a 0a 54 68 69 73 led.if.NUM.is.less.than.1...This
2a60 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 72 .function's.anaphoric.counterpar
2a80 74 20 69 73 20 60 2d 2d 64 6f 74 69 6d 65 73 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 t.is.`--dotimes'."...(declare.(i
2aa0 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 2d 2d 64 6f 74 69 6d 65 73 20 6e 75 6d 20 28 66 75 6e 63 ndent.1))...(--dotimes.num.(func
2ac0 61 6c 6c 20 66 6e 20 69 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 61 70 20 28 66 6e 20 6c 69 all.fn.it)))..(defun.-map.(fn.li
2ae0 73 74 29 0a 20 20 22 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 st)..."Apply.FN.to.each.item.in.
2b00 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
2b20 6c 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 6f 72 69 63 20 lts...This.function's.anaphoric.
2b40 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 6d 61 70 27 2e 22 0a 20 20 28 6d 61 70 63 counterpart.is.`--map'."...(mapc
2b60 61 72 20 66 6e 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6d 61 70 20 28 66 ar.fn.list))..(defmacro.--map.(f
2b80 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 45 76 61 6c 20 46 4f 52 4d 20 66 6f 72 20 65 61 63 68 20 orm.list)..."Eval.FORM.for.each.
2ba0 69 74 65 6d 20 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 item.in.LIST.and.return.the.list
2bc0 20 6f 66 20 72 65 73 75 6c 74 73 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 .of.results..Each.element.of.LIS
2be0 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
2c00 65 20 65 76 61 6c 75 61 74 69 6e 67 0a 46 4f 52 4d 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 e.evaluating.FORM..This.is.the.a
2c20 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 6d 61 70 27 2e 22 naphoric.counterpart.to.`-map'."
2c40 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 66 6f 72 ...(declare.(debug.(def-form.for
2c60 6d 29 29 29 0a 20 20 60 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 m)))...`(mapcar.(lambda.(it).(ig
2c80 6e 6f 72 65 20 69 74 29 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 nore.it).,form).,list))..(defmac
2ca0 72 6f 20 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6f 72 6d 20 69 6e 69 74 20 6c 69 73 74 ro.--reduce-from.(form.init.list
2cc0 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 20 65 76 61 6c 75 )..."Accumulate.a.value.by.evalu
2ce0 61 74 69 6e 67 20 46 4f 52 4d 20 61 63 72 6f 73 73 20 4c 49 53 54 2e 0a 54 68 69 73 20 6d 61 63 ating.FORM.across.LIST..This.mac
2d00 72 6f 20 69 73 20 6c 69 6b 65 20 60 2d 2d 65 61 63 68 27 20 28 77 68 69 63 68 20 73 65 65 29 2c ro.is.like.`--each'.(which.see),
2d20 20 62 75 74 20 69 74 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 0a 70 72 6f 76 69 64 65 73 20 61 6e .but.it.additionally.provides.an
2d40 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 76 61 72 69 61 62 6c 65 20 60 61 63 63 27 20 77 68 69 63 .accumulator.variable.`acc'.whic
2d60 68 20 69 74 20 73 75 63 63 65 73 73 69 76 65 6c 79 0a 62 69 6e 64 73 20 74 6f 20 74 68 65 20 72 h.it.successively.binds.to.the.r
2d80 65 73 75 6c 74 20 6f 66 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 20 66 6f 72 20 74 68 65 esult.of.evaluating.FORM.for.the
2da0 20 63 75 72 72 65 6e 74 20 4c 49 53 54 0a 65 6c 65 6d 65 6e 74 20 62 65 66 6f 72 65 20 70 72 6f .current.LIST.element.before.pro
2dc0 63 65 73 73 69 6e 67 20 74 68 65 20 6e 65 78 74 20 65 6c 65 6d 65 6e 74 2e 20 20 46 6f 72 20 74 cessing.the.next.element...For.t
2de0 68 65 20 66 69 72 73 74 0a 65 6c 65 6d 65 6e 74 2c 20 60 61 63 63 27 20 69 73 20 69 6e 69 74 69 he.first.element,.`acc'.is.initi
2e00 61 6c 69 7a 65 64 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 65 76 61 6c 75 61 alized.with.the.result.of.evalua
2e20 74 69 6e 67 20 49 4e 49 54 2e 0a 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 ting.INIT..The.return.value.is.t
2e40 68 65 20 72 65 73 75 6c 74 69 6e 67 20 76 61 6c 75 65 20 6f 66 20 60 61 63 63 27 2e 20 20 49 66 he.resulting.value.of.`acc'...If
2e60 20 4c 49 53 54 20 69 73 0a 65 6d 70 74 79 2c 20 46 4f 52 4d 20 69 73 20 6e 6f 74 20 65 76 61 6c .LIST.is.empty,.FORM.is.not.eval
2e80 75 61 74 65 64 2c 20 61 6e 64 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 uated,.and.the.return.value.is.t
2ea0 68 65 20 72 65 73 75 6c 74 0a 6f 66 20 49 4e 49 54 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 he.result.of.INIT..This.is.the.a
2ec0 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 63 65 naphoric.counterpart.to.`-reduce
2ee0 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 66 6f 72 6d -from'."...(declare.(debug.(form
2f00 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 6c 65 74 20 28 28 61 63 63 20 2c 69 6e 69 .form.form)))...`(let.((acc.,ini
2f20 74 29 29 0a 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 20 28 73 65 74 71 20 61 63 63 t))......(--each.,list.(setq.acc
2f40 20 2c 66 6f 72 6d 29 29 0a 20 20 20 20 20 61 63 63 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 64 .,form))......acc))..(defun.-red
2f60 75 63 65 2d 66 72 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 uce-from.(fn.init.list)..."Reduc
2f80 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 53 54 2c 20 73 e.the.function.FN.across.LIST,.s
2fa0 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 68 65 20 72 65 tarting.with.INIT..Return.the.re
2fc0 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 49 4e 49 54 20 61 6e 64 20 sult.of.applying.FN.to.INIT.and.
2fe0 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 4c 49 53 54 2c 20 74 68 65 6e 20 the.first.element.of.LIST,.then.
3000 61 70 70 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 applying.FN.to.that.result.and.t
3020 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 2c 0a 65 74 63 2e 20 20 49 66 20 4c 49 53 54 he.second.element,.etc...If.LIST
3040 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 75 74 20 63 .is.empty,.return.INIT.without.c
3060 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 27 73 20 61 6e 61 70 alling.FN...This.function's.anap
3080 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 65 2d 66 horic.counterpart.is.`--reduce-f
30a0 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 65 65 20 61 6c 73 6f rom'...For.other.folds,.see.also
30c0 20 60 2d 72 65 64 75 63 65 27 20 61 6e 64 20 60 2d 72 65 64 75 63 65 2d 72 27 2e 22 0a 20 20 28 .`-reduce'.and.`-reduce-r'."...(
30e0 2d 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 --reduce-from.(funcall.fn.acc.it
3100 29 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 ).init.list))..(defmacro.--reduc
3120 65 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 e.(form.list)..."Accumulate.a.va
3140 6c 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 lue.by.evaluating.FORM.across.LI
3160 53 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 ST..This.macro.is.like.`--reduce
3180 2d 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 -from'.(which.see),.except.the.f
31a0 69 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 irst.element.of.LIST.is.taken.as
31c0 20 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 .INIT...Thus.if.LIST.contains.a.
31e0 73 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 single.item,.it.is.returned.with
3200 6f 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 out.evaluating.FORM...If.LIST.is
3220 20 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 .empty,.FORM.is.evaluated.with.`
3240 69 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 it'.and.`acc'.bound.to.nil..This
3260 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
3280 20 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 .`-reduce'."...(declare.(debug.(
32a0 66 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 form.form)))...(let.((lv.(make-s
32c0 79 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 ymbol."list-value"))).....`(let.
32e0 28 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 ((,lv.,list))........(if.,lv....
3300 20 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 ........(--reduce-from.,form.(ca
3320 72 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 r.,lv).(cdr.,lv))..........;;.Ex
3340 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 73 20 6c 65 78 69 plicit.nil.binding.pacifies.lexi
3360 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 61 6c 69 7a 65 64 cal."variable.left.uninitialized
3380 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 65 20 69 73 73 75 "..........;;.warning...See.issu
33a0 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 2f 2f 62 75 67 73 e.#377.and.upstream.https://bugs
33c0 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 6c 65 74 20 28 28 .gnu.org/47080...........(let.((
33e0 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 20 20 20 20 28 69 acc.nil).(it.nil))............(i
3400 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 2c 66 6f 72 6d 29 29 gnore.acc.it)............,form))
3420 29 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 )))..(defun.-reduce.(fn.list)...
3440 22 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 "Reduce.the.function.FN.across.L
3460 49 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 IST..Return.the.result.of.applyi
3480 6e 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 ng.FN.to.the.first.two.elements.
34a0 6f 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 of.LIST,.then.applying.FN.to.tha
34c0 74 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 t.result.and.the.third.element,.
34e0 65 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 etc..If.LIST.contains.a.single.e
3500 6c 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 lement,.return.it.without.callin
3520 67 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 g.FN..If.LIST.is.empty,.return.t
3540 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 0a he.result.of.calling.FN.with.no.
3560 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 6e 61 70 arguments...This.function's.anap
3580 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 65 27 2e horic.counterpart.is.`--reduce'.
35a0 0a 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 ..For.other.folds,.see.also.`-re
35c0 64 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 duce-from'.and.`-reduce-r'."...(
35e0 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 6d 20 66 6e 20 28 if.list.......(-reduce-from.fn.(
3600 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 28 66 75 6e 63 61 car.list).(cdr.list)).....(funca
3620 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 63 65 2d 72 2d 66 ll.fn)))..(defmacro.--reduce-r-f
3640 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 75 6d 75 6c 61 rom.(form.init.list)..."Accumula
3660 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 52 4d 20 61 63 te.a.value.by.evaluating.FORM.ac
3680 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 20 6d 61 63 72 6f ross.LIST.in.reverse..This.macro
36a0 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 65 78 63 65 70 74 .is.like.`--reduce-from',.except
36c0 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 20 4c 49 53 54 2e .it.starts.from.the.end.of.LIST.
36e0 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
3700 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 20 28 64 65 63 6c rt.to.`-reduce-r-from'."...(decl
3720 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 20 are.(debug.(form.form.form)))...
3740 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 2d 2d 65 61 63 68 `(let.((acc.,init))......(--each
3760 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 0a 20 20 20 20 20 -r.,list.(setq.acc.,form))......
3780 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 6f 6d 20 28 66 6e acc))..(defun.-reduce-r-from.(fn
37a0 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 6e 63 74 69 .init.list)..."Reduce.the.functi
37c0 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 73 65 2c 20 73 74 on.FN.across.LIST.in.reverse,.st
37e0 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 68 65 20 72 65 73 arting.with.INIT..Return.the.res
3800 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 6c 61 73 74 20 65 ult.of.applying.FN.to.the.last.e
3820 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 68 65 6e 20 61 70 lement.of.LIST.and.INIT,.then.ap
3840 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 2d 6c 61 73 74 20 plying.FN.to.the.second-to-last.
3860 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 75 6c 74 20 element.and.the.previous.result.
3880 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 73 74 20 of.FN,.etc...That.is,.the.first.
38a0 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 74 20 65 6c argument.of.FN.is.the.current.el
38c0 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 6e 74 20 74 ement,.and.its.second.argument.t
38e0 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 53 54 20 69 he.accumulated.value...If.LIST.i
3900 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 75 74 20 63 61 6c s.empty,.return.INIT.without.cal
3920 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 20 6c 69 6b 65 20 ling.FN...This.function.is.like.
3940 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 72 61 74 69 6f 6e `-reduce-from'.but.the.operation
3960 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 20 72 61 74 68 65 .associates.from.the.right.rathe
3980 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 64 73 2c 20 69 74 r.than.left...In.other.words,.it
39a0 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 53 54 20 61 6e 64 .starts.from.the.end.of.LIST.and
39c0 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 20 20 43 6f 6e .flips.the.arguments.to.FN...Con
39e0 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 61 63 69 6e 67 20 ceptually,.it.is.like.replacing.
3a00 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 70 6c 69 63 61 74 the.conses.in.LIST.with.applicat
3a20 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 69 6e 6b 20 77 69 ions.of.FN,.and.its.last.link.wi
3a40 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 20 72 65 73 75 th.INIT,.and.evaluating.the.resu
3a60 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 6e 63 74 69 6f 6e lting.expression...This.function
3a80 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 2d 2d 72 's.anaphoric.counterpart.is.`--r
3aa0 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 66 6f 6c 64 73 2c educe-r-from'...For.other.folds,
3ac0 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 60 2d 72 65 64 75 .see.also.`-reduce-r'.and.`-redu
3ae0 63 65 27 2e 22 0a 20 20 28 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 28 66 75 6e 63 61 6c ce'."...(--reduce-r-from.(funcal
3b00 6c 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 l.fn.it.acc).init.list))..(defma
3b20 63 72 6f 20 2d 2d 72 65 64 75 63 65 2d 72 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 63 cro.--reduce-r.(form.list)..."Ac
3b40 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
3b60 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 20 6f 72 64 65 72 ORM.across.LIST.in.reverse.order
3b80 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 27 2c ..This.macro.is.like.`--reduce',
3ba0 20 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 20 6f .except.it.starts.from.the.end.o
3bc0 66 0a 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 f.LIST..This.is.the.anaphoric.co
3be0 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 72 65 64 75 63 65 2d 72 27 2e 22 0a 20 20 28 64 65 unterpart.to.`-reduce-r'."...(de
3c00 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 60 28 2d clare.(debug.(form.form)))...`(-
3c20 2d 72 65 64 75 63 65 20 2c 66 6f 72 6d 20 28 72 65 76 65 72 73 65 20 2c 6c 69 73 74 29 29 29 0a -reduce.,form.(reverse.,list))).
3c40 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 63 65 2d 72 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 52 .(defun.-reduce-r.(fn.list)..."R
3c60 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 53 educe.the.function.FN.across.LIS
3c80 54 20 69 6e 20 72 65 76 65 72 73 65 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 T.in.reverse..Return.the.result.
3ca0 6f 66 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 of.applying.FN.to.the.last.two.e
3cc0 6c 65 6d 65 6e 74 73 20 6f 66 0a 4c 49 53 54 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 46 lements.of.LIST,.then.applying.F
3ce0 4e 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 74 20 61 N.to.the.third-to-last.element.a
3d00 6e 64 20 74 68 65 0a 70 72 65 76 69 6f 75 73 20 72 65 73 75 6c 74 20 6f 66 20 46 4e 2c 20 65 74 nd.the.previous.result.of.FN,.et
3d20 63 2e 20 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 c...That.is,.the.first.argument.
3d40 6f 66 20 46 4e 20 69 73 0a 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 2c 20 61 6e of.FN.is.the.current.element,.an
3d60 64 20 69 74 73 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 61 63 63 75 6d 75 d.its.second.argument.the.accumu
3d80 6c 61 74 65 64 0a 76 61 6c 75 65 2e 20 20 49 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 61 lated.value...If.LIST.contains.a
3da0 20 73 69 6e 67 6c 65 20 65 6c 65 6d 65 6e 74 2c 20 72 65 74 75 72 6e 20 69 74 20 77 69 74 68 6f .single.element,.return.it.witho
3dc0 75 74 0a 63 61 6c 6c 69 6e 67 20 46 4e 2e 20 20 49 66 20 4c 49 53 54 20 69 73 20 65 6d 70 74 79 ut.calling.FN...If.LIST.is.empty
3de0 2c 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 46 ,.return.the.result.of.calling.F
3e00 4e 0a 77 69 74 68 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 N.with.no.arguments...This.funct
3e20 69 6f 6e 20 69 73 20 6c 69 6b 65 20 60 2d 72 65 64 75 63 65 27 20 62 75 74 20 74 68 65 20 6f 70 ion.is.like.`-reduce'.but.the.op
3e40 65 72 61 74 69 6f 6e 20 61 73 73 6f 63 69 61 74 65 73 20 66 72 6f 6d 0a 74 68 65 20 72 69 67 68 eration.associates.from.the.righ
3e60 74 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 t.rather.than.left...In.other.wo
3e80 72 64 73 2c 20 69 74 20 73 74 61 72 74 73 20 66 72 6f 6d 20 74 68 65 0a 65 6e 64 20 6f 66 20 4c rds,.it.starts.from.the.end.of.L
3ea0 49 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 IST.and.flips.the.arguments.to.F
3ec0 4e 2e 20 20 43 6f 6e 63 65 70 74 75 61 6c 6c 79 2c 20 69 74 20 69 73 0a 6c 69 6b 65 20 72 65 70 N...Conceptually,.it.is.like.rep
3ee0 6c 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 lacing.the.conses.in.LIST.with.a
3f00 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 46 4e 2c 0a 69 67 6e 6f 72 69 6e 67 20 69 74 73 20 pplications.of.FN,.ignoring.its.
3f20 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 65 20 72 65 last.link,.and.evaluating.the.re
3f40 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 6e 63 74 69 sulting.expression...This.functi
3f60 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 2d on's.anaphoric.counterpart.is.`-
3f80 2d 72 65 64 75 63 65 2d 72 27 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 -reduce-r'...For.other.folds,.se
3fa0 65 20 61 6c 73 6f 20 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 27 20 61 6e 64 20 60 2d 72 65 e.also.`-reduce-r-from'.and.`-re
3fc0 64 75 63 65 27 2e 22 0a 20 20 28 69 66 20 6c 69 73 74 0a 20 20 20 20 20 20 28 2d 2d 72 65 64 75 duce'."...(if.list.......(--redu
3fe0 63 65 2d 72 20 28 66 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 ce-r.(funcall.fn.it.acc).list)..
4000 20 20 20 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 ...(funcall.fn)))..(defmacro.--r
4020 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 6f 72 6d 20 69 6e 69 74 20 6c 69 73 74 29 0a eductions-from.(form.init.list).
4040 20 20 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 .."Return.a.list.of.FORM's.inter
4060 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 4c 49 53 54 2e 0a mediate.reductions.across.LIST..
4080 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 74 65 72 6d 65 64 69 That.is,.a.list.of.the.intermedi
40a0 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 72 0a 77 68 ate.values.of.the.accumulator.wh
40c0 65 6e 20 60 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 27 20 28 77 68 69 63 68 20 73 65 65 29 20 69 en.`--reduce-from'.(which.see).i
40e0 73 20 63 61 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 s.called.with.the.same.arguments
4100 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 6e 74 65 72 70 ..This.is.the.anaphoric.counterp
4120 61 72 74 20 74 6f 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 27 2e 22 0a 20 20 28 64 art.to.`-reductions-from'."...(d
4140 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 29 29 29 eclare.(debug.(form.form.form)))
4160 0a 20 20 60 28 6e 72 65 76 65 72 73 65 0a 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d ...`(nreverse.....(--reduce-from
4180 20 28 63 6f 6e 73 20 28 6c 65 74 20 28 28 61 63 63 20 28 63 61 72 20 61 63 63 29 29 29 20 28 69 .(cons.(let.((acc.(car.acc))).(i
41a0 67 6e 6f 72 65 20 61 63 63 29 20 2c 66 6f 72 6d 29 20 61 63 63 29 0a 20 20 20 20 20 20 20 20 20 gnore.acc).,form).acc)..........
41c0 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 2c 69 6e 69 74 29 0a 20 20 20 20 20 20 20 20 20 ..........(list.,init)..........
41e0 20 20 20 20 20 20 20 20 20 20 2c 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 64 75 ..........,list)))..(defun.-redu
4200 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 22 52 65 ctions-from.(fn.init.list)..."Re
4220 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 61 74 65 turn.a.list.of.FN's.intermediate
4240 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 20 69 73 .reductions.across.LIST..That.is
4260 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 6c ,.a.list.of.the.intermediate.val
4280 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 72 65 ues.of.the.accumulator.when.`-re
42a0 64 75 63 65 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 duce-from'.(which.see).is.called
42c0 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.
42e0 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
4300 20 69 73 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 27 2e 0a 0a 46 6f 72 20 6f 74 .is.`--reductions-from'...For.ot
4320 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 6e 73 her.folds,.see.also.`-reductions
4340 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 2d 2d 72 65 64 '.and.`-reductions-r'."...(--red
4360 75 63 74 69 6f 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 uctions-from.(funcall.fn.acc.it)
4380 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 74 .init.list))..(defmacro.--reduct
43a0 69 6f 6e 73 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 6c 69 73 ions.(form.list)..."Return.a.lis
43c0 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
43e0 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 69 73 74 ons.across.LIST..That.is,.a.list
4400 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 66 20 74 .of.the.intermediate.values.of.t
4420 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 27 20 28 he.accumulator.when.`--reduce'.(
4440 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
4460 6d 65 20 61 72 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 me.arguments..This.is.the.anapho
4480 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 63 74 69 6f 6e 73 27 ric.counterpart.to.`-reductions'
44a0 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 29 ."...(declare.(debug.(form.form)
44c0 29 29 0a 20 20 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 ))...(let.((lv.(make-symbol."lis
44e0 74 2d 76 61 6c 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 t-value"))).....`(let.((,lv.,lis
4500 74 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 20 20 20 28 2d t))........(if.,lv............(-
4520 2d 72 65 64 75 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 -reductions-from.,form.(car.,lv)
4540 20 28 63 64 72 20 2c 6c 76 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 61 63 63 20 69 .(cdr.,lv))..........(let.(acc.i
4560 74 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 74 29 0a 20 20 t)............(ignore.acc.it)...
4580 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 0a 28 64 65 66 .........(list.,form))))))..(def
45a0 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 22 52 65 74 75 un.-reductions.(fn.list)..."Retu
45c0 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 61 74 65 20 72 rn.a.list.of.FN's.intermediate.r
45e0 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 20 69 73 2c 20 eductions.across.LIST..That.is,.
4600 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
4620 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
4640 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 69 74 68 20 74 ce'.(which.see).is.called.with.t
4660 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 74 69 6f he.same.arguments...This.functio
4680 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 2d 2d n's.anaphoric.counterpart.is.`--
46a0 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 64 73 2c 20 73 reductions'...For.other.folds,.s
46c0 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
46e0 63 74 69 6f 6e 73 2d 72 27 2e 22 0a 20 20 28 69 66 20 6c 69 73 74 0a 20 20 20 20 20 20 28 2d 2d ctions-r'."...(if.list.......(--
4700 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 61 63 63 20 reductions-from.(funcall.fn.acc.
4720 69 74 29 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 28 it).(car.list).(cdr.list)).....(
4740 6c 69 73 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 list.(funcall.fn))))..(defmacro.
4760 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 28 66 6f 72 6d 20 69 6e 69 74 20 6c --reductions-r-from.(form.init.l
4780 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 46 4f 52 4d 27 73 20 ist)..."Return.a.list.of.FORM's.
47a0 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 72 intermediate.reductions.across.r
47c0 65 76 65 72 73 65 64 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 eversed.LIST..That.is,.a.list.of
47e0 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 20 .the.intermediate.values.of.the.
4800 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 2d 72 2d 66 72 6f accumulator.when.`--reduce-r-fro
4820 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 68 20 74 68 m'.(which.see).is.called.with.th
4840 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 65 20 61 6e e.same.arguments..This.is.the.an
4860 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 63 74 69 aphoric.counterpart.to.`-reducti
4880 6f 6e 73 2d 72 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 ons-r-from'."...(declare.(debug.
48a0 28 66 6f 72 6d 20 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 2d 72 65 64 75 63 65 2d (form.form.form)))...`(--reduce-
48c0 72 2d 66 72 6f 6d 20 28 63 6f 6e 73 20 28 6c 65 74 20 28 28 61 63 63 20 28 63 61 72 20 61 63 63 r-from.(cons.(let.((acc.(car.acc
48e0 29 29 29 20 28 69 67 6e 6f 72 65 20 61 63 63 29 20 2c 66 6f 72 6d 29 20 61 63 63 29 0a 20 20 20 ))).(ignore.acc).,form).acc)....
4900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 2c 69 6e 69 74 29 0a 20 20 .................(list.,init)...
4920 20 20 20 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 ..................,list))..(defu
4940 6e 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 n.-reductions-r-from.(fn.init.li
4960 73 74 29 0a 20 20 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 st)..."Return.a.list.of.FN's.int
4980 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 72 65 76 65 ermediate.reductions.across.reve
49a0 72 73 65 64 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 rsed.LIST..That.is,.a.list.of.th
49c0 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 63 e.intermediate.values.of.the.acc
49e0 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 27 20 28 umulator.when.`-reduce-r-from'.(
4a00 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
4a20 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
4a40 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
4a60 74 69 6f 6e 73 2d 72 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 tions-r-from'...For.other.folds,
4a80 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 2d 72 65 .see.also.`-reductions'.and.`-re
4aa0 64 75 63 74 69 6f 6e 73 2d 72 27 2e 22 0a 20 20 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d ductions-r'."...(--reductions-r-
4ac0 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 69 from.(funcall.fn.it.acc).init.li
4ae0 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 2d 72 20 28 st))..(defmacro.--reductions-r.(
4b00 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 46 form.list)..."Return.a.list.of.F
4b20 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 63 ORM's.intermediate.reductions.ac
4b40 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 61 20 6c ross.reversed.LIST..That.is,.a.l
4b60 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
4b80 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
4ba0 2d 72 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 69 74 68 20 -re'.(which.see).is.called.with.
4bc0 74 68 65 20 73 61 6d 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 the.same.arguments..This.is.the.
4be0 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 63 anaphoric.counterpart.to.`-reduc
4c00 74 69 6f 6e 73 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 tions-r'."...(declare.(debug.(fo
4c20 72 6d 20 6c 69 73 74 29 29 29 0a 20 20 28 6c 65 74 20 28 28 6c 76 20 28 6d 61 6b 65 2d 73 79 6d rm.list)))...(let.((lv.(make-sym
4c40 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 28 bol."list-value"))).....`(let.((
4c60 2c 6c 76 20 28 72 65 76 65 72 73 65 20 2c 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 28 69 66 ,lv.(reverse.,list)))........(if
4c80 20 2c 6c 76 0a 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 .,lv............(--reduce-from.(
4ca0 63 6f 6e 73 20 28 6c 65 74 20 28 28 61 63 63 20 28 63 61 72 20 61 63 63 29 29 29 20 28 69 67 6e cons.(let.((acc.(car.acc))).(ign
4cc0 6f 72 65 20 61 63 63 29 20 2c 66 6f 72 6d 29 20 61 63 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 ore.acc).,form).acc)............
4ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 63 61 72 20 2c 6c 76 29 29 0a ...............(list.(car.,lv)).
4d00 20 20 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 63 64 72 20 2c ..........................(cdr.,
4d20 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 62 69 lv))..........;;.Explicit.nil.bi
4d40 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 6c 65 nding.pacifies.lexical."variable
4d60 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 3b 3b .left.uninitialized"..........;;
4d80 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 75 70 .warning...See.issue.#377.and.up
4da0 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 30 38 stream.https://bugs.gnu.org/4708
4dc0 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 74 20 0...........(let.((acc.nil).(it.
4de0 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 74 29 nil))............(ignore.acc.it)
4e00 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 0a 28 ............(list.,form))))))..(
4e20 64 65 66 75 6e 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 20 defun.-reductions-r.(fn.list)...
4e40 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
4e60 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 20 4c ate.reductions.across.reversed.L
4e80 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 74 65 IST..That.is,.a.list.of.the.inte
4ea0 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 61 74 rmediate.values.of.the.accumulat
4ec0 6f 72 0a 77 68 65 6e 20 60 2d 72 65 64 75 63 65 2d 72 27 20 28 77 68 69 63 68 20 73 65 65 29 20 or.when.`-reduce-r'.(which.see).
4ee0 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 6d 65 6e 74 is.called.with.the.same.argument
4f00 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 6f 72 69 63 20 63 6f s...This.function's.anaphoric.co
4f20 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 27 2e 0a 0a unterpart.is.`--reductions-r'...
4f40 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 75 For.other.folds,.see.also.`-redu
4f60 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 27 20 61 6e 64 0a 60 2d 72 65 64 75 63 74 69 6f 6e 73 27 ctions-r-from'.and.`-reductions'
4f80 2e 22 0a 20 20 28 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 ."...(if.list.......(--reduction
4fa0 73 2d 72 20 28 66 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 s-r.(funcall.fn.it.acc).list)...
4fc0 20 20 28 6c 69 73 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 ..(list.(funcall.fn))))..(defmac
4fe0 72 6f 20 2d 2d 66 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 ro.--filter.(form.list)..."Retur
5000 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 49 53 n.a.new.list.of.the.items.in.LIS
5020 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
5040 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 20 l..Each.element.of.LIST.in.turn.
5060 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
5080 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.
50a0 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 20 61 6e 61 evaluating.FORM..This.is.the.ana
50c0 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 6c 74 65 72 27 2e phoric.counterpart.to.`-filter'.
50e0 0a 46 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 .For.the.opposite.operation,.see
5100 20 61 6c 73 6f 20 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 .also.`--remove'."...(declare.(d
5120 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 6d ebug.(form.form)))...(let.((r.(m
5140 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
5160 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 20 28 77 68 65 6e .(,r)........(--each.,list.(when
5180 20 2c 66 6f 72 6d 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 .,form.(push.it.,r)))........(nr
51a0 65 76 65 72 73 65 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 everse.,r))))..(defun.-filter.(p
51c0 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 73 74 20 6f red.list)..."Return.a.new.list.o
51e0 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 68 20 50 52 f.the.items.in.LIST.for.which.PR
5200 45 44 20 72 65 74 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 ED.returns.non-nil...Alias:.`-se
5220 6c 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 lect'...This.function's.anaphori
5240 63 20 63 6f 75 6e 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 c.counterpart.is.`--filter'...Fo
5260 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.`
5280 2d 6b 65 65 70 27 20 61 6e 64 20 60 2d 72 65 6d 6f 76 65 27 2e 22 0a 20 20 28 2d 2d 66 69 6c 74 -keep'.and.`-remove'."...(--filt
52a0 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 65 er.(funcall.pred.it).list))..(de
52c0 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 6c falias.'-select.'-filter).(defal
52e0 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 61 ias.'--select.'--filter)..(defma
5300 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 75 cro.--remove.(form.list)..."Retu
5320 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 49 rn.a.new.list.of.the.items.in.LI
5340 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 0a ST.for.which.FORM.evals.to.nil..
5360 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.
5380 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 68 bound.to.`it'.and.its.index.with
53a0 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 61 in.LIST.to.`it-index'.before.eva
53c0 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 6f luating.FORM..This.is.the.anapho
53e0 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 6f ric.counterpart.to.`-remove'..Fo
5400 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 6c r.the.opposite.operation,.see.al
5420 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 75 so.`--filter'."...(declare.(debu
5440 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 6f g.(form.form)))...`(--filter.(no
5460 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 65 t.,form).,list))..(defun.-remove
5480 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 73 .(pred.list)..."Return.a.new.lis
54a0 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 68 t.of.the.items.in.LIST.for.which
54c0 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 6a .PRED.returns.nil...Alias:.`-rej
54e0 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 63 ect'...This.function's.anaphoric
5500 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 72 .counterpart.is.`--remove'...For
5520 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 2d .similar.operations,.see.also.`-
5540 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 2d 2d 72 65 6d 6f 76 keep'.and.`-filter'."...(--remov
5560 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
5580 61 6c 69 61 73 20 27 2d 72 65 6a 65 63 74 20 27 2d 72 65 6d 6f 76 65 29 0a 28 64 65 66 61 6c 69 alias.'-reject.'-remove).(defali
55a0 61 73 20 27 2d 2d 72 65 6a 65 63 74 20 27 2d 2d 72 65 6d 6f 76 65 29 0a 0a 28 64 65 66 6d 61 63 as.'--reject.'--remove)..(defmac
55c0 72 6f 20 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 ro.--remove-first.(form.list)...
55e0 22 52 65 6d 6f 76 65 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 66 72 6f 6d 20 4c 49 53 54 "Remove.the.first.item.from.LIST
5600 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 6c .for.which.FORM.evals.to.non-nil
5620 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 69 ..Each.element.of.LIST.in.turn.i
5640 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 69 s.bound.to.`it'.and.its.index.wi
5660 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 65 thin.LIST.to.`it-index'.before.e
5680 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 61 0a 6e 6f 6e 2d 64 valuating.FORM...This.is.a.non-d
56a0 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 79 20 74 estructive.operation,.but.only.t
56c0 68 65 20 66 72 6f 6e 74 20 6f 66 20 4c 49 53 54 20 6c 65 61 64 69 6e 67 20 75 70 0a 74 6f 20 74 he.front.of.LIST.leading.up.to.t
56e0 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 65 20 72 he.removed.item.is.a.copy;.the.r
5700 65 73 74 20 69 73 20 4c 49 53 54 27 73 20 6f 72 69 67 69 6e 61 6c 20 74 61 69 6c 2e 0a 49 66 20 est.is.LIST's.original.tail..If.
5720 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 20 72 65 73 no.item.is.removed,.then.the.res
5740 75 6c 74 20 69 73 20 61 20 63 6f 6d 70 6c 65 74 65 20 63 6f 70 79 2e 0a 54 68 69 73 20 69 73 20 ult.is.a.complete.copy..This.is.
5760 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 2d 72 the.anaphoric.counterpart.to.`-r
5780 65 6d 6f 76 65 2d 66 69 72 73 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 emove-first'."...(declare.(debug
57a0 20 28 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 66 72 6f 6e 74 20 28 6d .(form.form)))...(let.((front.(m
57c0 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 66 72 6f 6e 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 74 61 ake-symbol."front")).........(ta
57e0 69 6c 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 74 61 69 6c 22 29 29 29 0a 20 20 20 20 60 28 il.(make-symbol."tail"))).....`(
5800 6c 65 74 20 28 28 2c 74 61 69 6c 20 2c 6c 69 73 74 29 20 2c 66 72 6f 6e 74 29 0a 20 20 20 20 20 let.((,tail.,list).,front)......
5820 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 2c 74 61 69 6c 20 28 6e 6f 74 20 2c 66 6f 72 6d ..(--each-while.,tail.(not.,form
5840 29 0a 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 70 6f 70 20 2c 74 61 69 6c 29 20 2c 66 72 )..........(push.(pop.,tail).,fr
5860 6f 6e 74 29 29 0a 20 20 20 20 20 20 20 28 69 66 20 2c 74 61 69 6c 0a 20 20 20 20 20 20 20 20 20 ont))........(if.,tail..........
5880 20 20 28 6e 63 6f 6e 63 20 28 6e 72 65 76 65 72 73 65 20 2c 66 72 6f 6e 74 29 20 28 63 64 72 20 ..(nconc.(nreverse.,front).(cdr.
58a0 2c 74 61 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c 66 72 6f 6e ,tail))..........(nreverse.,fron
58c0 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 70 72 t)))))..(defun.-remove-first.(pr
58e0 65 64 20 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 ed.list)..."Remove.the.first.ite
5900 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 72 m.from.LIST.for.which.PRED.retur
5920 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 54 68 69 73 20 69 73 20 61 20 6e 6f 6e 2d 64 65 73 74 72 75 ns.non-nil..This.is.a.non-destru
5940 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 62 75 74 20 6f 6e 6c 79 20 74 68 65 20 66 72 ctive.operation,.but.only.the.fr
5960 6f 6e 74 20 6f 66 20 4c 49 53 54 0a 6c 65 61 64 69 6e 67 20 75 70 20 74 6f 20 74 68 65 20 72 65 ont.of.LIST.leading.up.to.the.re
5980 6d 6f 76 65 64 20 69 74 65 6d 20 69 73 20 61 20 63 6f 70 79 3b 20 74 68 65 20 72 65 73 74 20 69 moved.item.is.a.copy;.the.rest.i
59a0 73 20 4c 49 53 54 27 73 0a 6f 72 69 67 69 6e 61 6c 20 74 61 69 6c 2e 20 20 49 66 20 6e 6f 20 69 s.LIST's.original.tail...If.no.i
59c0 74 65 6d 20 69 73 20 72 65 6d 6f 76 65 64 2c 20 74 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 20 tem.is.removed,.then.the.result.
59e0 69 73 20 61 0a 63 6f 6d 70 6c 65 74 65 20 63 6f 70 79 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 72 65 is.a.complete.copy...Alias:.`-re
5a00 6a 65 63 74 2d 66 69 72 73 74 27 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e ject-first'...This.function's.an
5a20 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 76 65 aphoric.counterpart.is.`--remove
5a40 2d 66 69 72 73 74 27 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 2d 6d 61 70 2d 66 69 72 73 74 27 2c -first'...See.also.`-map-first',
5a60 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 6c 61 .`-remove-item',.and.`-remove-la
5a80 73 74 27 2e 22 0a 20 20 28 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 66 75 6e 63 61 6c 6c st'."...(--remove-first.(funcall
5aa0 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 27 2d 72 65 .pred.it).list))..(defalias.'-re
5ac0 6a 65 63 74 2d 66 69 72 73 74 20 27 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 29 0a 28 64 65 66 61 ject-first.'-remove-first).(defa
5ae0 6c 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 lias.'--reject-first.'--remove-f
5b00 69 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 irst)..(defmacro.--remove-last.(
5b20 66 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 form.list)..."Remove.the.last.it
5b40 65 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 em.from.LIST.for.which.FORM.eval
5b60 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 49 s.to.non-nil..Each.element.of.LI
5b80 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 6f ST.in.turn.is.bound.to.`it'.befo
5ba0 72 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 re.evaluating.FORM...The.result.
5bc0 69 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 is.a.copy.of.LIST.regardless.of.
5be0 77 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 whether.an.element.is.removed..T
5c00 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 74 his.is.the.anaphoric.counterpart
5c20 20 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 .to.`-remove-last'."...(declare.
5c40 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 6e 72 65 76 65 72 73 (debug.(form.form)))...`(nrevers
5c60 65 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 e.(--remove-first.,form.(reverse
5c80 20 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 .,list))))..(defun.-remove-last.
5ca0 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 6c 61 73 74 20 69 (pred.list)..."Remove.the.last.i
5cc0 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 45 44 20 72 65 74 tem.from.LIST.for.which.PRED.ret
5ce0 75 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 urns.non-nil..The.result.is.a.co
5d00 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 68 65 74 68 65 72 py.of.LIST.regardless.of.whether
5d20 20 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 .an.element.is.removed...Alias:.
5d40 60 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 `-reject-last'...This.function's
5d60 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 72 65 6d .anaphoric.counterpart.is.`--rem
5d80 6f 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 ove-last'...See.also.`-map-last'
5da0 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 65 6d 6f 76 65 2d 66 ,.`-remove-item',.and.`-remove-f
5dc0 69 72 73 74 27 2e 22 0a 20 20 28 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 28 66 75 6e 63 61 6c irst'."...(--remove-last.(funcal
5de0 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 27 2d 72 l.pred.it).list))..(defalias.'-r
5e00 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 28 64 65 66 61 6c eject-last.'-remove-last).(defal
5e20 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 76 65 2d 6c 61 73 ias.'--reject-last.'--remove-las
5e40 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 6d 20 23 27 72 65 t)..(defalias.'-remove-item.#'re
5e60 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 49 53 54 20 77 69 move..."Return.a.copy.of.LIST.wi
5e80 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 20 72 65 6d 6f 76 th.all.occurrences.of.ITEM.remov
5ea0 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 20 77 69 74 68 20 ed..The.comparison.is.done.with.
5ec0 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 29 0a 0a 28 64 65 `equal'..\n(fn.ITEM.LIST)")..(de
5ee0 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 20 20 22 45 76 61 fmacro.--keep.(form.list)..."Eva
5f00 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 53 54 20 61 6e 64 l.FORM.for.each.item.in.LIST.and
5f20 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 73 2e 0a 4c 69 6b .return.the.non-nil.results..Lik
5f40 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 74 68 65 20 6e 6f e.`--filter',.but.returns.the.no
5f60 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 65 61 64 0a 6f 66 n-nil.results.of.FORM.instead.of
5f80 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 20 4c .the.corresponding.elements.of.L
5fa0 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 20 69 6e 0a 74 75 IST...Each.element.of.LIST.in.tu
5fc0 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 65 rn.is.bound.to.`it'.and.its.inde
5fe0 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 0a 62 65 66 6f x.within.LIST.to.`it-index'.befo
6000 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 20 re.evaluating.FORM..This.is.the.
6020 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 6b 65 65 70 27 anaphoric.counterpart.to.`-keep'
6040 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 29 ."...(declare.(debug.(form.form)
6060 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 73 75 ))...(let.((r.(make-symbol."resu
6080 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 62 6f 6c 20 22 6d lt")).........(m.(make-symbol."m
60a0 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 20 20 20 20 20 20 apped"))).....`(let.(,r)........
60c0 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 6f 72 6d 29 29 20 (--each.,list.(let.((,m.,form)).
60e0 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 20 20 20 20 20 20 (when.,m.(push.,m.,r))))........
6100 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 6b 65 65 70 20 28 (nreverse.,r))))..(defun.-keep.(
6120 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 69 73 74 20 6f 66 fn.list)..."Return.a.new.list.of
6140 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 70 6c 79 69 6e 67 .the.non-nil.results.of.applying
6160 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 4c 69 6b 65 20 60 .FN.to.each.item.in.LIST..Like.`
6180 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 6e 6f 6e 2d 6e 69 -filter',.but.returns.the.non-ni
61a0 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 0a 74 68 65 20 63 l.results.of.FN.instead.of.the.c
61c0 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 49 53 54 2e 0a 0a orresponding.elements.of.LIST...
61e0 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 20 60 2d 2d Its.anaphoric.counterpart.is.`--
6200 6b 65 65 70 27 2e 22 0a 20 20 28 2d 2d 6b 65 65 70 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 keep'."...(--keep.(funcall.fn.it
6220 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6e 6f 6e 2d 6e 69 6c 20 28 6c 69 73 74 29 ).list))..(defun.-non-nil.(list)
6240 0a 20 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 20 61 ..."Return.a.copy.of.LIST.with.a
6260 6c 6c 20 6e 69 6c 20 69 74 65 6d 73 20 72 65 6d 6f 76 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 ll.nil.items.removed."...(declar
6280 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))
62a0 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 6d 61 63 72 ...(--filter.it.list))..(defmacr
62c0 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 20 20 22 45 o.--map-indexed.(form.list)..."E
62e0 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 53 54 20 61 val.FORM.for.each.item.in.LIST.a
6300 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 2e 0a 45 nd.return.the.list.of.results..E
6320 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 62 ach.element.of.LIST.in.turn.is.b
6340 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 68 69 ound.to.`it'.and.its.index.withi
6360 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 61 6c n.LIST.to.`it-index'.before.eval
6380 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 2d 2d 6d 61 uating.FORM...This.is.like.`--ma
63a0 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 69 74 2d 69 p',.but.additionally.makes.`it-i
63c0 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 69 73 20 69 ndex'.available.to.FORM...This.i
63e0 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.`
6400 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 64 65 62 75 -map-indexed'."...(declare.(debu
6420 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 6d 61 6b 65 g.(form.form)))...(let.((r.(make
6440 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 2c -symbol."result"))).....`(let.(,
6460 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 20 20 20 r)........(--each.,list.........
6480 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 65 76 65 72 .(push.,form.,r))........(nrever
64a0 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 65 64 20 28 se.,r))))..(defun.-map-indexed.(
64c0 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 20 69 6e 64 fn.list)..."Apply.FN.to.each.ind
64e0 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 72 6e 20 74 ex.and.item.in.LIST.and.return.t
6500 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 6c 69 6b 65 he.list.of.results..This.is.like
6520 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 67 75 6d 65 .`-map',.but.FN.takes.two.argume
6540 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 74 20 65 6c nts:.the.index.of.the.current.el
6560 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 6c 65 6d 65 ement.within.LIST,.and.the.eleme
6580 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 61 6e 61 70 nt.itself...This.function's.anap
65a0 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 69 6e 64 65 horic.counterpart.is.`--map-inde
65c0 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 76 61 72 69 xed'...For.a.side-effecting.vari
65e0 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 27 2e 22 0a ant,.see.also.`-each-indexed'.".
6600 20 20 28 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 69 74 2d ..(--map-indexed.(funcall.fn.it-
6620 69 6e 64 65 78 20 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 index.it).list))..(defmacro.--ma
6640 70 2d 77 68 65 6e 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 p-when.(pred.rep.list)..."Anapho
6660 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 6d 61 70 2d 77 68 65 6e 27 2e 22 0a 20 20 28 64 65 63 ric.form.of.`-map-when'."...(dec
6680 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)))..
66a0 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 73 75 6c 74 22 29 .(let.((r.(make-symbol."result")
66c0 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c 72 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 )).....`(let.(,r)........(--each
66e0 20 2c 6c 69 73 74 20 28 21 63 6f 6e 73 20 28 69 66 20 2c 70 72 65 64 20 2c 72 65 70 20 69 74 29 .,list.(!cons.(if.,pred.,rep.it)
6700 20 2c 72 29 29 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 .,r))........(nreverse.,r))))..(
6720 64 65 66 75 6e 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 defun.-map-when.(pred.rep.list).
6740 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 68 65 72 65 20 74 68 65 20 65 .."Return.a.new.list.where.the.e
6760 6c 65 6d 65 6e 74 73 20 69 6e 20 4c 49 53 54 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 6d 61 74 63 lements.in.LIST.that.do.not.matc
6780 68 20 74 68 65 20 50 52 45 44 20 66 75 6e 63 74 69 6f 6e 0a 61 72 65 20 75 6e 63 68 61 6e 67 65 h.the.PRED.function.are.unchange
67a0 64 2c 20 61 6e 64 20 77 68 65 72 65 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 4c 49 53 d,.and.where.the.elements.in.LIS
67c0 54 20 74 68 61 74 20 64 6f 20 6d 61 74 63 68 20 74 68 65 20 50 52 45 44 20 66 75 6e 63 74 69 6f T.that.do.match.the.PRED.functio
67e0 6e 20 61 72 65 20 6d 61 70 70 65 64 0a 74 68 72 6f 75 67 68 20 74 68 65 20 52 45 50 20 66 75 6e n.are.mapped.through.the.REP.fun
6800 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 65 27 0a ction...Alias:.`-replace-where'.
6820 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 2d 2d 6d 61 .See.also:.`-update-at'"...(--ma
6840 70 2d 77 68 65 6e 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 p-when.(funcall.pred.it).(funcal
6860 6c 20 72 65 70 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 72 65 l.rep.it).list))..(defalias.'-re
6880 70 6c 61 63 65 2d 77 68 65 72 65 20 27 2d 6d 61 70 2d 77 68 65 6e 29 0a 28 64 65 66 61 6c 69 61 place-where.'-map-when).(defalia
68a0 73 20 27 2d 2d 72 65 70 6c 61 63 65 2d 77 68 65 72 65 20 27 2d 2d 6d 61 70 2d 77 68 65 6e 29 0a s.'--replace-where.'--map-when).
68c0 0a 28 64 65 66 75 6e 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 .(defun.-map-first.(pred.rep.lis
68e0 74 29 0a 20 20 22 52 65 70 6c 61 63 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 t)..."Replace.first.item.in.LIST
6900 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 77 69 74 68 20 72 65 73 75 6c 74 20 6f 66 20 .satisfying.PRED.with.result.of.
6920 52 45 50 20 63 61 6c 6c 65 64 20 6f 6e 20 74 68 69 73 20 69 74 65 6d 2e 0a 0a 53 65 65 20 61 6c REP.called.on.this.item...See.al
6940 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 66 69 72 73 74 so:.`-map-when',.`-replace-first
6960 27 22 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 '"...(let.(front).....(while.(an
6980 64 20 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 d.list.(not.(funcall.pred.(car.l
69a0 69 73 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 ist)))).......(push.(car.list).f
69c0 72 6f 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 ront).......(!cdr.list)).....(if
69e0 20 6c 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 .list.........(-concat.(nreverse
6a00 20 66 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 .front).(cons.(funcall.rep.(car.
6a20 6c 69 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 list)).(cdr.list))).......(nreve
6a40 72 73 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 rse.front))))..(defmacro.--map-f
6a60 69 72 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 irst.(pred.rep.list)..."Anaphori
6a80 63 20 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 c.form.of.`-map-first'."...(decl
6aa0 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 66 6f are.(debug.(def-form.def-form.fo
6ac0 72 6d 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 rm)))...`(-map-first.(lambda.(it
6ae0 29 20 2c 70 72 65 64 29 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 28 69 67 6e 6f 72 65 20 69 74 ).,pred).(lambda.(it).(ignore.it
6b00 29 20 2c 72 65 70 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 61 70 2d 6c 61 73 ).,rep).,list))..(defun.-map-las
6b20 74 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 20 20 22 52 65 70 6c 61 63 65 20 6c 61 73 t.(pred.rep.list)..."Replace.las
6b40 74 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 77 t.item.in.LIST.satisfying.PRED.w
6b60 69 74 68 20 72 65 73 75 6c 74 20 6f 66 20 52 45 50 20 63 61 6c 6c 65 64 20 6f 6e 20 74 68 69 73 ith.result.of.REP.called.on.this
6b80 20 69 74 65 6d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 6d 61 70 2d 77 68 65 6e 27 2c 20 60 .item...See.also:.`-map-when',.`
6ba0 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 27 22 0a 20 20 28 6e 72 65 76 65 72 73 65 20 28 2d 6d 61 -replace-last'"...(nreverse.(-ma
6bc0 70 2d 66 69 72 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 p-first.pred.rep.(reverse.list))
6be0 29 29 0a 0a 28 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 ))..(defmacro.--map-last.(pred.r
6c00 65 70 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 60 2d ep.list)..."Anaphoric.form.of.`-
6c20 6d 61 70 2d 6c 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 map-last'."...(declare.(debug.(d
6c40 65 66 2d 66 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 6d 61 ef-form.def-form.form)))...`(-ma
6c60 70 2d 6c 61 73 74 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 70 72 65 64 29 20 28 6c 61 6d 62 p-last.(lambda.(it).,pred).(lamb
6c80 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 20 2c 6c 69 73 74 29 da.(it).(ignore.it).,rep).,list)
6ca0 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 69 73 74 )..(defun.-replace.(old.new.list
6cc0 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 20 4c 49 )..."Replace.all.OLD.items.in.LI
6ce0 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 6d 70 61 ST.with.NEW...Elements.are.compa
6d00 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 20 60 2d red.using.`equal'...See.also:.`-
6d20 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 20 74 29 replace-at'"...(declare.(pure.t)
6d40 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 2d .(side-effect-free.t))...(--map-
6d60 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 29 0a 0a when.(equal.it.old).new.list))..
6d80 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 77 20 6c (defun.-replace-first.(old.new.l
6da0 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 75 72 72 ist)..."Replace.the.first.occurr
6dc0 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 0a 45 ence.of.OLD.with.NEW.in.LIST...E
6de0 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 71 75 61 lements.are.compared.using.`equa
6e00 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 20 20 28 l'...See.also:.`-map-first'"...(
6e20 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
6e40 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 6f 6c 64 ee.t))...(--map-first.(equal.old
6e60 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 61 63 65 .it).new.list))..(defun.-replace
6e80 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 63 65 20 -last.(old.new.list)..."Replace.
6ea0 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.
6ec0 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 6d 70 61 NEW.in.LIST...Elements.are.compa
6ee0 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 20 60 2d red.using.`equal'...See.also:.`-
6f00 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 29 20 28 map-last'"...(declare.(pure.t).(
6f20 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 2d 6c 61 side-effect-free.t))...(--map-la
6f40 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 0a 28 64 st.(equal.old.it).new.list))..(d
6f60 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 20 20 22 efmacro.--mapcat.(form.list)..."
6f80 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 0a 20 20 Anaphoric.form.of.`-mapcat'."...
6fa0 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)))...
6fc0 60 28 61 70 70 6c 79 20 27 61 70 70 65 6e 64 20 28 2d 2d 6d 61 70 20 2c 66 6f 72 6d 20 2c 6c 69 `(apply.'append.(--map.,form.,li
6fe0 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 73 74 29 0a st)))..(defun.-mapcat.(fn.list).
7000 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 6f 66 20 74 .."Return.the.concatenation.of.t
7020 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
7040 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 65 74 75 72 T..Thus.function.FN.should.retur
7060 6e 20 61 20 6c 69 73 74 2e 22 0a 20 20 28 2d 2d 6d 61 70 63 61 74 20 28 66 75 6e 63 61 6c 6c 20 n.a.list."...(--mapcat.(funcall.
7080 66 6e 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 69 74 65 72 61 fn.it).list))..(defmacro.--itera
70a0 74 65 20 28 66 6f 72 6d 20 69 6e 69 74 20 6e 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 76 65 te.(form.init.n)..."Anaphoric.ve
70c0 72 73 69 6f 6e 20 6f 66 20 60 2d 69 74 65 72 61 74 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 rsion.of.`-iterate'."...(declare
70e0 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 20 28 6c 65 .(debug.(form.form.form)))...(le
7100 74 20 28 28 72 65 73 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 t.((res.(make-symbol."result")).
7120 20 20 20 20 20 20 20 20 28 6c 65 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6e 22 29 29 29 ........(len.(make-symbol."n")))
7140 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 6c 65 6e 20 2c 6e 29 29 0a 20 20 20 20 20 20 20 28 77 .....`(let.((,len.,n))........(w
7160 68 65 6e 20 28 3e 20 2c 6c 65 6e 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 hen.(>.,len.0)..........(let*.((
7180 69 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 28 2c 72 65 73 20 it.,init).................(,res.
71a0 28 6c 69 73 74 20 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 74 69 6d 65 73 20 (list.it)))............(dotimes.
71c0 28 5f 20 28 31 2d 20 2c 6c 65 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 (_.(1-.,len))..............(push
71e0 20 28 73 65 74 71 20 69 74 20 2c 66 6f 72 6d 29 20 2c 72 65 73 29 29 0a 20 20 20 20 20 20 20 20 .(setq.it.,form).,res)).........
7200 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c 72 65 73 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 ...(nreverse.,res))))))..(defun.
7220 2d 69 74 65 72 61 74 65 20 28 66 75 6e 20 69 6e 69 74 20 6e 29 0a 20 20 22 52 65 74 75 72 6e 20 -iterate.(fun.init.n)..."Return.
7240 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 73 20 a.list.of.iterated.applications.
7260 6f 66 20 46 55 4e 20 74 6f 20 49 4e 49 54 2e 0a 0a 54 68 69 73 20 6d 65 61 6e 73 20 61 20 6c 69 of.FUN.to.INIT...This.means.a.li
7280 73 74 20 6f 66 20 74 68 65 20 66 6f 72 6d 3a 0a 0a 20 20 28 49 4e 49 54 20 28 46 55 4e 20 49 4e st.of.the.form:....(INIT.(FUN.IN
72a0 49 54 29 20 28 46 55 4e 20 28 46 55 4e 20 49 4e 49 54 29 29 20 2e 2e 2e 29 0a 0a 4e 20 69 73 20 IT).(FUN.(FUN.INIT))....)..N.is.
72c0 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 6c 69 73 74 2e the.length.of.the.returned.list.
72e0 22 0a 20 20 28 2d 2d 69 74 65 72 61 74 65 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 20 69 74 29 20 "...(--iterate.(funcall.fun.it).
7300 69 6e 69 74 20 6e 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 6c 61 74 74 65 6e 20 28 6c 29 0a 20 20 init.n))..(defun.-flatten.(l)...
7320 22 54 61 6b 65 20 61 20 6e 65 73 74 65 64 20 6c 69 73 74 20 4c 20 61 6e 64 20 72 65 74 75 72 6e "Take.a.nested.list.L.and.return
7340 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 20 61 73 20 61 20 73 69 6e 67 6c 65 2c 20 66 6c 61 74 20 .its.contents.as.a.single,.flat.
7360 6c 69 73 74 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 62 65 63 61 75 73 65 20 60 6e 69 6c 27 20 72 list...Note.that.because.`nil'.r
7380 65 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 epresents.a.list.of.zero.element
73a0 73 20 28 61 6e 0a 65 6d 70 74 79 20 6c 69 73 74 29 2c 20 61 6e 79 20 6d 65 6e 74 69 6f 6e 20 6f s.(an.empty.list),.any.mention.o
73c0 66 20 6e 69 6c 20 69 6e 20 4c 20 77 69 6c 6c 20 64 69 73 61 70 70 65 61 72 20 61 66 74 65 72 0a f.nil.in.L.will.disappear.after.
73e0 66 6c 61 74 74 65 6e 69 6e 67 2e 20 20 49 66 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 70 72 65 73 flattening...If.you.need.to.pres
7400 65 72 76 65 20 6e 69 6c 73 2c 20 63 6f 6e 73 69 64 65 72 20 60 2d 66 6c 61 74 74 65 6e 2d 6e 27 erve.nils,.consider.`-flatten-n'
7420 0a 6f 72 20 6d 61 70 20 74 68 65 6d 20 74 6f 20 73 6f 6d 65 20 75 6e 69 71 75 65 20 73 79 6d 62 .or.map.them.to.some.unique.symb
7440 6f 6c 20 61 6e 64 20 74 68 65 6e 20 6d 61 70 20 74 68 65 6d 20 62 61 63 6b 2e 0a 0a 43 6f 6e 73 ol.and.then.map.them.back...Cons
7460 65 73 20 6f 66 20 74 77 6f 20 61 74 6f 6d 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 5c es.of.two.atoms.are.considered.\
7480 22 74 65 72 6d 69 6e 61 6c 73 5c 22 2c 20 74 68 61 74 20 69 73 2c 20 74 68 65 79 0a 61 72 65 6e "terminals\",.that.is,.they.aren
74a0 27 74 20 66 6c 61 74 74 65 6e 65 64 20 66 75 72 74 68 65 72 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 't.flattened.further...See.also:
74c0 20 60 2d 66 6c 61 74 74 65 6e 2d 6e 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 .`-flatten-n'"...(declare.(pure.
74e0 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 69 66 20 28 t).(side-effect-free.t))...(if.(
7500 61 6e 64 20 28 6c 69 73 74 70 20 6c 29 20 28 6c 69 73 74 70 20 28 63 64 72 20 6c 29 29 29 0a 20 and.(listp.l).(listp.(cdr.l)))..
7520 20 20 20 20 20 28 2d 6d 61 70 63 61 74 20 27 2d 66 6c 61 74 74 65 6e 20 6c 29 0a 20 20 20 20 28 .....(-mapcat.'-flatten.l).....(
7540 6c 69 73 74 20 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 6c 61 74 74 65 6e 2d 6e 20 28 6e 75 list.l)))..(defun.-flatten-n.(nu
7560 6d 20 6c 69 73 74 29 0a 20 20 22 46 6c 61 74 74 65 6e 20 4e 55 4d 20 6c 65 76 65 6c 73 20 6f 66 m.list)..."Flatten.NUM.levels.of
7580 20 61 20 6e 65 73 74 65 64 20 4c 49 53 54 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 66 6c 61 .a.nested.LIST...See.also:.`-fla
75a0 74 74 65 6e 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 64 65 tten'"...(declare.(pure.t).(side
75c0 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 64 6f 74 69 6d 65 73 20 28 5f 20 6e -effect-free.t))...(dotimes.(_.n
75e0 75 6d 29 0a 20 20 20 20 28 73 65 74 71 20 6c 69 73 74 20 28 61 70 70 6c 79 20 23 27 61 70 70 65 um).....(setq.list.(apply.#'appe
7600 6e 64 20 28 6d 61 70 63 61 72 20 23 27 2d 6c 69 73 74 20 6c 69 73 74 29 29 29 29 0a 20 20 6c 69 nd.(mapcar.#'-list.list))))...li
7620 73 74 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 6e 63 61 74 20 28 26 72 65 73 74 20 6c 69 73 74 73 st)..(defun.-concat.(&rest.lists
7640 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 68 65 20 )..."Return.a.new.list.with.the.
7660 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e concatenation.of.the.elements.in
7680 20 74 68 65 20 73 75 70 70 6c 69 65 64 20 4c 49 53 54 53 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 .the.supplied.LISTS."...(declare
76a0 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 0a .(pure.t).(side-effect-free.t)).
76c0 20 20 28 61 70 70 6c 79 20 27 61 70 70 65 6e 64 20 6c 69 73 74 73 29 29 0a 0a 28 64 65 66 61 6c ..(apply.'append.lists))..(defal
76e0 69 61 73 20 27 2d 63 6f 70 79 20 27 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 0a 20 20 22 43 72 65 ias.'-copy.'copy-sequence..."Cre
7700 61 74 65 20 61 20 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 ate.a.shallow.copy.of.LIST...\(f
7720 6e 20 4c 49 53 54 29 22 29 0a 0a 28 64 65 66 75 6e 20 2d 73 70 6c 69 63 65 20 28 70 72 65 64 20 n.LIST)")..(defun.-splice.(pred.
7740 66 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 fun.list)..."Splice.lists.genera
7760 74 65 64 20 62 79 20 46 55 4e 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 ted.by.FUN.in.place.of.elements.
7780 6d 61 74 63 68 69 6e 67 20 50 52 45 44 20 69 6e 20 4c 49 53 54 2e 0a 0a 46 55 4e 20 74 61 6b 65 matching.PRED.in.LIST...FUN.take
77a0 73 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 6d 61 74 63 68 69 6e 67 20 50 52 45 44 20 61 73 20 69 s.the.element.matching.PRED.as.i
77c0 6e 70 75 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 nput...This.function.can.be.used
77e0 20 61 73 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 66 6f 72 20 60 2c 40 27 20 69 6e 20 63 61 73 65 .as.replacement.for.`,@'.in.case
7800 20 79 6f 75 0a 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 .you.need.to.splice.several.list
7820 73 20 61 74 20 6d 61 72 6b 65 64 20 70 6f 73 69 74 69 6f 6e 73 20 28 66 6f 72 20 65 78 61 6d 70 s.at.marked.positions.(for.examp
7840 6c 65 0a 77 69 74 68 20 6b 65 79 77 6f 72 64 73 29 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d le.with.keywords)...See.also:.`-
7860 73 70 6c 69 63 65 2d 6c 69 73 74 27 2c 20 60 2d 69 6e 73 65 72 74 2d 61 74 27 22 0a 20 20 28 6c splice-list',.`-insert-at'"...(l
7880 65 74 20 28 72 29 0a 20 20 20 20 28 2d 2d 65 61 63 68 20 6c 69 73 74 0a 20 20 20 20 20 20 28 69 et.(r).....(--each.list.......(i
78a0 66 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c f.(funcall.pred.it)...........(l
78c0 65 74 20 28 28 6e 65 77 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 20 69 74 29 29 29 0a 20 20 20 20 et.((new.(funcall.fun.it))).....
78e0 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 6e 65 77 20 28 21 63 6f 6e 73 20 69 74 20 72 29 ........(--each.new.(!cons.it.r)
7900 29 29 0a 20 20 20 20 20 20 20 20 28 21 63 6f 6e 73 20 69 74 20 72 29 29 29 0a 20 20 20 20 28 6e )).........(!cons.it.r))).....(n
7920 72 65 76 65 72 73 65 20 72 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 73 70 6c 69 63 65 reverse.r)))..(defmacro.--splice
7940 20 28 70 72 65 64 20 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 .(pred.form.list)..."Anaphoric.f
7960 6f 72 6d 20 6f 66 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 orm.of.`-splice'."...(declare.(d
7980 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 29 29 29 0a ebug.(def-form.def-form.form))).
79a0 20 20 60 28 2d 73 70 6c 69 63 65 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 70 72 65 64 29 20 ..`(-splice.(lambda.(it).,pred).
79c0 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 (lambda.(it).,form).,list))..(de
79e0 66 75 6e 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 fun.-splice-list.(pred.new-list.
7a00 6c 69 73 74 29 0a 20 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 list)..."Splice.NEW-LIST.in.plac
7a20 65 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 e.of.elements.matching.PRED.in.L
7a40 49 53 54 2e 0a 0a 53 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 IST...See.also:.`-splice',.`-ins
7a60 65 72 74 2d 61 74 27 22 0a 20 20 28 2d 73 70 6c 69 63 65 20 70 72 65 64 20 28 6c 61 6d 62 64 61 ert-at'"...(-splice.pred.(lambda
7a80 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
7aa0 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
7ac0 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
7ae0 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
7b00 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
7b20 69 73 74 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 70 72 65 64 29 20 2c 6e 65 77 2d 6c 69 73 ist.(lambda.(it).,pred).,new-lis
7b40 74 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 6e 73 2a 20 28 26 72 65 73 74 20 t.,list))..(defun.-cons*.(&rest.
7b60 61 72 67 73 29 0a 20 20 22 4d 61 6b 65 20 61 20 6e 65 77 20 6c 69 73 74 20 66 72 6f 6d 20 74 68 args)..."Make.a.new.list.from.th
7b80 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 41 52 47 53 2e 0a 54 68 65 20 6c 61 73 74 20 32 20 65 e.elements.of.ARGS..The.last.2.e
7ba0 6c 65 6d 65 6e 74 73 20 6f 66 20 41 52 47 53 20 61 72 65 20 75 73 65 64 20 61 73 20 74 68 65 20 lements.of.ARGS.are.used.as.the.
7bc0 66 69 6e 61 6c 20 63 6f 6e 73 20 6f 66 20 74 68 65 0a 72 65 73 75 6c 74 2c 20 73 6f 20 69 66 20 final.cons.of.the.result,.so.if.
7be0 74 68 65 20 66 69 6e 61 6c 20 65 6c 65 6d 65 6e 74 20 6f 66 20 41 52 47 53 20 69 73 20 6e 6f 74 the.final.element.of.ARGS.is.not
7c00 20 61 20 6c 69 73 74 2c 20 74 68 65 20 72 65 73 75 6c 74 0a 69 73 20 61 20 64 6f 74 74 65 64 20 .a.list,.the.result.is.a.dotted.
7c20 6c 69 73 74 2e 20 20 57 69 74 68 20 6e 6f 20 41 52 47 53 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e list...With.no.ARGS,.return.nil.
7c40 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
7c60 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 6e 67 74 ct-free.t))...(let*.((len.(lengt
7c80 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 64 72 20 h.args))..........(tail.(nthcdr.
7ca0 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 73 74 20 (-.len.2).args))..........(last.
7cc0 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 73 74 29 (cdr.tail))).....(if.(null.last)
7ce0 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 74 63 64 .........(car.args).......(setcd
7d00 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 29 29 29 r.tail.(car.last)).......args)))
7d20 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 73 74 20 ..(defun.-snoc.(list.elem.&rest.
7d40 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 68 65 20 elements)..."Append.ELEM.to.the.
7d60 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 65 20 60 end.of.the.list...This.is.like.`
7d80 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 64 20 6f cons',.but.operates.on.the.end.o
7da0 66 20 6c 69 73 74 2e 0a 0a 49 66 20 45 4c 45 4d 45 4e 54 53 20 69 73 20 6e 6f 6e 20 6e 69 6c 2c f.list...If.ELEMENTS.is.non.nil,
7dc0 20 61 70 70 65 6e 64 20 74 68 65 73 65 20 74 6f 20 74 68 65 20 6c 69 73 74 20 61 73 20 77 65 6c .append.these.to.the.list.as.wel
7de0 6c 2e 22 0a 20 20 28 2d 63 6f 6e 63 61 74 20 6c 69 73 74 20 28 6c 69 73 74 20 65 6c 65 6d 29 20 l."...(-concat.list.(list.elem).
7e00 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 72 73 74 20 28 66 elements))..(defmacro.--first.(f
7e20 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 72 73 74 20 69 74 orm.list)..."Return.the.first.it
7e40 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 65 76 61 6c 73 20 em.in.LIST.for.which.FORM.evals.
7e60 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
7e80 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 6c 65 6d 65 6e 74 h.element.is.found..Each.element
7ea0 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 74 6f 20 60 69 74 .of.LIST.in.turn.is.bound.to.`it
7ec0 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 54 20 74 6f 20 60 '.and.its.index.within.LIST.to.`
7ee0 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 67 20 46 4f 52 4d it-index'.before.evaluating.FORM
7f00 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 6e 74 65 72 70 ..This.is.the.anaphoric.counterp
7f20 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 72 65 20 28 64 65 art.to.`-first'."...(declare.(de
7f40 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 6e 20 28 6d 61 bug.(form.form)))...(let.((n.(ma
7f60 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 60 28 6c 65 74 20 ke-symbol."needle"))).....`(let.
7f80 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 2c 6c 69 73 74 20 (,n)........(--each-while.,list.
7fa0 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 20 20 20 20 20 20 (or.(not.,form).................
7fc0 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 74 71 20 2c 6e 20 ...............(ignore.(setq.,n.
7fe0 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 6e 20 2d 66 69 72 it))))........,n)))..(defun.-fir
8000 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 68 65 20 66 69 72 st.(pred.list)..."Return.the.fir
8020 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 50 52 45 44 20 72 st.item.in.LIST.for.which.PRED.r
8040 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 20 69 66 20 6e 6f eturns.non-nil..Return.nil.if.no
8060 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 66 6f 75 6e 64 2e 0a 54 6f 20 67 65 74 20 74 .such.element.is.found..To.get.t
8080 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 20 6e 6f 20 71 75 65 he.first.item.in.the.list.no.que
80a0 73 74 69 6f 6e 73 20 61 73 6b 65 64 2c 20 75 73 65 20 60 63 61 72 27 2e 0a 0a 41 6c 69 61 73 3a stions.asked,.use.`car'...Alias:
80c0 20 60 2d 66 69 6e 64 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 .`-find'...This.function's.anaph
80e0 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 72 73 74 27 2e 22 0a oric.counterpart.is.`--first'.".
8100 20 20 28 2d 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 ..(--first.(funcall.pred.it).lis
8120 74 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 66 69 6e 64 20 27 2d 66 69 72 73 74 29 0a 28 t))..(defalias.'-find.'-first).(
8140 64 65 66 61 6c 69 61 73 20 27 2d 2d 66 69 6e 64 20 27 2d 2d 66 69 72 73 74 29 0a 0a 28 64 65 66 defalias.'--find.'--first)..(def
8160 6d 61 63 72 6f 20 2d 2d 73 6f 6d 65 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 macro.--some.(form.list)..."Retu
8180 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 46 4f 52 4d 20 65 76 61 6c 73 20 74 6f 20 6e 6f 6e 2d rn.non-nil.if.FORM.evals.to.non-
81a0 6e 69 6c 20 66 6f 72 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 69 74 65 6d 20 69 6e 20 4c 49 53 nil.for.at.least.one.item.in.LIS
81c0 54 2e 0a 49 66 20 73 6f 2c 20 72 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 73 75 63 68 20 T..If.so,.return.the.first.such.
81e0 72 65 73 75 6c 74 20 6f 66 20 46 4f 52 4d 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 result.of.FORM..Each.element.of.
8200 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
8220 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
8240 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 54 68 ndex'.before.evaluating.FORM..Th
8260 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.
8280 74 6f 20 60 2d 73 6f 6d 65 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 to.`-some'."...(declare.(debug.(
82a0 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 6e 20 28 6d 61 6b 65 2d 73 79 form.form)))...(let.((n.(make-sy
82c0 6d 62 6f 6c 20 22 6e 65 65 64 6c 65 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c 6e 29 0a mbol."needle"))).....`(let.(,n).
82e0 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 2c 6c 69 73 74 20 28 6e 6f 74 20 .......(--each-while.,list.(not.
8300 28 73 65 74 71 20 2c 6e 20 2c 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 20 20 2c 6e 29 29 29 0a 0a (setq.,n.,form)))........,n)))..
8320 28 64 65 66 75 6e 20 2d 73 6f 6d 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 (defun.-some.(pred.list)..."Retu
8340 72 6e 20 28 50 52 45 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 rn.(PRED.x).for.the.first.LIST.i
8360 74 65 6d 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 6c 2c 20 65 tem.where.(PRED.x).is.non-nil,.e
8380 6c 73 65 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 61 6e 79 27 2e 0a 0a 54 68 69 73 20 66 lse.nil...Alias:.`-any'...This.f
83a0 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.
83c0 69 73 20 60 2d 2d 73 6f 6d 65 27 2e 22 0a 20 20 28 2d 2d 73 6f 6d 65 20 28 66 75 6e 63 61 6c 6c is.`--some'."...(--some.(funcall
83e0 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 27 2d 61 6e .pred.it).list))..(defalias.'-an
8400 79 20 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 y.'-some).(defalias.'--any.'--so
8420 6d 65 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 me)..(defmacro.--every.(form.lis
8440 74 29 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 t)..."Return.non-nil.if.FORM.eva
8460 6c 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 ls.to.non-nil.for.all.items.in.L
8480 49 53 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 IST..If.so,.return.the.last.such
84a0 20 72 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 .result.of.FORM...Otherwise,.onc
84c0 65 20 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 e.an.item.is.reached.for.which.F
84e0 4f 52 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 ORM.yields.nil,.return.nil.witho
8500 75 74 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 ut.evaluating.FORM.for.any.furth
8520 65 72 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 er.LIST.elements..Each.element.o
8540 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'.
8560 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
8580 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..
85a0 0a 54 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 .This.macro.is.like.`--every-p',
85c0 20 62 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 .but.on.success.returns.the.last
85e0 0a 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 .non-nil.result.of.FORM.instead.
8600 6f 66 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 of.just.t...This.is.the.anaphori
8620 63 20 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 c.counterpart.to.`-every'."...(d
8640 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 28 6c eclare.(debug.(form.form)))...(l
8660 65 74 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 et.((a.(make-symbol."all")))....
8680 20 60 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 .`(let.((,a.t))........(--each-w
86a0 68 69 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 hile.,list.(setq.,a.,form)).....
86c0 20 20 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 ...,a)))..(defun.-every.(pred.li
86e0 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 44 20 72 65 st)..."Return.non-nil.if.PRED.re
8700 74 75 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 turns.non-nil.for.all.items.in.L
8720 49 53 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 IST..If.so,.return.the.last.such
8740 20 72 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 .result.of.PRED...Otherwise,.onc
8760 65 20 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 e.an.item.is.reached.for.which.P
8780 52 45 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 RED.returns.nil,.return.nil.with
87a0 6f 75 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 out.calling.PRED.on.any.further.
87c0 4c 49 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 LIST.elements...This.function.is
87e0 20 6c 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 .like.`-every-p',.but.on.success
8800 20 72 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 .returns.the.last.non-nil.result
8820 20 6f 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 .of.PRED.instead.of.just.t...Thi
8840 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
8860 72 74 20 69 73 20 60 2d 2d 65 76 65 72 79 27 2e 22 0a 20 20 28 2d 2d 65 76 65 72 79 20 28 66 75 rt.is.`--every'."...(--every.(fu
8880 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 6d 61 63 72 6f ncall.pred.it).list))..(defmacro
88a0 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 68 6f 72 69 63 .--last.(form.list)..."Anaphoric
88c0 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 72 65 20 28 64 .form.of.`-last'."...(declare.(d
88e0 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 6e 20 28 6d ebug.(form.form)))...(let.((n.(m
8900 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 60 28 6c 65 74 ake-symbol."needle"))).....`(let
8920 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 20 20 20 20 20 .(,n)........(--each.,list......
8940 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 29 29 29 0a 20 ....(when.,form.(setq.,n.it)))..
8960 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 70 72 65 64 20 ......,n)))..(defun.-last.(pred.
8980 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 69 6e 20 4c 49 list)..."Return.the.last.x.in.LI
89a0 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 6c 2c 20 65 6c ST.where.(PRED.x).is.non-nil,.el
89c0 73 65 20 6e 69 6c 2e 22 0a 20 20 28 2d 2d 6c 61 73 74 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 se.nil."...(--last.(funcall.pred
89e0 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 66 69 72 73 74 2d 69 .it).list))..(defalias.'-first-i
8a00 74 65 6d 20 27 63 61 72 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 74 65 tem.'car..."Return.the.first.ite
8a20 6d 20 6f 66 20 4c 49 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 m.of.LIST,.or.nil.on.an.empty.li
8a40 73 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 27 2c 20 60 st...See.also:.`-second-item',.`
8a60 2d 6c 61 73 74 2d 69 74 65 6d 27 2e 0a 0a 5c 28 66 6e 20 4c 49 53 54 29 22 29 0a 0a 3b 3b 20 45 -last-item'...\(fn.LIST)")..;;.E
8a80 6e 73 75 72 65 20 74 68 61 74 20 63 61 6c 6c 73 20 74 6f 20 60 2d 66 69 72 73 74 2d 69 74 65 6d nsure.that.calls.to.`-first-item
8aa0 27 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 6f 70 63 6f 64 '.are.compiled.to.a.single.opcod
8ac0 65 2c 0a 3b 3b 20 6a 75 73 74 20 6c 69 6b 65 20 60 63 61 72 27 2e 0a 28 70 75 74 20 27 2d 66 69 e,.;;.just.like.`car'..(put.'-fi
8ae0 72 73 74 2d 69 74 65 6d 20 27 62 79 74 65 2d 6f 70 63 6f 64 65 20 27 62 79 74 65 2d 63 61 72 29 rst-item.'byte-opcode.'byte-car)
8b00 0a 28 70 75 74 20 27 2d 66 69 72 73 74 2d 69 74 65 6d 20 27 62 79 74 65 2d 63 6f 6d 70 69 6c 65 .(put.'-first-item.'byte-compile
8b20 20 27 62 79 74 65 2d 63 6f 6d 70 69 6c 65 2d 6f 6e 65 2d 61 72 67 29 0a 0a 28 64 65 66 61 6c 69 .'byte-compile-one-arg)..(defali
8b40 61 73 20 27 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 27 63 61 64 72 0a 20 20 22 52 65 74 75 72 6e as.'-second-item.'cadr..."Return
8b60 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 6e 69 6c .the.second.item.of.LIST,.or.nil
8b80 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 73 6f .if.LIST.is.too.short...See.also
8ba0 3a 20 60 2d 74 68 69 72 64 2d 69 74 65 6d 27 2e 0a 0a 5c 28 66 6e 20 4c 49 53 54 29 22 29 0a 0a :.`-third-item'...\(fn.LIST)")..
8bc0 28 64 65 66 61 6c 69 61 73 20 27 2d 74 68 69 72 64 2d 69 74 65 6d 0a 20 20 28 69 66 20 28 66 62 (defalias.'-third-item...(if.(fb
8be0 6f 75 6e 64 70 20 27 63 61 64 64 72 29 0a 20 20 20 20 20 20 23 27 63 61 64 64 72 0a 20 20 20 20 oundp.'caddr).......#'caddr.....
8c00 28 6c 61 6d 62 64 61 20 28 6c 69 73 74 29 20 28 63 61 72 20 28 63 64 64 72 20 6c 69 73 74 29 29 (lambda.(list).(car.(cddr.list))
8c20 29 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 74 68 69 72 64 20 69 74 65 6d 20 6f 66 20 4c ))..."Return.the.third.item.of.L
8c40 49 53 54 2c 20 6f 72 20 6e 69 6c 20 69 66 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 IST,.or.nil.if.LIST.is.too.short
8c60 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 66 6f 75 72 74 68 2d 69 74 65 6d 27 2e 0a 0a 5c 28 ...See.also:.`-fourth-item'...\(
8c80 66 6e 20 4c 49 53 54 29 22 29 0a 0a 28 64 65 66 75 6e 20 2d 66 6f 75 72 74 68 2d 69 74 65 6d 20 fn.LIST)")..(defun.-fourth-item.
8ca0 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 6f 75 72 74 68 20 69 74 65 6d (list)..."Return.the.fourth.item
8cc0 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 20 74 6f 6f 20 .of.LIST,.or.nil.if.LIST.is.too.
8ce0 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 66 69 66 74 68 2d 69 74 65 6d 27 2e short...See.also:.`-fifth-item'.
8d00 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
8d20 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 63 61 72 20 28 63 64 72 20 28 63 64 72 20 28 63 64 ct-free.t))...(car.(cdr.(cdr.(cd
8d40 72 20 6c 69 73 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 66 74 68 2d 69 74 65 6d 20 r.list)))))..(defun.-fifth-item.
8d60 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 69 66 74 68 20 69 74 65 6d 20 (list)..."Return.the.fifth.item.
8d80 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 20 74 6f 6f 20 73 of.LIST,.or.nil.if.LIST.is.too.s
8da0 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 6c 61 73 74 2d 69 74 65 6d 27 2e 22 0a hort...See.also:.`-last-item'.".
8dc0 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
8de0 2d 66 72 65 65 20 74 29 29 0a 20 20 28 63 61 72 20 28 63 64 72 20 28 63 64 72 20 28 63 64 72 20 -free.t))...(car.(cdr.(cdr.(cdr.
8e00 28 63 64 72 20 6c 69 73 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6c 61 73 74 2d 69 74 (cdr.list))))))..(defun.-last-it
8e20 65 6d 20 28 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 69 74 65 em.(list)..."Return.the.last.ite
8e40 6d 20 6f 66 20 4c 49 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 m.of.LIST,.or.nil.on.an.empty.li
8e60 73 74 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
8e80 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 63 61 72 20 28 6c 61 73 74 20 6c 69 73 74 ffect-free.t))...(car.(last.list
8ea0 29 29 29 0a 0a 3b 3b 20 55 73 65 20 60 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 27 20 74 )))..;;.Use.`with-no-warnings'.t
8ec0 6f 20 73 75 70 70 72 65 73 73 20 75 6e 62 6f 75 6e 64 20 60 2d 6c 61 73 74 2d 69 74 65 6d 27 20 o.suppress.unbound.`-last-item'.
8ee0 6f 72 0a 3b 3b 20 75 6e 64 65 66 69 6e 65 64 20 60 67 76 2d 2d 64 65 66 73 65 74 74 65 72 27 20 or.;;.undefined.`gv--defsetter'.
8f00 77 61 72 6e 69 6e 67 73 20 61 72 69 73 69 6e 67 20 66 72 6f 6d 20 62 6f 74 68 0a 3b 3b 20 60 67 warnings.arising.from.both.;;.`g
8f20 76 2d 64 65 66 69 6e 65 2d 73 65 74 74 65 72 27 20 61 6e 64 20 60 64 65 66 73 65 74 66 27 20 69 v-define-setter'.and.`defsetf'.i
8f40 6e 20 63 65 72 74 61 69 6e 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 2e 0a 28 77 69 74 68 2d n.certain.Emacs.versions..(with-
8f60 6e 6f 2d 77 61 72 6e 69 6e 67 73 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 67 76 2d 64 no-warnings...(if.(fboundp.'gv-d
8f80 65 66 69 6e 65 2d 73 65 74 74 65 72 29 0a 20 20 20 20 20 20 28 67 76 2d 64 65 66 69 6e 65 2d 73 efine-setter).......(gv-define-s
8fa0 65 74 74 65 72 20 2d 6c 61 73 74 2d 69 74 65 6d 20 28 76 61 6c 20 78 29 20 60 28 73 65 74 63 61 etter.-last-item.(val.x).`(setca
8fc0 72 20 28 6c 61 73 74 20 2c 78 29 20 2c 76 61 6c 29 29 0a 20 20 20 20 28 64 65 66 73 65 74 66 20 r.(last.,x).,val)).....(defsetf.
8fe0 2d 6c 61 73 74 2d 69 74 65 6d 20 28 78 29 20 28 76 61 6c 29 20 60 28 73 65 74 63 61 72 20 28 6c -last-item.(x).(val).`(setcar.(l
9000 61 73 74 20 2c 78 29 20 2c 76 61 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 62 75 74 6c 61 73 ast.,x).,val))))..(defun.-butlas
9020 74 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 61 6c 6c t.(list)..."Return.a.list.of.all
9040 20 69 74 65 6d 73 20 69 6e 20 6c 69 73 74 20 65 78 63 65 70 74 20 66 6f 72 20 74 68 65 20 6c 61 .items.in.list.except.for.the.la
9060 73 74 2e 22 0a 20 20 3b 3b 20 6e 6f 20 61 6c 69 61 73 20 61 73 20 77 65 20 64 6f 6e 27 74 20 77 st."...;;.no.alias.as.we.don't.w
9080 61 6e 74 20 6d 61 67 69 63 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 0a 20 20 28 64 ant.magic.optional.argument...(d
90a0 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
90c0 65 20 74 29 29 0a 20 20 28 62 75 74 6c 61 73 74 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 e.t))...(butlast.list))..(defmac
90e0 72 6f 20 2d 2d 63 6f 75 6e 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f ro.--count.(pred.list)..."Anapho
9100 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 63 6f 75 6e 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 ric.form.of.`-count'."...(declar
9120 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.((
9140 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 29 0a 20 20 20 20 60 r.(make-symbol."result"))).....`
9160 28 6c 65 74 20 28 28 2c 72 20 30 29 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 (let.((,r.0))........(--each.,li
9180 73 74 20 28 77 68 65 6e 20 2c 70 72 65 64 20 28 73 65 74 71 20 2c 72 20 28 31 2b 20 2c 72 29 29 st.(when.,pred.(setq.,r.(1+.,r))
91a0 29 29 0a 20 20 20 20 20 20 20 2c 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 75 6e 74 20 28 ))........,r)))..(defun.-count.(
91c0 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 pred.list)..."Counts.the.number.
91e0 6f 66 20 69 74 65 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 of.items.in.LIST.where.(PRED.ite
9200 6d 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 28 2d 2d 63 6f 75 6e 74 20 28 66 75 6e 63 m).is.non-nil."...(--count.(func
9220 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 2d 2d 74 all.pred.it).list))..(defun.---t
9240 72 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 ruthy?.(obj)..."Return.OBJ.as.a.
9260 62 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 boolean.value.(t.or.nil)."...(de
9280 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
92a0 20 74 29 29 0a 20 20 28 61 6e 64 20 6f 62 6a 20 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d .t))...(and.obj.t))..(defmacro.-
92c0 2d 61 6e 79 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 20 66 -any?.(form.list)..."Anaphoric.f
92e0 6f 72 6d 20 6f 66 20 60 2d 61 6e 79 3f 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 orm.of.`-any?'."...(declare.(deb
9300 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 73 6f 6d 65 ug.(form.form)))...`(and.(--some
9320 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 6e 79 3f 20 .,form.,list).t))..(defun.-any?.
9340 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 44 (pred.list)..."Return.t.if.(PRED
9360 20 78 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6e 79 20 78 20 69 6e 20 4c 49 53 54 .x).is.non-nil.for.any.x.in.LIST
9380 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 61 6e 79 2d 70 27 2c 20 60 2d ,.else.nil...Alias:.`-any-p',.`-
93a0 73 6f 6d 65 3f 27 2c 20 60 2d 73 6f 6d 65 2d 70 27 22 0a 20 20 28 2d 2d 61 6e 79 3f 20 28 66 75 some?',.`-some-p'"...(--any?.(fu
93c0 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 61 73 ncall.pred.it).list))..(defalias
93e0 20 27 2d 73 6f 6d 65 3f 20 27 2d 61 6e 79 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 73 6f .'-some?.'-any?).(defalias.'--so
9400 6d 65 3f 20 27 2d 2d 61 6e 79 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 61 6e 79 2d 70 20 27 me?.'--any?).(defalias.'-any-p.'
9420 2d 61 6e 79 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 61 6e 79 2d 70 20 27 2d 2d 61 6e 79 -any?).(defalias.'--any-p.'--any
9440 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 73 6f 6d 65 2d 70 20 27 2d 61 6e 79 3f 29 0a 28 64 ?).(defalias.'-some-p.'-any?).(d
9460 65 66 61 6c 69 61 73 20 27 2d 2d 73 6f 6d 65 2d 70 20 27 2d 2d 61 6e 79 3f 29 0a 0a 28 64 65 66 efalias.'--some-p.'--any?)..(def
9480 6d 61 63 72 6f 20 2d 2d 61 6c 6c 3f 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 macro.--all?.(form.list)..."Retu
94a0 72 6e 20 74 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 rn.t.if.FORM.evals.to.non-nil.fo
94c0 72 20 61 6c 6c 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 0a 4f 74 68 65 72 77 69 73 65 2c 20 r.all.items.in.LIST..Otherwise,.
94e0 6f 6e 63 65 20 61 6e 20 69 74 65 6d 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 once.an.item.is.reached.for.whic
9500 68 20 46 4f 52 4d 20 79 69 65 6c 64 73 20 6e 69 6c 2c 0a 72 65 74 75 72 6e 20 6e 69 6c 20 77 69 h.FORM.yields.nil,.return.nil.wi
9520 74 68 6f 75 74 20 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 thout.evaluating.FORM.for.any.fu
9540 72 74 68 65 72 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 rther.LIST.elements..Each.elemen
9560 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 74 6f 20 60 69 t.of.LIST.in.turn.is.bound.to.`i
9580 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 54 20 74 6f 20 t'.and.its.index.within.LIST.to.
95a0 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 67 20 46 4f 52 `it-index'.before.evaluating.FOR
95c0 4d 2e 0a 0a 54 68 65 20 73 69 6d 69 6c 61 72 20 6d 61 63 72 6f 20 60 2d 2d 65 76 65 72 79 27 20 M...The.similar.macro.`--every'.
95e0 69 73 20 6d 6f 72 65 20 77 69 64 65 6c 79 20 75 73 65 66 75 6c 2c 20 73 69 6e 63 65 20 69 74 0a is.more.widely.useful,.since.it.
9600 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 returns.the.last.non-nil.result.
9620 6f 66 20 46 4f 52 4d 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 74 20 6f 6e 0a 73 75 63 of.FORM.instead.of.just.t.on.suc
9640 63 65 73 73 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 2d 61 6c 6c 2d 70 27 2c 20 60 2d 2d 65 76 65 72 cess...Alias:.`--all-p',.`--ever
9660 79 2d 70 27 2c 20 60 2d 2d 65 76 65 72 79 3f 27 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 61 y-p',.`--every?'...This.is.the.a
9680 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 61 6c 6c 3f 27 2e naphoric.counterpart.to.`-all?'.
96a0 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 29 29 "...(declare.(debug.(form.form))
96c0 29 0a 20 20 60 28 61 6e 64 20 28 2d 2d 65 76 65 72 79 20 2c 66 6f 72 6d 20 2c 6c 69 73 74 29 20 )...`(and.(--every.,form.,list).
96e0 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 61 6c 6c 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 t))..(defun.-all?.(pred.list)...
9700 22 52 65 74 75 72 6e 20 74 20 69 66 20 28 50 52 45 44 20 58 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c "Return.t.if.(PRED.X).is.non-nil
9720 20 66 6f 72 20 61 6c 6c 20 58 20 69 6e 20 4c 49 53 54 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 49 6e .for.all.X.in.LIST,.else.nil..In
9740 20 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 .the.latter.case,.stop.after.the
9760 20 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 6e .first.X.for.which.(PRED.X).is.n
9780 69 6c 2c 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 50 52 45 44 20 6f 6e 20 61 6e 79 20 il,.without.calling.PRED.on.any.
97a0 73 75 62 73 65 71 75 65 6e 74 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2e 0a 0a 54 68 subsequent.elements.of.LIST...Th
97c0 65 20 73 69 6d 69 6c 61 72 20 66 75 6e 63 74 69 6f 6e 20 60 2d 65 76 65 72 79 27 20 69 73 20 6d e.similar.function.`-every'.is.m
97e0 6f 72 65 20 77 69 64 65 6c 79 20 75 73 65 66 75 6c 2c 20 73 69 6e 63 65 20 69 74 0a 72 65 74 75 ore.widely.useful,.since.it.retu
9800 72 6e 73 20 74 68 65 20 6c 61 73 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 50 rns.the.last.non-nil.result.of.P
9820 52 45 44 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 74 20 6f 6e 0a 73 75 63 63 65 73 73 RED.instead.of.just.t.on.success
9840 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 61 6c 6c 2d 70 27 2c 20 60 2d 65 76 65 72 79 2d 70 27 2c 20 ...Alias:.`-all-p',.`-every-p',.
9860 60 2d 65 76 65 72 79 3f 27 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 70 `-every?'...This.function's.anap
9880 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 61 6c 6c 3f 27 2e 22 0a horic.counterpart.is.`--all?'.".
98a0 20 20 28 2d 2d 61 6c 6c 3f 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 6c 69 73 74 ..(--all?.(funcall.pred.it).list
98c0 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 65 76 65 72 79 3f 20 27 2d 61 6c 6c 3f 29 0a 28 ))..(defalias.'-every?.'-all?).(
98e0 64 65 66 61 6c 69 61 73 20 27 2d 2d 65 76 65 72 79 3f 20 27 2d 2d 61 6c 6c 3f 29 0a 28 64 65 66 defalias.'--every?.'--all?).(def
9900 61 6c 69 61 73 20 27 2d 61 6c 6c 2d 70 20 27 2d 61 6c 6c 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 alias.'-all-p.'-all?).(defalias.
9920 27 2d 2d 61 6c 6c 2d 70 20 27 2d 2d 61 6c 6c 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 65 76 '--all-p.'--all?).(defalias.'-ev
9940 65 72 79 2d 70 20 27 2d 61 6c 6c 3f 29 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 2d 65 76 65 72 79 ery-p.'-all?).(defalias.'--every
9960 2d 70 20 27 2d 2d 61 6c 6c 3f 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 6e 6f 6e 65 3f 20 28 -p.'--all?)..(defmacro.--none?.(
9980 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.
99a0 60 2d 6e 6f 6e 65 3f 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 `-none?'."...(declare.(debug.(fo
99c0 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 2d 61 6c 6c 3f 20 28 6e 6f 74 20 2c 66 6f 72 6d rm.form)))...`(--all?.(not.,form
99e0 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6e 6f 6e 65 3f 20 28 70 72 65 64 20 6c ).,list))..(defun.-none?.(pred.l
9a00 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 28 50 52 45 44 20 78 29 20 69 73 20 ist)..."Return.t.if.(PRED.x).is.
9a20 6e 69 6c 20 66 6f 72 20 61 6c 6c 20 78 20 69 6e 20 4c 49 53 54 2c 20 65 6c 73 65 20 6e 69 6c 2e nil.for.all.x.in.LIST,.else.nil.
9a40 0a 0a 41 6c 69 61 73 3a 20 60 2d 6e 6f 6e 65 2d 70 27 22 0a 20 20 28 2d 2d 6e 6f 6e 65 3f 20 28 ..Alias:.`-none-p'"...(--none?.(
9a60 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
9a80 61 73 20 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 as.'-none-p.'-none?).(defalias.'
9aa0 2d 2d 6e 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 --none-p.'--none?)..(defmacro.--
9ac0 6f 6e 6c 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 only-some?.(form.list)..."Anapho
9ae0 72 69 63 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 ric.form.of.`-only-some?'."...(d
9b00 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 28 6c eclare.(debug.(form.form)))...(l
9b20 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 20 20 et.((y.(make-symbol."yes")).....
9b40 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 20 20 ....(n.(make-symbol."no"))).....
9b60 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 2d 77 68 69 `(let.(,y.,n)........(--each-whi
9b80 6c 65 20 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 le.,list.(not.(and.,y.,n))......
9ba0 20 20 20 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 ....(if.,form.(setq.,y.t).(setq.
9bc0 2c 6e 20 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 ,n.t)))........(---truthy?.(and.
9be0 2c 79 20 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 ,y.,n)))))..(defun.-only-some?.(
9c00 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 60 74 60 20 69 66 20 61 74 20 6c pred.list)..."Return.`t`.if.at.l
9c20 65 61 73 74 20 6f 6e 65 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 20 6d 61 74 63 68 65 73 20 50 52 east.one.item.of.LIST.matches.PR
9c40 45 44 20 61 6e 64 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 ED.and.at.least.one.item.of.LIST
9c60 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 50 52 45 44 2e 0a 52 65 74 75 72 6e 20 60 6e 69 .does.not.match.PRED..Return.`ni
9c80 6c 60 20 62 6f 74 68 20 69 66 20 61 6c 6c 20 69 74 65 6d 73 20 6d 61 74 63 68 20 74 68 65 20 70 l`.both.if.all.items.match.the.p
9ca0 72 65 64 69 63 61 74 65 20 6f 72 20 69 66 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20 69 74 65 6d 73 redicate.or.if.none.of.the.items
9cc0 20 6d 61 74 63 68 20 74 68 65 20 70 72 65 64 69 63 61 74 65 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d .match.the.predicate...Alias:.`-
9ce0 6f 6e 6c 79 2d 73 6f 6d 65 2d 70 27 22 0a 20 20 28 2d 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 28 66 only-some-p'"...(--only-some?.(f
9d00 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 61 uncall.pred.it).list))..(defalia
9d20 73 20 27 2d 6f 6e 6c 79 2d 73 6f 6d 65 2d 70 20 27 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 29 0a 28 64 s.'-only-some-p.'-only-some?).(d
9d40 65 66 61 6c 69 61 73 20 27 2d 2d 6f 6e 6c 79 2d 73 6f 6d 65 2d 70 20 27 2d 2d 6f 6e 6c 79 2d 73 efalias.'--only-some-p.'--only-s
9d60 6f 6d 65 3f 29 0a 0a 28 64 65 66 75 6e 20 2d 73 6c 69 63 65 20 28 6c 69 73 74 20 66 72 6f 6d 20 ome?)..(defun.-slice.(list.from.
9d80 26 6f 70 74 69 6f 6e 61 6c 20 74 6f 20 73 74 65 70 29 0a 20 20 22 52 65 74 75 72 6e 20 63 6f 70 &optional.to.step)..."Return.cop
9da0 79 20 6f 66 20 4c 49 53 54 2c 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 69 6e 64 65 78 20 46 y.of.LIST,.starting.from.index.F
9dc0 52 4f 4d 20 74 6f 20 69 6e 64 65 78 20 54 4f 2e 0a 0a 46 52 4f 4d 20 6f 72 20 54 4f 20 6d 61 79 ROM.to.index.TO...FROM.or.TO.may
9de0 20 62 65 20 6e 65 67 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 .be.negative...These.values.are.
9e00 74 68 65 6e 20 69 6e 74 65 72 70 72 65 74 65 64 0a 6d 6f 64 75 6c 6f 20 74 68 65 20 6c 65 6e 67 then.interpreted.modulo.the.leng
9e20 74 68 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 0a 0a 49 66 20 53 54 45 50 20 69 73 20 61 20 6e 75 th.of.the.list...If.STEP.is.a.nu
9e40 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 6e 20 74 mber,.only.each.STEPth.item.in.t
9e60 68 65 20 72 65 73 75 6c 74 69 6e 67 0a 73 65 63 74 69 6f 6e 20 69 73 20 72 65 74 75 72 6e 65 64 he.resulting.section.is.returned
9e80 2e 20 20 44 65 66 61 75 6c 74 73 20 74 6f 20 31 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 ...Defaults.to.1."...(declare.(p
9ea0 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))...(
9ec0 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 29 29 0a 20 20 20 20 let.((length.(length.list)).....
9ee0 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 3b 20 74 6f 20 64 65 ....(new-list.nil)).....;;.to.de
9f00 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 6c 69 73 74 0a 20 20 faults.to.the.end.of.the.list...
9f20 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 29 0a 20 20 20 20 28 ..(setq.to.(or.to.length)).....(
9f40 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 20 20 3b 3b 20 68 61 setq.step.(or.step.1)).....;;.ha
9f60 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 20 28 77 68 65 6e 20 ndle.negative.indices.....(when.
9f80 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 6f 6d 20 28 6d 6f 64 (<.from.0).......(setq.from.(mod
9fa0 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 20 28 3c 20 74 6f 20 .from.length))).....(when.(<.to.
9fc0 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 20 6c 65 6e 67 74 68 0).......(setq.to.(mod.to.length
9fe0 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 67 68 20 74 68 65 20 )))......;;.iterate.through.the.
a000 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 73 20 77 65 20 77 61 list,.keeping.the.elements.we.wa
a020 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 20 28 3c 20 69 74 2d nt.....(--each-while.list.(<.it-
a040 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 64 20 28 3e 3d 20 69 index.to).......(when.(and.(>=.i
a060 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 20 20 20 20 20 20 28 t-index.from)..................(
a080 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 73 74 65 70 29 20 30 =.(mod.(-.from.it-index).step).0
a0a0 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 69 73 74 29 29 29 0a )).........(push.it.new-list))).
a0c0 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 0a 0a 28 64 65 66 6d ....(nreverse.new-list)))..(defm
a0e0 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 69 73 74 29 0a 20 20 acro.--take-while.(form.list)...
a100 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 6f 6d 20 4c 49 53 54 "Take.successive.items.from.LIST
a120 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 6c .for.which.FORM.evals.to.non-nil
a140 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 69 ..Each.element.of.LIST.in.turn.i
a160 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 69 s.bound.to.`it'.and.its.index.wi
a180 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 65 thin.LIST.to.`it-index'.before.e
a1a0 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 20 6e 65 77 0a 6c 69 valuating.FORM...Return.a.new.li
a1c0 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 65 6e 74 73 20 66 72 st.of.the.successive.elements.fr
a1e0 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 77 68 69 63 68 0a 46 om.the.start.of.LIST.for.which.F
a200 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 0a 54 68 69 73 20 69 ORM.evaluates.to.non-nil..This.i
a220 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.`
a240 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 20 28 64 65 62 75 67 -take-while'."...(declare.(debug
a260 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-
a280 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 2c 72 symbol."result"))).....`(let.(,r
a2a0 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 73 74 20 2c 66 6f )........(--each-while.,list.,fo
a2c0 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 6e 72 65 76 65 72 73 rm.(push.it.,r))........(nrevers
a2e0 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 69 6c 65 20 28 70 72 e.,r))))..(defun.-take-while.(pr
a300 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 76 65 20 69 74 65 6d ed.list)..."Take.successive.item
a320 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 44 20 72 65 74 75 72 s.from.LIST.for.which.PRED.retur
a340 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 63 74 69 6f 6e 20 6f ns.non-nil..PRED.is.a.function.o
a360 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 20 6e 65 77 20 6c 69 f.one.argument...Return.a.new.li
a380 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 65 6e 74 73 20 66 72 st.of.the.successive.elements.fr
a3a0 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 77 68 69 63 68 20 50 om.the.start.of.LIST.for.which.P
a3c0 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 73 20 66 75 6e 63 74 RED.returns.non-nil...This.funct
a3e0 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.`
a400 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 65 72 20 76 61 72 69 --take-while'...For.another.vari
a420 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 65 27 2e 22 0a 20 20 ant,.see.also.`-drop-while'."...
a440 28 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 20 (--take-while.(funcall.pred.it).
a460 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 list))..(defmacro.--drop-while.(
a480 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 44 72 6f 70 20 73 75 63 63 65 73 73 69 76 65 20 69 74 form.list)..."Drop.successive.it
a4a0 65 6d 73 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 ems.from.LIST.for.which.FORM.eva
a4c0 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 20 6f 66 20 4c ls.to.non-nil..Each.element.of.L
a4e0 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
a500 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
a520 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 20 20 52 65 dex'.before.evaluating.FORM...Re
a540 74 75 72 6e 20 74 68 65 0a 74 61 69 6c 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 20 6f 66 20 4c 49 turn.the.tail.(not.a.copy).of.LI
a560 53 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 ST.starting.from.its.first.eleme
a580 6e 74 20 66 6f 72 0a 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e nt.for.which.FORM.evaluates.to.n
a5a0 69 6c 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 6e 74 65 il..This.is.the.anaphoric.counte
a5c0 72 70 61 72 74 20 74 6f 20 60 2d 64 72 6f 70 2d 77 68 69 6c 65 27 2e 22 0a 20 20 28 64 65 63 6c rpart.to.`-drop-while'."...(decl
a5e0 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.
a600 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 29 0a 20 20 20 20 60 ((l.(make-symbol."list"))).....`
a620 28 6c 65 74 20 28 28 2c 6c 20 2c 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 (let.((,l.,list))........(--each
a640 2d 77 68 69 6c 65 20 2c 6c 20 2c 66 6f 72 6d 20 28 70 6f 70 20 2c 6c 29 29 0a 20 20 20 20 20 20 -while.,l.,form.(pop.,l)).......
a660 20 2c 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 70 72 65 64 .,l)))..(defun.-drop-while.(pred
a680 20 6c 69 73 74 29 0a 20 20 22 44 72 6f 70 20 73 75 63 63 65 73 73 69 76 65 20 69 74 65 6d 73 20 .list)..."Drop.successive.items.
a6a0 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 73 from.LIST.for.which.PRED.returns
a6c0 20 6e 6f 6e 2d 6e 69 6c 2e 0a 50 52 45 44 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 .non-nil..PRED.is.a.function.of.
a6e0 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20 74 61 69 6c 20 28 one.argument...Return.the.tail.(
a700 6e 6f 74 20 61 20 63 6f 70 79 29 0a 6f 66 20 4c 49 53 54 20 73 74 61 72 74 69 6e 67 20 66 72 6f not.a.copy).of.LIST.starting.fro
a720 6d 20 69 74 73 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 66 6f 72 20 77 68 69 63 68 20 50 52 m.its.first.element.for.which.PR
a740 45 44 20 72 65 74 75 72 6e 73 0a 6e 69 6c 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 ED.returns.nil...This.function's
a760 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 64 72 6f .anaphoric.counterpart.is.`--dro
a780 70 2d 77 68 69 6c 65 27 2e 0a 0a 46 6f 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 p-while'...For.another.variant,.
a7a0 73 65 65 20 61 6c 73 6f 20 60 2d 74 61 6b 65 2d 77 68 69 6c 65 27 2e 22 0a 20 20 28 2d 2d 64 72 see.also.`-take-while'."...(--dr
a7c0 6f 70 2d 77 68 69 6c 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 op-while.(funcall.pred.it).list)
a7e0 29 0a 0a 28 64 65 66 75 6e 20 2d 74 61 6b 65 20 28 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 )..(defun.-take.(n.list)..."Retu
a800 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 4e 20 69 74 65 6d 73 20 69 rn.a.copy.of.the.first.N.items.i
a820 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 69 66 n.LIST..Return.a.copy.of.LIST.if
a840 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 52 .it.contains.N.items.or.fewer..R
a860 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 0a eturn.nil.if.N.is.zero.or.less..
a880 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 74 61 6b 65 2d 6c 61 73 74 27 2e 22 0a 20 20 28 64 65 63 .See.also:.`-take-last'."...(dec
a8a0 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.
a8c0 74 29 29 0a 20 20 28 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 3c 20 69 74 2d 69 6e 64 65 78 20 t))...(--take-while.(<.it-index.
a8e0 6e 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 61 6b 65 2d 6c 61 73 74 20 28 6e 20 n).list))..(defun.-take-last.(n.
a900 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 6c 61 list)..."Return.a.copy.of.the.la
a920 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 0a 52 65 74 st.N.items.of.LIST.in.order..Ret
a940 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
a960 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
a980 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:.
a9a0 60 2d 74 61 6b 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 `-take'."...(declare.(pure.t).(s
a9c0 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 65 71 75 ide-effect-free.t))...(copy-sequ
a9e0 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 61 73 20 ence.(last.list.n)))..(defalias.
aa00 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 20 74 61 '-drop.#'nthcdr..."Return.the.ta
aa20 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 75 74 20 il.(not.a.copy).of.LIST.without.
aa40 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 20 69 66 the.first.N.items..Return.nil.if
aa60 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 65 72 2e .LIST.contains.N.items.or.fewer.
aa80 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 6c 65 73 .Return.LIST.if.N.is.zero.or.les
aaa0 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 61 6c 73 s...For.another.variant,.see.als
aac0 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 22 29 0a o.`-drop-last'..\n(fn.N.LIST)").
aae0 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 20 22 52 .(defun.-drop-last.(n.list)..."R
ab00 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 73 eturn.a.copy.of.LIST.without.its
ab20 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 6f 66 20 .last.N.items..Return.a.copy.of.
ab40 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 74 75 72 LIST.if.N.is.zero.or.less..Retur
ab60 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 73 20 6f n.nil.if.LIST.contains.N.items.o
ab80 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 0a 20 20 r.fewer...See.also:.`-drop'."...
aba0 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 66 (declare.(pure.t).(side-effect-f
abc0 72 65 65 20 74 29 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 ree.t))...(nbutlast.(copy-sequen
abe0 63 65 20 6c 69 73 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 ce.list).n))..(defun.-split-at.(
ac00 6e 20 6c 69 73 74 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 n.list)..."Split.LIST.into.two.s
ac20 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 6d 65 6e 74 2e 0a 54 ublists.after.the.Nth.element..T
ac40 68 65 20 72 65 73 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 he.result.is.a.list.of.two.eleme
ac60 6e 74 73 20 28 54 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 nts.(TAKE.DROP).where.TAKE.is.a.
ac80 6e 65 77 20 6c 69 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 new.list.of.the.first.N.elements
aca0 20 6f 66 20 4c 49 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 .of.LIST,.and.DROP.is.the.remain
acc0 69 6e 67 20 65 6c 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 ing.elements.of.LIST.(not.a.copy
ace0 29 2e 20 20 54 41 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 )...TAKE.and.DROP.are.like.the.r
ad00 65 73 75 6c 74 73 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 esults.of.`-take'.and.`-drop',.r
ad20 65 73 70 65 63 74 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 espectively,.but.the.split.is.do
ad40 6e 65 20 69 6e 20 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 ne.in.a.single.list.traversal.".
ad60 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
ad80 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 29 0a 20 20 20 20 28 2d -free.t))...(let.(result).....(-
ada0 2d 65 61 63 68 2d 77 68 69 6c 65 20 6c 69 73 74 20 28 3c 20 69 74 2d 69 6e 64 65 78 20 6e 29 0a -each-while.list.(<.it-index.n).
adc0 20 20 20 20 20 20 28 70 75 73 68 20 28 70 6f 70 20 6c 69 73 74 29 20 72 65 73 75 6c 74 29 29 0a ......(push.(pop.list).result)).
ade0 20 20 20 20 28 6c 69 73 74 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 20 6c 69 73 74 ....(list.(nreverse.result).list
ae00 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 6f 74 61 74 65 20 28 6e 20 6c 69 73 74 29 0a 20 20 22 )))..(defun.-rotate.(n.list)..."
ae20 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 68 Rotate.LIST.N.places.to.the.righ
ae40 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 0a 54 68 65 20 74 t.(left.if.N.is.negative)..The.t
ae60 69 6d 65 20 63 6f 6d 70 6c 65 78 69 74 79 20 69 73 20 4f 28 6e 29 2e 22 0a 20 20 28 64 65 63 6c ime.complexity.is.O(n)."...(decl
ae80 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
aea0 29 29 0a 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 6c 69 73 74 29 20 28 29 29 0a 20 20 20 20 ))...(cond.((null.list).()).....
aec0 20 20 20 20 28 28 7a 65 72 6f 70 20 6e 29 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6c 69 ....((zerop.n).(copy-sequence.li
aee0 73 74 29 29 0a 20 20 20 20 20 20 20 20 28 28 6c 65 74 2a 20 28 28 6c 65 6e 20 28 6c 65 6e 67 74 st)).........((let*.((len.(lengt
af00 68 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 2d 6d 6f 64 2d h.list)).................(n-mod-
af20 6c 65 6e 20 28 6d 6f 64 20 6e 20 6c 65 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 len.(mod.n.len))................
af40 20 28 6e 65 77 2d 74 61 69 6c 2d 6c 65 6e 20 28 2d 20 6c 65 6e 20 6e 2d 6d 6f 64 2d 6c 65 6e 29 .(new-tail-len.(-.len.n-mod-len)
af60 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 28 6e 74 68 63 64 72 20 6e 65 ))............(append.(nthcdr.ne
af80 77 2d 74 61 69 6c 2d 6c 65 6e 20 6c 69 73 74 29 20 28 2d 74 61 6b 65 20 6e 65 77 2d 74 61 69 6c w-tail-len.list).(-take.new-tail
afa0 2d 6c 65 6e 20 6c 69 73 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 69 6e 73 65 72 74 2d -len.list))))))..(defun.-insert-
afc0 61 74 20 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 at.(n.x.list)..."Return.a.list.w
afe0 69 74 68 20 58 20 69 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 4c 49 53 54 20 61 74 20 70 6f 73 69 ith.X.inserted.into.LIST.at.posi
b000 74 69 6f 6e 20 4e 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 73 70 6c 69 63 65 27 2c 20 60 2d tion.N...See.also:.`-splice',.`-
b020 73 70 6c 69 63 65 2d 6c 69 73 74 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 splice-list'"...(declare.(pure.t
b040 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 65 74 20 28 ).(side-effect-free.t))...(let.(
b060 28 73 70 6c 69 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 (split-list.(-split-at.n.list)))
b080 0a 20 20 20 20 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 .....(nconc.(car.split-list).(co
b0a0 6e 73 20 78 20 28 63 61 64 72 20 73 70 6c 69 74 2d 6c 69 73 74 29 29 29 29 29 0a 0a 28 64 65 66 ns.x.(cadr.split-list)))))..(def
b0c0 75 6e 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 22 52 65 74 un.-replace-at.(n.x.list)..."Ret
b0e0 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 20 70 urn.a.list.with.element.at.Nth.p
b100 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 58 2e osition.in.LIST.replaced.with.X.
b120 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 72 65 70 6c 61 63 65 27 22 0a 20 20 28 64 65 63 6c 61 ..See.also:.`-replace'"...(decla
b140 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 29 re.(pure.t).(side-effect-free.t)
b160 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 70 6c 69 74 2d 61 74 )...(let.((split-list.(-split-at
b180 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 72 20 73 70 6c 69 74 .n.list))).....(nconc.(car.split
b1a0 2d 6c 69 73 74 29 20 28 63 6f 6e 73 20 78 20 28 63 64 72 20 28 63 61 64 72 20 73 70 6c 69 74 2d -list).(cons.x.(cdr.(cadr.split-
b1c0 6c 69 73 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 75 70 64 61 74 65 2d 61 74 20 28 6e list))))))..(defun.-update-at.(n
b1e0 20 66 75 6e 63 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 .func.list)..."Return.a.list.wit
b200 68 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 h.element.at.Nth.position.in.LIS
b220 54 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 60 28 66 75 6e 63 20 28 6e 74 68 20 6e 20 6c 69 T.replaced.with.`(func.(nth.n.li
b240 73 74 29 29 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 6d 61 70 2d 77 68 65 6e 27 22 0a 20 st))`...See.also:.`-map-when'"..
b260 20 28 6c 65 74 20 28 28 73 70 6c 69 74 2d 6c 69 73 74 20 28 2d 73 70 6c 69 74 2d 61 74 20 6e 20 .(let.((split-list.(-split-at.n.
b280 6c 69 73 74 29 29 29 0a 20 20 20 20 28 6e 63 6f 6e 63 20 28 63 61 72 20 73 70 6c 69 74 2d 6c 69 list))).....(nconc.(car.split-li
b2a0 73 74 29 20 28 63 6f 6e 73 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 63 20 28 63 61 72 20 28 63 61 st).(cons.(funcall.func.(car.(ca
b2c0 64 72 20 73 70 6c 69 74 2d 6c 69 73 74 29 29 29 20 28 63 64 72 20 28 63 61 64 72 20 73 70 6c 69 dr.split-list))).(cdr.(cadr.spli
b2e0 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 2d 75 70 64 61 74 65 t-list))))))..(defmacro.--update
b300 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 68 6f 72 69 63 20 76 -at.(n.form.list)..."Anaphoric.v
b320 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 20 20 28 64 65 63 6c ersion.of.`-update-at'."...(decl
b340 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 20 66 6f 72 6d 29 29 are.(debug.(form.def-form.form))
b360 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 64 61 20 28 69 74 29 )...`(-update-at.,n.(lambda.(it)
b380 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 65 2d .,form).,list))..(defun.-remove-
b3a0 61 74 20 28 6e 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 at.(n.list)..."Return.a.list.wit
b3c0 68 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 h.element.at.Nth.position.in.LIS
b3e0 54 20 72 65 6d 6f 76 65 64 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 72 65 6d 6f 76 65 2d 61 T.removed...See.also:.`-remove-a
b400 74 2d 69 6e 64 69 63 65 73 27 2c 20 60 2d 72 65 6d 6f 76 65 27 22 0a 20 20 28 64 65 63 6c 61 72 t-indices',.`-remove'"...(declar
b420 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))
b440 0a 20 20 28 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 28 6c 69 73 74 20 6e 29 20 ...(-remove-at-indices.(list.n).
b460 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 list))..(defun.-remove-at-indice
b480 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
b4a0 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
b4c0 6f 6d 20 4c 49 53 54 20 77 69 74 68 6f 75 74 0a 65 6c 65 6d 65 6e 74 73 20 73 65 6c 65 63 74 65 om.LIST.without.elements.selecte
b4e0 64 20 61 73 20 60 28 6e 74 68 20 69 20 6c 69 73 74 29 60 20 66 6f 72 20 61 6c 6c 20 69 0a 66 72 d.as.`(nth.i.list)`.for.all.i.fr
b500 6f 6d 20 49 4e 44 49 43 45 53 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 72 65 6d 6f 76 65 2d om.INDICES...See.also:.`-remove-
b520 61 74 27 2c 20 60 2d 72 65 6d 6f 76 65 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 at',.`-remove'"...(declare.(pure
b540 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 65 74 .t).(side-effect-free.t))...(let
b560 2a 20 28 28 69 6e 64 69 63 65 73 20 28 2d 73 6f 72 74 20 27 3c 20 69 6e 64 69 63 65 73 29 29 0a *.((indices.(-sort.'<.indices)).
b580 20 20 20 20 20 20 20 20 20 28 64 69 66 66 73 20 28 63 6f 6e 73 20 28 63 61 72 20 69 6e 64 69 63 .........(diffs.(cons.(car.indic
b5a0 65 73 29 20 28 2d 6d 61 70 20 27 31 2d 20 28 2d 7a 69 70 2d 77 69 74 68 20 27 2d 20 28 63 64 72 es).(-map.'1-.(-zip-with.'-.(cdr
b5c0 20 69 6e 64 69 63 65 73 29 20 69 6e 64 69 63 65 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 72 .indices).indices))))..........r
b5e0 29 0a 20 20 20 20 28 2d 2d 65 61 63 68 20 64 69 66 66 73 0a 20 20 20 20 20 20 28 6c 65 74 20 28 ).....(--each.diffs.......(let.(
b600 28 73 70 6c 69 74 20 28 2d 73 70 6c 69 74 2d 61 74 20 69 74 20 6c 69 73 74 29 29 29 0a 20 20 20 (split.(-split-at.it.list)))....
b620 20 20 20 20 20 28 21 63 6f 6e 73 20 28 63 61 72 20 73 70 6c 69 74 29 20 72 29 0a 20 20 20 20 20 .....(!cons.(car.split).r)......
b640 20 20 20 28 73 65 74 71 20 6c 69 73 74 20 28 63 64 72 20 28 63 61 64 72 20 73 70 6c 69 74 29 29 ...(setq.list.(cdr.(cadr.split))
b660 29 29 29 0a 20 20 20 20 28 21 63 6f 6e 73 20 6c 69 73 74 20 72 29 0a 20 20 20 20 28 61 70 70 6c ))).....(!cons.list.r).....(appl
b680 79 20 27 2d 63 6f 6e 63 61 74 20 28 6e 72 65 76 65 72 73 65 20 72 29 29 29 29 0a 0a 28 64 65 66 y.'-concat.(nreverse.r))))..(def
b6a0 6d 61 63 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 macro.--split-with.(pred.list)..
b6c0 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 74 2d 77 69 74 68 ."Anaphoric.form.of.`-split-with
b6e0 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
b700 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 6c 69 73 )))...(let.((l.(make-symbol."lis
b720 74 22 29 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 t")).........(r.(make-symbol."re
b740 73 75 6c 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 sult")).........(c.(make-symbol.
b760 22 63 6f 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 "continue"))).....`(let.((,l.,li
b780 73 74 29 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 st)............(,r.nil).........
b7a0 20 20 20 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 ...(,c.t))........(while.(and.,l
b7c0 20 2c 63 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 .,c)..........(let.((it.(car.,l)
b7e0 29 29 0a 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 ))............(if.(not.,pred)...
b800 20 20 20 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 .............(setq.,c.nil)......
b820 20 20 20 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 ........(!cons.it.,r)...........
b840 20 20 20 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 ...(!cdr.,l))))........(list.(nr
b860 65 76 65 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 everse.,r).,l))))..(defun.-split
b880 2d 77 69 74 68 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 6c 69 -with.(pred.list)..."Return.a.li
b8a0 73 74 20 6f 66 20 28 28 2d 74 61 6b 65 2d 77 68 69 6c 65 20 50 52 45 44 20 4c 49 53 54 29 20 28 st.of.((-take-while.PRED.LIST).(
b8c0 2d 64 72 6f 70 2d 77 68 69 6c 65 20 50 52 45 44 20 4c 49 53 54 29 29 2c 20 69 6e 20 6e 6f 20 6d -drop-while.PRED.LIST)),.in.no.m
b8e0 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 70 61 73 73 20 74 68 72 6f 75 67 68 20 74 68 65 20 6c 69 ore.than.one.pass.through.the.li
b900 73 74 2e 22 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 70 72 st."...(--split-with.(funcall.pr
b920 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 74 2d ed.it).list))..(defmacro.-split-
b940 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 53 54 on.(item.list)..."Split.the.LIST
b960 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 69 6b .each.time.ITEM.is.found...Unlik
b980 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 20 64 e.`-partition-by',.the.ITEM.is.d
b9a0 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 74 79 iscarded.from.the.results..Empty
b9c0 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 68 65 .lists.are.also.removed.from.the
b9e0 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 79 20 .result...Comparison.is.done.by.
ba00 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 6e 27 `equal'...See.also.`-split-when'
ba20 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 66 6f "...(declare.(debug.(def-form.fo
ba40 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 28 69 rm)))...`(-split-when.(lambda.(i
ba60 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 28 64 t).(equal.it.,item)).,list))..(d
ba80 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 74 29 efmacro.--split-when.(form.list)
baa0 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 69 74 ..."Anaphoric.version.of.`-split
bac0 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 66 2d -when'."...(declare.(debug.(def-
bae0 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 6c 61 form.form)))...`(-split-when.(la
bb00 6d 62 64 61 20 28 69 74 29 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e mbda.(it).,form).,list))..(defun
bb20 20 2d 73 70 6c 69 74 2d 77 68 65 6e 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 53 70 6c 69 74 20 .-split-when.(fn.list)..."Split.
bb40 74 68 65 20 4c 49 53 54 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 77 68 65 72 65 20 46 the.LIST.on.each.element.where.F
bb60 4e 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 55 6e 6c 69 6b 65 20 60 2d 70 61 72 N.returns.non-nil...Unlike.`-par
bb80 74 69 74 69 6f 6e 2d 62 79 27 2c 20 74 68 65 20 5c 22 6d 61 74 63 68 65 64 5c 22 20 65 6c 65 6d tition-by',.the.\"matched\".elem
bba0 65 6e 74 20 69 73 20 64 69 73 63 61 72 64 65 64 20 66 72 6f 6d 0a 74 68 65 20 72 65 73 75 6c 74 ent.is.discarded.from.the.result
bbc0 73 2e 20 20 45 6d 70 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 s...Empty.lists.are.also.removed
bbe0 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e .from.the.result...This.function
bc00 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 6e 65 72 61 6c 69 .can.be.thought.of.as.a.generali
bc20 7a 61 74 69 6f 6e 20 6f 66 0a 60 73 70 6c 69 74 2d 73 74 72 69 6e 67 27 2e 22 0a 20 20 28 6c 65 zation.of.`split-string'."...(le
bc40 74 20 28 72 20 73 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 69 t.(r.s).....(while.list.......(i
bc60 66 20 28 6e 6f 74 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 28 63 61 72 20 6c 69 73 74 29 29 29 0a f.(not.(funcall.fn.(car.list))).
bc80 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 61 72 20 6c 69 73 74 29 20 73 29 0a 20 20 ..........(push.(car.list).s)...
bca0 20 20 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 29 ......(when.s.(push.(nreverse.s)
bcc0 20 72 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 20 6e 69 6c 29 29 0a 20 20 20 20 20 .r)).........(setq.s.nil))......
bce0 20 28 21 63 64 72 20 6c 69 73 74 29 29 0a 20 20 20 20 28 77 68 65 6e 20 73 20 28 70 75 73 68 20 .(!cdr.list)).....(when.s.(push.
bd00 28 6e 72 65 76 65 72 73 65 20 73 29 20 72 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 (nreverse.s).r)).....(nreverse.r
bd20 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 73 65 70 61 72 61 74 65 20 28 66 6f 72 6d 20 )))..(defmacro.--separate.(form.
bd40 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 60 2d 73 65 70 list)..."Anaphoric.form.of.`-sep
bd60 61 72 61 74 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 arate'."...(declare.(debug.(form
bd80 20 66 6f 72 6d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 79 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c .form)))...(let.((y.(make-symbol
bda0 20 22 79 65 73 22 29 29 0a 20 20 20 20 20 20 20 20 28 6e 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c ."yes")).........(n.(make-symbol
bdc0 20 22 6e 6f 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c 79 20 2c 6e 29 0a 20 20 20 20 20 ."no"))).....`(let.(,y.,n)......
bde0 20 20 28 2d 2d 65 61 63 68 20 2c 6c 69 73 74 20 28 69 66 20 2c 66 6f 72 6d 20 28 21 63 6f 6e 73 ..(--each.,list.(if.,form.(!cons
be00 20 69 74 20 2c 79 29 20 28 21 63 6f 6e 73 20 69 74 20 2c 6e 29 29 29 0a 20 20 20 20 20 20 20 28 .it.,y).(!cons.it.,n)))........(
be20 6c 69 73 74 20 28 6e 72 65 76 65 72 73 65 20 2c 79 29 20 28 6e 72 65 76 65 72 73 65 20 2c 6e 29 list.(nreverse.,y).(nreverse.,n)
be40 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 65 70 61 72 61 74 65 20 28 70 72 65 64 20 6c 69 73 ))))..(defun.-separate.(pred.lis
be60 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 28 28 2d 66 69 6c 74 65 72 t)..."Return.a.list.of.((-filter
be80 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 54 29 29 .PRED.LIST).(-remove.PRED.LIST))
bea0 2c 20 69 6e 20 6f 6e 65 20 70 61 73 73 20 74 68 72 6f 75 67 68 20 74 68 65 20 6c 69 73 74 2e 22 ,.in.one.pass.through.the.list."
bec0 0a 20 20 28 2d 2d 73 65 70 61 72 61 74 65 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 69 74 29 ...(--separate.(funcall.pred.it)
bee0 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 70 61 72 74 69 74 69 6f 6e 2d .list))..(defun.dash--partition-
bf00 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 2d 72 65 76 65 72 73 65 64 20 28 6e 20 73 74 65 70 20 6c 69 all-in-steps-reversed.(n.step.li
bf20 73 74 29 0a 20 20 22 55 73 65 64 20 62 79 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 st)..."Used.by.`-partition-all-i
bf40 6e 2d 73 74 65 70 73 27 20 61 6e 64 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 n-steps'.and.`-partition-in-step
bf60 73 27 2e 22 0a 20 20 28 77 68 65 6e 20 28 3c 20 73 74 65 70 20 31 29 0a 20 20 20 20 28 73 69 67 s'."...(when.(<.step.1).....(sig
bf80 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 nal.'wrong-type-argument........
bfa0 20 20 20 20 20 60 28 22 53 74 65 70 20 73 69 7a 65 20 3c 20 31 20 72 65 73 75 6c 74 73 20 69 6e .....`("Step.size.<.1.results.in
bfc0 20 6a 75 69 63 79 20 69 6e 66 69 6e 69 74 65 20 6c 6f 6f 70 73 22 20 2c 73 74 65 70 29 29 29 0a .juicy.infinite.loops".,step))).
bfe0 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 29 0a 20 20 20 20 28 77 68 69 6c 65 20 6c 69 73 74 0a ..(let.(result).....(while.list.
c000 20 20 20 20 20 20 28 70 75 73 68 20 28 2d 74 61 6b 65 20 6e 20 6c 69 73 74 29 20 72 65 73 75 6c ......(push.(-take.n.list).resul
c020 74 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 69 73 74 20 28 6e 74 68 63 64 72 20 73 74 65 70 t).......(setq.list.(nthcdr.step
c040 20 6c 69 73 74 29 29 29 0a 20 20 20 20 72 65 73 75 6c 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 .list))).....result))..(defun.-p
c060 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 28 6e 20 73 74 65 70 20 6c 69 artition-all-in-steps.(n.step.li
c080 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 77 69 74 68 20 74 68 st)..."Return.a.new.list.with.th
c0a0 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 73 e.items.in.LIST.grouped.into.N-s
c0c0 69 7a 65 64 20 73 75 62 6c 69 73 74 73 20 61 74 20 6f 66 66 73 65 74 73 20 53 54 45 50 20 61 70 ized.sublists.at.offsets.STEP.ap
c0e0 61 72 74 2e 0a 54 68 65 20 6c 61 73 74 20 67 72 6f 75 70 73 20 6d 61 79 20 63 6f 6e 74 61 69 6e art..The.last.groups.may.contain
c100 20 6c 65 73 73 20 74 68 61 6e 20 4e 20 69 74 65 6d 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 .less.than.N.items."...(declare.
c120 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 0a 20 (pure.t).(side-effect-free.t))..
c140 20 28 6e 72 65 76 65 72 73 65 20 28 64 61 73 68 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d .(nreverse.(dash--partition-all-
c160 69 6e 2d 73 74 65 70 73 2d 72 65 76 65 72 73 65 64 20 6e 20 73 74 65 70 20 6c 69 73 74 29 29 29 in-steps-reversed.n.step.list)))
c180 0a 0a 28 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 20 28 6e 20 ..(defun.-partition-in-steps.(n.
c1a0 73 74 65 70 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 73 74 20 step.list)..."Return.a.new.list.
c1c0 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 6f 75 70 65 64 20 69 with.the.items.in.LIST.grouped.i
c1e0 6e 74 6f 20 4e 2d 73 69 7a 65 64 20 73 75 62 6c 69 73 74 73 20 61 74 20 6f 66 66 73 65 74 73 20 nto.N-sized.sublists.at.offsets.
c200 53 54 45 50 20 61 70 61 72 74 2e 0a 49 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 74 20 65 6e 6f STEP.apart..If.there.are.not.eno
c220 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 67 72 6f 75 70 ugh.items.to.make.the.last.group
c240 20 4e 2d 73 69 7a 65 64 2c 0a 74 68 6f 73 65 20 69 74 65 6d 73 20 61 72 65 20 64 69 73 63 61 72 .N-sized,.those.items.are.discar
c260 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 20 28 73 69 64 65 2d ded."...(declare.(pure.t).(side-
c280 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 72 65 73 75 6c 74 20 effect-free.t))...(let.((result.
c2a0 28 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 72 65 (dash--partition-all-in-steps-re
c2c0 76 65 72 73 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 versed.n.step.list))).....(while
c2e0 20 28 61 6e 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 .(and.result.(<.(length.(car.res
c300 75 6c 74 29 29 20 6e 29 29 0a 20 20 20 20 20 20 28 21 63 64 72 20 72 65 73 75 6c 74 29 29 0a 20 ult)).n)).......(!cdr.result))..
c320 20 20 20 28 6e 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 ...(nreverse.result)))..(defun.-
c340 70 61 72 74 69 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 partition-all.(n.list)..."Return
c360 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 49 .a.new.list.with.the.items.in.LI
c380 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 73 ST.grouped.into.N-sized.sublists
c3a0 2e 0a 54 68 65 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 ..The.last.group.may.contain.les
c3c0 73 20 74 68 61 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 s.than.N.items."...(declare.(pur
c3e0 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 70 e.t).(side-effect-free.t))...(-p
c400 61 72 74 69 74 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 artition-all-in-steps.n.n.list))
c420 0a 0a 28 64 65 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 ..(defun.-partition.(n.list)..."
c440 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 65 6d 73 Return.a.new.list.with.the.items
c460 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 20 73 75 .in.LIST.grouped.into.N-sized.su
c480 62 6c 69 73 74 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 blists..If.there.are.not.enough.
c4a0 69 74 65 6d 73 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 items.to.make.the.last.group.N-s
c4c0 69 7a 65 64 2c 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 ized,.those.items.are.discarded.
c4e0 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
c500 63 74 2d 66 72 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 ct-free.t))...(-partition-in-ste
c520 70 73 20 6e 20 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 ps.n.n.list))..(defmacro.--parti
c540 74 69 6f 6e 2d 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 tion-by.(form.list)..."Anaphoric
c560 20 66 6f 72 6d 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 .form.of.`-partition-by'."...(de
c580 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 28 6c 65 clare.(debug.(form.form)))...(le
c5a0 74 20 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 t.((r.(make-symbol."result"))...
c5c0 20 20 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 ......(s.(make-symbol."sublist")
c5e0 29 0a 20 20 20 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 ).........(v.(make-symbol."value
c600 22 29 29 0a 20 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 ")).........(n.(make-symbol."new
c620 2d 76 61 6c 75 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 -value")).........(l.(make-symbo
c640 6c 20 22 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 l."list"))).....`(let.((,l.,list
c660 29 29 0a 20 20 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 ))........(when.,l..........(let
c680 2a 20 28 28 2c 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 *.((,r.nil).................(it.
c6a0 28 63 61 72 20 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 (car.,l)).................(,s.(l
c6c0 69 73 74 20 69 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 ist.it)).................(,v.,fo
c6e0 72 6d 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 72 20 2c 6c 29 rm).................(,l.(cdr.,l)
c700 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 20 20 20 20 20 ))............(while.,l.........
c720 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 20 20 20 20 20 .....(let*.((it.(car.,l)).......
c740 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 20 20 20 20 20 ..............(,n.,form)).......
c760 20 20 20 20 20 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 .........(unless.(equal.,v.,n)..
c780 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 65 ................(!cons.(nreverse
c7a0 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 28 73 65 74 71 20 .,s).,r)..................(setq.
c7c0 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 28 73 65 74 71 20 2c ,s.nil)..................(setq.,
c7e0 76 20 2c 6e 29 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 v.,n))................(!cons.it.
c800 2c 73 29 0a 20 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 ,s)................(!cdr.,l)))..
c820 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 2c ..........(!cons.(nreverse.,s).,
c840 72 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 29 29 29 29 29 29 r)............(nreverse.,r))))))
c860 0a 0a 28 64 65 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 ..(defun.-partition-by.(fn.list)
c880 0a 20 20 22 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
c8a0 54 2c 20 73 70 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 T,.splitting.it.each.time.FN.ret
c8c0 75 72 6e 73 20 61 20 6e 65 77 20 76 61 6c 75 65 2e 22 0a 20 20 28 2d 2d 70 61 72 74 69 74 69 6f urns.a.new.value."...(--partitio
c8e0 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 64 65 n-by.(funcall.fn.it).list))..(de
c900 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 66 6f fmacro.--partition-by-header.(fo
c920 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 60 2d rm.list)..."Anaphoric.form.of.`-
c940 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 61 72 partition-by-header'."...(declar
c960 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.((
c980 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 20 20 r.(make-symbol."result")).......
c9a0 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 20 20 ..(s.(make-symbol."sublist"))...
c9c0 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 76 61 ......(h.(make-symbol."header-va
c9e0 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 20 22 lue")).........(b.(make-symbol."
ca00 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 2d 73 seen-body?")).........(n.(make-s
ca20 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 20 28 ymbol."new-value")).........(l.(
ca40 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 74 20 make-symbol."list"))).....`(let.
ca60 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 20 20 ((,l.,list))........(when.,l....
ca80 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 20 20 ......(let*.((,r.nil)...........
caa0 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 20 20 ......(it.(car.,l)).............
cac0 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 20 20 ....(,s.(list.it))..............
cae0 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 28 2c ...(,h.,form).................(,
cb00 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 72 20 b.nil).................(,l.(cdr.
cb20 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 20 20 ,l)))............(while.,l......
cb40 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 20 20 ........(let*.((it.(car.,l))....
cb60 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 20 20 .................(,n.,form))....
cb80 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 20 20 ............(if.(equal.,h.,n)...
cba0 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 20 20 .................(when.,b.......
cbc0 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 65 20 ...............(!cons.(nreverse.
cbe0 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 73 65 ,s).,r)......................(se
cc00 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 20 20 tq.,s.nil)......................
cc20 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 20 20 (setq.,b.nil))..................
cc40 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 63 6f (setq.,b.t))................(!co
cc60 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 20 2c ns.it.,s)................(!cdr.,
cc80 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 73 65 l)))............(!cons.(nreverse
cca0 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 2c 72 .,s).,r)............(nreverse.,r
ccc0 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 65 61 ))))))..(defun.-partition-by-hea
cce0 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 68 65 der.(fn.list)..."Apply.FN.to.the
cd00 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 68 65 .first.item.in.LIST..That.is.the
cd20 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 68 20 .header.value..Apply.FN.to.each.
cd40 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 68 20 item.in.LIST,.splitting.it.each.
cd60 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 75 65 time.FN.returns.the.header.value
cd80 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 73 74 ,.but.only.after.seeing.at.least
cda0 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 20 20 .one.other.value.(the.body)."...
cdc0 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 66 75 6e 63 61 6c 6c 20 (--partition-by-header.(funcall.
cde0 66 6e 20 69 74 29 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 fn.it).list))..(defmacro.--parti
ce00 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 50 tion-after-pred.(form.list)..."P
ce20 61 72 74 69 74 69 6f 6e 20 4c 49 53 54 20 61 66 74 65 72 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 artition.LIST.after.each.element
ce40 20 66 6f 72 20 77 68 69 63 68 20 46 4f 52 4d 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e .for.which.FORM.evaluates.to.non
ce60 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 20 74 75 -nil..Each.element.of.LIST.in.tu
ce80 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 65 20 65 76 61 6c 75 rn.is.bound.to.`it'.before.evalu
cea0 61 74 69 6e 67 0a 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
cec0 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 74 6f 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 ic.counterpart.to.`-partition-af
cee0 74 65 72 2d 70 72 65 64 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 20 28 6d 61 6b 65 2d 73 79 6d ter-pred'."...(let.((l.(make-sym
cf00 62 6f 6c 20 22 6c 69 73 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 72 20 28 6d 61 6b 65 2d 73 79 bol."list")).........(r.(make-sy
cf20 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 0a 20 20 20 20 20 20 20 20 28 73 20 28 6d 61 6b 65 mbol."result")).........(s.(make
cf40 2d 73 79 6d 62 6f 6c 20 22 73 75 62 6c 69 73 74 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 -symbol."sublist"))).....`(let.(
cf60 28 2c 6c 20 2c 6c 69 73 74 29 20 2c 72 20 2c 73 29 0a 20 20 20 20 20 20 20 28 77 68 65 6e 20 2c (,l.,list).,r.,s)........(when.,
cf80 6c 0a 20 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 2c 6c 0a 20 20 20 20 20 20 20 20 20 20 l..........(--each.,l...........
cfa0 20 28 70 75 73 68 20 69 74 20 2c 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 2c .(push.it.,s)............(when.,
cfc0 66 6f 72 6d 0a 20 20 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 form..............(push.(nrevers
cfe0 65 20 2c 73 29 20 2c 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 73 20 e.,s).,r)..............(setq.,s.
d000 28 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 2c 73 0a 20 20 20 20 20 20 20 20 ())))..........(when.,s.........
d020 20 20 20 28 70 75 73 68 20 28 6e 72 65 76 65 72 73 65 20 2c 73 29 20 2c 72 29 29 0a 20 20 20 20 ...(push.(nreverse.,s).,r)).....
d040 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c 72 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d .....(nreverse.,r)))))..(defun.-
d060 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 28 70 72 65 64 20 6c 69 73 74 29 partition-after-pred.(pred.list)
d080 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 68 20 65 6c ..."Partition.LIST.after.each.el
d0a0 65 6d 65 6e 74 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 ement.for.which.PRED.returns.non
d0c0 2d 6e 69 6c 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 -nil...This.function's.anaphoric
d0e0 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 .counterpart.is.`--partition-aft
d100 65 72 2d 70 72 65 64 27 2e 22 0a 20 20 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d er-pred'."...(--partition-after-
d120 70 72 65 64 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 pred.(funcall.pred.it).list))..(
d140 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 28 70 72 defun.-partition-before-pred.(pr
d160 65 64 20 6c 69 73 74 29 0a 20 20 22 50 61 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 62 ed.list)..."Partition.directly.b
d180 65 66 6f 72 65 20 65 61 63 68 20 74 69 6d 65 20 50 52 45 44 20 69 73 20 74 72 75 65 20 6f 6e 20 efore.each.time.PRED.is.true.on.
d1a0 61 6e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 22 0a 20 20 28 6e 72 65 76 65 72 73 65 an.element.of.LIST."...(nreverse
d1c0 20 28 2d 6d 61 70 20 23 27 72 65 76 65 72 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(-map.#'reverse................
d1e0 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 70 72 65 64 20 28 ...(-partition-after-pred.pred.(
d200 72 65 76 65 72 73 65 20 6c 69 73 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 61 72 74 69 reverse.list)))))..(defun.-parti
d220 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 20 20 22 50 tion-after-item.(item.list)..."P
d240 61 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 61 66 74 65 72 20 65 61 63 68 20 74 69 6d artition.directly.after.each.tim
d260 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 2d 70 61 72 e.ITEM.appears.in.LIST."...(-par
d280 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 20 tition-after-pred.(lambda.(ele).
d2a0 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 20 (equal.ele.item))...............
d2c0 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 69 ...........list))..(defun.-parti
d2e0 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 22 tion-before-item.(item.list)..."
d300 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 74 Partition.directly.before.each.t
d320 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 2d 70 ime.ITEM.appears.in.LIST."...(-p
d340 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 28 6c 61 6d 62 64 61 20 28 65 6c artition-before-pred.(lambda.(el
d360 65 29 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 e).(equal.ele.item))............
d380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f ...............list))..(defmacro
d3a0 20 2d 2d 67 72 6f 75 70 2d 62 79 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 .--group-by.(form.list)..."Anaph
d3c0 6f 72 69 63 20 66 6f 72 6d 20 6f 66 20 60 2d 67 72 6f 75 70 2d 62 79 27 2e 22 0a 20 20 28 64 65 oric.form.of.`-group-by'."...(de
d3e0 63 6c 61 72 65 20 28 64 65 62 75 67 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 6e 20 28 6d 61 6b clare.(debug.t))...(let.((n.(mak
d400 65 2d 73 79 6d 62 6f 6c 20 22 6e 22 29 29 0a 20 20 20 20 20 20 20 20 28 6b 20 28 6d 61 6b 65 2d e-symbol."n")).........(k.(make-
d420 73 79 6d 62 6f 6c 20 22 6b 22 29 29 0a 20 20 20 20 20 20 20 20 28 67 72 70 20 28 6d 61 6b 65 2d symbol."k")).........(grp.(make-
d440 73 79 6d 62 6f 6c 20 22 67 72 70 22 29 29 29 0a 20 20 20 20 60 28 6e 72 65 76 65 72 73 65 0a 20 symbol."grp"))).....`(nreverse..
d460 20 20 20 20 20 28 2d 6d 61 70 0a 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 2c 6e 29 0a 20 .....(-map........(lambda.(,n)..
d480 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 63 61 72 20 2c 6e 29 0a 20 20 20 20 20 20 20 20 20 ........(cons.(car.,n)..........
d4a0 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 28 63 64 72 20 2c 6e 29 29 29 29 0a 20 20 20 20 ......(nreverse.(cdr.,n)))).....
d4c0 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 ...(--reduce-from.........(let*.
d4e0 28 28 2c 6b 20 28 2c 40 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c ((,k.(,@form))................(,
d500 67 72 70 20 28 61 73 73 6f 63 20 2c 6b 20 61 63 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 grp.(assoc.,k.acc)))...........(
d520 69 66 20 2c 67 72 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 63 64 72 20 2c 67 if.,grp...............(setcdr.,g
d540 72 70 20 28 63 6f 6e 73 20 69 74 20 28 63 64 72 20 2c 67 72 70 29 29 29 0a 20 20 20 20 20 20 20 rp.(cons.it.(cdr.,grp)))........
d560 20 20 20 20 20 28 70 75 73 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 2c 6b .....(push..............(list.,k
d580 20 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 63 29 29 0a 20 20 20 20 20 20 20 20 .it)..............acc)).........
d5a0 20 20 61 63 63 29 0a 20 20 20 20 20 20 20 20 6e 69 6c 20 2c 6c 69 73 74 29 29 29 29 29 0a 0a 28 ..acc).........nil.,list)))))..(
d5c0 64 65 66 75 6e 20 2d 67 72 6f 75 70 2d 62 79 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 53 65 70 defun.-group-by.(fn.list)..."Sep
d5e0 61 72 61 74 65 20 4c 49 53 54 20 69 6e 74 6f 20 61 6e 20 61 6c 69 73 74 20 77 68 6f 73 65 20 6b arate.LIST.into.an.alist.whose.k
d600 65 79 73 20 61 72 65 20 46 4e 20 61 70 70 6c 69 65 64 20 74 6f 20 74 68 65 0a 65 6c 65 6d 65 6e eys.are.FN.applied.to.the.elemen
d620 74 73 20 6f 66 20 4c 49 53 54 2e 20 20 4b 65 79 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 62 ts.of.LIST...Keys.are.compared.b
d640 79 20 60 65 71 75 61 6c 27 2e 22 0a 20 20 28 2d 2d 67 72 6f 75 70 2d 62 79 20 28 66 75 6e 63 61 y.`equal'."...(--group-by.(funca
d660 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 69 6e 74 65 72 70 ll.fn.it).list))..(defun.-interp
d680 6f 73 65 20 28 73 65 70 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c ose.(sep.list)..."Return.a.new.l
d6a0 69 73 74 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 4c 49 53 54 20 73 65 70 61 ist.of.all.elements.in.LIST.sepa
d6c0 72 61 74 65 64 20 62 79 20 53 45 50 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 rated.by.SEP."...(declare.(pure.
d6e0 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 65 74 20 t).(side-effect-free.t))...(let.
d700 28 72 65 73 75 6c 74 29 0a 20 20 20 20 28 77 68 65 6e 20 6c 69 73 74 0a 20 20 20 20 20 20 28 21 (result).....(when.list.......(!
d720 63 6f 6e 73 20 28 63 61 72 20 6c 69 73 74 29 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 28 21 cons.(car.list).result).......(!
d740 63 64 72 20 6c 69 73 74 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 6c 69 73 74 0a 20 20 20 20 20 cdr.list)).....(while.list......
d760 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 28 63 6f 6e 73 20 28 63 61 72 20 6c 69 73 74 29 20 28 .(setq.result.(cons.(car.list).(
d780 63 6f 6e 73 20 73 65 70 20 72 65 73 75 6c 74 29 29 29 0a 20 20 20 20 20 20 28 21 63 64 72 20 6c cons.sep.result))).......(!cdr.l
d7a0 69 73 74 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 0a 0a 28 ist)).....(nreverse.result)))..(
d7c0 64 65 66 75 6e 20 2d 69 6e 74 65 72 6c 65 61 76 65 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a defun.-interleave.(&rest.lists).
d7e0 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 66 69 72 73 .."Return.a.new.list.of.the.firs
d800 74 20 69 74 65 6d 20 69 6e 20 65 61 63 68 20 6c 69 73 74 2c 20 74 68 65 6e 20 74 68 65 20 73 65 t.item.in.each.list,.then.the.se
d820 63 6f 6e 64 20 65 74 63 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 cond.etc."...(declare.(pure.t).(
d840 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
d860 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
d880 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).........(
d8a0 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
d8c0 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.
d8e0 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
d900 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.(
d920 66 6f 72 6d 20 6c 69 73 74 31 20 6c 69 73 74 32 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 form.list1.list2)..."Anaphoric.f
d940 6f 72 6d 20 6f 66 20 60 2d 7a 69 70 2d 77 69 74 68 27 2e 0a 0a 54 68 65 20 65 6c 65 6d 65 6e 74 orm.of.`-zip-with'...The.element
d960 73 20 69 6e 20 6c 69 73 74 31 20 61 72 65 20 62 6f 75 6e 64 20 61 73 20 73 79 6d 62 6f 6c 20 60 s.in.list1.are.bound.as.symbol.`
d980 69 74 27 2c 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 6c 69 73 74 32 20 61 73 20 73 79 it',.the.elements.in.list2.as.sy
d9a0 6d 62 6f 6c 20 60 6f 74 68 65 72 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 mbol.`other'."...(declare.(debug
d9c0 20 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 .(form.form.form)))...(let.((r.(
d9e0 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 20 28 make-symbol."result")).........(
da00 6c 31 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 31 22 29 29 0a 20 20 20 20 20 20 l1.(make-symbol."list1")).......
da20 20 20 28 6c 32 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6c 69 73 74 32 22 29 29 29 0a 20 20 ..(l2.(make-symbol."list2")))...
da40 20 20 60 28 6c 65 74 20 28 28 2c 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2c 6c ..`(let.((,r.nil)............(,l
da60 31 20 2c 6c 69 73 74 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2c 6c 32 20 2c 6c 69 73 74 32 1.,list1)............(,l2.,list2
da80 29 29 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 2c 6c 31 20 2c 6c 32 29 0a 20 ))........(while.(and.,l1.,l2)..
daa0 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 31 29 29 0a 20 20 20 ........(let.((it.(car.,l1))....
dac0 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 74 68 65 72 20 28 63 61 72 20 2c 6c 32 29 29 29 0a 20 ............(other.(car.,l2)))..
dae0 20 20 20 20 20 20 20 20 20 20 28 21 63 6f 6e 73 20 2c 66 6f 72 6d 20 2c 72 29 0a 20 20 20 20 20 ..........(!cons.,form.,r)......
db00 20 20 20 20 20 20 28 21 63 64 72 20 2c 6c 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 21 63 64 ......(!cdr.,l1)............(!cd
db20 72 20 2c 6c 32 29 29 29 0a 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 2c 72 29 29 29 29 r.,l2)))........(nreverse.,r))))
db40 0a 0a 28 64 65 66 75 6e 20 2d 7a 69 70 2d 77 69 74 68 20 28 66 6e 20 6c 69 73 74 31 20 6c 69 73 ..(defun.-zip-with.(fn.list1.lis
db60 74 32 29 0a 20 20 22 5a 69 70 20 74 68 65 20 74 77 6f 20 6c 69 73 74 73 20 4c 49 53 54 31 20 61 t2)..."Zip.the.two.lists.LIST1.a
db80 6e 64 20 4c 49 53 54 32 20 75 73 69 6e 67 20 61 20 66 75 6e 63 74 69 6f 6e 20 46 4e 2e 20 20 54 nd.LIST2.using.a.function.FN...T
dba0 68 69 73 0a 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 70 70 6c 69 65 64 20 70 61 69 72 77 69 73 65 his.function.is.applied.pairwise
dbc0 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 65 6c 65 6d 65 6e .taking.as.first.argument.elemen
dbe0 74 20 6f 66 0a 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 t.of.LIST1.and.as.second.argumen
dc00 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 32 20 61 74 20 63 6f 72 72 65 73 70 6f 6e 64 t.element.of.LIST2.at.correspond
dc20 69 6e 67 0a 70 6f 73 69 74 69 6f 6e 2e 0a 0a 54 68 65 20 61 6e 61 70 68 6f 72 69 63 20 66 6f 72 ing.position...The.anaphoric.for
dc40 6d 20 60 2d 2d 7a 69 70 2d 77 69 74 68 27 20 62 69 6e 64 73 20 74 68 65 20 65 6c 65 6d 65 6e 74 m.`--zip-with'.binds.the.element
dc60 73 20 66 72 6f 6d 20 4c 49 53 54 31 20 61 73 20 73 79 6d 62 6f 6c 20 60 69 74 27 2c 0a 61 6e 64 s.from.LIST1.as.symbol.`it',.and
dc80 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 4c 49 53 54 32 20 61 73 20 73 79 6d 62 .the.elements.from.LIST2.as.symb
dca0 6f 6c 20 60 6f 74 68 65 72 27 2e 22 0a 20 20 28 2d 2d 7a 69 70 2d 77 69 74 68 20 28 66 75 6e 63 ol.`other'."...(--zip-with.(func
dcc0 61 6c 6c 20 66 6e 20 69 74 20 6f 74 68 65 72 29 20 6c 69 73 74 31 20 6c 69 73 74 32 29 29 0a 0a all.fn.it.other).list1.list2))..
dce0 28 64 65 66 75 6e 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 (defun.-zip-lists.(&rest.lists).
dd00 20 20 22 5a 69 70 20 4c 49 53 54 53 20 74 6f 67 65 74 68 65 72 2e 20 20 47 72 6f 75 70 20 74 68 .."Zip.LISTS.together...Group.th
dd20 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 79 e.head.of.each.list,.followed.by
dd40 20 74 68 65 0a 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 65 61 63 68 20 6c 69 73 .the.second.elements.of.each.lis
dd60 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 54 68 65 20 6c 65 6e 67 74 68 73 20 6f 66 20 74 68 65 t,.and.so.on..The.lengths.of.the
dd80 20 72 65 74 75 72 6e 65 64 0a 67 72 6f 75 70 69 6e 67 73 20 61 72 65 20 65 71 75 61 6c 20 74 6f .returned.groupings.are.equal.to
dda0 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 69 6e 70 75 .the.length.of.the.shortest.inpu
ddc0 74 20 6c 69 73 74 2e 0a 0a 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 6c 77 t.list...The.return.value.is.alw
dde0 61 79 73 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 2c 20 77 68 69 63 68 20 69 73 20 61 20 64 69 ays.list.of.lists,.which.is.a.di
de00 66 66 65 72 65 6e 63 65 0a 66 72 6f 6d 20 60 2d 7a 69 70 2d 70 61 69 72 27 20 77 68 69 63 68 20 fference.from.`-zip-pair'.which.
de20 72 65 74 75 72 6e 73 20 61 20 63 6f 6e 73 2d 63 65 6c 6c 20 69 6e 20 63 61 73 65 20 74 77 6f 20 returns.a.cons-cell.in.case.two.
de40 69 6e 70 75 74 0a 6c 69 73 74 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 2e 0a 0a 53 65 65 20 61 input.lists.are.provided...See.a
de60 6c 73 6f 3a 20 60 2d 7a 69 70 27 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 lso:.`-zip'"...(declare.(pure.t)
de80 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 77 68 65 6e 20 6c .(side-effect-free.t))...(when.l
dea0 69 73 74 73 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 ists.....(let.(results).......(w
dec0 68 69 6c 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 hile.(-none?.'null.lists).......
dee0 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 73 20 28 63 6f 6e 73 20 28 6d 61 70 63 61 72 20 27 63 ..(setq.results.(cons.(mapcar.'c
df00 61 72 20 6c 69 73 74 73 29 20 72 65 73 75 6c 74 73 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 ar.lists).results)).........(set
df20 71 20 6c 69 73 74 73 20 28 6d 61 70 63 61 72 20 27 63 64 72 20 6c 69 73 74 73 29 29 29 0a 20 20 q.lists.(mapcar.'cdr.lists)))...
df40 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 75 ....(nreverse.results))))..(defu
df60 6e 20 2d 7a 69 70 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 n.-zip.(&rest.lists)..."Zip.LIST
df80 53 20 74 6f 67 65 74 68 65 72 2e 20 20 47 72 6f 75 70 20 74 68 65 20 68 65 61 64 20 6f 66 20 65 S.together...Group.the.head.of.e
dfa0 61 63 68 20 6c 69 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 0a 73 65 63 6f 6e 64 ach.list,.followed.by.the.second
dfc0 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 61 6e 64 20 73 6f 20 6f .elements.of.each.list,.and.so.o
dfe0 6e 2e 20 54 68 65 20 6c 65 6e 67 74 68 73 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 0a 67 n..The.lengths.of.the.returned.g
e000 72 6f 75 70 69 6e 67 73 20 61 72 65 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 roupings.are.equal.to.the.length
e020 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 49 66 .of.the.shortest.input.list...If
e040 20 74 77 6f 20 6c 69 73 74 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 20 61 73 20 61 72 67 75 6d .two.lists.are.provided.as.argum
e060 65 6e 74 73 2c 20 72 65 74 75 72 6e 20 74 68 65 20 67 72 6f 75 70 69 6e 67 73 20 61 73 20 61 20 ents,.return.the.groupings.as.a.
e080 6c 69 73 74 0a 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 72 list.of.cons.cells..Otherwise,.r
e0a0 65 74 75 72 6e 20 74 68 65 20 67 72 6f 75 70 69 6e 67 73 20 61 73 20 61 20 6c 69 73 74 20 6f 66 eturn.the.groupings.as.a.list.of
e0c0 20 6c 69 73 74 73 2e 0a 0a 55 73 65 20 60 2d 7a 69 70 2d 6c 69 73 74 73 27 20 69 66 20 79 6f 75 .lists...Use.`-zip-lists'.if.you
e0e0 20 6e 65 65 64 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 74 6f 20 61 6c 77 61 79 73 .need.the.return.value.to.always
e100 20 62 65 20 61 20 6c 69 73 74 0a 6f 66 20 6c 69 73 74 73 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 7a .be.a.list.of.lists...Alias:.`-z
e120 69 70 2d 70 61 69 72 27 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 7a 69 70 2d 6c 69 73 74 73 27 ip-pair'..See.also:.`-zip-lists'
e140 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
e160 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 20 20 20 20 28 6c ct-free.t))...(when.lists.....(l
e180 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 28 2d 6e 6f 6e 65 et.(results).......(while.(-none
e1a0 3f 20 27 6e 75 6c 6c 20 6c 69 73 74 73 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 ?.'null.lists).........(setq.res
e1c0 75 6c 74 73 20 28 63 6f 6e 73 20 28 6d 61 70 63 61 72 20 27 63 61 72 20 6c 69 73 74 73 29 20 72 ults.(cons.(mapcar.'car.lists).r
e1e0 65 73 75 6c 74 73 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 69 73 74 73 20 28 6d 61 esults)).........(setq.lists.(ma
e200 70 63 61 72 20 27 63 64 72 20 6c 69 73 74 73 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 72 pcar.'cdr.lists))).......(setq.r
e220 65 73 75 6c 74 73 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 73 29 29 0a 20 20 20 20 20 esults.(nreverse.results))......
e240 20 28 69 66 20 28 3d 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 20 32 29 0a 20 20 20 20 20 20 .(if.(=.(length.lists).2).......
e260 20 20 20 20 3b 3b 20 74 6f 20 73 75 70 70 6f 72 74 20 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 ....;;.to.support.backward.compa
e280 74 69 62 69 6c 69 74 79 2c 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 20 tibility,.return...........;;.a.
e2a0 63 6f 6e 73 20 63 65 6c 6c 20 69 66 20 74 77 6f 20 6c 69 73 74 73 20 77 65 72 65 20 70 72 6f 76 cons.cell.if.two.lists.were.prov
e2c0 69 64 65 64 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 20 28 63 6f 6e 73 20 28 63 61 72 ided...........(--map.(cons.(car
e2e0 20 69 74 29 20 28 63 61 64 72 20 69 74 29 29 20 72 65 73 75 6c 74 73 29 0a 20 20 20 20 20 20 20 .it).(cadr.it)).results)........
e300 20 72 65 73 75 6c 74 73 29 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 7a 69 70 2d 70 61 .results))))..(defalias.'-zip-pa
e320 69 72 20 27 2d 7a 69 70 29 0a 0a 28 64 65 66 75 6e 20 2d 7a 69 70 2d 66 69 6c 6c 20 28 66 69 6c ir.'-zip)..(defun.-zip-fill.(fil
e340 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 53 54 l-value.&rest.lists)..."Zip.LIST
e360 53 2c 20 77 69 74 68 20 46 49 4c 4c 2d 56 41 4c 55 45 20 70 61 64 64 65 64 20 6f 6e 74 6f 20 74 S,.with.FILL-VALUE.padded.onto.t
e380 68 65 20 73 68 6f 72 74 65 72 20 6c 69 73 74 73 2e 20 54 68 65 0a 6c 65 6e 67 74 68 73 20 6f 66 he.shorter.lists..The.lengths.of
e3a0 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 61 72 65 20 65 71 75 61 .the.returned.groupings.are.equa
e3c0 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 0a 6c 6f 6e 67 65 73 74 20 69 l.to.the.length.of.the.longest.i
e3e0 6e 70 75 74 20 6c 69 73 74 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 nput.list."...(declare.(pure.t).
e400 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 70 6c 79 20 27 (side-effect-free.t))...(apply.'
e420 2d 7a 69 70 20 28 61 70 70 6c 79 20 27 2d 70 61 64 20 28 63 6f 6e 73 20 66 69 6c 6c 2d 76 61 6c -zip.(apply.'-pad.(cons.fill-val
e440 75 65 20 6c 69 73 74 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 75 6e 7a 69 70 20 28 6c 69 73 ue.lists))))..(defun.-unzip.(lis
e460 74 73 29 0a 20 20 22 55 6e 7a 69 70 20 4c 49 53 54 53 2e 0a 0a 54 68 69 73 20 77 6f 72 6b 73 20 ts)..."Unzip.LISTS...This.works.
e480 6a 75 73 74 20 6c 69 6b 65 20 60 2d 7a 69 70 27 20 62 75 74 20 74 61 6b 65 73 20 61 20 6c 69 73 just.like.`-zip'.but.takes.a.lis
e4a0 74 20 6f 66 20 6c 69 73 74 73 20 69 6e 73 74 65 61 64 20 6f 66 0a 61 20 76 61 72 69 61 62 6c 65 t.of.lists.instead.of.a.variable
e4c0 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 74 0a .number.of.arguments,.such.that.
e4e0 0a 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 2e 2e 29 29 0a ...(-unzip.(-zip.L1.L2.L3....)).
e500 0a 69 73 20 69 64 65 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 .is.identity.(given.that.the.lis
e520 74 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 29 2e 0a 0a 4e 6f 74 65 20 69 ts.are.the.same.length)...Note.i
e540 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 74 68 69 73 20 6f n.particular.that.calling.this.o
e560 6e 20 61 20 6c 69 73 74 20 6f 66 20 74 77 6f 20 6c 69 73 74 73 20 77 69 6c 6c 0a 72 65 74 75 72 n.a.list.of.two.lists.will.retur
e580 6e 20 61 20 6c 69 73 74 20 6f 66 20 63 6f 6e 73 2d 63 65 6c 6c 73 20 73 75 63 68 20 74 68 61 74 n.a.list.of.cons-cells.such.that
e5a0 20 74 68 65 20 61 62 6f 76 65 20 69 64 65 6e 74 69 74 79 20 77 6f 72 6b 73 2e 0a 0a 53 65 65 20 .the.above.identity.works...See.
e5c0 61 6c 73 6f 3a 20 60 2d 7a 69 70 27 22 0a 20 20 28 61 70 70 6c 79 20 27 2d 7a 69 70 20 6c 69 73 also:.`-zip'"...(apply.'-zip.lis
e5e0 74 73 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 ts))..(defun.-cycle.(list)..."Re
e600 74 75 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 turn.an.infinite.circular.copy.o
e620 66 20 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 f.LIST..The.returned.list.cycles
e640 20 74 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 .through.the.elements.of.LIST.an
e660 64 20 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 d.repeats.from.the.beginning."..
e680 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-
e6a0 66 72 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 free.t))...;;.Also.works.with.se
e6c0 71 75 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 quences.that.aren't.lists....(le
e6e0 74 20 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 t.((newlist.(append.list.())))..
e700 20 20 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 ...(nconc.newlist.newlist)))..(d
e720 65 66 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 efun.-pad.(fill-value.&rest.list
e740 73 29 0a 20 20 22 41 70 70 65 6e 64 73 20 46 49 4c 4c 2d 56 41 4c 55 45 20 74 6f 20 74 68 65 20 s)..."Appends.FILL-VALUE.to.the.
e760 65 6e 64 20 6f 66 20 65 61 63 68 20 6c 69 73 74 20 69 6e 20 4c 49 53 54 53 20 73 75 63 68 20 74 end.of.each.list.in.LISTS.such.t
e780 68 61 74 20 74 68 65 79 0a 77 69 6c 6c 20 61 6c 6c 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 hat.they.will.all.have.the.same.
e7a0 6c 65 6e 67 74 68 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 28 length."...(let*.((annotations.(
e7c0 2d 61 6e 6e 6f 74 61 74 65 20 27 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 29 0a 20 20 20 20 20 20 -annotate.'length.lists)).......
e7e0 20 20 20 28 6e 20 28 2d 6d 61 78 20 28 2d 6d 61 70 20 27 63 61 72 20 61 6e 6e 6f 74 61 74 69 6f ...(n.(-max.(-map.'car.annotatio
e800 6e 73 29 29 29 29 0a 20 20 20 20 28 2d 2d 6d 61 70 20 28 61 70 70 65 6e 64 20 28 63 64 72 20 69 ns)))).....(--map.(append.(cdr.i
e820 74 29 20 28 2d 72 65 70 65 61 74 20 28 2d 20 6e 20 28 63 61 72 20 69 74 29 29 20 66 69 6c 6c 2d t).(-repeat.(-.n.(car.it)).fill-
e840 76 61 6c 75 65 29 29 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d value)).annotations)))..(defun.-
e860 61 6e 6e 6f 74 61 74 65 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c annotate.(fn.list)..."Return.a.l
e880 69 73 74 20 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 20 77 68 65 72 65 20 65 61 63 68 20 63 65 6c ist.of.cons.cells.where.each.cel
e8a0 6c 20 69 73 20 46 4e 20 61 70 70 6c 69 65 64 20 74 6f 20 65 61 63 68 0a 65 6c 65 6d 65 6e 74 20 l.is.FN.applied.to.each.element.
e8c0 6f 66 20 4c 49 53 54 20 70 61 69 72 65 64 20 77 69 74 68 20 74 68 65 20 75 6e 6d 6f 64 69 66 69 of.LIST.paired.with.the.unmodifi
e8e0 65 64 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 22 0a 20 20 28 2d 7a 69 70 20 28 2d 6d ed.element.of.LIST."...(-zip.(-m
e900 61 70 20 66 6e 20 6c 69 73 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d ap.fn.list).list))..(defmacro.--
e920 61 6e 6e 6f 74 61 74 65 20 28 66 6f 72 6d 20 6c 69 73 74 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 annotate.(form.list)..."Anaphori
e940 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 2d 61 6e 6e 6f 74 61 74 65 27 2e 22 0a 20 20 28 64 65 c.version.of.`-annotate'."...(de
e960 63 6c 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 clare.(debug.(def-form.form)))..
e980 20 60 28 2d 61 6e 6e 6f 74 61 74 65 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 66 6f 72 6d 29 .`(-annotate.(lambda.(it).,form)
e9a0 20 2c 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 63 61 72 .,list))..(defun.dash--table-car
e9c0 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 6f 6e 61 ry.(lists.restore-lists.&optiona
e9e0 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 61 6e 64 l.re)..."Helper.for.`-table'.and
ea00 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 65 72 66 .`-table-flat'...If.a.list.overf
ea20 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 72 65 73 lows,.carry.to.the.right.and.res
ea40 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 6f 72 20 et.the.list."...(while.(not.(or.
ea60 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 20 28 65 (car.lists)...................(e
ea80 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 63 61 72 qual.lists.'(nil)))).....(setcar
eaa0 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 20 20 20 .lists.(car.restore-lists)).....
eac0 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 6c 69 73 (pop.(cadr.lists)).....(!cdr.lis
eae0 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 20 20 20 ts).....(!cdr.restore-lists)....
eb00 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 73 65 20 .(when.re.......(push.(nreverse.
eb20 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 65 74 63 (car.re)).(cadr.re)).......(setc
eb40 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 0a 0a 28 ar.re.nil).......(!cdr.re))))..(
eb60 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 0a 20 20 defun.-table.(fn.&rest.lists)...
eb80 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 54 53 20 "Compute.outer.product.of.LISTS.
eba0 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 69 6f 6e using.function.FN...The.function
ebc0 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 79 20 61 .FN.should.have.the.same.arity.a
ebe0 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 73 2e 0a s.the.number.of.supplied.lists..
ec00 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 64 20 62 .The.outer.product.is.computed.b
ec20 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 0a 63 6f y.applying.fn.to.all.possible.co
ec40 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 65 mbinations.created.by.taking.one
ec60 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 64 65 72 .element.from.each.list.in.order
ec80 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 74 20 69 ...The.dimension.of.the.result.i
eca0 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 60 2d 74 s.(length.lists)...See.also:.`-t
ecc0 61 62 6c 65 2d 66 6c 61 74 27 22 0a 20 20 28 6c 65 74 20 28 28 72 65 73 74 6f 72 65 2d 6c 69 73 able-flat'"...(let.((restore-lis
ece0 74 73 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6c 69 73 74 73 29 29 0a 20 20 20 20 20 20 ts.(copy-sequence.lists)).......
ed00 20 20 28 6c 61 73 74 2d 6c 69 73 74 20 28 6c 61 73 74 20 6c 69 73 74 73 29 29 0a 20 20 20 20 20 ..(last-list.(last.lists))......
ed20 20 20 20 28 72 65 20 28 6d 61 6b 65 2d 6c 69 73 74 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 ...(re.(make-list.(length.lists)
ed40 20 6e 69 6c 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 63 61 72 20 6c 61 73 74 2d 6c 69 73 .nil))).....(while.(car.last-lis
ed60 74 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 74 65 6d 20 28 61 70 70 6c 79 20 66 6e 20 28 t).......(let.((item.(apply.fn.(
ed80 2d 6d 61 70 20 27 63 61 72 20 6c 69 73 74 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 -map.'car.lists)))).........(pus
eda0 68 20 69 74 65 6d 20 28 63 61 72 20 72 65 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 63 61 72 h.item.(car.re)).........(setcar
edc0 20 6c 69 73 74 73 20 28 63 64 61 72 20 6c 69 73 74 73 29 29 20 3b 3b 20 73 69 6c 65 6e 63 65 20 .lists.(cdar.lists)).;;.silence.
ede0 62 79 74 65 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 74 61 62 byte.compiler.........(dash--tab
ee00 6c 65 2d 63 61 72 72 79 20 6c 69 73 74 73 20 72 65 73 74 6f 72 65 2d 6c 69 73 74 73 20 72 65 29 le-carry.lists.restore-lists.re)
ee20 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 28 63 61 72 20 28 6c 61 73 74 20 72 65 29 29 )).....(nreverse.(car.(last.re))
ee40 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 61 62 6c 65 2d 66 6c 61 74 20 28 66 6e 20 26 72 65 73 )))..(defun.-table-flat.(fn.&res
ee60 74 20 6c 69 73 74 73 29 0a 20 20 22 43 6f 6d 70 75 74 65 20 66 6c 61 74 20 6f 75 74 65 72 20 70 t.lists)..."Compute.flat.outer.p
ee80 72 6f 64 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 roduct.of.LISTS.using.function.F
eea0 4e 2e 0a 0a 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 N...The.function.FN.should.have.
eec0 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 66 0a the.same.arity.as.the.number.of.
eee0 73 75 70 70 6c 69 65 64 20 6c 69 73 74 73 2e 0a 0a 54 68 65 20 6f 75 74 65 72 20 70 72 6f 64 75 supplied.lists...The.outer.produ
ef00 63 74 20 69 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 61 70 70 6c 79 69 6e 67 20 66 6e 20 74 6f ct.is.computed.by.applying.fn.to
ef20 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 0a 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 63 72 65 61 74 .all.possible.combinations.creat
ef40 65 64 20 62 79 20 74 61 6b 69 6e 67 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 65 61 ed.by.taking.one.element.from.ea
ef60 63 68 20 6c 69 73 74 20 69 6e 0a 6f 72 64 65 72 2e 20 20 54 68 65 20 72 65 73 75 6c 74 73 20 61 ch.list.in.order...The.results.a
ef80 72 65 20 66 6c 61 74 74 65 6e 65 64 2c 20 69 67 6e 6f 72 69 6e 67 20 74 68 65 20 74 65 6e 73 6f re.flattened,.ignoring.the.tenso
efa0 72 20 73 74 72 75 63 74 75 72 65 0a 6f 66 20 74 68 65 20 72 65 73 75 6c 74 2e 20 20 54 68 69 73 r.structure.of.the.result...This
efc0 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 63 61 6c 6c 69 6e 67 3a 0a 0a 20 20 28 2d .is.equivalent.to.calling:....(-
efe0 66 6c 61 74 74 65 6e 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 flatten-n.(1-.(length.lists)).(a
f000 70 70 6c 79 20 5c 5c 3d 27 2d 74 61 62 6c 65 20 66 6e 20 6c 69 73 74 73 29 29 0a 0a 62 75 74 20 pply.\\='-table.fn.lists))..but.
f020 74 68 65 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 the.implementation.here.is.much.
f040 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 66 6c 61 more.efficient...See.also:.`-fla
f060 74 74 65 6e 2d 6e 27 2c 20 60 2d 74 61 62 6c 65 27 22 0a 20 20 28 6c 65 74 20 28 28 72 65 73 74 tten-n',.`-table'"...(let.((rest
f080 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 73 29 29 ore-lists.(copy-sequence.lists))
f0a0 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 74 73 29 .........(last-list.(last.lists)
f0c0 29 0a 20 20 20 20 20 20 20 20 72 65 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 63 61 72 20 6c 61 ).........re).....(while.(car.la
f0e0 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 61 70 70 6c st-list).......(let.((item.(appl
f100 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 20 20 20 20 y.fn.(-map.'car.lists)))).......
f120 20 20 28 70 75 73 68 20 69 74 65 6d 20 72 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 63 61 72 ..(push.item.re).........(setcar
f140 20 6c 69 73 74 73 20 28 63 64 61 72 20 6c 69 73 74 73 29 29 20 3b 3b 20 73 69 6c 65 6e 63 65 20 .lists.(cdar.lists)).;;.silence.
f160 62 79 74 65 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 20 20 28 64 61 73 68 2d 2d 74 61 62 byte.compiler.........(dash--tab
f180 6c 65 2d 63 61 72 72 79 20 6c 69 73 74 73 20 72 65 73 74 6f 72 65 2d 6c 69 73 74 73 29 29 29 0a le-carry.lists.restore-lists))).
f1a0 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 65 6c 65 ....(nreverse.re)))..(defun.-ele
f1c0 6d 2d 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 m-index.(elem.list)..."Return.th
f1e0 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 20 e.index.of.the.first.element.in.
f200 74 68 65 20 67 69 76 65 6e 20 4c 49 53 54 20 77 68 69 63 68 0a 69 73 20 65 71 75 61 6c 20 74 6f the.given.LIST.which.is.equal.to
f220 20 74 68 65 20 71 75 65 72 79 20 65 6c 65 6d 65 6e 74 20 45 4c 45 4d 2c 20 6f 72 20 6e 69 6c 20 .the.query.element.ELEM,.or.nil.
f240 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 0a 73 75 63 68 20 65 6c 65 6d 65 6e 74 2e 22 0a 20 20 if.there.is.no.such.element."...
f260 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 66 (declare.(pure.t).(side-effect-f
f280 72 65 65 20 74 29 29 0a 20 20 28 63 61 72 20 28 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 65 6c ree.t))...(car.(-elem-indices.el
f2a0 65 6d 20 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 em.list)))..(defun.-elem-indices
f2c0 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 69 6e 64 69 63 .(elem.list)..."Return.the.indic
f2e0 65 73 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 4c 49 53 54 20 65 71 75 61 6c es.of.all.elements.in.LIST.equal
f300 20 74 6f 20 74 68 65 20 71 75 65 72 79 0a 65 6c 65 6d 65 6e 74 20 45 4c 45 4d 2c 20 69 6e 20 61 .to.the.query.element.ELEM,.in.a
f320 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 70 75 72 scending.order."...(declare.(pur
f340 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 66 e.t).(side-effect-free.t))...(-f
f360 69 6e 64 2d 69 6e 64 69 63 65 73 20 28 2d 70 61 72 74 69 61 6c 20 27 65 71 75 61 6c 20 65 6c 65 ind-indices.(-partial.'equal.ele
f380 6d 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 m).list))..(defun.-find-indices.
f3a0 28 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 69 6e 64 69 63 65 (pred.list)..."Return.the.indice
f3c0 73 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 4c 49 53 54 20 73 61 74 69 73 66 s.of.all.elements.in.LIST.satisf
f3e0 79 69 6e 67 20 74 68 65 0a 70 72 65 64 69 63 61 74 65 20 50 52 45 44 2c 20 69 6e 20 61 73 63 65 ying.the.predicate.PRED,.in.asce
f400 6e 64 69 6e 67 20 6f 72 64 65 72 2e 22 0a 20 20 28 61 70 70 6c 79 20 27 61 70 70 65 6e 64 20 28 nding.order."...(apply.'append.(
f420 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 77 68 65 6e 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 --map-indexed.(when.(funcall.pre
f440 64 20 69 74 29 20 28 6c 69 73 74 20 69 74 2d 69 6e 64 65 78 29 29 20 6c 69 73 74 29 29 29 0a 0a d.it).(list.it-index)).list)))..
f460 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
f480 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 6f 66 20 60 2d 66 ist)..."Anaphoric.version.of.`-f
f4a0 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 75 67 ind-indices'."...(declare.(debug
f4c0 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 6e 64 2d 69 6e 64 .(def-form.form)))...`(-find-ind
f4e0 69 63 65 73 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 ices.(lambda.(it).,form).,list))
f500 0a 0a 28 64 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 ..(defun.-find-index.(pred.list)
f520 0a 20 20 22 54 61 6b 65 20 61 20 70 72 65 64 69 63 61 74 65 20 50 52 45 44 20 61 6e 64 20 61 20 ..."Take.a.predicate.PRED.and.a.
f540 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 LIST.and.return.the.index.of.the
f560 0a 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 65 20 6c 69 73 74 20 73 61 74 69 73 .first.element.in.the.list.satis
f580 66 79 69 6e 67 20 74 68 65 20 70 72 65 64 69 63 61 74 65 2c 20 6f 72 20 6e 69 6c 20 69 66 0a 74 fying.the.predicate,.or.nil.if.t
f5a0 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 53 65 65 20 61 6c here.is.no.such.element...See.al
f5c0 73 6f 20 60 2d 66 69 72 73 74 27 2e 22 0a 20 20 28 63 61 72 20 28 2d 66 69 6e 64 2d 69 6e 64 69 so.`-first'."...(car.(-find-indi
f5e0 63 65 73 20 70 72 65 64 20 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 66 69 ces.pred.list)))..(defmacro.--fi
f600 6e 64 2d 69 6e 64 65 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 nd-index.(form.list)..."Anaphori
f620 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 2d 66 69 6e 64 2d 69 6e 64 65 78 27 2e 22 0a 20 20 28 c.version.of.`-find-index'."...(
f640 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 66 6f 72 6d 29 29 29 declare.(debug.(def-form.form)))
f660 0a 20 20 60 28 2d 66 69 6e 64 2d 69 6e 64 65 78 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 66 ...`(-find-index.(lambda.(it).,f
f680 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 6e 64 2d 6c 61 73 74 2d orm).,list))..(defun.-find-last-
f6a0 69 6e 64 65 78 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 22 54 61 6b 65 20 61 20 70 72 65 64 index.(pred.list)..."Take.a.pred
f6c0 69 63 61 74 65 20 50 52 45 44 20 61 6e 64 20 61 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e icate.PRED.and.a.LIST.and.return
f6e0 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 0a 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 69 .the.index.of.the.last.element.i
f700 6e 20 74 68 65 20 6c 69 73 74 20 73 61 74 69 73 66 79 69 6e 67 20 74 68 65 20 70 72 65 64 69 63 n.the.list.satisfying.the.predic
f720 61 74 65 2c 20 6f 72 20 6e 69 6c 20 69 66 0a 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 ate,.or.nil.if.there.is.no.such.
f740 65 6c 65 6d 65 6e 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 2d 6c 61 73 74 27 2e 22 0a 20 20 28 element...See.also.`-last'."...(
f760 2d 6c 61 73 74 2d 69 74 65 6d 20 28 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 70 72 65 64 20 6c -last-item.(-find-indices.pred.l
f780 69 73 74 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e ist)))..(defmacro.--find-last-in
f7a0 64 65 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 20 76 65 72 dex.(form.list)..."Anaphoric.ver
f7c0 73 69 6f 6e 20 6f 66 20 60 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 27 2e 22 0a 20 20 28 sion.of.`-find-last-index'."...(
f7e0 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 66 6f 72 6d 29 29 29 declare.(debug.(def-form.form)))
f800 0a 20 20 60 28 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 6c 61 6d 62 64 61 20 28 69 ...`(-find-last-index.(lambda.(i
f820 74 29 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 73 65 6c 65 63 t).,form).,list))..(defun.-selec
f840 74 2d 62 79 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 22 52 t-by-indices.(indices.list)..."R
f860 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 eturn.a.list.whose.elements.are.
f880 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 4c 49 53 54 20 73 65 6c 65 63 74 65 64 0a 61 73 20 60 elements.from.LIST.selected.as.`
f8a0 28 6e 74 68 20 69 20 6c 69 73 74 29 60 20 66 6f 72 20 61 6c 6c 20 69 20 66 72 6f 6d 20 49 4e 44 (nth.i.list)`.for.all.i.from.IND
f8c0 49 43 45 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 64 65 ICES."...(declare.(pure.t).(side
f8e0 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 72 29 0a 20 20 20 20 -effect-free.t))...(let.(r).....
f900 28 2d 2d 65 61 63 68 20 69 6e 64 69 63 65 73 0a 20 20 20 20 20 20 28 21 63 6f 6e 73 20 28 6e 74 (--each.indices.......(!cons.(nt
f920 68 20 69 74 20 6c 69 73 74 29 20 72 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 29 29 h.it.list).r)).....(nreverse.r))
f940 29 0a 0a 28 64 65 66 75 6e 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 28 63 6f 6c 75 6d )..(defun.-select-columns.(colum
f960 6e 73 20 74 61 62 6c 65 29 0a 20 20 22 53 65 6c 65 63 74 20 43 4f 4c 55 4d 4e 53 20 66 72 6f 6d ns.table)..."Select.COLUMNS.from
f980 20 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 .TABLE...TABLE.is.a.list.of.list
f9a0 73 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 s.where.each.element.represents.
f9c0 6f 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 one.row..It.is.assumed.each.row.
f9e0 68 61 73 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 45 61 63 68 20 72 6f 77 20 69 has.the.same.length...Each.row.i
fa00 73 20 74 72 61 6e 73 66 6f 72 6d 65 64 20 73 75 63 68 20 74 68 61 74 20 6f 6e 6c 79 20 74 68 65 s.transformed.such.that.only.the
fa20 20 73 70 65 63 69 66 69 65 64 20 43 4f 4c 55 4d 4e 53 20 61 72 65 0a 73 65 6c 65 63 74 65 64 2e .specified.COLUMNS.are.selected.
fa40 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 6e 27 2c 20 60 2d ..See.also:.`-select-column',.`-
fa60 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 63 6c 61 72 65 20 28 select-by-indices'"...(declare.(
fa80 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))...
faa0 28 2d 2d 6d 61 70 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 63 6f 6c 75 6d (--map.(-select-by-indices.colum
fac0 6e 73 20 69 74 29 20 74 61 62 6c 65 29 29 0a 0a 28 64 65 66 75 6e 20 2d 73 65 6c 65 63 74 2d 63 ns.it).table))..(defun.-select-c
fae0 6f 6c 75 6d 6e 20 28 63 6f 6c 75 6d 6e 20 74 61 62 6c 65 29 0a 20 20 22 53 65 6c 65 63 74 20 43 olumn.(column.table)..."Select.C
fb00 4f 4c 55 4d 4e 20 66 72 6f 6d 20 54 41 42 4c 45 2e 0a 0a 54 41 42 4c 45 20 69 73 20 61 20 6c 69 OLUMN.from.TABLE...TABLE.is.a.li
fb20 73 74 20 6f 66 20 6c 69 73 74 73 20 77 68 65 72 65 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 72 st.of.lists.where.each.element.r
fb40 65 70 72 65 73 65 6e 74 73 20 6f 6e 65 20 72 6f 77 2e 0a 49 74 20 69 73 20 61 73 73 75 6d 65 64 epresents.one.row..It.is.assumed
fb60 20 65 61 63 68 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 .each.row.has.the.same.length...
fb80 54 68 65 20 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 The.single.selected.column.is.re
fba0 74 75 72 6e 65 64 20 61 73 20 61 20 6c 69 73 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 73 turned.as.a.list...See.also:.`-s
fbc0 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 27 2c 20 60 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 elect-columns',.`-select-by-indi
fbe0 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 64 65 2d ces'"...(declare.(pure.t).(side-
fc00 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 2d 6d 61 70 63 61 74 20 28 2d 73 65 effect-free.t))...(--mapcat.(-se
fc20 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 28 6c 69 73 74 20 63 6f 6c 75 6d 6e 29 20 69 74 lect-by-indices.(list.column).it
fc40 29 20 74 61 62 6c 65 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 3e 20 28 78 20 26 6f 70 74 69 ).table))..(defmacro.->.(x.&opti
fc60 6f 6e 61 6c 20 66 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 onal.form.&rest.more)..."Thread.
fc80 74 68 65 20 65 78 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 the.expr.through.the.forms..Inse
fca0 72 74 20 58 20 61 73 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 0a 69 6e 20 74 68 65 20 66 rt.X.as.the.second.item.in.the.f
fcc0 69 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 irst.form,.making.a.list.of.it.i
fce0 66 20 69 74 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 0a 61 6c 72 65 61 64 79 2e 20 49 66 20 74 f.it.is.not.a.list.already..If.t
fd00 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 74 68 65 20 here.are.more.forms,.insert.the.
fd20 66 69 72 73 74 20 66 6f 72 6d 20 61 73 20 74 68 65 0a 73 65 63 6f 6e 64 20 69 74 65 6d 20 69 6e first.form.as.the.second.item.in
fd40 20 73 65 63 6f 6e 64 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 .second.form,.etc."...(declare.(
fd60 64 65 62 75 67 20 28 66 6f 72 6d 20 26 72 65 73 74 20 5b 26 6f 72 20 73 79 6d 62 6f 6c 70 20 28 debug.(form.&rest.[&or.symbolp.(
fd80 73 65 78 70 20 26 72 65 73 74 20 66 6f 72 6d 29 5d 29 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 sexp.&rest.form)])))...(cond....
fda0 28 28 6e 75 6c 6c 20 66 6f 72 6d 29 20 78 29 0a 20 20 20 28 28 6e 75 6c 6c 20 6d 6f 72 65 29 20 ((null.form).x)....((null.more).
fdc0 28 69 66 20 28 6c 69 73 74 70 20 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (if.(listp.form)................
fde0 20 20 20 20 20 60 28 2c 28 63 61 72 20 66 6f 72 6d 29 20 2c 78 20 2c 40 28 63 64 72 20 66 6f 72 .....`(,(car.form).,x.,@(cdr.for
fe00 6d 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 74 20 66 6f 72 6d m))...................(list.form
fe20 20 78 29 29 29 0a 20 20 20 28 3a 65 6c 73 65 20 60 28 2d 3e 20 28 2d 3e 20 2c 78 20 2c 66 6f 72 .x)))....(:else.`(->.(->.,x.,for
fe40 6d 29 20 2c 40 6d 6f 72 65 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 3e 3e 20 28 78 20 m).,@more))))..(defmacro.->>.(x.
fe60 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 22 54 68 &optional.form.&rest.more)..."Th
fe80 72 65 61 64 20 74 68 65 20 65 78 70 72 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 6f 72 6d 73 2e read.the.expr.through.the.forms.
fea0 20 49 6e 73 65 72 74 20 58 20 61 73 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 0a 69 6e 20 74 68 .Insert.X.as.the.last.item.in.th
fec0 65 20 66 69 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 e.first.form,.making.a.list.of.i
fee0 74 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 0a 61 6c 72 65 61 64 79 2e 20 49 t.if.it.is.not.a.list.already..I
ff00 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 74 f.there.are.more.forms,.insert.t
ff20 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 73 20 74 68 65 0a 6c 61 73 74 20 69 74 65 6d 20 69 he.first.form.as.the.last.item.i
ff40 6e 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 n.second.form,.etc."...(declare.
ff60 28 64 65 62 75 67 20 2d 3e 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 75 6c 6c 20 66 6f (debug.->))...(cond....((null.fo
ff80 72 6d 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 rm).x)....((null.more).(if.(list
ffa0 70 20 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 40 p.form).....................`(,@
ffc0 66 6f 72 6d 20 2c 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 form.,x)...................(list
ffe0 20 66 6f 72 6d 20 78 29 29 29 0a 20 20 20 28 3a 65 6c 73 65 20 60 28 2d 3e 3e 20 28 2d 3e 3e 20 .form.x)))....(:else.`(->>.(->>.
10000 2c 78 20 2c 66 6f 72 6d 29 20 2c 40 6d 6f 72 65 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 ,x.,form).,@more))))..(defmacro.
10020 2d 2d 3e 20 28 78 20 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 -->.(x.&rest.forms)..."Starting.
10040 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 64 20 65 61 63 68 with.the.value.of.X,.thread.each
10060 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 0a 0a 49 6e 73 65 .expression.through.FORMS...Inse
10080 72 74 20 58 20 61 74 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 73 69 67 6e 69 66 69 65 64 20 62 rt.X.at.the.position.signified.b
100a0 79 20 74 68 65 20 73 79 6d 62 6f 6c 20 60 69 74 27 20 69 6e 20 74 68 65 20 66 69 72 73 74 0a 66 y.the.symbol.`it'.in.the.first.f
100c0 6f 72 6d 2e 20 20 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 orm...If.there.are.more.forms,.i
100e0 6e 73 65 72 74 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 74 20 74 68 65 20 70 6f 73 69 nsert.the.first.form.at.the.posi
10100 74 69 6f 6e 0a 73 69 67 6e 69 66 69 65 64 20 62 79 20 60 69 74 27 20 69 6e 20 69 6e 20 73 65 63 tion.signified.by.`it'.in.in.sec
10120 6f 6e 64 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 ond.form,.etc."...(declare.(debu
10140 67 20 28 66 6f 72 6d 20 62 6f 64 79 29 29 29 0a 20 20 60 28 2d 61 73 2d 3e 20 2c 78 20 69 74 20 g.(form.body)))...`(-as->.,x.it.
10160 2c 40 66 6f 72 6d 73 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 61 73 2d 3e 20 28 76 61 6c 75 ,@forms))..(defmacro.-as->.(valu
10180 65 20 76 61 72 69 61 62 6c 65 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 22 53 74 61 72 74 e.variable.&rest.forms)..."Start
101a0 69 6e 67 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 ing.with.VALUE,.thread.VARIABLE.
101c0 74 68 72 6f 75 67 68 20 46 4f 52 4d 53 2e 0a 0a 49 6e 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 through.FORMS...In.the.first.for
101e0 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 20 74 m,.bind.VARIABLE.to.VALUE...In.t
10200 68 65 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 62 69 6e 64 0a 56 41 52 49 41 42 4c 45 20 74 6f he.second.form,.bind.VARIABLE.to
10220 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 66 6f 72 6d 2c 20 61 .the.result.of.the.first.form,.a
10240 6e 64 20 73 6f 20 66 6f 72 74 68 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 nd.so.forth."...(declare.(debug.
10260 28 66 6f 72 6d 20 73 79 6d 62 6f 6c 70 20 62 6f 64 79 29 29 29 0a 20 20 28 69 66 20 28 6e 75 6c (form.symbolp.body)))...(if.(nul
10280 6c 20 66 6f 72 6d 73 29 0a 20 20 20 20 20 20 60 2c 76 61 6c 75 65 0a 20 20 20 20 60 28 6c 65 74 l.forms).......`,value.....`(let
102a0 20 28 28 2c 76 61 72 69 61 62 6c 65 20 2c 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 28 2d 61 .((,variable.,value))........(-a
102c0 73 2d 3e 20 2c 28 69 66 20 28 73 79 6d 62 6f 6c 70 20 28 63 61 72 20 66 6f 72 6d 73 29 29 0a 20 s->.,(if.(symbolp.(car.forms))..
102e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 63 61 72 20 66 6f 72 ..................(list.(car.for
10300 6d 73 29 20 76 61 72 69 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ms).variable)..................(
10320 63 61 72 20 66 6f 72 6d 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 76 61 72 69 61 car.forms))...............,varia
10340 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 63 64 72 20 66 6f 72 6d 73 29 29 ble...............,@(cdr.forms))
10360 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 73 6f 6d 65 2d 3e 20 28 78 20 26 6f 70 74 69 6f )))..(defmacro.-some->.(x.&optio
10380 6e 61 6c 20 66 6f 72 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 nal.form.&rest.more)..."When.exp
103a0 72 20 69 73 20 6e 6f 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 r.is.non-nil,.thread.it.through.
103c0 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 28 76 69 61 20 60 2d 3e 27 29 2c 0a 61 6e 64 20 77 the.first.form.(via.`->'),.and.w
103e0 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 68 72 6f hen.that.result.is.non-nil,.thro
10400 75 67 68 20 74 68 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 ugh.the.next.form,.etc."...(decl
10420 61 72 65 20 28 64 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 are.(debug.->)............(inden
10440 74 20 31 29 29 0a 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 t.1))...(if.(null.form).x.....(l
10460 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 6c 74 et.((result.(make-symbol."result
10480 22 29 29 29 0a 20 20 20 20 20 20 60 28 2d 73 6f 6d 65 2d 3e 20 28 2d 77 68 65 6e 2d 6c 65 74 20 "))).......`(-some->.(-when-let.
104a0 28 2c 72 65 73 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 28 (,result.,x)...................(
104c0 2d 3e 20 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 ->.,result.,form))..........,@mo
104e0 72 65 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 73 6f 6d 65 2d 3e 3e 20 28 78 20 26 6f re))))..(defmacro.-some->>.(x.&o
10500 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 22 57 68 65 6e ptional.form.&rest.more)..."When
10520 20 65 78 70 72 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 20 69 74 20 74 68 72 6f .expr.is.non-nil,.thread.it.thro
10540 75 67 68 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 28 76 69 61 20 60 2d 3e 3e 27 29 2c 0a ugh.the.first.form.(via.`->>'),.
10560 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 6e 69 6c 2c and.when.that.result.is.non-nil,
10580 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 2e 22 0a 20 20 .through.the.next.form,.etc."...
105a0 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 2d 3e 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 (declare.(debug.->)............(
105c0 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 69 66 20 28 6e 75 6c 6c 20 66 6f 72 6d 29 20 78 0a 20 indent.1))...(if.(null.form).x..
105e0 20 20 20 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 ...(let.((result.(make-symbol."r
10600 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 20 20 60 28 2d 73 6f 6d 65 2d 3e 3e 20 28 2d 77 68 65 esult"))).......`(-some->>.(-whe
10620 6e 2d 6c 65 74 20 28 2c 72 65 73 75 6c 74 20 2c 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 n-let.(,result.,x)..............
10640 20 20 20 20 20 20 28 2d 3e 3e 20 2c 72 65 73 75 6c 74 20 2c 66 6f 72 6d 29 29 0a 20 20 20 20 20 ......(->>.,result.,form))......
10660 20 20 20 20 2c 40 6d 6f 72 65 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 73 6f 6d 65 2d ....,@more))))..(defmacro.-some-
10680 2d 3e 20 28 65 78 70 72 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 22 54 68 72 65 61 64 20 ->.(expr.&rest.forms)..."Thread.
106a0 45 58 50 52 20 74 68 72 6f 75 67 68 20 46 4f 52 4d 53 20 76 69 61 20 60 2d 2d 3e 27 2c 20 77 68 EXPR.through.FORMS.via.`-->',.wh
106c0 69 6c 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 57 68 65 6e 20 ile.the.result.is.non-nil..When.
106e0 45 58 50 52 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 EXPR.evaluates.to.non-nil,.threa
10700 64 20 74 68 65 20 72 65 73 75 6c 74 20 74 68 72 6f 75 67 68 20 74 68 65 0a 66 69 72 73 74 20 6f d.the.result.through.the.first.o
10720 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 73 75 6c 74 20 69 73 f.FORMS,.and.when.that.result.is
10740 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 20 69 74 0a 74 68 72 6f 75 67 68 20 74 68 65 20 .non-nil,.thread.it.through.the.
10760 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 65 62 next.form,.etc."...(declare.(deb
10780 75 67 20 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 ug.(form.&rest.&or.symbolp.consp
107a0 29 29 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 69 66 20 28 6e 75 6c 6c 20 66 6f 72 6d 73 )).(indent.1))...(if.(null.forms
107c0 29 20 65 78 70 72 0a 20 20 20 20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 20 28 6d 61 6b 65 2d 73 ).expr.....(let.((result.(make-s
107e0 79 6d 62 6f 6c 20 22 72 65 73 75 6c 74 22 29 29 29 0a 20 20 20 20 20 20 60 28 2d 73 6f 6d 65 2d ymbol."result"))).......`(-some-
10800 2d 3e 20 28 2d 77 68 65 6e 2d 6c 65 74 20 28 2c 72 65 73 75 6c 74 20 2c 65 78 70 72 29 0a 20 20 ->.(-when-let.(,result.,expr)...
10820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 3e 20 2c 72 65 73 75 6c 74 20 2c 28 .................(-->.,result.,(
10840 63 61 72 20 66 6f 72 6d 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 2c 40 28 63 64 72 20 66 6f 72 car.forms)))..........,@(cdr.for
10860 6d 73 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 64 6f 74 6f 20 28 69 6e 69 74 20 26 ms)))))..(defmacro.-doto.(init.&
10880 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 22 45 76 61 6c 75 61 74 65 20 49 4e 49 54 20 61 6e 64 rest.forms)..."Evaluate.INIT.and
108a0 20 70 61 73 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 .pass.it.as.argument.to.FORMS.wi
108c0 74 68 20 60 2d 3e 27 2e 0a 54 68 65 20 52 45 53 55 4c 54 20 6f 66 20 65 76 61 6c 75 61 74 69 6e th.`->'..The.RESULT.of.evaluatin
108e0 67 20 49 4e 49 54 20 69 73 20 74 68 72 65 61 64 65 64 20 74 68 72 6f 75 67 68 20 65 61 63 68 20 g.INIT.is.threaded.through.each.
10900 6f 66 20 46 4f 52 4d 53 0a 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 75 73 69 6e 67 20 60 2d 3e 27 of.FORMS.individually.using.`->'
10920 2c 20 77 68 69 63 68 20 73 65 65 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 ,.which.see...The.return.value.i
10940 73 20 52 45 53 55 4c 54 2c 0a 77 68 69 63 68 20 46 4f 52 4d 53 20 6d 61 79 20 68 61 76 65 20 6d s.RESULT,.which.FORMS.may.have.m
10960 6f 64 69 66 69 65 64 20 62 79 20 73 69 64 65 20 65 66 66 65 63 74 2e 22 0a 20 20 28 64 65 63 6c odified.by.side.effect."...(decl
10980 61 72 65 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 26 72 65 73 74 20 26 6f 72 20 73 79 6d 62 6f are.(debug.(form.&rest.&or.symbo
109a0 6c 70 20 63 6f 6e 73 70 29 29 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 6c 65 74 20 28 28 lp.consp)).(indent.1))...(let.((
109c0 72 65 74 76 61 6c 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 retval.(make-symbol."result"))).
109e0 20 20 20 20 60 28 6c 65 74 20 28 28 2c 72 65 74 76 61 6c 20 2c 69 6e 69 74 29 29 0a 20 20 20 20 ....`(let.((,retval.,init)).....
10a00 20 20 20 2c 40 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 66 6f 72 6d 29 20 60 28 2d 3e ...,@(mapcar.(lambda.(form).`(->
10a20 20 2c 72 65 74 76 61 6c 20 2c 66 6f 72 6d 29 29 20 66 6f 72 6d 73 29 0a 20 20 20 20 20 20 20 2c .,retval.,form)).forms)........,
10a40 72 65 74 76 61 6c 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 64 6f 74 6f 20 28 69 6e 69 retval)))..(defmacro.--doto.(ini
10a60 74 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d t.&rest.forms)..."Anaphoric.form
10a80 20 6f 66 20 60 2d 64 6f 74 6f 27 2e 0a 54 68 69 73 20 6a 75 73 74 20 65 76 61 6c 75 61 74 65 73 .of.`-doto'..This.just.evaluates
10aa0 20 49 4e 49 54 2c 20 62 69 6e 64 73 20 74 68 65 20 72 65 73 75 6c 74 20 74 6f 20 60 69 74 27 2c .INIT,.binds.the.result.to.`it',
10ac0 20 65 76 61 6c 75 61 74 65 73 0a 46 4f 52 4d 53 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 .evaluates.FORMS,.and.returns.th
10ae0 65 20 66 69 6e 61 6c 20 76 61 6c 75 65 20 6f 66 20 60 69 74 27 2e 0a 4e 6f 74 65 3a 20 60 69 74 e.final.value.of.`it'..Note:.`it
10b00 27 20 6e 65 65 64 20 6e 6f 74 20 62 65 20 75 73 65 64 20 69 6e 20 65 61 63 68 20 66 6f 72 6d 2e '.need.not.be.used.in.each.form.
10b20 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 79 29 29 "...(declare.(debug.(form.body))
10b40 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 60 28 6c 65 74 20 28 28 69 74 20 2c 69 6e 69 74 29 .(indent.1))...`(let.((it.,init)
10b60 29 0a 20 20 20 20 20 2c 40 66 6f 72 6d 73 0a 20 20 20 20 20 69 74 29 29 0a 0a 28 64 65 66 75 6e )......,@forms......it))..(defun
10b80 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 22 .-grade-up.(comparator.list)..."
10ba0 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 4f 4d Grade.elements.of.LIST.using.COM
10bc0 50 41 52 41 54 4f 52 20 72 65 6c 61 74 69 6f 6e 2e 0a 54 68 69 73 20 79 69 65 6c 64 73 20 61 20 PARATOR.relation..This.yields.a.
10be0 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 70 permutation.vector.such.that.app
10c00 6c 79 69 6e 67 20 74 68 69 73 0a 70 65 72 6d 75 74 61 74 69 6f 6e 20 74 6f 20 4c 49 53 54 20 73 lying.this.permutation.to.LIST.s
10c20 6f 72 74 73 20 69 74 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 22 0a 20 20 28 orts.it.in.ascending.order."...(
10c40 2d 3e 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 ->>.(--map-indexed.(cons.it.it-i
10c60 6e 64 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 ndex).list)........(-sort.(lambd
10c80 61 20 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 a.(it.other).(funcall.comparator
10ca0 20 28 63 61 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 .(car.it).(car.other))))........
10cc0 28 6d 61 70 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 (mapcar.#'cdr)))..(defun.-grade-
10ce0 64 6f 77 6e 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 down.(comparator.list)..."Grade.
10d00 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 4f elements.of.LIST.using.COMPARATO
10d20 52 20 72 65 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 R.relation..This.yields.a.permut
10d40 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 70 6c 79 69 6e 67 20 ation.vector.such.that.applying.
10d60 74 68 69 73 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 this.permutation.to.LIST.sorts.i
10d80 74 20 69 6e 20 64 65 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 22 0a 20 20 28 2d 3e 3e 20 28 t.in.descending.order."...(->>.(
10da0 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 29 --map-indexed.(cons.it.it-index)
10dc0 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 74 .list)........(-sort.(lambda.(it
10de0 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 72 .other).(funcall.comparator.(car
10e00 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 61 70 63 .other).(car.it))))........(mapc
10e20 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 75 72 63 ar.#'cdr)))..(defvar.dash--sourc
10e40 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 74 65 72 e-counter.0..."Monotonic.counter
10e60 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 65 66 75 .for.generated.symbols.")..(defu
10e80 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 62 6f 6c n.dash--match-make-source-symbol
10ea0 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 75 72 63 .()..."Generate.a.new.dash-sourc
10ec0 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 6c 73 20 e.symbol...All.returned.symbols.
10ee0 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 0a 20 20 are.guaranteed.to.be.unique."...
10f00 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 2d 2d 64 (prog1.(make-symbol.(format."--d
10f20 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 2d 63 6f ash-source-%d--".dash--source-co
10f40 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 65 2d 63 unter)).....(setq.dash--source-c
10f60 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 65 72 29 ounter.(1+.dash--source-counter)
10f80 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 65 2d 70 )))..(defun.dash--match-ignore-p
10fa0 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 2d 6e 69 lace-p.(symbol)..."Return.non-ni
10fc0 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 74 61 72 l.if.SYMBOL.is.a.symbol.and.star
10fe0 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 79 6d 62 ts.with._."...(and.(symbolp.symb
11000 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 6e 61 6d ol)........(eq.(aref.(symbol-nam
11020 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 73 68 2d e.symbol).0).?_)))..(defun.dash-
11040 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 72 20 73 -match-cons-skip-cdr.(skip-cdr.s
11060 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 65 72 61 ource)..."Helper.function.genera
11080 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 22 0a 20 ting.idiomatic.shifting.code."..
110a0 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 20 60 28 .(cond....((=.skip-cdr.0).....`(
110c0 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 67 31 20 pop.,source))....(t.....`(prog1.
110e0 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 69 70 2d ,(dash--match-cons-get-car.skip-
11100 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 72 63 65 cdr.source)........(setq.,source
11120 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 31 2b 20 .,(dash--match-cons-get-cdr.(1+.
11140 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 6e 20 64 skip-cdr).source))))))..(defun.d
11160 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 2d 63 64 ash--match-cons-get-car.(skip-cd
11180 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
111a0 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 20 6e 74 erating.idiomatic.code.to.get.nt
111c0 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 64 72 20 h.car."...(cond....((=.skip-cdr.
111e0 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 20 73 6b 0).....`(car.,source))....((=.sk
11200 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 29 0a 20 ip-cdr.1).....`(cadr.,source))..
11220 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 72 63 65 ..(t.....`(nth.,skip-cdr.,source
11240 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 2d 67 65 ))))..(defun.dash--match-cons-ge
11260 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 6c 70 65 t-cdr.(skip-cdr.source)..."Helpe
11280 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 69 63 20 r.function.generating.idiomatic.
112a0 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 0a 20 20 code.to.get.nth.cdr."...(cond...
112c0 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 20 20 20 .((=.skip-cdr.0).....source)....
112e0 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 75 72 63 ((=.skip-cdr.1).....`(cdr.,sourc
11300 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 63 64 72 e))....(t.....`(nthcdr.,skip-cdr
11320 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 74 63 68 .,source))))..(defun.dash--match
11340 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 53 65 74 -cons.(match-form.source)..."Set
11360 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 74 20 61 up.a.cons.matching.environment.a
11380 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 28 6c 65 nd.call.the.real.matcher."...(le
113a0 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 65 2d 73 t.((s.(dash--match-make-source-s
113c0 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 20 28 6d ymbol)).........(n.0).........(m
113e0 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 20 28 63 .match-form)).....(while.(and.(c
11400 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 2d 2d 6d onsp.m).................(dash--m
11420 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 0a 20 20 atch-ignore-place-p.(car.m)))...
11440 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 0a 20 20 ....(setq.n.(1+.n)).(!cdr.m))...
11460 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 68 61 76 ..(cond......;;.when.we.only.hav
11480 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 20 64 6f e.one.pattern.in.the.list,.we.do
114a0 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 74 65 6d n't.have.to......;;.create.a.tem
114c0 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 2d 2d 29 porary.binding.(--dash-source--)
114e0 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 75 73 74 .for.the.source......;;.and.just
11500 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 28 28 61 .use.the.input.directly......((a
11520 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 28 63 64 nd.(consp.m)............(not.(cd
11540 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 72 20 6d r.m))).......(dash--match.(car.m
11560 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 20 73 6f ).(dash--match-cons-get-car.n.so
11580 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 73 70 65 urce)))......;;.handle.other.spe
115a0 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 20 20 28 cial.types......((>.n.0).......(
115c0 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 6e 73 2d dash--match.m.(dash--match-cons-
115e0 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 68 69 73 get-cdr.n.source)))......;;.this
11600 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 64 61 73 .is.the.only.entry-point.for.das
11620 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 3b 3b 20 h--match-cons-1,.that's......;;.
11640 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 62 6f 76 why.we.can't.simply.use.the.abov
11660 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 20 20 20 e.branch,.it.would.produce......
11680 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 0a 20 20 ;;.infinite.recursion......(t...
116a0 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 73 68 2d ....(cons.(list.s.source).(dash-
116c0 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 29 29 29 -match-cons-1.match-form.s))))))
116e0 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 63 74 69 ..(defun.dash--get-expand-functi
11700 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 69 6f 6e on.(type)..."Get.expand.function
11720 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 66 74 20 .name.for.TYPE."...(intern-soft.
11740 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 29 29 29 (format."dash-expand:%s".type)))
11760 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 6d 61 74 ..(defun.dash--match-cons-1.(mat
11780 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 73 29 0a ch-form.source.&optional.props).
117a0 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 4f 55 52 .."Match.MATCH-FORM.against.SOUR
117c0 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 72 20 69 CE...MATCH-FORM.is.a.proper.or.i
117e0 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 66 0a 4d mproper.list...Each.element.of.M
11800 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 20 77 68 ATCH-FORM.is.either.a.symbol,.wh
11820 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 69 76 65 ich.gets.bound.to.the.respective
11840 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 61 74 63 .value.in.source.or.another.matc
11860 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 0a 72 h.form.which.gets.destructured.r
11880 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 73 74 20 ecursively...If.the.cdr.of.last.
118a0 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 60 6e 69 6c 27 2c 20 cons.cell.in.the.list.is.`nil',.
118c0 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 73 matching.stops.there...SOURCE.is
118e0 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 28 .a.proper.or.improper.list."...(
11900 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 72 let.((skip-cdr.(or.(plist-get.pr
11920 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 20 ops.:skip-cdr).0))).....(cond...
11940 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 6f ...((consp.match-form).......(co
11960 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 20 nd........((cdr.match-form).....
11980 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 6c ....(cond..........((and.(symbol
119a0 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 20 p.(car.match-form)).............
119c0 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 2d ...(functionp.(dash--get-expand-
119e0 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 20 function.(car.match-form))))....
11a00 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 61 .......(dash--match-kv.(dash--ma
11a20 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 63 tch-kv-normalize-match-form.matc
11a40 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 64 h-form).(dash--match-cons-get-cd
11a60 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 28 r.skip-cdr.source)))..........((
11a80 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 20 dash--match-ignore-place-p.(car.
11aa0 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 61 match-form))...........(dash--ma
11ac0 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 72 tch-cons-1.(cdr.match-form).sour
11ae0 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 20 ce..............................
11b00 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 20 .(plist-put.props.:skip-cdr.(1+.
11b20 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 20 skip-cdr))))..........(t........
11b40 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 61 ...(-concat.(dash--match.(car.ma
11b60 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 70 tch-form).(dash--match-cons-skip
11b80 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 20 -cdr.skip-cdr.source))..........
11ba0 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 63 ..........(dash--match-cons-1.(c
11bc0 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 20 dr.match-form).source)))))......
11be0 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 20 ..(t.;;.Last.matching.place,.no.
11c00 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 61 need.for.shift.........(dash--ma
11c20 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 63 tch.(car.match-form).(dash--matc
11c40 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 29 h-cons-get-car.skip-cdr.source))
11c60 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 20 )))......((eq.match-form.nil)...
11c80 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 6f ....nil)......(t.;;.Handle.impro
11ca0 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 2c per.lists...Last.matching.place,
11cc0 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 2d .no.need.for.shift.......(dash--
11ce0 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 6f match.match-form.(dash--match-co
11d00 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 29 ns-get-cdr.skip-cdr.source))))))
11d20 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 74 ..(defun.dash--match-vector.(mat
11d40 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 6f ch-form.source)..."Setup.a.vecto
11d60 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 20 r.matching.environment.and.call.
11d80 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 64 the.real.matcher."...(let.((s.(d
11da0 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 29 ash--match-make-source-symbol)))
11dc0 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 73 .....(cond......;;.don't.bind.`s
11de0 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 72 '.if.we.only.have.one.sub-patter
11e00 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 31 n......((=.(length.match-form).1
11e20 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 68 ).......(dash--match.(aref.match
11e40 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 20 -form.0).`(aref.,source.0)))....
11e60 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 20 ..;;.if.the.source.is.a.symbol,.
11e80 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 20 we.don't.need.to.re-bind.it.....
11ea0 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 2d .((symbolp.source).......(dash--
11ec0 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 65 match-vector-1.match-form.source
11ee0 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 20 ))......;;.don't.bind.`s'.if.we.
11f00 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 20 only.have.one.sub-pattern.which.
11f20 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 6e is.not.ignored......((let*.((ign
11f40 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 68 ored-places.(mapcar.'dash--match
11f60 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 20 -ignore-place-p.match-form))....
11f80 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 6e ..........(ignored-places-n.(len
11fa0 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 65 gth.(-remove.'null.ignored-place
11fc0 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 70 s)))).........(when.(=.ignored-p
11fe0 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 29 laces-n.(1-.(length.match-form))
12000 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 65 )...........(let.((n.(-find-inde
12020 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 20 x.'null.ignored-places))).......
12040 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 66 ......(dash--match.(aref.match-f
12060 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 20 orm.n).`(aref.,source.,n))))))..
12080 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 63 ....(t.......(cons.(list.s.sourc
120a0 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 66 e).(dash--match-vector-1.match-f
120c0 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 2d orm.s))))))..(defun.dash--match-
120e0 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 22 vector-1.(match-form.source)..."
12100 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 2e Match.MATCH-FORM.against.SOURCE.
12120 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 20 ..MATCH-FORM.is.a.vector...Each.
12140 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 20 element.of.MATCH-FORM.is.either.
12160 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 68 a.symbol,.which.gets.bound.to.th
12180 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 0a e.respective.value.in.source.or.
121a0 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 65 another.match.form.which.gets.de
121c0 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 6f structured.recursively...If.seco
121e0 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 4d nd-from-last.place.in.MATCH-FORM
12200 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 65 .is.the.symbol.&rest,.the.next.e
12220 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 63 lement.of.the.MATCH-FORM.is.matc
12240 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 20 hed.against.the.tail.of.SOURCE,.
12260 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 73 starting.at.index.of.the.&rest.s
12280 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 65 ymbol...This.is.conceptually.the
122a0 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 68 .same.as.the.(head...tail).match
122c0 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 70 .for.improper.lists,.where.dot.p
122e0 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 20 lays.the.role.of.&rest...SOURCE.
12300 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 20 is.a.vector...If.the.MATCH-FORM.
12320 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 65 vector.is.shorter.than.SOURCE.ve
12340 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 52 ctor,.only.the.(length.MATCH-FOR
12360 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 66 M).places.are.bound,.the.rest.of
12380 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 65 .the.SOURCE.is.discarded."...(le
123a0 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 63 t.((i.0).........(l.(length.matc
123c0 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 6c h-form)).........(re)).....(whil
123e0 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 6d e.(<.i.l).......(let.((m.(aref.m
12400 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 6f atch-form.i))).........(push.(co
12420 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 70 nd................((and.(symbolp
12440 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 27 .m)......................(eq.m.'
12460 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 28 &rest)).................(prog1.(
12480 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 20 dash--match.....................
124a0 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 20 ....(aref.match-form.(1+.i))....
124c0 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 67 .....................`(substring
124e0 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 20 .,source.,i))...................
12500 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 6e (setq.i.l)))................((an
12520 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 20 d.(symbolp.m)...................
12540 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 74 ...;;.do.not.match.symbols.start
12560 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 20 ing.with._......................
12580 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 30 (not.(eq.(aref.(symbol-name.m).0
125a0 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 6c ).?_))).................(list.(l
125c0 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 20 ist.m.`(aref.,source.,i)))).....
125e0 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 20 ...........((not.(symbolp.m))...
12600 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 61 ..............(dash--match.m.`(a
12620 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 20 ref.,source.,i))))..............
12640 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 20 .re).........(setq.i.(1+.i))))..
12660 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 29 ...(-flatten-n.1.(nreverse.re)))
12680 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 69 )..(defun.dash--match-kv-normali
126a0 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 61 ze-match-form.(pattern)..."Norma
126c0 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 6f lize.kv.PATTERN...This.method.no
126e0 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 65 rmalizes.PATTERN.to.the.format.e
12700 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 65 xpected.by.`dash--match-kv'...Se
12720 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 22 e.`-let'.for.the.specification."
12740 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 20 ...(let.((normalized.(list.(car.
12760 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 20 pattern))).........(skip.nil)...
12780 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 79 ......(fill-placeholder.(make-sy
127a0 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 22 mbol."--dash-fill-placeholder--"
127c0 29 29 29 0a 20 20 20 20 28 2d 65 61 63 68 20 28 61 70 70 6c 79 20 27 2d 7a 69 70 20 28 2d 70 61 ))).....(-each.(apply.'-zip.(-pa
127e0 64 20 66 69 6c 6c 2d 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 d.fill-placeholder.(cdr.pattern)
12800 20 28 63 64 64 72 20 70 61 74 74 65 72 6e 29 29 29 0a 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 .(cddr.pattern))).......(lambda.
12820 28 70 61 69 72 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 75 72 72 65 6e 74 20 28 63 (pair).........(let.((current.(c
12840 61 72 20 70 61 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 78 74 20 28 63 ar.pair))...............(next.(c
12860 64 72 20 70 61 69 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 73 6b 69 70 0a 20 20 dr.pair)))...........(if.skip...
12880 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 6b 69 70 20 6e 69 6c 29 0a 20 20 20 20 ............(setq.skip.nil).....
128a0 20 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 65 71 20 66 69 6c 6c 2d 70 6c 61 63 65 68 6f ........(if.(or.(eq.fill-placeho
128c0 6c 64 65 72 20 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 28 lder.next).....................(
128e0 6e 6f 74 20 28 6f 72 20 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20 6e 65 78 74 29 0a 20 20 20 20 not.(or.(and.(symbolp.next).....
12900 20 20 20 20 20 20 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 ..............................(n
12920 6f 74 20 28 6b 65 79 77 6f 72 64 70 20 6e 65 78 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ot.(keywordp.next)).............
12940 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 65 71 20 6e ......................(not.(eq.n
12960 65 78 74 20 74 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 ext.t)).........................
12980 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 71 20 6e 65 78 74 20 6e 69 6c 29 29 29 0a 20 ..........(not.(eq.next.nil)))..
129a0 20 20 20 20 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 61 6e 64 ............................(and
129c0 20 28 63 6f 6e 73 70 20 6e 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(consp.next)...................
129e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 71 20 28 63 61 72 20 6e 65 ................(not.(eq.(car.ne
12a00 78 74 29 20 27 71 75 6f 74 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 xt).'quote)))...................
12a20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 70 20 6e 65 78 74 29 29 29 29 0a 20 20 20 ...........(vectorp.next))))....
12a40 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 .............(progn.............
12a60 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ......(cond....................(
12a80 28 6b 65 79 77 6f 72 64 70 20 63 75 72 72 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (keywordp.current)..............
12aa0 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)
12ac0 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
12ae0 72 6e 20 28 73 75 62 73 74 72 69 6e 67 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 63 75 72 72 65 rn.(substring.(symbol-name.curre
12b00 6e 74 29 20 31 29 29 20 6e 6f 72 6d 61 6c 69 7a 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 nt).1)).normalized))............
12b20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 70 20 63 75 72 72 65 6e 74 29 0a 20 20 20 20 20 ........((stringp.current)......
12b40 20 20 20 20 20 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 ...............(push.current.nor
12b60 6d 61 6c 69 7a 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 malized).....................(pu
12b80 73 68 20 28 69 6e 74 65 72 6e 20 63 75 72 72 65 6e 74 29 20 6e 6f 72 6d 61 6c 69 7a 65 64 29 29 sh.(intern.current).normalized))
12ba0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 63 6f 6e 73 70 ....................((and.(consp
12bc0 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 20 20 .current).......................
12be0 20 20 20 28 65 71 20 28 63 61 72 20 63 75 72 72 65 6e 74 29 20 27 71 75 6f 74 65 29 29 0a 20 20 ...(eq.(car.current).'quote))...
12c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 75 72 72 65 6e 74 20 ..................(push.current.
12c20 6e 6f 72 6d 61 6c 69 7a 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 normalized).....................
12c40 28 70 75 73 68 20 28 63 61 64 72 20 63 75 72 72 65 6e 74 29 20 6e 6f 72 6d 61 6c 69 7a 65 64 29 (push.(cadr.current).normalized)
12c60 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 65 72 72 6f 72 20 22 )....................(t.(error."
12c80 2d 6c 65 74 3a 20 66 6f 75 6e 64 20 6b 65 79 20 60 25 73 27 20 69 6e 20 6b 76 20 64 65 73 74 72 -let:.found.key.`%s'.in.kv.destr
12ca0 75 63 74 75 72 69 6e 67 20 62 75 74 20 69 74 73 20 70 61 74 74 65 72 6e 20 60 25 73 27 20 69 73 ucturing.but.its.pattern.`%s'.is
12cc0 20 69 6e 76 61 6c 69 64 20 61 6e 64 20 63 61 6e 20 6e 6f 74 20 62 65 20 64 65 72 69 76 65 64 20 .invalid.and.can.not.be.derived.
12ce0 66 72 6f 6d 20 74 68 65 20 6b 65 79 22 20 63 75 72 72 65 6e 74 20 6e 65 78 74 29 29 29 0a 20 20 from.the.key".current.next)))...
12d00 20 20 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 6e 69 6c 29 29 ................(setq.skip.nil))
12d20 0a 20 20 20 20 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 ...............(push.current.nor
12d40 6d 61 6c 69 7a 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 6e 65 78 malized)...............(push.nex
12d60 74 20 6e 6f 72 6d 61 6c 69 7a 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 t.normalized)...............(set
12d80 71 20 73 6b 69 70 20 74 29 29 29 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 6e 6f 72 q.skip.t)))))).....(nreverse.nor
12da0 6d 61 6c 69 7a 65 64 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 6b malized)))..(defun.dash--match-k
12dc0 76 20 28 6d 61 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 v.(match-form.source)..."Setup.a
12de0 20 6b 76 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 .kv.matching.environment.and.cal
12e00 6c 20 74 68 65 20 72 65 61 6c 20 6d 61 74 63 68 65 72 2e 0a 0a 6b 76 20 63 61 6e 20 62 65 20 61 l.the.real.matcher...kv.can.be.a
12e20 6e 79 20 6b 65 79 2d 76 61 6c 75 65 20 73 74 6f 72 65 2c 20 73 75 63 68 20 61 73 20 70 6c 69 73 ny.key-value.store,.such.as.plis
12e40 74 2c 20 61 6c 69 73 74 20 6f 72 20 68 61 73 68 2d 74 61 62 6c 65 2e 22 0a 20 20 28 6c 65 74 20 t,.alist.or.hash-table."...(let.
12e60 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 65 2d 73 79 6d ((s.(dash--match-make-source-sym
12e80 62 6f 6c 29 29 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 bol))).....(cond......;;.don't.b
12ea0 69 6e 64 20 60 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 ind.`s'.if.we.only.have.one.sub-
12ec0 70 61 74 74 65 72 6e 20 28 26 74 79 70 65 20 6b 65 79 20 76 61 6c 29 0a 20 20 20 20 20 28 28 3d pattern.(&type.key.val)......((=
12ee0 20 28 6c 65 6e 67 74 68 20 6d 61 74 63 68 2d 66 6f 72 6d 29 20 33 29 0a 20 20 20 20 20 20 28 64 .(length.match-form).3).......(d
12f00 61 73 68 2d 2d 6d 61 74 63 68 2d 6b 76 2d 31 20 28 63 64 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 ash--match-kv-1.(cdr.match-form)
12f20 20 73 6f 75 72 63 65 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 .source.(car.match-form)))......
12f40 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 20 77 65 ;;.if.the.source.is.a.symbol,.we
12f60 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 20 20 28 .don't.need.to.re-bind.it......(
12f80 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 2d 6d 61 (symbolp.source).......(dash--ma
12fa0 74 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 tch-kv-1.(cdr.match-form).source
12fc0 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 28 74 0a 20 20 20 20 .(car.match-form)))......(t.....
12fe0 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 73 68 2d 2d 6d ..(cons.(list.s.source).(dash--m
13000 61 74 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 20 28 63 61 atch-kv-1.(cdr.match-form).s.(ca
13020 72 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 r.match-form)))))))..(defun.dash
13040 2d 65 78 70 61 6e 64 3a 26 68 61 73 68 20 28 6b 65 79 20 73 6f 75 72 63 65 29 0a 20 20 22 47 65 -expand:&hash.(key.source)..."Ge
13060 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 55 52 43 nerate.extracting.KEY.from.SOURC
13080 45 20 66 6f 72 20 26 68 61 73 68 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 22 0a 20 20 60 28 E.for.&hash.destructuring."...`(
130a0 67 65 74 68 61 73 68 20 2c 6b 65 79 20 2c 73 6f 75 72 63 65 29 29 0a 0a 28 64 65 66 75 6e 20 64 gethash.,key.,source))..(defun.d
130c0 61 73 68 2d 65 78 70 61 6e 64 3a 26 70 6c 69 73 74 20 28 6b 65 79 20 73 6f 75 72 63 65 29 0a 20 ash-expand:&plist.(key.source)..
130e0 20 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 ."Generate.extracting.KEY.from.S
13100 4f 55 52 43 45 20 66 6f 72 20 26 70 6c 69 73 74 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 22 OURCE.for.&plist.destructuring."
13120 0a 20 20 60 28 70 6c 69 73 74 2d 67 65 74 20 2c 73 6f 75 72 63 65 20 2c 6b 65 79 29 29 0a 0a 28 ...`(plist-get.,source.,key))..(
13140 64 65 66 75 6e 20 64 61 73 68 2d 65 78 70 61 6e 64 3a 26 61 6c 69 73 74 20 28 6b 65 79 20 73 6f defun.dash-expand:&alist.(key.so
13160 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 59 urce)..."Generate.extracting.KEY
13180 20 66 72 6f 6d 20 53 4f 55 52 43 45 20 66 6f 72 20 26 61 6c 69 73 74 20 64 65 73 74 72 75 63 74 .from.SOURCE.for.&alist.destruct
131a0 75 72 69 6e 67 2e 22 0a 20 20 60 28 63 64 72 20 28 61 73 73 6f 63 20 2c 6b 65 79 20 2c 73 6f 75 uring."...`(cdr.(assoc.,key.,sou
131c0 72 63 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 61 73 68 2d 65 78 70 61 6e 64 3a 26 68 61 73 68 rce)))..(defun.dash-expand:&hash
131e0 3f 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 78 74 72 61 ?.(key.source)..."Generate.extra
13200 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 61 73 68 3f cting.KEY.from.SOURCE.for.&hash?
13220 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 0a 53 69 6d 69 6c 61 72 20 74 6f 20 26 68 61 73 68 .destructuring..Similar.to.&hash
13240 20 62 75 74 20 63 68 65 63 6b 20 77 68 65 74 68 65 72 20 74 68 65 20 6d 61 70 20 69 73 20 6e 6f .but.check.whether.the.map.is.no
13260 74 20 6e 69 6c 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 72 63 20 28 6d 61 6b 65 2d 73 79 6d 62 6f t.nil."...(let.((src.(make-symbo
13280 6c 20 22 73 72 63 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 73 72 63 20 2c 73 6f 75 l."src"))).....`(let.((,src.,sou
132a0 72 63 65 29 29 0a 20 20 20 20 20 20 20 28 77 68 65 6e 20 2c 73 72 63 20 28 67 65 74 68 61 73 68 rce))........(when.,src.(gethash
132c0 20 2c 6b 65 79 20 2c 73 72 63 29 29 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 64 61 73 68 .,key.,src)))))..(defalias.'dash
132e0 2d 65 78 70 61 6e 64 3a 26 6b 65 79 73 20 27 64 61 73 68 2d 65 78 70 61 6e 64 3a 26 70 6c 69 73 -expand:&keys.'dash-expand:&plis
13300 74 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 31 20 28 6d 61 74 t)..(defun.dash--match-kv-1.(mat
13320 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 20 74 79 70 65 29 0a 20 20 22 4d 61 74 63 68 20 4d 41 ch-form.source.type)..."Match.MA
13340 54 43 48 2d 46 4f 52 4d 20 61 67 61 69 6e 73 74 20 53 4f 55 52 43 45 20 6f 66 20 74 79 70 65 20 TCH-FORM.against.SOURCE.of.type.
13360 54 59 50 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 6c 69 TYPE...MATCH-FORM.is.a.proper.li
13380 73 74 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 6b 65 79 31 20 70 6c 61 63 65 31 20 2e 2e 2e 20 st.of.the.form.(key1.place1.....
133a0 6b 65 79 4e 0a 70 6c 61 63 65 4e 29 2e 20 20 45 61 63 68 20 70 6c 61 63 65 4b 20 69 73 20 65 69 keyN.placeN)...Each.placeK.is.ei
133c0 74 68 65 72 20 61 20 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 ther.a.symbol,.which.gets.bound.
133e0 74 6f 20 74 68 65 0a 76 61 6c 75 65 20 6f 66 20 6b 65 79 4b 20 72 65 74 72 69 65 76 65 64 20 66 to.the.value.of.keyK.retrieved.f
13400 72 6f 6d 20 74 68 65 20 6b 65 79 2d 76 61 6c 75 65 20 73 74 6f 72 65 2c 20 6f 72 20 61 6e 6f 74 rom.the.key-value.store,.or.anot
13420 68 65 72 0a 6d 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 her.match.form.which.gets.destru
13440 63 74 75 72 65 64 20 72 65 63 75 72 73 69 76 65 6c 79 2e 0a 0a 53 4f 55 52 43 45 20 69 73 20 61 ctured.recursively...SOURCE.is.a
13460 20 6b 65 79 2d 76 61 6c 75 65 20 73 74 6f 72 65 20 6f 66 20 74 79 70 65 20 54 59 50 45 2c 20 77 .key-value.store.of.type.TYPE,.w
13480 68 69 63 68 20 63 61 6e 20 62 65 20 61 20 70 6c 69 73 74 2c 0a 61 6e 20 61 6c 69 73 74 20 6f 72 hich.can.be.a.plist,.an.alist.or
134a0 20 61 20 68 61 73 68 20 74 61 62 6c 65 2e 0a 0a 54 59 50 45 20 69 73 20 61 20 74 6f 6b 65 6e 20 .a.hash.table...TYPE.is.a.token.
134c0 73 70 65 63 69 66 79 69 6e 67 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 6b 65 79 2d 76 specifying.the.type.of.the.key-v
134e0 61 6c 75 65 20 73 74 6f 72 65 2e 0a 56 61 6c 69 64 20 76 61 6c 75 65 73 20 61 72 65 20 26 70 6c alue.store..Valid.values.are.&pl
13500 69 73 74 2c 20 26 61 6c 69 73 74 20 61 6e 64 20 26 68 61 73 68 2e 22 0a 20 20 28 2d 66 6c 61 74 ist,.&alist.and.&hash."...(-flat
13520 74 65 6e 2d 6e 20 31 20 28 2d 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ten-n.1.(-map..................(
13540 6c 61 6d 62 64 61 20 28 6b 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 lambda.(kv)....................(
13560 6c 65 74 2a 20 28 28 6b 20 28 63 61 72 20 6b 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 let*.((k.(car.kv))..............
13580 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 20 28 63 61 64 72 20 6b 76 29 29 0a 20 20 20 20 20 .............(v.(cadr.kv))......
135a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 74 65 72 0a 20 20 20 .....................(getter....
135c0 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 66 75 6e 63 61 6c 6c ........................(funcall
135e0 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 74 79 70 65 .(dash--get-expand-function.type
13600 29 20 6b 20 73 6f 75 72 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).k.source)))...................
13620 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...(cond.......................(
13640 28 73 79 6d 62 6f 6c 70 20 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (symbolp.v).....................
13660 20 20 20 28 6c 69 73 74 20 28 6c 69 73 74 20 76 20 67 65 74 74 65 72 29 29 29 0a 20 20 20 20 20 ...(list.(list.v.getter)))......
13680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 .................(t.(dash--match
136a0 20 76 20 67 65 74 74 65 72 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .v.getter)))))..................
136c0 28 2d 70 61 72 74 69 74 69 6f 6e 20 32 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 29 0a 0a 28 64 (-partition.2.match-form))))..(d
136e0 65 66 75 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 2d 73 79 6d 62 6f 6c 20 28 6d 61 74 63 68 2d 66 efun.dash--match-symbol.(match-f
13700 6f 72 6d 20 73 6f 75 72 63 65 29 0a 20 20 22 42 69 6e 64 20 61 20 73 79 6d 62 6f 6c 2e 0a 0a 54 orm.source)..."Bind.a.symbol...T
13720 68 69 73 20 77 6f 72 6b 73 20 6a 75 73 74 20 6c 69 6b 65 20 60 6c 65 74 27 2c 20 74 68 65 72 65 his.works.just.like.`let',.there
13740 20 69 73 20 6e 6f 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 22 0a 20 20 28 6c 69 73 74 20 28 .is.no.destructuring."...(list.(
13760 6c 69 73 74 20 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 29 29 29 0a 0a 28 64 65 66 75 list.match-form.source)))..(defu
13780 6e 20 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 6d 61 74 63 68 2d 66 6f 72 6d 20 73 6f 75 72 63 65 n.dash--match.(match-form.source
137a0 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 4f )..."Match.MATCH-FORM.against.SO
137c0 55 52 43 45 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 73 20 74 68 65 20 4d URCE...This.function.tests.the.M
137e0 41 54 43 48 2d 46 4f 52 4d 20 61 6e 64 20 64 69 73 70 61 74 63 68 65 73 20 74 6f 20 73 70 65 63 ATCH-FORM.and.dispatches.to.spec
13800 69 66 69 63 0a 6d 61 74 63 68 65 72 73 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 74 79 70 65 20 ific.matchers.based.on.the.type.
13820 6f 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 4b 65 79 2d 76 61 6c 75 65 20 73 74 of.the.expression...Key-value.st
13840 6f 72 65 73 20 61 72 65 20 64 69 73 61 6d 62 69 67 75 61 74 65 64 20 62 79 20 70 6c 61 63 69 6e ores.are.disambiguated.by.placin
13860 67 20 61 20 74 6f 6b 65 6e 20 26 70 6c 69 73 74 2c 0a 26 61 6c 69 73 74 20 6f 72 20 26 68 61 73 g.a.token.&plist,.&alist.or.&has
13880 68 20 61 73 20 61 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 74 68 65 20 4d 41 54 43 48 2d 46 h.as.a.first.item.in.the.MATCH-F
138a0 4f 52 4d 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 73 79 6d 62 6f 6c 70 20 6d 61 74 63 68 ORM."...(cond....((symbolp.match
138c0 2d 66 6f 72 6d 29 0a 20 20 20 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 2d 73 79 6d 62 6f 6c 20 6d -form).....(dash--match-symbol.m
138e0 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 6e 73 70 20 6d 61 atch-form.source))....((consp.ma
13900 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 3b 20 48 61 6e 64 tch-form).....(cond......;;.Hand
13920 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 72 73 74 2e 0a 20 le.the."x.&as".bindings.first...
13940 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 68 2d 66 6f 72 6d ....((and.(consp.(cdr.match-form
13960 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 72 20 6d 61 74 63 ))............(symbolp.(car.matc
13980 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 61 73 20 28 63 61 h-form))............(eq.'&as.(ca
139a0 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 74 20 28 28 73 20 dr.match-form))).......(let.((s.
139c0 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 20 28 63 6f 6e 73 (car.match-form))).........(cons
139e0 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 20 20 20 20 20 28 .(list.s.source)...............(
13a00 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 72 6d 29 20 73 29 dash--match.(cddr.match-form).s)
13a20 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 2d 2d 67 65 74 2d )))......((functionp.(dash--get-
13a40 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 2d 66 6f 72 6d 29 expand-function.(car.match-form)
13a60 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 64 61 73 68 2d 2d )).......(dash--match-kv.(dash--
13a80 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 6f 72 6d 20 6d 61 match-kv-normalize-match-form.ma
13aa0 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 20 28 64 61 73 68 tch-form).source))......(t.(dash
13ac0 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 75 72 63 65 29 29 --match-cons.match-form.source))
13ae0 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 29 0a 20 20 20 20 ))....((vectorp.match-form).....
13b00 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 69 6e 67 20 69 6e ;;.We.support.the.&as.binding.in
13b20 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 20 20 28 28 61 6e .vectors.too.....(cond......((an
13b40 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 29 0a 20 20 20 20 d.(>.(length.match-form).2).....
13b60 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 68 2d 66 6f 72 6d .......(symbolp.(aref.match-form
13b80 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 61 72 65 66 20 6d .0))............(eq.'&as.(aref.m
13ba0 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 28 28 73 20 28 61 atch-form.1))).......(let.((s.(a
13bc0 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 20 20 28 63 6f 6e ref.match-form.0))).........(con
13be0 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 20 20 20 20 20 s.(list.s.source)...............
13c00 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 74 63 68 2d 66 6f (dash--match.(substring.match-fo
13c20 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 2d 6d 61 74 63 68 rm.2).s))))......(t.(dash--match
13c40 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 29 29 29 29 29 0a -vector.match-form.source)))))).
13c60 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 74 2d 76 61 72 6c .(defun.dash--normalize-let-varl
13c80 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 20 56 41 52 4c 49 ist.(varlist)..."Normalize.VARLI
13ca0 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 73 20 61 20 6c 69 ST.so.that.every.binding.is.a.li
13cc0 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 6e 67 20 61 20 62 st...`let'.allows.specifying.a.b
13ce0 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 20 62 75 74 20 73 inding.which.is.not.a.list.but.s
13d00 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 68 65 6e 20 61 75 imply.the.place.which.is.then.au
13d20 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 73 75 63 68 20 74 tomatically.bound.to.nil,.such.t
13d40 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 77 69 6e 67 20 61 hat.all.three.of.the.following.a
13d60 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 74 6f 20 6e 69 6c re.identical.and.evaluate.to.nil
13d80 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 61 29 29 20 61 29 .....(let.(a).a)...(let.((a)).a)
13da0 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 20 66 75 6e 63 74 ...(let.((a.nil)).a)..This.funct
13dc0 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 65 20 74 6f 20 74 ion.normalizes.all.of.these.to.t
13de0 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 66 20 28 63 6f 6e he.last.form."...(--map.(if.(con
13e00 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 61 72 6c 69 73 74 sp.it).it.(list.it.nil)).varlist
13e20 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 73 74 20 26 72 65 ))..(defmacro.-let*.(varlist.&re
13e40 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 20 61 63 63 6f 72 st.body)..."Bind.variables.accor
13e60 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 42 4f 44 59 2e 0a ding.to.VARLIST.then.eval.BODY..
13e80 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 73 20 6f 66 20 74 .VARLIST.is.a.list.of.lists.of.t
13ea0 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 63 68 0a he.form.(PATTERN.SOURCE)...Each.
13ec0 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 20 74 68 65 20 53 PATTERN.is.matched.against.the.S
13ee0 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 45 20 69 73 0a 6f OURCE.structurally...SOURCE.is.o
13f00 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 50 41 54 54 nly.evaluated.once.for.each.PATT
13f20 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 72 20 74 6f 20 74 ERN...Each.SOURCE.can.refer.to.t
13f40 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 79 20 74 68 69 73 he.symbols.already.bound.by.this
13f60 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 69 66 20 79 6f 75 .VARLIST...This.is.useful.if.you
13f80 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 45 0a 72 65 63 75 .want.to.destructure.SOURCE.recu
13fa0 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 61 6d 65 20 74 68 rsively.but.also.want.to.name.th
13fc0 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 0a 0a 53 65 65 20 e.intermediate.structures...See.
13fe0 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 20 70 6f 73 73 69 `-let'.for.the.list.of.all.possi
14000 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 28 64 65 62 75 67 ble.patterns."...(declare.(debug
14020 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 73 65 78 70 5d 29 .((&rest.[&or.(sexp.form).sexp])
14040 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 20 .body))............(indent.1))..
14060 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 72 6d 61 6c 69 7a .(let*.((varlist.(dash--normaliz
14080 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 20 20 20 20 20 20 e-let-varlist.varlist)).........
140a0 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 2d 2d 6d 61 74 63 .(bindings.(--mapcat.(dash--matc
140c0 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 69 73 74 29 29 29 h.(car.it).(cadr.it)).varlist)))
140e0 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 20 20 20 2c 40 62 .....`(let*.,bindings........,@b
14100 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 72 6c 69 73 74 20 ody)))..(defmacro.-let.(varlist.
14120 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 20 61 63 &rest.body)..."Bind.variables.ac
14140 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 42 4f 44 cording.to.VARLIST.then.eval.BOD
14160 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 73 20 6f Y...VARLIST.is.a.list.of.lists.o
14180 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
141a0 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 20 74 68 ch.PATTERN.is.matched.against.th
141c0 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 20 20 53 4f 55 52 e.SOURCE.\"structurally\"...SOUR
141e0 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 66 6f 72 20 65 61 CE.is.only.evaluated.once.for.ea
14200 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 69 73 20 6d 61 74 ch.PATTERN...Each.PATTERN.is.mat
14220 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 74 68 65 72 65 66 ched.recursively,.and.can.theref
14240 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 20 61 ore.contain.sub-patterns.which.a
14260 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 6f 6e 64 69 6e 67 re.matched.against.corresponding
14280 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 2e 0a 0a 41 6c 6c .sub-expressions.of.SOURCE...All
142a0 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 65 66 6f 72 65 20 .the.SOURCEs.are.evalled.before.
142c0 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 2e 20 5c 22 69 6e any.symbols.are.bound.(i.e..\"in
142e0 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 6f 6e 6c 79 20 63 .parallel\")...If.VARLIST.only.c
14300 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 45 29 20 65 6c 65 ontains.one.(PATTERN.SOURCE).ele
14320 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 70 65 63 69 66 79 ment,.you.can.optionally.specify
14340 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 63 61 72 64 69 6e .it.using.a.vector.and.discardin
14360 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 54 68 75 73 0a 0a g.the.outer-most.parens...Thus..
14380 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 29 0a ..(-let.((PATTERN.SOURCE))....).
143a0 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 20 53 4f 55 52 43 .becomes....(-let.[PATTERN.SOURC
143c0 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 6e 76 65 6e 74 69 E]....)...`-let'.uses.a.conventi
143e0 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 73 79 6d 62 6f 6c on.of.not.binding.places.(symbol
14400 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 72 20 69 74 27 73 s).starting.with._.whenever.it's
14420 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 69 73 20 74 6f 20 .possible...You.can.use.this.to.
14440 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 74 20 63 61 72 65 skip.over.entries.you.don't.care
14460 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 6e 6f 74 20 2a 61 .about...However,.this.is.not.*a
14480 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 6c 74 20 6f 66 20 lways*.possible.(as.a.result.of.
144a0 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 73 79 6d 62 6f 6c implementation).and.these.symbol
144c0 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 69 6e 65 64 20 76 s.might.get.bound.to.undefined.v
144e0 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 76 65 72 76 69 65 alues...Following.is.the.overvie
14500 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 52 65 6d 65 6d 62 w.of.supported.patterns...Rememb
14520 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 74 63 68 65 64 20 er.that.patterns.can.be.matched.
14540 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 61 4b 20 69 recursively,.so.every.a,.b,.aK.i
14560 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 61 74 63 68 69 6e n.the.following.can.be.a.matchin
14580 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 61 72 69 6c 79 20 g.construct.and.not.necessarily.
145a0 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 3a 0a 0a 20 20 61 a.symbol/variable...Symbol:....a
145c0 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 54 68 69 73 20 69 .-.bind.the.SOURCE.to.A...This.i
145e0 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 0a 0a 43 6f 6e 73 s.just.like.regular.`let'...Cons
14600 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 64 20 60 63 61 72 es.and.lists:....(a).-.bind.`car
14620 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 2e 20 62 29 20 2d '.of.cons/list.to.A....(a...b).-
14640 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 20 60 63 64 72 27 .bind.car.of.cons.to.A.and.`cdr'
14660 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 6f 66 20 6c 69 73 .to.B....(a.b).-.bind.car.of.lis
14680 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 28 61 31 20 61 32 t.to.A.and.`cadr'.to.B....(a1.a2
146a0 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 20 6c 69 73 74 20 .a3....).-.bind.0th.car.of.list.
146c0 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 33 2e 2e 2e 0a 0a to.A1,.1st.to.A2,.2nd.to.A3.....
146e0 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 20 2d 20 61 73 20 ..(a1.a2.a3.....aN...rest).-.as.
14700 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 52 above,.but.bind.the.Nth.cdr.to.R
14720 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 6e 64 20 30 74 68 EST...Vectors:....[a].-.bind.0th
14740 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 75 65 6e 63 65 20 .element.of.a.non-list.sequence.
14760 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 65 63 74 6f 72 73 to.A.(works.with.........vectors
14780 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 0a 20 20 5b 61 31 ,.strings,.bit.arrays...)....[a1
147a0 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 6d 65 6e 74 20 6f .a2.a3....].-.bind.0th.element.o
147c0 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 20 31 73 74 20 74 f.non-list.sequence.to.A0,.1st.t
147e0 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 6e 64 20 74 6f 20 o....................A1,.2nd.to.
14800 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 20 49 66 20 74 68 A2,........................If.th
14820 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 53 4f 55 52 43 45 e.PATTERN.is.shorter.than.SOURCE
14840 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 20 20 20 20 20 20 ,.the.values.at.................
14860 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 72 65 20 69 67 6e ...places.not.in.PATTERN.are.ign
14880 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 66 20 74 68 65 20 ored.....................If.the.
148a0 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 52 43 45 2c 20 61 PATTERN.is.longer.than.SOURCE,.a
148c0 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 20 20 20 20 20 20 n.`error'.is....................
148e0 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 72 65 73 74 20 72 thrown.....[a1.a2.a3.....&rest.r
14900 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 72 65 est].-.as.above,.but.bind.the.re
14920 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 20 20 20 20 20 20 st.of...........................
14940 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 20 54 68 69 73 20 ....the.sequence.to.REST...This.
14960 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 20 20 20 20 20 20 is..............................
14980 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 69 6d 70 72 6f 70 .conceptually.the.same.as.improp
149a0 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 20 20 20 20 20 20 er.list.........................
149c0 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 61 4e 20 2e 20 72 ......matching.(a1.a2.....aN...r
149e0 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 20 28 26 70 6c 69 est)..Key/value.stores:....(&pli
14a00 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 62 69 6e 64 20 76 st.key0.a0.....keyN.aN).-.bind.v
14a20 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 20 20 20 20 alue.mapped.by.keyK.in.the......
14a40 20 20 20 20 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 4f 55 52 ............................SOUR
14a60 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 20 20 20 20 20 20 CE.plist.to.aK...If.the.........
14a80 20 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 6c 75 65 20 69 .........................value.i
14aa0 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 20 20 20 20 20 20 s.not.found,.aK.is.nil..........
14ac0 20 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 73 65 73 20 60 70 .........................Uses.`p
14ae0 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 0a 0a 20 20 28 26 list-get'.to.fetch.values.....(&
14b00 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 20 2d 20 62 69 6e alist.key0.a0.....keyN.aN).-.bin
14b20 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 20 d.value.mapped.by.keyK.in.the...
14b40 20 20 20 20 20 20 20 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 ...............................S
14b60 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 0a 20 20 20 20 20 OURCE.alist.to.aK...If.the......
14b80 20 20 20 20 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 6c 75 ............................valu
14ba0 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 20 20 20 e.is.not.found,.aK.is.nil.......
14bc0 20 20 20 20 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 73 65 73 ............................Uses
14be0 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 0a 20 20 28 26 68 .`assoc'.to.fetch.values.....(&h
14c00 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 6e 64 20 ash.key0.a0.....keyN.aN).-.bind.
14c20 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 20 20 20 value.mapped.by.keyK.in.the.....
14c40 20 20 20 20 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 4f 55 52 ............................SOUR
14c60 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 68 65 0a 20 20 20 CE.hash.table.to.aK...If.the....
14c80 20 20 20 20 20 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 6c .............................val
14ca0 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 20 20 ue.is.not.found,.aK.is.nil......
14cc0 20 20 20 20 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 73 65 73 ............................Uses
14ce0 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 2e 0a 0a 46 75 72 .`gethash'.to.fetch.values...Fur
14d00 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 73 20 73 75 70 70 ther,.special.keyword.&keys.supp
14d20 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 66 0a 70 6c 69 73 orts.\"inline\".matching.of.plis
14d40 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 6d 69 6c 61 72 6c t-like.key-value.pairs,.similarl
14d60 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 64 65 66 75 6e 27 y.to.&keys.keyword.of.`cl-defun'
14d80 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 65 79 31 20 62 31 .....(a1.a2.....aN.&keys.key1.b1
14da0 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 4e 20 76 61 6c 75 .....keyN.bK)..This.binds.N.valu
14dc0 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 20 61 4e 2c 20 74 es.from.the.list.to.a1.....aN,.t
14de0 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 61 20 70 6c 69 73 hen.interprets.the.cdr.as.a.plis
14e00 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 61 62 6f 76 65 29 t.(see.key/value.matching.above)
14e20 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 72 20 6b 76 2d 64 ...A.shorthand.notation.for.kv-d
14e40 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 61 6c 6c 6f 77 73 estructuring.exists.which.allows
14e60 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 79 20 6c 65 66 74 .the.patterns.be.optionally.left
14e80 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 6b 65 79 20 6e 61 .out.and.derived.from.the.key.na
14ea0 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 6e 3a 0a 0a 2d 20 me.in.the.following.fashion:..-.
14ec0 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 74 6f 20 60 66 6f a.key.:foo.is.converted.into.`fo
14ee0 6f 27 20 70 61 74 74 65 72 6e 2c 0a 2d 20 61 20 6b 65 79 20 27 62 61 72 20 69 73 20 63 6f 6e 76 o'.pattern,.-.a.key.'bar.is.conv
14f00 65 72 74 65 64 20 69 6e 74 6f 20 60 62 61 72 27 20 70 61 74 74 65 72 6e 2c 0a 2d 20 61 20 6b 65 erted.into.`bar'.pattern,.-.a.ke
14f20 79 20 5c 22 62 61 7a 5c 22 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 60 62 61 7a y.\"baz\".is.converted.into.`baz
14f40 27 20 70 61 74 74 65 72 6e 2e 0a 0a 54 68 61 74 20 69 73 2c 20 74 68 65 20 65 6e 74 69 72 65 20 '.pattern...That.is,.the.entire.
14f60 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 74 6f 20 value.under.the.key.is.bound.to.
14f80 74 68 65 20 64 65 72 69 76 65 64 0a 76 61 72 69 61 62 6c 65 20 77 69 74 68 6f 75 74 20 61 6e 79 the.derived.variable.without.any
14fa0 20 66 75 72 74 68 65 72 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 0a 0a 54 68 69 73 20 69 73 .further.destructuring...This.is
14fc0 20 70 6f 73 73 69 62 6c 65 20 6f 6e 6c 79 20 77 68 65 6e 20 74 68 65 20 66 6f 72 6d 20 66 6f 6c .possible.only.when.the.form.fol
14fe0 6c 6f 77 69 6e 67 20 74 68 65 20 6b 65 79 20 69 73 20 6e 6f 74 20 61 0a 76 61 6c 69 64 20 70 61 lowing.the.key.is.not.a.valid.pa
15000 74 74 65 72 6e 20 28 69 2e 65 2e 20 6e 6f 74 20 61 20 73 79 6d 62 6f 6c 2c 20 61 20 63 6f 6e 73 ttern.(i.e..not.a.symbol,.a.cons
15020 20 63 65 6c 6c 20 6f 72 20 61 20 76 65 63 74 6f 72 29 2e 0a 4f 74 68 65 72 77 69 73 65 20 74 68 .cell.or.a.vector)..Otherwise.th
15040 65 20 6d 61 74 63 68 69 6e 67 20 70 72 6f 63 65 65 64 73 20 61 73 20 75 73 75 61 6c 20 61 6e 64 e.matching.proceeds.as.usual.and
15060 20 69 6e 20 63 61 73 65 20 6f 66 20 61 6e 0a 69 6e 76 61 6c 69 64 20 73 70 65 63 20 66 61 69 6c .in.case.of.an.invalid.spec.fail
15080 73 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 2e 0a 0a 54 68 75 73 20 74 68 65 20 70 61 74 74 65 s.with.an.error...Thus.the.patte
150a0 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 0a 0a rns.are.normalized.as.follows:..
150c0 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 20 70 61 74 ...;;.derive.all.the.missing.pat
150e0 74 65 72 6e 73 0a 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 27 62 61 72 20 5c 22 62 61 7a terns....(&plist.:foo.'bar.\"baz
15100 5c 22 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 27 62 61 72 20 62 61 72 \").=>.(&plist.:foo.foo.'bar.bar
15120 20 5c 22 62 61 7a 5c 22 20 62 61 7a 29 0a 0a 20 20 20 3b 3b 20 77 65 20 63 61 6e 20 73 70 65 63 .\"baz\".baz).....;;.we.can.spec
15140 69 66 79 20 73 6f 6d 65 20 62 75 74 20 6e 6f 74 20 6f 74 68 65 72 73 0a 20 20 20 28 26 70 6c 69 ify.some.but.not.others....(&pli
15160 73 74 20 3a 66 6f 6f 20 27 62 61 72 20 65 78 70 6c 69 63 69 74 2d 62 61 72 29 20 3d 3e 20 28 26 st.:foo.'bar.explicit-bar).=>.(&
15180 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 27 62 61 72 20 65 78 70 6c 69 63 69 74 2d 62 61 72 plist.:foo.foo.'bar.explicit-bar
151a0 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 77 65 20 73 74 6f ).....;;.nothing.happens,.we.sto
151c0 72 65 20 3a 66 6f 6f 20 69 6e 20 78 0a 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 78 29 20 re.:foo.in.x....(&plist.:foo.x).
151e0 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 78 29 0a 0a 20 20 20 3b 3b 20 6e 6f 74 68 69 6e =>.(&plist.:foo.x).....;;.nothin
15200 67 20 68 61 70 70 65 6e 73 2c 20 77 65 20 6d 61 74 63 68 20 72 65 63 75 72 73 69 76 65 6c 79 0a g.happens,.we.match.recursively.
15220 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 28 61 20 62 20 63 29 29 20 3d 3e 20 28 26 70 6c ...(&plist.:foo.(a.b.c)).=>.(&pl
15240 69 73 74 20 3a 66 6f 6f 20 28 61 20 62 20 63 29 29 0a 0a 59 6f 75 20 63 61 6e 20 6e 61 6d 65 20 ist.:foo.(a.b.c))..You.can.name.
15260 74 68 65 20 73 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 the.source.using.the.syntax.SYMB
15280 4f 4c 20 26 61 73 20 50 41 54 54 45 52 4e 2e 0a 54 68 69 73 20 73 79 6e 74 61 78 20 77 6f 72 6b OL.&as.PATTERN..This.syntax.work
152a0 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 72 s.with.lists.(proper.or.improper
152c0 29 2c 20 76 65 63 74 6f 72 73 20 61 6e 64 0a 61 6c 6c 20 74 79 70 65 73 20 6f 66 20 6d 61 70 73 ),.vectors.and.all.types.of.maps
152e0 2e 0a 0a 20 20 28 6c 69 73 74 20 26 61 73 20 61 20 62 20 63 29 20 28 6c 69 73 74 20 31 20 32 20 .....(list.&as.a.b.c).(list.1.2.
15300 33 29 0a 0a 62 69 6e 64 73 20 41 20 74 6f 20 31 2c 20 42 20 74 6f 20 32 2c 20 43 20 74 6f 20 33 3)..binds.A.to.1,.B.to.2,.C.to.3
15320 20 61 6e 64 20 4c 49 53 54 20 74 6f 20 28 31 20 32 20 33 29 2e 0a 0a 53 69 6d 69 6c 61 72 6c 79 .and.LIST.to.(1.2.3)...Similarly
15340 3a 0a 0a 20 20 28 62 6f 75 6e 64 73 20 26 61 73 20 62 65 67 20 2e 20 65 6e 64 29 20 28 63 6f 6e :....(bounds.&as.beg...end).(con
15360 73 20 31 20 32 29 0a 0a 62 69 6e 64 73 20 42 45 47 20 74 6f 20 31 2c 20 45 4e 44 20 74 6f 20 32 s.1.2)..binds.BEG.to.1,.END.to.2
15380 20 61 6e 64 20 42 4f 55 4e 44 53 20 74 6f 20 28 31 20 2e 20 32 29 2e 0a 0a 20 20 28 69 74 65 6d .and.BOUNDS.to.(1...2).....(item
153a0 73 20 26 61 73 20 66 69 72 73 74 20 2e 20 72 65 73 74 29 20 28 6c 69 73 74 20 31 20 32 20 33 29 s.&as.first...rest).(list.1.2.3)
153c0 0a 0a 62 69 6e 64 73 20 46 49 52 53 54 20 74 6f 20 31 2c 20 52 45 53 54 20 74 6f 20 28 32 20 33 ..binds.FIRST.to.1,.REST.to.(2.3
153e0 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 5b 76 65 63 74 20 ).and.ITEMS.to.(1.2.3)....[vect.
15400 26 61 73 20 5f 20 62 20 63 5d 20 5b 31 20 32 20 33 5d 0a 0a 62 69 6e 64 73 20 42 20 74 6f 20 32 &as._.b.c].[1.2.3]..binds.B.to.2
15420 2c 20 43 20 74 6f 20 33 20 61 6e 64 20 56 45 43 54 20 74 6f 20 5b 31 20 32 20 33 5d 20 28 5f 20 ,.C.to.3.and.VECT.to.[1.2.3].(_.
15440 61 76 6f 69 64 73 20 62 69 6e 64 69 6e 67 20 61 73 20 75 73 75 61 6c 29 2e 0a 0a 20 20 28 70 6c avoids.binding.as.usual).....(pl
15460 69 73 74 20 26 61 73 20 26 70 6c 69 73 74 20 3a 62 20 62 29 20 28 6c 69 73 74 20 3a 61 20 31 20 ist.&as.&plist.:b.b).(list.:a.1.
15480 3a 62 20 32 20 3a 63 20 33 29 0a 0a 62 69 6e 64 73 20 42 20 74 6f 20 32 20 61 6e 64 20 50 4c 49 :b.2.:c.3)..binds.B.to.2.and.PLI
154a0 53 54 20 74 6f 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 ST.to.(:a.1.:b.2.:c.3)...Same.fo
154c0 72 20 26 61 6c 69 73 74 20 61 6e 64 20 26 68 61 73 68 2e 0a 0a 54 68 69 73 20 69 73 20 65 73 70 r.&alist.and.&hash...This.is.esp
154e0 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 20 74 6f 20 63 ecially.useful.when.we.want.to.c
15500 61 70 74 75 72 65 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 0a 63 6f 6d 70 75 74 61 74 69 apture.the.result.of.a.computati
15520 6f 6e 20 61 6e 64 20 64 65 73 74 72 75 63 74 75 72 65 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 on.and.destructure.at.the.same.t
15540 69 6d 65 2e 20 20 43 6f 6e 73 69 64 65 72 20 74 68 65 0a 66 6f 72 6d 20 28 66 75 6e 63 74 69 6f ime...Consider.the.form.(functio
15560 6e 2d 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 20 72 n-returning-complex-structure).r
15580 65 74 75 72 6e 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 0a 74 77 6f 20 76 65 63 74 6f 72 73 20 77 eturning.a.list.of.two.vectors.w
155a0 69 74 68 20 74 77 6f 20 69 74 65 6d 73 20 65 61 63 68 2e 20 20 57 65 20 77 61 6e 74 20 74 6f 20 ith.two.items.each...We.want.to.
155c0 63 61 70 74 75 72 65 20 74 68 69 73 20 65 6e 74 69 72 65 0a 72 65 73 75 6c 74 20 61 6e 64 20 70 capture.this.entire.result.and.p
155e0 61 73 73 20 69 74 20 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 ass.it.to.another.computation,.b
15600 75 74 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 0a 77 65 20 77 61 6e 74 20 74 6f 20 67 ut.at.the.same.time.we.want.to.g
15620 65 74 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 et.the.second.item.from.each.vec
15640 74 6f 72 2e 20 20 57 65 20 63 61 6e 20 61 63 68 69 65 76 65 0a 69 74 20 77 69 74 68 20 70 61 74 tor...We.can.achieve.it.with.pat
15660 74 65 72 6e 0a 0a 20 20 28 72 65 73 75 6c 74 20 26 61 73 20 5b 5f 20 61 5d 20 5b 5f 20 62 5d 29 tern....(result.&as.[_.a].[_.b])
15680 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 65 78 2d 73 74 72 .(function-returning-complex-str
156a0 75 63 74 75 72 65 29 0a 0a 4e 6f 74 65 3a 20 43 6c 6f 6a 75 72 65 20 70 72 6f 67 72 61 6d 6d 65 ucture)..Note:.Clojure.programme
156c0 72 73 20 6d 61 79 20 6b 6e 6f 77 20 74 68 69 73 20 66 65 61 74 75 72 65 20 61 73 20 74 68 65 20 rs.may.know.this.feature.as.the.
156e0 5c 22 3a 61 73 0a 62 69 6e 64 69 6e 67 5c 22 2e 20 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 \":as.binding\"...The.difference
15700 20 69 73 20 74 68 61 74 20 77 65 20 70 75 74 20 74 68 65 20 26 61 73 20 61 74 20 74 68 65 20 66 .is.that.we.put.the.&as.at.the.f
15720 72 6f 6e 74 0a 62 65 63 61 75 73 65 20 77 65 20 6e 65 65 64 20 74 6f 20 73 75 70 70 6f 72 74 20 ront.because.we.need.to.support.
15740 69 6d 70 72 6f 70 65 72 20 6c 69 73 74 20 62 69 6e 64 69 6e 67 2e 22 0a 20 20 28 64 65 63 6c 61 improper.list.binding."...(decla
15760 72 65 20 28 64 65 62 75 67 20 28 5b 26 6f 72 20 28 26 72 65 73 74 20 5b 26 6f 72 20 28 73 65 78 re.(debug.([&or.(&rest.[&or.(sex
15780 70 20 66 6f 72 6d 29 20 73 65 78 70 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p.form).sexp])..................
157a0 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 20 5b 26 72 65 73 74 20 5b 73 65 78 70 20 66 6f 72 6d .......(vector.[&rest.[sexp.form
157c0 5d 5d 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 29 29 0a 20 ]])]....................body))..
157e0 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 20 28 76 65 63 ..........(indent.1))...(if.(vec
15800 74 6f 72 70 20 76 61 72 6c 69 73 74 29 0a 20 20 20 20 20 20 60 28 6c 65 74 2a 20 2c 28 64 61 73 torp.varlist).......`(let*.,(das
15820 68 2d 2d 6d 61 74 63 68 20 28 61 72 65 66 20 76 61 72 6c 69 73 74 20 30 29 20 28 61 72 65 66 20 h--match.(aref.varlist.0).(aref.
15840 76 61 72 6c 69 73 74 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 0a 20 20 20 varlist.1))..........,@body)....
15860 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 72 6d 61 6c 69 7a .(let*.((varlist.(dash--normaliz
15880 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 20 20 20 20 20 20 e-let-varlist.varlist)).........
158a0 20 20 20 28 69 6e 70 75 74 73 20 28 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 6c 69 73 74 20 ...(inputs.(--map-indexed.(list.
158c0 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 74 25 64 22 20 69 (make-symbol.(format."input%d".i
158e0 74 2d 69 6e 64 65 78 29 29 20 28 63 61 64 72 20 69 74 29 29 20 76 61 72 6c 69 73 74 29 29 0a 20 t-index)).(cadr.it)).varlist))..
15900 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 2d 76 61 72 6c 69 73 74 20 28 2d 2d 6d 61 70 20 28 6c ..........(new-varlist.(--map.(l
15920 69 73 74 20 28 63 61 61 72 20 69 74 29 20 28 63 61 64 72 20 69 74 29 29 20 28 2d 7a 69 70 20 76 ist.(caar.it).(cadr.it)).(-zip.v
15940 61 72 6c 69 73 74 20 69 6e 70 75 74 73 29 29 29 29 0a 20 20 20 20 20 20 60 28 6c 65 74 20 2c 69 arlist.inputs)))).......`(let.,i
15960 6e 70 75 74 73 0a 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74 2a 20 2c 6e 65 77 2d 76 61 72 6c 69 nputs..........(-let*.,new-varli
15980 73 74 20 2c 40 62 6f 64 79 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 6c 61 6d 62 64 st.,@body)))))..(defmacro.-lambd
159a0 61 20 28 6d 61 74 63 68 2d 66 6f 72 6d 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 52 65 74 a.(match-form.&rest.body)..."Ret
159c0 75 72 6e 20 61 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 urn.a.lambda.which.destructures.
159e0 69 74 73 20 69 6e 70 75 74 20 61 73 20 4d 41 54 43 48 2d 46 4f 52 4d 20 61 6e 64 20 65 78 65 63 its.input.as.MATCH-FORM.and.exec
15a00 75 74 65 73 20 42 4f 44 59 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 79 6f 75 20 68 61 76 65 20 74 utes.BODY...Note.that.you.have.t
15a20 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 20 61 20 70 61 o.enclose.the.MATCH-FORM.in.a.pa
15a40 69 72 20 6f 66 20 70 61 72 65 6e 73 2c 0a 73 75 63 68 20 74 68 61 74 3a 0a 0a 20 20 28 2d 6c 61 ir.of.parens,.such.that:....(-la
15a60 6d 62 64 61 20 28 78 29 20 62 6f 64 79 29 0a 20 20 28 2d 6c 61 6d 62 64 61 20 28 78 20 79 20 2e mbda.(x).body)...(-lambda.(x.y..
15a80 2e 2e 29 20 62 6f 64 79 29 0a 0a 68 61 73 20 74 68 65 20 75 73 75 61 6c 20 73 65 6d 61 6e 74 69 ..).body)..has.the.usual.semanti
15aa0 63 73 20 6f 66 20 60 6c 61 6d 62 64 61 27 2e 20 20 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 74 68 cs.of.`lambda'...Furthermore,.th
15ac0 65 73 65 20 67 65 74 0a 74 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 6e 6f 72 6d 61 6c 20 60 ese.get.translated.into.normal.`
15ae0 6c 61 6d 62 64 61 27 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 lambda',.so.there.is.no.performa
15b00 6e 63 65 0a 70 65 6e 61 6c 74 79 2e 0a 0a 53 65 65 20 60 2d 6c 65 74 27 20 66 6f 72 20 61 20 64 nce.penalty...See.`-let'.for.a.d
15b20 65 73 63 72 69 70 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 20 escription.of.the.destructuring.
15b40 6d 65 63 68 61 6e 69 73 6d 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 6f 63 2d 73 74 72 69 mechanism."...(declare.(doc-stri
15b60 6e 67 20 32 29 20 28 69 6e 64 65 6e 74 20 64 65 66 75 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 ng.2).(indent.defun)............
15b80 28 64 65 62 75 67 20 28 26 64 65 66 69 6e 65 20 73 65 78 70 0a 20 20 20 20 20 20 20 20 20 20 20 (debug.(&define.sexp............
15ba0 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 6c 20 73 74 72 69 6e ................[&optional.strin
15bc0 67 70 5d 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 5b gp]............................[
15be0 26 6f 70 74 69 6f 6e 61 6c 20 28 22 69 6e 74 65 72 61 63 74 69 76 65 22 20 69 6e 74 65 72 61 63 &optional.("interactive".interac
15c00 74 69 76 65 29 5d 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 tive)]..........................
15c20 20 20 64 65 66 2d 62 6f 64 79 29 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 6c 69 73 74 ..def-body)))...(cond....((nlist
15c40 70 20 6d 61 74 63 68 2d 66 6f 72 6d 29 0a 20 20 20 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 p.match-form).....(signal.'wrong
15c60 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e 74 20 28 6c 69 73 74 20 23 27 6c 69 73 74 70 20 6d 61 74 -type-argument.(list.#'listp.mat
15c80 63 68 2d 66 6f 72 6d 29 29 29 0a 20 20 20 3b 3b 20 4e 6f 20 64 65 73 74 72 75 63 74 75 72 69 6e ch-form)))....;;.No.destructurin
15ca0 67 2c 20 73 6f 20 6a 75 73 74 20 72 65 74 75 72 6e 20 72 65 67 75 6c 61 72 20 60 6c 61 6d 62 64 g,.so.just.return.regular.`lambd
15cc0 61 27 20 66 6f 72 20 73 70 65 65 64 2e 0a 20 20 20 28 28 2d 61 6c 6c 3f 20 23 27 73 79 6d 62 6f a'.for.speed.....((-all?.#'symbo
15ce0 6c 70 20 6d 61 74 63 68 2d 66 6f 72 6d 29 0a 20 20 20 20 60 28 6c 61 6d 62 64 61 20 2c 6d 61 74 lp.match-form).....`(lambda.,mat
15d00 63 68 2d 66 6f 72 6d 20 2c 40 62 6f 64 79 29 29 0a 20 20 20 28 28 6c 65 74 20 28 28 69 6e 70 75 ch-form.,@body))....((let.((inpu
15d20 74 73 20 28 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ts.(--map-indexed...............
15d40 20 20 20 20 20 28 6c 69 73 74 20 69 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 28 66 6f 72 6d .....(list.it.(make-symbol.(form
15d60 61 74 20 22 69 6e 70 75 74 25 64 22 20 69 74 2d 69 6e 64 65 78 29 29 29 0a 20 20 20 20 20 20 20 at."input%d".it-index)))........
15d80 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 2d 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 20 ............match-form))).......
15da0 3b 3b 20 54 4f 44 4f 3a 20 62 65 63 61 75 73 65 20 69 6e 70 75 74 73 20 74 6f 20 74 68 65 20 60 ;;.TODO:.because.inputs.to.the.`
15dc0 6c 61 6d 62 64 61 27 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 20 6f 6e 6c 79 20 6f 6e 63 65 2c lambda'.are.evaluated.only.once,
15de0 0a 20 20 20 20 20 20 3b 3b 20 60 2d 6c 65 74 2a 27 20 6e 65 65 64 20 6e 6f 74 20 63 72 65 61 74 .......;;.`-let*'.need.not.creat
15e00 65 20 74 68 65 20 65 78 74 72 61 20 62 69 6e 64 69 6e 67 73 20 74 6f 20 65 6e 73 75 72 65 20 74 e.the.extra.bindings.to.ensure.t
15e20 68 61 74 2e 0a 20 20 20 20 20 20 3b 3b 20 57 65 20 73 68 6f 75 6c 64 20 66 69 6e 64 20 61 20 77 hat........;;.We.should.find.a.w
15e40 61 79 20 74 6f 20 6f 70 74 69 6d 69 7a 65 20 74 68 61 74 2e 20 20 4e 6f 74 20 63 72 69 74 69 63 ay.to.optimize.that...Not.critic
15e60 61 6c 20 68 6f 77 65 76 65 72 2e 0a 20 20 20 20 20 20 60 28 6c 61 6d 62 64 61 20 2c 28 6d 61 70 al.however........`(lambda.,(map
15e80 63 61 72 20 23 27 63 61 64 72 20 69 6e 70 75 74 73 29 0a 20 20 20 20 20 20 20 20 20 28 2d 6c 65 car.#'cadr.inputs)..........(-le
15ea0 74 2a 20 2c 69 6e 70 75 74 73 20 2c 40 62 6f 64 79 29 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 t*.,inputs.,@body))))))..(defmac
15ec0 72 6f 20 2d 73 65 74 71 20 28 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 22 42 69 6e 64 20 65 ro.-setq.(&rest.forms)..."Bind.e
15ee0 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 69 ach.MATCH-FORM.to.the.value.of.i
15f00 74 73 20 56 41 4c 2e 0a 0a 4d 41 54 43 48 2d 46 4f 52 4d 20 64 65 73 74 72 75 63 74 75 72 69 6e ts.VAL...MATCH-FORM.destructurin
15f20 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 20 72 75 6c 65 73 g.is.done.according.to.the.rules
15f40 20 6f 66 20 60 2d 6c 65 74 27 2e 0a 0a 54 68 69 73 20 6d 61 63 72 6f 20 61 6c 6c 6f 77 73 20 79 .of.`-let'...This.macro.allows.y
15f60 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 20 62 79 ou.to.bind.multiple.variables.by
15f80 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 0a 74 68 65 20 76 61 6c 75 65 2c 20 73 6f 20 66 6f 72 .destructuring.the.value,.so.for
15fa0 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 28 2d 73 65 74 71 20 28 61 20 62 29 20 78 0a 20 20 20 20 .example:....(-setq.(a.b).x.....
15fc0 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a 63 20 63 29 20 70 6c 69 73 74 29 0a 0a 65 78 70 61 6e .....(&plist.:c.c).plist)..expan
15fe0 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 65 20 66 6f 6c 6c 6f ds.roughly.speaking.to.the.follo
16000 77 69 6e 67 20 63 6f 64 65 0a 0a 20 20 28 73 65 74 71 20 61 20 28 63 61 72 20 78 29 0a 20 20 20 wing.code....(setq.a.(car.x)....
16020 20 20 20 20 20 62 20 28 63 61 64 72 20 78 29 0a 20 20 20 20 20 20 20 20 63 20 28 70 6c 69 73 74 .....b.(cadr.x).........c.(plist
16040 2d 67 65 74 20 70 6c 69 73 74 20 3a 63 29 29 0a 0a 43 61 72 65 20 69 73 20 74 61 6b 65 6e 20 74 -get.plist.:c))..Care.is.taken.t
16060 6f 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 o.only.evaluate.each.VAL.once.so
16080 20 74 68 61 74 20 69 6e 20 63 61 73 65 20 6f 66 0a 6d 75 6c 74 69 70 6c 65 20 61 73 73 69 67 6e .that.in.case.of.multiple.assign
160a0 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 70 65 63 74 ments.it.does.not.cause.unexpect
160c0 65 64 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 5c 28 66 6e 20 5b 4d 41 54 43 48 2d 46 4f ed.side.effects...\(fn.[MATCH-FO
160e0 52 4d 20 56 41 4c 5d 2e 2e 2e 29 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 RM.VAL]...)"...(declare.(debug.(
16100 26 72 65 73 74 20 73 65 78 70 20 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e &rest.sexp.form))............(in
16120 64 65 6e 74 20 31 29 29 0a 20 20 28 77 68 65 6e 20 28 3d 20 28 6d 6f 64 20 28 6c 65 6e 67 74 68 dent.1))...(when.(=.(mod.(length
16140 20 66 6f 72 6d 73 29 20 32 29 20 31 29 0a 20 20 20 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 .forms).2).1).....(signal.'wrong
16160 2d 6e 75 6d 62 65 72 2d 6f 66 2d 61 72 67 75 6d 65 6e 74 73 20 28 6c 69 73 74 20 27 2d 73 65 74 -number-of-arguments.(list.'-set
16180 71 20 28 31 2b 20 28 6c 65 6e 67 74 68 20 66 6f 72 6d 73 29 29 29 29 29 0a 20 20 28 6c 65 74 2a q.(1+.(length.forms)))))...(let*
161a0 20 28 28 66 6f 72 6d 73 2d 61 6e 64 2d 73 6f 75 72 63 65 73 0a 20 20 20 20 20 20 20 20 20 20 3b .((forms-and-sources...........;
161c0 3b 20 46 69 72 73 74 20 67 65 74 20 61 6c 6c 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 6d 61 ;.First.get.all.the.necessary.ma
161e0 70 70 69 6e 67 73 20 77 69 74 68 20 61 6c 6c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 3b 3b ppings.with.all.the...........;;
16200 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 62 69 6e 64 69 6e 67 73 2e 0a 20 20 20 20 20 20 20 20 .intermediate.bindings..........
16220 20 20 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 ..(-map.(lambda.(x).(dash--match
16240 20 28 63 61 72 20 78 29 20 28 63 61 64 72 20 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(car.x).(cadr.x))).............
16260 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 20 32 20 66 6f 72 6d 73 29 29 29 0a 20 20 20 20 20 ....(-partition.2.forms)))......
16280 20 20 20 20 3b 3b 20 54 6f 20 70 72 65 73 65 72 76 65 20 74 68 65 20 6c 6f 67 69 63 20 6f 66 20 ....;;.To.preserve.the.logic.of.
162a0 64 79 6e 61 6d 69 63 20 73 63 6f 70 69 6e 67 20 77 65 20 6d 75 73 74 20 65 6e 73 75 72 65 0a 20 dynamic.scoping.we.must.ensure..
162c0 20 20 20 20 20 20 20 20 3b 3b 20 74 68 61 74 20 77 65 20 60 73 65 74 71 27 20 74 68 65 20 76 61 ........;;.that.we.`setq'.the.va
162e0 72 69 61 62 6c 65 73 20 6f 75 74 73 69 64 65 20 6f 66 20 74 68 65 20 60 6c 65 74 2a 27 20 66 6f riables.outside.of.the.`let*'.fo
16300 72 6d 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 77 68 69 63 68 20 68 6f 6c 64 73 20 74 68 65 20 64 rm..........;;.which.holds.the.d
16320 65 73 74 72 75 63 74 75 72 65 64 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 2e estructured.intermediate.values.
16340 20 20 46 6f 72 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 69 73 20 77 65 20 67 65 6e 65 72 61 ..For..........;;.this.we.genera
16360 74 65 20 66 6f 72 20 65 61 63 68 20 76 61 72 69 61 62 6c 65 20 61 20 70 6c 61 63 65 68 6f 6c 64 te.for.each.variable.a.placehold
16380 65 72 20 77 68 69 63 68 20 69 73 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 62 6f 75 6e 64 20 74 6f er.which.is..........;;.bound.to
163a0 20 28 6c 65 78 69 63 61 6c 6c 79 29 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 64 .(lexically).the.result.of.the.d
163c0 65 73 74 72 75 63 74 75 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 6e 20 6f estructuring...........;;.Then.o
163e0 75 74 73 69 64 65 20 6f 66 20 74 68 65 20 68 65 6c 70 65 72 20 60 6c 65 74 2a 27 20 66 6f 72 6d utside.of.the.helper.`let*'.form
16400 20 77 65 20 62 69 6e 64 20 61 6c 6c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 72 69 .we.bind.all.the..........;;.ori
16420 67 69 6e 61 6c 20 76 61 72 69 61 62 6c 65 73 20 74 6f 20 74 68 65 69 72 20 72 65 73 70 65 63 74 ginal.variables.to.their.respect
16440 69 76 65 20 70 6c 61 63 65 68 6f 6c 64 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 54 4f ive.placeholders...........;;.TO
16460 44 4f 3a 20 54 68 65 72 65 20 69 73 20 61 20 6c 6f 74 20 6f 66 20 72 6f 6f 6d 20 66 6f 72 20 70 DO:.There.is.a.lot.of.room.for.p
16480 6f 73 73 69 62 6c 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 20 3b ossible.optimization,..........;
164a0 3b 20 66 6f 72 20 73 74 61 72 74 20 70 6c 61 79 69 6e 67 20 77 69 74 68 20 60 73 70 65 63 69 61 ;.for.start.playing.with.`specia
164c0 6c 2d 76 61 72 69 61 62 6c 65 2d 70 27 20 74 6f 20 65 6c 69 6d 69 6e 61 74 65 0a 20 20 20 20 20 l-variable-p'.to.eliminate......
164e0 20 20 20 20 3b 3b 20 75 6e 6e 65 63 65 73 73 61 72 79 20 72 65 2d 62 69 6e 64 69 6e 67 2e 0a 20 ....;;.unnecessary.re-binding...
16500 20 20 20 20 20 20 20 20 28 76 61 72 69 61 62 6c 65 73 2d 74 6f 2d 70 6c 61 63 65 68 6f 6c 64 65 ........(variables-to-placeholde
16520 72 73 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 rs...........(-mapcat...........
16540 20 28 6c 61 6d 62 64 61 20 28 62 69 6e 64 69 6e 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(lambda.(bindings).............
16560 20 28 2d 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 62 69 .(-map...............(lambda.(bi
16580 6e 64 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 61 nding).................(let.((va
165a0 72 20 28 63 61 72 20 62 69 6e 64 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.(car.binding)))...............
165c0 20 20 20 20 28 6c 69 73 74 20 76 61 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 28 63 6f 6e 63 ....(list.var.(make-symbol.(conc
165e0 61 74 20 22 2d 2d 64 61 73 68 2d 62 69 6e 64 69 6e 67 2d 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d at."--dash-binding-".(symbol-nam
16600 65 20 76 61 72 29 20 22 2d 2d 22 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 e.var)."--")))))...............(
16620 2d 2d 66 69 6c 74 65 72 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 70 72 65 66 69 78 2d 70 20 22 --filter.(not.(string-prefix-p."
16640 2d 2d 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 63 61 72 20 69 74 29 29 29 29 20 62 69 6e --".(symbol-name.(car.it)))).bin
16660 64 69 6e 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 6d 73 2d 61 6e 64 2d 73 6f dings)))............forms-and-so
16680 75 72 63 65 73 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 2c 28 2d 6d 61 70 20 27 63 61 64 72 20 urces))).....`(let.,(-map.'cadr.
166a0 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 0a 20 20 20 20 20 variables-to-placeholders)......
166c0 20 20 28 6c 65 74 2a 20 2c 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 31 20 66 6f 72 6d 73 2d 61 6e 64 ..(let*.,(-flatten-n.1.forms-and
166e0 2d 73 6f 75 72 63 65 73 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 40 28 2d 66 6c 61 -sources)..........(setq.,@(-fla
16700 74 74 65 6e 20 28 2d 6d 61 70 20 27 72 65 76 65 72 73 65 20 76 61 72 69 61 62 6c 65 73 2d 74 6f tten.(-map.'reverse.variables-to
16720 2d 70 6c 61 63 65 68 6f 6c 64 65 72 73 29 29 29 29 0a 20 20 20 20 20 20 20 28 73 65 74 71 20 2c -placeholders))))........(setq.,
16740 40 28 2d 66 6c 61 74 74 65 6e 20 76 61 72 69 61 62 6c 65 73 2d 74 6f 2d 70 6c 61 63 65 68 6f 6c @(-flatten.variables-to-placehol
16760 64 65 72 73 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 69 66 2d 6c 65 74 2a 20 28 76 ders)))))..(defmacro.-if-let*.(v
16780 61 72 73 2d 76 61 6c 73 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 0a 20 20 22 49 66 20 ars-vals.then.&rest.else)..."If.
167a0 61 6c 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 all.VALS.evaluate.to.true,.bind.
167c0 74 68 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 0a 56 41 52 53 them.to.their.corresponding.VARS
167e0 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 53 45 2e .and.do.THEN,.otherwise.do.ELSE.
16800 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 0a 6f 66 20 28 .VARS-VALS.should.be.a.list.of.(
16820 56 41 52 20 56 41 4c 29 20 70 61 69 72 73 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 VAR.VAL).pairs...Note:.binding.i
16840 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 20 20 56 41 s.done.according.to.`-let*'...VA
16860 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 79 2c 20 61 LS.are.evaluated.sequentially,.a
16880 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 65 20 66 69 nd.evaluation.stops.after.the.fi
168a0 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 0a 20 20 28 rst.nil.VAL.is.encountered."...(
168c0 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 20 66 6f 72 declare.(debug.((&rest.(sexp.for
168e0 6d 29 29 20 66 6f 72 6d 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 m)).form.body))............(inde
16900 6e 74 20 32 29 29 0a 20 20 28 2d 3e 3e 20 76 61 72 73 2d 76 61 6c 73 0a 20 20 20 20 20 20 20 28 nt.2))...(->>.vars-vals........(
16920 2d 2d 6d 61 70 63 61 74 20 28 64 61 73 68 2d 2d 6d 61 74 63 68 20 28 63 61 72 20 69 74 29 20 28 --mapcat.(dash--match.(car.it).(
16940 63 61 64 72 20 69 74 29 29 29 0a 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 cadr.it)))........(--reduce-r-fr
16960 6f 6d 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 61 72 20 28 63 61 72 20 69 74 29 29 0a om.........(let.((var.(car.it)).
16980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 20 28 63 61 64 72 20 69 74 29 29 29 0a 20 ..............(val.(cadr.it)))..
169a0 20 20 20 20 20 20 20 20 20 60 28 6c 65 74 20 28 28 2c 76 61 72 20 2c 76 61 6c 29 29 0a 20 20 20 .........`(let.((,var.,val))....
169c0 20 20 20 20 20 20 20 20 20 20 28 69 66 20 2c 76 61 72 20 2c 61 63 63 20 2c 40 65 6c 73 65 29 29 ..........(if.,var.,acc.,@else))
169e0 29 0a 20 20 20 20 20 20 20 20 74 68 65 6e 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 69 66 ).........then)))..(defmacro.-if
16a00 2d 6c 65 74 20 28 76 61 72 2d 76 61 6c 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 0a 20 -let.(var-val.then.&rest.else)..
16a20 20 22 49 66 20 56 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 ."If.VAL.evaluates.to.non-nil,.b
16a40 69 6e 64 20 69 74 20 74 6f 20 56 41 52 20 61 6e 64 20 64 6f 20 54 48 45 4e 2c 0a 6f 74 68 65 72 ind.it.to.VAR.and.do.THEN,.other
16a60 77 69 73 65 20 64 6f 20 45 4c 53 45 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 wise.do.ELSE...Note:.binding.is.
16a80 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 60 2d 6c 65 74 27 2e 0a 0a 5c 28 66 6e 20 done.according.to.`-let'...\(fn.
16aa0 28 56 41 52 20 56 41 4c 29 20 54 48 45 4e 20 26 72 65 73 74 20 45 4c 53 45 29 22 0a 20 20 28 64 (VAR.VAL).THEN.&rest.ELSE)"...(d
16ac0 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 29 20 66 6f 72 6d 20 eclare.(debug.((sexp.form).form.
16ae0 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 20 body))............(indent.2))...
16b00 60 28 2d 69 66 2d 6c 65 74 2a 20 28 2c 76 61 72 2d 76 61 6c 29 20 2c 74 68 65 6e 20 2c 40 65 6c `(-if-let*.(,var-val).,then.,@el
16b20 73 65 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 69 66 2d 6c 65 74 20 28 76 61 6c 20 74 68 se))..(defmacro.--if-let.(val.th
16b40 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 0a 20 20 22 49 66 20 56 41 4c 20 65 76 61 6c 75 61 74 en.&rest.else)..."If.VAL.evaluat
16b60 65 73 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 es.to.non-nil,.bind.it.to.symbol
16b80 20 60 69 74 27 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 .`it'.and.do.THEN,.otherwise.do.
16ba0 45 4c 53 45 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 ELSE."...(declare.(debug.(form.f
16bc0 6f 72 6d 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 orm.body))............(indent.2)
16be0 29 0a 20 20 60 28 2d 69 66 2d 6c 65 74 20 28 69 74 20 2c 76 61 6c 29 20 2c 74 68 65 6e 20 2c 40 )...`(-if-let.(it.,val).,then.,@
16c00 65 6c 73 65 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 77 68 65 6e 2d 6c 65 74 2a 20 28 76 61 else))..(defmacro.-when-let*.(va
16c20 72 73 2d 76 61 6c 73 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 49 66 20 61 6c 6c 20 56 41 rs-vals.&rest.body)..."If.all.VA
16c40 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 20 74 LS.evaluate.to.true,.bind.them.t
16c60 6f 20 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 65 o.their.corresponding.VARS.and.e
16c80 78 65 63 75 74 65 20 62 6f 64 79 2e 20 56 41 52 53 2d 56 41 4c 53 20 73 68 6f 75 6c 64 20 62 65 xecute.body..VARS-VALS.should.be
16ca0 20 61 20 6c 69 73 74 20 6f 66 20 28 56 41 52 20 56 41 4c 29 0a 70 61 69 72 73 2e 0a 0a 4e 6f 74 .a.list.of.(VAR.VAL).pairs...Not
16cc0 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 6f 20 e:.binding.is.done.according.to.
16ce0 60 2d 6c 65 74 2a 27 2e 20 20 56 41 4c 53 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 0a 73 65 71 `-let*'...VALS.are.evaluated.seq
16d00 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 73 74 6f 70 73 20 uentially,.and.evaluation.stops.
16d20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 6e 69 6c 20 56 41 4c 20 69 73 0a 65 6e 63 6f 75 after.the.first.nil.VAL.is.encou
16d40 6e 74 65 72 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 28 26 72 65 ntered."...(declare.(debug.((&re
16d60 73 74 20 28 73 65 78 70 20 66 6f 72 6d 29 29 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 st.(sexp.form)).body))..........
16d80 20 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 60 28 2d 69 66 2d 6c 65 74 2a 20 2c 76 61 72 73 ..(indent.1))...`(-if-let*.,vars
16da0 2d 76 61 6c 73 20 28 70 72 6f 67 6e 20 2c 40 62 6f 64 79 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 -vals.(progn.,@body)))..(defmacr
16dc0 6f 20 2d 77 68 65 6e 2d 6c 65 74 20 28 76 61 72 2d 76 61 6c 20 26 72 65 73 74 20 62 6f 64 79 29 o.-when-let.(var-val.&rest.body)
16de0 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 6e 2d 6e 69 6c 2c ..."If.VAL.evaluates.to.non-nil,
16e00 20 62 69 6e 64 20 69 74 20 74 6f 20 56 41 52 20 61 6e 64 20 65 78 65 63 75 74 65 20 62 6f 64 79 .bind.it.to.VAR.and.execute.body
16e20 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 6f 72 64 69 ...Note:.binding.is.done.accordi
16e40 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 29 20 26 72 ng.to.`-let'...\(fn.(VAR.VAL).&r
16e60 65 73 74 20 42 4f 44 59 29 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 28 73 est.BODY)"...(declare.(debug.((s
16e80 65 78 70 20 66 6f 72 6d 29 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 exp.form).body))............(ind
16ea0 65 6e 74 20 31 29 29 0a 20 20 60 28 2d 69 66 2d 6c 65 74 20 2c 76 61 72 2d 76 61 6c 20 28 70 72 ent.1))...`(-if-let.,var-val.(pr
16ec0 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 2d 77 68 65 6e 2d ogn.,@body)))..(defmacro.--when-
16ee0 6c 65 74 20 28 76 61 6c 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 49 66 20 56 41 4c 20 65 let.(val.&rest.body)..."If.VAL.e
16f00 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 6f 20 valuates.to.non-nil,.bind.it.to.
16f20 73 79 6d 62 6f 6c 20 60 69 74 27 20 61 6e 64 0a 65 78 65 63 75 74 65 20 62 6f 64 79 2e 22 0a 20 symbol.`it'.and.execute.body."..
16f40 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 79 29 29 0a 20 20 .(declare.(debug.(form.body))...
16f60 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 60 28 2d 2d 69 66 2d 6c 65 .........(indent.1))...`(--if-le
16f80 74 20 2c 76 61 6c 20 28 70 72 6f 67 6e 20 2c 40 62 6f 64 79 29 29 29 0a 0a 28 64 65 66 76 61 72 t.,val.(progn.,@body)))..(defvar
16fa0 20 2d 63 6f 6d 70 61 72 65 2d 66 6e 20 6e 69 6c 0a 20 20 22 54 65 73 74 73 20 66 6f 72 20 65 71 .-compare-fn.nil..."Tests.for.eq
16fc0 75 61 6c 69 74 79 20 75 73 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 60 65 71 75 uality.use.this.function.or.`equ
16fe0 61 6c 27 20 69 66 20 74 68 69 73 20 69 73 20 6e 69 6c 2e 0a 49 74 20 73 68 6f 75 6c 64 20 6f 6e al'.if.this.is.nil..It.should.on
17000 6c 79 20 62 65 20 73 65 74 20 75 73 69 6e 67 20 64 79 6e 61 6d 69 63 20 73 63 6f 70 65 20 77 69 ly.be.set.using.dynamic.scope.wi
17020 74 68 20 61 20 6c 65 74 2c 20 6c 69 6b 65 3a 0a 0a 20 20 28 6c 65 74 20 28 28 2d 63 6f 6d 70 61 th.a.let,.like:....(let.((-compa
17040 72 65 2d 66 6e 20 23 5c 5c 3d 27 3d 29 29 20 28 2d 75 6e 69 6f 6e 20 6e 75 6d 62 65 72 73 31 20 re-fn.#\\='=)).(-union.numbers1.
17060 6e 75 6d 62 65 72 73 32 20 6e 75 6d 62 65 72 73 33 29 22 29 0a 0a 28 64 65 66 75 6e 20 2d 64 69 numbers2.numbers3)")..(defun.-di
17080 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 6e 65 77 20 6c 69 stinct.(list)..."Return.a.new.li
170a0 73 74 20 77 69 74 68 20 61 6c 6c 20 64 75 70 6c 69 63 61 74 65 73 20 72 65 6d 6f 76 65 64 2e 0a st.with.all.duplicates.removed..
170c0 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 77 69 The.test.for.equality.is.done.wi
170e0 74 68 20 60 65 71 75 61 6c 27 2c 0a 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e th.`equal',.or.with.`-compare-fn
17100 27 20 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 75 '.if.that's.non-nil...Alias:.`-u
17120 6e 69 71 27 22 0a 20 20 3b 3b 20 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6e 6f 74 65 3a 20 niq'"...;;.Implementation.note:.
17140 54 68 65 20 73 70 65 65 64 75 70 20 67 61 69 6e 65 64 20 66 72 6f 6d 20 68 61 73 68 20 74 61 62 The.speedup.gained.from.hash.tab
17160 6c 65 20 6c 6f 6f 6b 75 70 0a 20 20 3b 3b 20 73 74 61 72 74 73 20 74 6f 20 6f 75 74 77 65 69 67 le.lookup...;;.starts.to.outweig
17180 68 20 69 74 73 20 6f 76 65 72 68 65 61 64 20 66 6f 72 20 6c 69 73 74 73 20 6f 66 20 6c 65 6e 67 h.its.overhead.for.lists.of.leng
171a0 74 68 20 67 72 65 61 74 65 72 20 74 68 61 6e 0a 20 20 3b 3b 20 33 32 2e 20 20 53 65 65 20 64 69 th.greater.than...;;.32...See.di
171c0 73 63 75 73 73 69 6f 6e 20 69 6e 20 50 52 20 23 33 30 35 2e 0a 20 20 28 6c 65 74 2a 20 28 28 6c scussion.in.PR.#305....(let*.((l
171e0 65 6e 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 75 74 20 en.(length.list))..........(lut.
17200 28 61 6e 64 20 28 3e 20 6c 65 6e 20 33 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (and.(>.len.32).................
17220 20 20 20 3b 3b 20 43 68 65 63 6b 20 74 68 61 74 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 20 69 ...;;.Check.that.`-compare-fn'.i
17240 73 20 61 20 76 61 6c 69 64 20 68 61 73 68 2d 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 s.a.valid.hash-table............
17260 20 20 20 20 20 20 20 20 3b 3b 20 6c 6f 6f 6b 75 70 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 60 6e ........;;.lookup.function.or.`n
17280 69 6c 27 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 6d 71 20 2d 63 il'.....................(memq.-c
172a0 6f 6d 70 61 72 65 2d 66 6e 20 27 28 6e 69 6c 20 65 71 75 61 6c 20 65 71 20 65 71 6c 29 29 0a 20 ompare-fn.'(nil.equal.eq.eql))..
172c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 ..................(make-hash-tab
172e0 6c 65 20 3a 74 65 73 74 20 28 6f 72 20 2d 63 6f 6d 70 61 72 65 2d 66 6e 20 23 27 65 71 75 61 6c le.:test.(or.-compare-fn.#'equal
17300 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 20 20 20 20 )...............................
17320 20 20 20 20 20 20 3a 73 69 7a 65 20 6c 65 6e 29 29 29 29 0a 20 20 20 20 28 69 66 20 6c 75 74 0a ......:size.len)))).....(if.lut.
17340 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 68 61 ........(--filter.(unless.(getha
17360 73 68 20 69 74 20 6c 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 sh.it.lut).....................(
17380 70 75 74 68 61 73 68 20 69 74 20 74 20 6c 75 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 puthash.it.t.lut))..............
173a0 20 20 20 20 20 6c 69 73 74 29 0a 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 6c 69 73 74 20 28 75 .....list).......(--each.list.(u
173c0 6e 6c 65 73 73 20 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 6c 75 74 20 69 74 29 20 28 21 63 6f 6e 73 nless.(-contains?.lut.it).(!cons
173e0 20 69 74 20 6c 75 74 29 29 29 0a 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 6c 75 74 29 29 .it.lut))).......(nreverse.lut))
17400 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 75 6e 69 71 20 27 2d 64 69 73 74 69 6e 63 74 29 ))..(defalias.'-uniq.'-distinct)
17420 0a 0a 28 64 65 66 75 6e 20 2d 75 6e 69 6f 6e 20 28 6c 69 73 74 20 6c 69 73 74 32 29 0a 20 20 22 ..(defun.-union.(list.list2)..."
17440 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 Return.a.new.list.containing.the
17460 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 61 6e 64 20 65 6c 65 6d 65 6e 74 73 20 6f .elements.of.LIST.and.elements.o
17480 66 20 4c 49 53 54 32 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 69 6e 20 4c 49 53 54 2e 0a 54 68 f.LIST2.that.are.not.in.LIST..Th
174a0 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 77 69 74 68 e.test.for.equality.is.done.with
174c0 20 60 65 71 75 61 6c 27 2c 0a 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 20 .`equal',.or.with.`-compare-fn'.
174e0 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 3b 3b 20 57 65 20 66 61 6c 6c if.that's.non-nil."...;;.We.fall
17500 20 62 61 63 6b 20 74 6f 20 69 74 65 72 61 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f .back.to.iteration.implementatio
17520 6e 20 69 66 20 74 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 0a 20 20 3b 3b 20 66 75 6e 63 74 69 6f n.if.the.comparison...;;.functio
17540 6e 20 69 73 6e 27 74 20 6f 6e 65 20 6f 66 20 60 65 71 27 2c 20 60 65 71 6c 27 20 6f 72 20 60 65 n.isn't.one.of.`eq',.`eql'.or.`e
17560 71 75 61 6c 27 2e 0a 20 20 28 6c 65 74 2a 20 28 28 72 65 73 75 6c 74 20 28 72 65 76 65 72 73 65 qual'....(let*.((result.(reverse
17580 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 67 65 74 20 72 69 .list))..........;;.TODO:.get.ri
175a0 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
175c0 20 69 74 20 61 73 20 61 6e 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 61 72 67 75 6d 65 6e 74 20 69 .it.as.an..........;;.argument.i
175e0 6e 73 74 65 61 64 2e 0a 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d 70 61 72 65 2d 66 6e 20 28 69 nstead...........(-compare-fn.(i
17600 66 20 28 62 6f 75 6e 64 2d 61 6e 64 2d 74 72 75 65 2d 70 20 2d 63 6f 6d 70 61 72 65 2d 66 6e 29 f.(bound-and-true-p.-compare-fn)
17620 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 2d 63 6f 6d 70 ...........................-comp
17640 61 72 65 2d 66 6e 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 27 are-fn.........................'
17660 65 71 75 61 6c 29 29 29 0a 20 20 20 20 28 69 66 20 28 6d 65 6d 71 20 2d 63 6f 6d 70 61 72 65 2d equal))).....(if.(memq.-compare-
17680 66 6e 20 27 28 65 71 20 65 71 6c 20 65 71 75 61 6c 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 fn.'(eq.eql.equal)).........(let
176a0 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 2d 63 6f .((ht.(make-hash-table.:test.-co
176c0 6d 70 61 72 65 2d 66 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 65 61 63 68 20 6c 69 mpare-fn)))...........(--each.li
176e0 73 74 20 28 70 75 74 68 61 73 68 20 69 74 20 74 20 68 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 st.(puthash.it.t.ht))...........
17700 28 2d 2d 65 61 63 68 20 6c 69 73 74 32 20 28 75 6e 6c 65 73 73 20 28 67 65 74 68 61 73 68 20 69 (--each.list2.(unless.(gethash.i
17720 74 20 68 74 29 20 28 21 63 6f 6e 73 20 69 74 20 72 65 73 75 6c 74 29 29 29 29 0a 20 20 20 20 20 t.ht).(!cons.it.result))))......
17740 20 28 2d 2d 65 61 63 68 20 6c 69 73 74 32 20 28 75 6e 6c 65 73 73 20 28 2d 63 6f 6e 74 61 69 6e .(--each.list2.(unless.(-contain
17760 73 3f 20 72 65 73 75 6c 74 20 69 74 29 20 28 21 63 6f 6e 73 20 69 74 20 72 65 73 75 6c 74 29 29 s?.result.it).(!cons.it.result))
17780 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 0a 0a 28 64 65 66 )).....(nreverse.result)))..(def
177a0 75 6e 20 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 28 6c 69 73 74 20 6c 69 73 74 32 29 0a 20 20 un.-intersection.(list.list2)...
177c0 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6f 6e "Return.a.new.list.containing.on
177e0 6c 79 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 74 68 61 74 20 61 72 65 20 6d 65 6d 62 65 72 73 ly.the.elements.that.are.members
17800 20 6f 66 20 62 6f 74 68 20 4c 49 53 54 20 61 6e 64 20 4c 49 53 54 32 2e 0a 54 68 65 20 74 65 73 .of.both.LIST.and.LIST2..The.tes
17820 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 60 65 71 75 t.for.equality.is.done.with.`equ
17840 61 6c 27 2c 0a 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 27 20 69 66 20 74 68 al',.or.with.`-compare-fn'.if.th
17860 61 74 27 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 28 2d 2d 66 69 6c 74 65 72 20 28 2d 63 6f 6e at's.non-nil."...(--filter.(-con
17880 74 61 69 6e 73 3f 20 6c 69 73 74 32 20 69 74 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 tains?.list2.it).list))..(defun.
178a0 2d 64 69 66 66 65 72 65 6e 63 65 20 28 6c 69 73 74 20 6c 69 73 74 32 29 0a 20 20 22 52 65 74 75 -difference.(list.list2)..."Retu
178c0 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 6f 6e 6c 79 20 74 68 65 20 6d 65 6d 62 rn.a.new.list.with.only.the.memb
178e0 65 72 73 20 6f 66 20 4c 49 53 54 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 69 6e 20 4c 49 53 54 ers.of.LIST.that.are.not.in.LIST
17900 32 2e 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 2..The.test.for.equality.is.done
17920 20 77 69 74 68 20 60 65 71 75 61 6c 27 2c 0a 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 .with.`equal',.or.with.`-compare
17940 2d 66 6e 27 20 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 28 2d 2d 66 69 -fn'.if.that's.non-nil."...(--fi
17960 6c 74 65 72 20 28 6e 6f 74 20 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 6c 69 73 74 32 20 69 74 29 29 lter.(not.(-contains?.list2.it))
17980 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 6f 77 65 72 73 65 74 20 28 6c 69 73 74 29 .list))..(defun.-powerset.(list)
179a0 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 70 6f 77 65 72 20 73 65 74 20 6f 66 20 4c 49 53 54 ..."Return.the.power.set.of.LIST
179c0 2e 22 0a 20 20 28 69 66 20 28 6e 75 6c 6c 20 6c 69 73 74 29 20 27 28 28 29 29 0a 20 20 20 20 28 ."...(if.(null.list).'(()).....(
179e0 6c 65 74 20 28 28 6c 61 73 74 20 28 2d 70 6f 77 65 72 73 65 74 20 28 63 64 72 20 6c 69 73 74 29 let.((last.(-powerset.(cdr.list)
17a00 29 29 29 0a 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 ))).......(append.(mapcar.(lambd
17a20 61 20 28 78 29 20 28 63 6f 6e 73 20 28 63 61 72 20 6c 69 73 74 29 20 78 29 29 20 6c 61 73 74 29 a.(x).(cons.(car.list).x)).last)
17a40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 61 73 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 ...............last))))..(defun.
17a60 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 -permutations.(list)..."Return.t
17a80 68 65 20 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 6f 66 20 4c 49 53 54 2e 22 0a 20 20 28 69 66 20 he.permutations.of.LIST."...(if.
17aa0 28 6e 75 6c 6c 20 6c 69 73 74 29 20 27 28 28 29 29 0a 20 20 20 20 28 61 70 70 6c 79 20 23 27 61 (null.list).'(()).....(apply.#'a
17ac0 70 70 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 ppend............(mapcar.(lambda
17ae0 20 28 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 .(x)......................(mapca
17b00 72 20 28 6c 61 6d 62 64 61 20 28 70 65 72 6d 29 20 28 63 6f 6e 73 20 78 20 70 65 72 6d 29 29 0a r.(lambda.(perm).(cons.x.perm)).
17b20 20 20 20 20 20 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 2d 70 .............................(-p
17b40 65 72 6d 75 74 61 74 69 6f 6e 73 20 28 72 65 6d 6f 76 65 20 78 20 6c 69 73 74 29 29 29 29 0a 20 ermutations.(remove.x.list))))..
17b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 29 29 29 29 0a 0a 28 64 65 66 ..................list))))..(def
17b80 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 61 6c 6c 20 70 un.-inits.(list)..."Return.all.p
17ba0 72 65 66 69 78 65 73 20 6f 66 20 4c 49 53 54 2e 22 0a 20 20 28 6c 65 74 20 28 28 72 65 73 20 28 refixes.of.LIST."...(let.((res.(
17bc0 6c 69 73 74 20 6c 69 73 74 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6c 69 73 74 20 28 72 65 76 list.list))).....(setq.list.(rev
17be0 65 72 73 65 20 6c 69 73 74 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 6c 69 73 74 0a 20 20 20 20 erse.list)).....(while.list.....
17c00 20 20 28 70 75 73 68 20 28 72 65 76 65 72 73 65 20 28 21 63 64 72 20 6c 69 73 74 29 29 20 72 65 ..(push.(reverse.(!cdr.list)).re
17c20 73 29 29 0a 20 20 20 20 72 65 73 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 61 69 6c 73 20 28 6c 69 s)).....res))..(defun.-tails.(li
17c40 73 74 29 0a 20 20 22 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 st)..."Return.all.suffixes.of.LI
17c60 53 54 22 0a 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 27 63 6f 6e 73 20 ST"...(-reductions-r-from.'cons.
17c80 6e 69 6c 20 6c 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 nil.list))..(defun.-common-prefi
17ca0 78 20 28 26 72 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 x.(&rest.lists)..."Return.the.lo
17cc0 6e 67 65 73 74 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 ngest.common.prefix.of.LISTS."..
17ce0 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-
17d00 66 72 65 65 20 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 free.t))...(--reduce.(--take-whi
17d20 6c 65 20 28 61 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 le.(and.acc.(equal.(pop.acc).it)
17d40 29 20 69 74 29 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 ).it).............lists))..(defu
17d60 6e 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 73 74 73 29 0a 20 n.-common-suffix.(&rest.lists)..
17d80 20 22 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 73 75 66 66 ."Return.the.longest.common.suff
17da0 69 78 20 6f 66 20 4c 49 53 54 53 2e 22 0a 20 20 28 6e 72 65 76 65 72 73 65 20 28 61 70 70 6c 79 ix.of.LISTS."...(nreverse.(apply
17dc0 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 27 72 65 76 65 .#'-common-prefix.(mapcar.#'reve
17de0 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 61 69 6e 73 3f rse.lists))))..(defun.-contains?
17e00 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 6f 6e 2d 6e 69 .(list.element)..."Return.non-ni
17e20 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 0a 0a 54 68 65 l.if.LIST.contains.ELEMENT...The
17e40 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.
17e60 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 66 6e 27 0a 69 `equal',.or.with.`-compare-fn'.i
17e80 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 63 6f 6e 74 f.that's.non-nil...Alias:.`-cont
17ea0 61 69 6e 73 2d 70 27 22 0a 20 20 28 6e 6f 74 0a 20 20 20 28 6e 75 6c 6c 0a 20 20 20 20 28 63 6f ains-p'"...(not....(null.....(co
17ec0 6e 64 0a 20 20 20 20 20 28 28 6e 75 6c 6c 20 2d 63 6f 6d 70 61 72 65 2d 66 6e 29 20 20 20 20 28 nd......((null.-compare-fn)....(
17ee0 6d 65 6d 62 65 72 20 65 6c 65 6d 65 6e 74 20 6c 69 73 74 29 29 0a 20 20 20 20 20 28 28 65 71 20 member.element.list))......((eq.
17f00 2d 63 6f 6d 70 61 72 65 2d 66 6e 20 27 65 71 29 20 20 28 6d 65 6d 71 20 65 6c 65 6d 65 6e 74 20 -compare-fn.'eq)..(memq.element.
17f20 6c 69 73 74 29 29 0a 20 20 20 20 20 28 28 65 71 20 2d 63 6f 6d 70 61 72 65 2d 66 6e 20 27 65 71 list))......((eq.-compare-fn.'eq
17f40 6c 29 20 28 6d 65 6d 71 6c 20 65 6c 65 6d 65 6e 74 20 6c 69 73 74 29 29 0a 20 20 20 20 20 28 74 l).(memql.element.list))......(t
17f60 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 73 74 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 .......(let.((lst.list))........
17f80 20 28 77 68 69 6c 65 20 28 61 6e 64 20 6c 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(while.(and.lst................
17fa0 20 20 20 20 20 28 6e 6f 74 20 28 66 75 6e 63 61 6c 6c 20 2d 63 6f 6d 70 61 72 65 2d 66 6e 20 65 .....(not.(funcall.-compare-fn.e
17fc0 6c 65 6d 65 6e 74 20 28 63 61 72 20 6c 73 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 lement.(car.lst))))...........(s
17fe0 65 74 71 20 6c 73 74 20 28 63 64 72 20 6c 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 6c 73 74 29 etq.lst.(cdr.lst))).........lst)
18000 29 29 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 2d 63 6f 6e 74 61 69 6e 73 2d 70 20 27 2d )))))..(defalias.'-contains-p.'-
18020 63 6f 6e 74 61 69 6e 73 3f 29 0a 0a 28 64 65 66 75 6e 20 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 contains?)..(defun.-same-items?.
18040 28 6c 69 73 74 20 6c 69 73 74 32 29 0a 20 20 22 52 65 74 75 72 6e 20 74 72 75 65 20 69 66 20 4c (list.list2)..."Return.true.if.L
18060 49 53 54 20 61 6e 64 20 4c 49 53 54 32 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 69 74 65 6d 73 IST.and.LIST2.has.the.same.items
18080 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 6e 74 73 20 69 6e 20 ...The.order.of.the.elements.in.
180a0 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 2e 0a 0a 41 6c 69 61 the.lists.does.not.matter...Alia
180c0 73 3a 20 60 2d 73 61 6d 65 2d 69 74 65 6d 73 2d 70 27 22 0a 20 20 28 6c 65 74 20 28 28 6c 65 6e s:.`-same-items-p'"...(let.((len
180e0 67 74 68 2d 61 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 gth-a.(length.list)).........(le
18100 6e 67 74 68 2d 62 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 32 29 29 29 0a 20 20 20 20 28 61 6e 64 ngth-b.(length.list2))).....(and
18120 0a 20 20 20 20 20 28 3d 20 6c 65 6e 67 74 68 2d 61 20 6c 65 6e 67 74 68 2d 62 29 0a 20 20 20 20 ......(=.length-a.length-b).....
18140 20 28 3d 20 6c 65 6e 67 74 68 2d 61 20 28 6c 65 6e 67 74 68 20 28 2d 69 6e 74 65 72 73 65 63 74 .(=.length-a.(length.(-intersect
18160 69 6f 6e 20 6c 69 73 74 20 6c 69 73 74 32 29 29 29 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 ion.list.list2))))))..(defalias.
18180 27 2d 73 61 6d 65 2d 69 74 65 6d 73 2d 70 20 27 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 29 0a 0a 28 '-same-items-p.'-same-items?)..(
181a0 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 20 6c 69 73 74 29 0a defun.-is-prefix?.(prefix.list).
181c0 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 49 58 20 69 73 20 61 .."Return.non-nil.if.PREFIX.is.a
181e0 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 60 2d 69 73 2d 70 72 .prefix.of.LIST...Alias:.`-is-pr
18200 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 65 20 74 29 20 28 73 efix-p'."...(declare.(pure.t).(s
18220 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 65 61 63 68 2d 77 68 ide-effect-free.t))...(--each-wh
18240 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 20 70 72 65 66 69 78 ile.list.(and.(equal.(car.prefix
18260 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 20 20 20 20 20 20 20 ).it)...........................
18280 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 72 65 66 69 78 29 29 (!cdr.prefix)))...(null.prefix))
182a0 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 66 69 78 20 6c 69 73 ..(defun.-is-suffix?.(suffix.lis
182c0 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 55 46 46 49 58 20 69 t)..."Return.non-nil.if.SUFFIX.i
182e0 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 73 3a 20 60 2d 69 73 s.a.suffix.of.LIST...Alias:.`-is
18300 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 70 75 72 65 20 74 29 -suffix-p'."...(declare.(pure.t)
18320 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 65 71 75 61 6c 20 .(side-effect-free.t))...(equal.
18340 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 20 73 75 66 66 69 78 suffix.(last.list.(length.suffix
18360 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 69 6e 66 69 78 20 6c ))))..(defun.-is-infix?.(infix.l
18380 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 49 4e 46 49 58 20 ist)..."Return.non-nil.if.INFIX.
183a0 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 70 65 72 61 74 69 6f is.infix.of.LIST...This.operatio
183c0 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 69 61 73 3a 20 60 2d n.runs.in.O(n^2).time..Alias:.`-
183e0 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 70 75 72 65 20 74 29 is-infix-p'"...(declare.(pure.t)
18400 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 74 20 28 64 .(side-effect-free.t))...(let.(d
18420 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 20 64 6f 6e 65 29 20 one).....(while.(and.(not.done).
18440 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 69 73 2d 70 72 65 66 list).......(setq.done.(-is-pref
18460 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 63 64 72 20 6c 69 73 ix?.infix.list)).......(!cdr.lis
18480 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 20 27 2d 69 73 2d 70 t)).....done))..(defalias.'-is-p
184a0 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 66 61 6c 69 61 73 20 refix-p.'-is-prefix?).(defalias.
184c0 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 3f 29 0a 28 64 65 66 '-is-suffix-p.'-is-suffix?).(def
184e0 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 6e 66 69 78 3f 29 0a alias.'-is-infix-p.'-is-infix?).
18500 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 20 6c 69 73 74 29 0a .(defun.-sort.(comparator.list).
18520 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 70 61 72 69 6e 67 20 .."Sort.LIST,.stably,.comparing.
18540 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 2e 0a 52 65 74 75 72 elements.using.COMPARATOR..Retur
18560 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 69 73 20 4e 4f 54 20 n.the.sorted.list...LIST.is.NOT.
18580 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 0a 43 4f 4d 50 41 52 modified.by.side.effects..COMPAR
185a0 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 6c 65 6d 65 6e 74 73 ATOR.is.called.with.two.elements
185c0 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 72 6e 20 6e 6f 6e 2d .of.LIST,.and.should.return.non-
185e0 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 73 68 6f 75 6c 64 20 nil.if.the.first.element.should.
18600 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 20 20 28 73 6f 72 74 sort.before.the.second."...(sort
18620 20 28 63 6f 70 79 2d 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 .(copy-sequence.list).comparator
18640 29 29 0a 0a 28 64 65 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 ))..(defmacro.--sort.(form.list)
18660 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 6f 72 74 27 2e 22 0a ..."Anaphoric.form.of.`-sort'.".
18680 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 66 6f 72 6d ..(declare.(debug.(def-form.form
186a0 29 29 29 0a 20 20 60 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 )))...`(-sort.(lambda.(it.other)
186c0 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 6c 69 73 74 20 28 26 .,form).,list))..(defun.-list.(&
186e0 6f 70 74 69 6f 6e 61 6c 20 61 72 67 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 22 45 6e 73 75 optional.arg.&rest.args)..."Ensu
18700 72 65 20 41 52 47 20 69 73 20 61 20 6c 69 73 74 2e 0a 49 66 20 41 52 47 20 69 73 20 61 6c 72 65 re.ARG.is.a.list..If.ARG.is.alre
18720 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 73 20 28 6e 6f 74 ady.a.list,.return.it.as.is.(not
18740 20 61 20 63 6f 70 79 29 2e 0a 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 20 61 20 6e 65 .a.copy)..Otherwise,.return.a.ne
18760 77 20 6c 69 73 74 20 77 69 74 68 20 41 52 47 20 61 73 20 69 74 73 20 6f 6e 6c 79 20 65 6c 65 6d w.list.with.ARG.as.its.only.elem
18780 65 6e 74 2e 0a 0a 41 6e 6f 74 68 65 72 20 73 75 70 70 6f 72 74 65 64 20 63 61 6c 6c 69 6e 67 20 ent...Another.supported.calling.
187a0 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 28 2d 6c 69 73 74 20 26 72 65 73 74 20 41 52 47 53 29 convention.is.(-list.&rest.ARGS)
187c0 2e 0a 49 6e 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 ..In.this.case,.if.ARG.is.not.a.
187e0 6c 69 73 74 2c 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 61 6c 6c 20 6f 66 0a 41 52 47 list,.a.new.list.with.all.of.ARG
18800 53 20 61 73 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 73 S.as.elements.is.returned...This
18820 20 75 73 65 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 66 6f 72 0a 62 61 63 6b 77 61 72 64 20 63 .use.is.supported.for.backward.c
18840 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 69 73 65 20 64 65 ompatibility.and.is.otherwise.de
18860 70 72 65 63 61 74 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 61 64 76 65 72 74 69 73 65 precated."...(declare.(advertise
18880 64 2d 63 61 6c 6c 69 6e 67 2d 63 6f 6e 76 65 6e 74 69 6f 6e 20 28 61 72 67 29 20 22 32 2e 31 38 d-calling-convention.(arg)."2.18
188a0 2e 30 22 29 0a 20 20 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 .0")............(pure.t).(side-e
188c0 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 69 66 20 28 6c 69 73 74 70 20 61 72 67 29 ffect-free.t))...(if.(listp.arg)
188e0 20 61 72 67 20 28 63 6f 6e 73 20 61 72 67 20 61 72 67 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d .arg.(cons.arg.args)))..(defun.-
18900 72 65 70 65 61 74 20 28 6e 20 78 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 repeat.(n.x)..."Return.a.new.lis
18920 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 6c 65 6d 65 6e 74 20 t.of.length.N.with.each.element.
18940 62 65 69 6e 67 20 58 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 4e 20 69 73 20 6c 65 73 73 being.X..Return.nil.if.N.is.less
18960 20 74 68 61 6e 20 31 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 .than.1."...(declare.(pure.t).(s
18980 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 61 6e 64 20 28 6e 61 74 6e ide-effect-free.t))...(and.(natn
189a0 75 6d 70 20 6e 29 20 28 6d 61 6b 65 2d 6c 69 73 74 20 6e 20 78 29 29 29 0a 0a 28 64 65 66 75 6e ump.n).(make-list.n.x)))..(defun
189c0 20 2d 73 75 6d 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 73 75 6d 20 6f .-sum.(list)..."Return.the.sum.o
189e0 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 20 28 73 69 f.LIST."...(declare.(pure.t).(si
18a00 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 27 2b 20 6c de-effect-free.t))...(apply.'+.l
18a20 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 28 6c 69 73 74 ist))..(defun.-running-sum.(list
18a40 29 0a 20 20 22 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 )..."Return.a.list.with.running.
18a60 73 75 6d 73 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 0a 4c 49 53 54 20 6d 75 73 74 sums.of.items.in.LIST..LIST.must
18a80 20 62 65 20 6e 6f 6e 2d 65 6d 70 74 79 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 .be.non-empty."...(declare.(pure
18aa0 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 6f 72 20 .t).(side-effect-free.t))...(or.
18ac0 6c 69 73 74 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e list.(signal.'wrong-type-argumen
18ae0 74 20 28 6c 69 73 74 20 23 27 63 6f 6e 73 70 20 6c 69 73 74 29 29 29 0a 20 20 28 2d 72 65 64 75 t.(list.#'consp.list)))...(-redu
18b00 63 74 69 6f 6e 73 20 23 27 2b 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 70 72 6f 64 75 ctions.#'+.list))..(defun.-produ
18b20 63 74 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 70 72 6f 64 75 63 74 20 ct.(list)..."Return.the.product.
18b40 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 20 28 73 of.LIST."...(declare.(pure.t).(s
18b60 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 27 2a 20 ide-effect-free.t))...(apply.'*.
18b80 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 list))..(defun.-running-product.
18ba0 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 20 72 75 6e (list)..."Return.a.list.with.run
18bc0 6e 69 6e 67 20 70 72 6f 64 75 63 74 73 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 0a ning.products.of.items.in.LIST..
18be0 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
18c00 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
18c20 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
18c40 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)))
18c60 0a 20 20 28 2d 72 65 64 75 63 74 69 6f 6e 73 20 23 27 2a 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 ...(-reductions.#'*.list))..(def
18c80 75 6e 20 2d 6d 61 78 20 28 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 61 72 un.-max.(list)..."Return.the.lar
18ca0 67 65 73 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 gest.value.from.LIST.of.numbers.
18cc0 6f 72 20 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 or.markers."...(declare.(pure.t)
18ce0 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 70 6c 79 20 .(side-effect-free.t))...(apply.
18d00 27 6d 61 78 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 69 6e 20 28 6c 69 73 74 29 0a 'max.list))..(defun.-min.(list).
18d20 20 20 22 52 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 .."Return.the.smallest.value.fro
18d40 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 72 73 2e 22 0a 20 m.LIST.of.numbers.or.markers."..
18d60 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-
18d80 66 72 65 65 20 74 29 29 0a 20 20 28 61 70 70 6c 79 20 27 6d 69 6e 20 6c 69 73 74 29 29 0a 0a 28 free.t))...(apply.'min.list))..(
18da0 64 65 66 75 6e 20 2d 6d 61 78 2d 62 79 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a defun.-max-by.(comparator.list).
18dc0 20 20 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 .."Take.a.comparison.function.CO
18de0 4d 50 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 MPARATOR.and.a.LIST.and.return.t
18e00 68 65 20 67 72 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 he.greatest.element.of.the.list.
18e20 62 79 20 74 68 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 by.the.comparison.function...See
18e40 20 61 6c 73 6f 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 .also.combinator.`-on'.which.can
18e60 20 74 72 61 6e 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 .transform.the.values.before.com
18e80 70 61 72 69 6e 67 20 74 68 65 6d 2e 22 0a 20 20 28 2d 2d 72 65 64 75 63 65 20 28 69 66 20 28 66 paring.them."...(--reduce.(if.(f
18ea0 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 69 74 20 61 63 63 uncall.comparator.it.acc).it.acc
18ec0 29 20 6c 69 73 74 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6d 69 6e 2d 62 79 20 28 63 6f 6d 70 61 72 ).list))..(defun.-min-by.(compar
18ee0 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 20 ator.list)..."Take.a.comparison.
18f00 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 61 function.COMPARATOR.and.a.LIST.a
18f20 6e 64 20 72 65 74 75 72 6e 0a 74 68 65 20 6c 65 61 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 nd.return.the.least.element.of.t
18f40 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 6e 63 74 69 he.list.by.the.comparison.functi
18f60 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 6e 27 20 77 on...See.also.combinator.`-on'.w
18f80 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 73 20 62 65 hich.can.transform.the.values.be
18fa0 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 2d 2d 72 65 64 75 63 fore.comparing.them."...(--reduc
18fc0 65 20 28 69 66 20 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 e.(if.(funcall.comparator.it.acc
18fe0 29 20 61 63 63 20 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 ).acc.it).list))..(defmacro.--ma
19000 78 2d 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 76 65 x-by.(form.list)..."Anaphoric.ve
19020 72 73 69 6f 6e 20 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 rsion.of.`-max-by'...The.items.f
19040 6f 72 20 74 68 65 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 or.the.comparator.form.are.expos
19060 65 64 20 61 73 20 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 ed.as.\"it\".and.\"other\"."...(
19080 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 66 6f 72 6d 29 29 29 declare.(debug.(def-form.form)))
190a0 0a 20 20 60 28 2d 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 ...`(-max-by.(lambda.(it.other).
190c0 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 6d 69 6e 2d ,form).,list))..(defmacro.--min-
190e0 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 76 65 72 73 by.(form.list)..."Anaphoric.vers
19100 69 6f 6e 20 6f 66 20 60 2d 6d 69 6e 2d 62 79 27 2e 0a 0a 54 68 65 20 69 74 65 6d 73 20 66 6f 72 ion.of.`-min-by'...The.items.for
19120 20 74 68 65 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 .the.comparator.form.are.exposed
19140 20 61 73 20 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 .as.\"it\".and.\"other\"."...(de
19160 63 6c 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 clare.(debug.(def-form.form)))..
19180 20 60 28 2d 6d 69 6e 2d 62 79 20 28 6c 61 6d 62 64 61 20 28 69 74 20 6f 74 68 65 72 29 20 2c 66 .`(-min-by.(lambda.(it.other).,f
191a0 6f 72 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 orm).,list))..(defun.-iota.(coun
191c0 74 20 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 t.&optional.start.step)..."Retur
191e0 6e 20 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 n.a.list.containing.COUNT.number
19200 73 2e 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 s..Starts.from.START.and.adds.ST
19220 45 50 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 EP.each.time...The.default.START
19240 20 69 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 .is.zero,.the.default.STEP.is.1.
19260 0a 54 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 .This.function.takes.its.name.fr
19280 6f 6d 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 om.the.corresponding.primitive.i
192a0 6e 0a 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 n.the.APL.language."...(declare.
192c0 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 0a 20 (pure.t).(side-effect-free.t))..
192e0 20 28 75 6e 6c 65 73 73 20 28 6e 61 74 6e 75 6d 70 20 63 6f 75 6e 74 29 0a 20 20 20 20 28 73 69 .(unless.(natnump.count).....(si
19300 67 6e 61 6c 20 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 gnal.'wrong-type-argument.(list.
19320 23 27 6e 61 74 6e 75 6d 70 20 63 6f 75 6e 74 29 29 29 0a 20 20 28 6f 72 20 73 74 61 72 74 20 28 #'natnump.count)))...(or.start.(
19340 73 65 74 71 20 73 74 61 72 74 20 30 29 29 0a 20 20 28 6f 72 20 73 74 65 70 20 28 73 65 74 71 20 setq.start.0))...(or.step.(setq.
19360 73 74 65 70 20 31 29 29 0a 20 20 28 69 66 20 28 7a 65 72 6f 70 20 73 74 65 70 29 0a 20 20 20 20 step.1))...(if.(zerop.step).....
19380 20 20 28 6d 61 6b 65 2d 6c 69 73 74 20 63 6f 75 6e 74 20 73 74 61 72 74 29 0a 20 20 20 20 28 2d ..(make-list.count.start).....(-
193a0 2d 69 74 65 72 61 74 65 20 28 2b 20 69 74 20 73 74 65 70 29 20 73 74 61 72 74 20 63 6f 75 6e 74 -iterate.(+.it.step).start.count
193c0 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 78 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 22 43 6f )))..(defun.-fix.(fn.list)..."Co
193e0 6d 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 mpute.the.(least).fixpoint.of.FN
19400 20 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 46 4e 20 69 73 .with.initial.input.LIST...FN.is
19420 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 74 73 20 61 .called.at.least.once,.results.a
19440 72 65 20 63 6f 6d 70 61 72 65 64 20 77 69 74 68 20 60 65 71 75 61 6c 27 2e 22 0a 20 20 28 6c 65 re.compared.with.`equal'."...(le
19460 74 20 28 28 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 t.((re.(funcall.fn.list))).....(
19480 77 68 69 6c 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 while.(not.(equal.list.re)).....
194a0 20 20 28 73 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 ..(setq.list.re).......(setq.re.
194c0 28 66 75 6e 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 (funcall.fn.re))).....re))..(def
194e0 6d 61 63 72 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 macro.--fix.(form.list)..."Anaph
19500 6f 72 69 63 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 oric.form.of.`-fix'."...(declare
19520 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 66 .(debug.(def-form.form)))...`(-f
19540 69 78 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 66 6f 72 6d 29 20 2c 6c 69 73 74 29 29 0a 0a ix.(lambda.(it).,form).,list))..
19560 28 64 65 66 75 6e 20 2d 75 6e 66 6f 6c 64 20 28 66 75 6e 20 73 65 65 64 29 0a 20 20 22 42 75 69 (defun.-unfold.(fun.seed)..."Bui
19580 6c 64 20 61 20 6c 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 ld.a.list.from.SEED.using.FUN...
195a0 54 68 69 73 20 69 73 20 5c 22 64 75 61 6c 5c 22 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f 20 60 2d This.is.\"dual\".operation.to.`-
195c0 72 65 64 75 63 65 2d 72 27 3a 20 77 68 69 6c 65 20 2d 72 65 64 75 63 65 2d 72 0a 63 6f 6e 73 75 reduce-r':.while.-reduce-r.consu
195e0 6d 65 73 20 61 20 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 mes.a.list.to.produce.a.single.v
19600 61 6c 75 65 2c 20 60 2d 75 6e 66 6f 6c 64 27 20 74 61 6b 65 73 20 61 0a 73 65 65 64 20 76 61 6c alue,.`-unfold'.takes.a.seed.val
19620 75 65 20 61 6e 64 20 62 75 69 6c 64 73 20 61 20 28 70 6f 74 65 6e 74 69 61 6c 6c 79 20 69 6e 66 ue.and.builds.a.(potentially.inf
19640 69 6e 69 74 65 21 29 20 6c 69 73 74 2e 0a 0a 46 55 4e 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e inite!).list...FUN.should.return
19660 20 60 6e 69 6c 27 20 74 6f 20 73 74 6f 70 20 74 68 65 20 67 65 6e 65 72 61 74 69 6e 67 20 70 72 .`nil'.to.stop.the.generating.pr
19680 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 77 68 65 72 65 20 ocess,.or.a.cons.(A...B),.where.
196a0 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 20 72 65 73 75 6c A.will.be.prepended.to.the.resul
196c0 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 20 20 28 6c 65 74 t.and.B.is.the.new.seed."...(let
196e0 20 28 28 6c 61 73 74 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 20 73 65 65 64 29 29 20 72 29 0a 20 .((last.(funcall.fun.seed)).r)..
19700 20 20 20 28 77 68 69 6c 65 20 6c 61 73 74 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 63 61 72 20 ...(while.last.......(push.(car.
19720 6c 61 73 74 29 20 72 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6c 61 73 74 20 28 66 75 6e 63 61 last).r).......(setq.last.(funca
19740 6c 6c 20 66 75 6e 20 28 63 64 72 20 6c 61 73 74 29 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 ll.fun.(cdr.last)))).....(nrever
19760 73 65 20 72 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 75 6e 66 6f 6c 64 20 28 66 6f 72 se.r)))..(defmacro.--unfold.(for
19780 6d 20 73 65 65 64 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 m.seed)..."Anaphoric.version.of.
197a0 60 2d 75 6e 66 6f 6c 64 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 64 `-unfold'."...(declare.(debug.(d
197c0 65 66 2d 66 6f 72 6d 20 66 6f 72 6d 29 29 29 0a 20 20 60 28 2d 75 6e 66 6f 6c 64 20 28 6c 61 6d ef-form.form)))...`(-unfold.(lam
197e0 62 64 61 20 28 69 74 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 bda.(it).,form).,seed))..(defun.
19800 2d 63 6f 6e 73 2d 70 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 -cons-pair?.(obj)..."Return.non-
19820 6e 69 6c 20 69 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 0a nil.if.OBJ.is.a.true.cons.pair..
19840 54 68 61 74 20 69 73 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 That.is,.a.cons.(A...B).where.B.
19860 69 73 20 6e 6f 74 20 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 is.not.a.list...Alias:.`-cons-pa
19880 69 72 2d 70 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 ir-p'."...(declare.(pure.t).(sid
198a0 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6e 6c 69 73 74 70 20 28 63 64 72 e-effect-free.t))...(nlistp.(cdr
198c0 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 2d 70 -safe.obj)))..(defalias.'-cons-p
198e0 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 6f 6e air-p.'-cons-pair?)..(defun.-con
19900 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 6f 6e s-to-list.(con)..."Convert.a.con
19920 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 64 20 s.pair.to.a.list.with.`car'.and.
19940 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 2e 22 `cdr'.of.the.pair.respectively."
19960 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
19980 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 63 64 t-free.t))...(list.(car.con).(cd
199a0 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 74 20 r.con)))..(defun.-value-to-list.
199c0 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 6c 69 (val)..."Convert.a.value.to.a.li
199e0 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 69 72 st...If.the.value.is.a.cons.pair
19a00 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 73 2c ,.make.a.list.with.two.elements,
19a20 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 65 73 .`car'.and.`cdr'.of.the.pair.res
19a40 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 79 74 pectively...If.the.value.is.anyt
19a60 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 0a 20 hing.else,.wrap.it.in.a.list."..
19a80 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-
19aa0 66 72 65 65 20 74 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 2d 63 6f 6e 73 2d 70 61 69 72 free.t))...(cond....((-cons-pair
19ac0 3f 20 76 61 6c 29 20 28 2d 63 6f 6e 73 2d 74 6f 2d 6c 69 73 74 20 76 61 6c 29 29 0a 20 20 20 28 ?.val).(-cons-to-list.val))....(
19ae0 74 20 28 6c 69 73 74 20 76 61 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 74 72 65 65 2d 6d 61 t.(list.val))))..(defun.-tree-ma
19b00 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6e 20 66 6f 6c 64 65 72 20 69 6e 69 74 2d 76 61 6c preduce-from.(fn.folder.init-val
19b20 75 65 20 74 72 65 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 ue.tree)..."Apply.FN.to.each.ele
19b40 6d 65 6e 74 20 6f 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 ment.of.TREE,.and.make.a.list.of
19b60 20 74 68 65 20 72 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 .the.results..If.elements.of.TRE
19b80 45 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 E.are.lists.themselves,.apply.FN
19ba0 20 72 65 63 75 72 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 .recursively.to.elements.of.thes
19bc0 65 20 6e 65 73 74 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 e.nested.lists...Then.reduce.the
19be0 20 72 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 .resulting.lists.using.FOLDER.an
19c00 64 20 69 6e 69 74 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 d.initial.value.INIT-VALUE..See.
19c20 60 2d 72 65 64 75 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 `-reduce-r-from'...This.is.the.s
19c40 61 6d 65 20 61 73 20 63 61 6c 6c 69 6e 67 20 60 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f ame.as.calling.`-tree-reduce-fro
19c60 6d 27 20 61 66 74 65 72 20 60 2d 74 72 65 65 2d 6d 61 70 27 0a 62 75 74 20 69 73 20 74 77 69 63 m'.after.`-tree-map'.but.is.twic
19c80 65 20 61 73 20 66 61 73 74 20 61 73 20 69 74 20 6f 6e 6c 79 20 74 72 61 76 65 72 73 65 20 74 68 e.as.fast.as.it.only.traverse.th
19ca0 65 20 73 74 72 75 63 74 75 72 65 20 6f 6e 63 65 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 e.structure.once."...(cond....((
19cc0 6e 6f 74 20 74 72 65 65 29 20 6e 69 6c 29 0a 20 20 20 28 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 not.tree).nil)....((-cons-pair?.
19ce0 74 72 65 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 6c 69 tree).(funcall.fn.tree))....((li
19d00 73 74 70 20 74 72 65 65 29 0a 20 20 20 20 28 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 66 6f stp.tree).....(-reduce-r-from.fo
19d20 6c 64 65 72 20 69 6e 69 74 2d 76 61 6c 75 65 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 lder.init-value.(mapcar.(lambda.
19d40 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 6e 20 66 6f 6c (x).(-tree-mapreduce-from.fn.fol
19d60 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 20 20 20 28 74 der.init-value.x)).tree)))....(t
19d80 20 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 63 72 6f .(funcall.fn.tree))))..(defmacro
19da0 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 66 6f 6c .--tree-mapreduce-from.(form.fol
19dc0 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 6f 72 69 der.init-value.tree)..."Anaphori
19de0 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 6f 6d 27 c.form.of.`-tree-mapreduce-from'
19e00 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 6d 20 64 ."...(declare.(debug.(def-form.d
19e20 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 6d ef-form.form.form)))...`(-tree-m
19e40 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 2c 66 6f 72 6d apreduce-from.(lambda.(it).,form
19e60 29 20 28 6c 61 6d 62 64 61 20 28 69 74 20 61 63 63 29 20 2c 66 6f 6c 64 65 72 29 20 2c 69 6e 69 ).(lambda.(it.acc).,folder).,ini
19e80 74 2d 76 61 6c 75 65 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 t-value.,tree))..(defun.-tree-ma
19ea0 70 72 65 64 75 63 65 20 28 66 6e 20 66 6f 6c 64 65 72 20 74 72 65 65 29 0a 20 20 22 41 70 70 6c preduce.(fn.folder.tree)..."Appl
19ec0 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 2c 20 61 6e y.FN.to.each.element.of.TREE,.an
19ee0 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 2e 0a 49 66 d.make.a.list.of.the.results..If
19f00 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 74 68 65 6d .elements.of.TREE.are.lists.them
19f20 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 20 74 6f 0a selves,.apply.FN.recursively.to.
19f40 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 74 73 2e 0a elements.of.these.nested.lists..
19f60 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 69 73 74 73 .Then.reduce.the.resulting.lists
19f80 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 6c 75 65 0a .using.FOLDER.and.initial.value.
19fa0 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 72 6f 6d 27 INIT-VALUE..See.`-reduce-r-from'
19fc0 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 6e 67 20 60 ...This.is.the.same.as.calling.`
19fe0 2d 74 72 65 65 2d 72 65 64 75 63 65 27 20 61 66 74 65 72 20 60 2d 74 72 65 65 2d 6d 61 70 27 0a -tree-reduce'.after.`-tree-map'.
1a000 62 75 74 20 69 73 20 74 77 69 63 65 20 61 73 20 66 61 73 74 20 61 73 20 69 74 20 6f 6e 6c 79 20 but.is.twice.as.fast.as.it.only.
1a020 74 72 61 76 65 72 73 65 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 6f 6e 63 65 2e 22 0a 20 20 traverse.the.structure.once."...
1a040 28 63 6f 6e 64 0a 20 20 20 28 28 6e 6f 74 20 74 72 65 65 29 20 6e 69 6c 29 0a 20 20 20 28 28 2d (cond....((not.tree).nil)....((-
1a060 63 6f 6e 73 2d 70 61 69 72 3f 20 74 72 65 65 29 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 74 72 65 cons-pair?.tree).(funcall.fn.tre
1a080 65 29 29 0a 20 20 20 28 28 6c 69 73 74 70 20 74 72 65 65 29 0a 20 20 20 20 28 2d 72 65 64 75 63 e))....((listp.tree).....(-reduc
1a0a0 65 2d 72 20 66 6f 6c 64 65 72 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 e-r.folder.(mapcar.(lambda.(x).(
1a0c0 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 66 6e 20 66 6f 6c 64 65 72 20 78 29 29 20 74 72 -tree-mapreduce.fn.folder.x)).tr
1a0e0 65 65 29 29 29 0a 20 20 20 28 74 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 74 72 65 65 29 29 29 29 ee)))....(t.(funcall.fn.tree))))
1a100 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 28 66 6f ..(defmacro.--tree-mapreduce.(fo
1a120 72 6d 20 66 6f 6c 64 65 72 20 74 72 65 65 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 rm.folder.tree)..."Anaphoric.for
1a140 6d 20 6f 66 20 60 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 27 2e 22 0a 20 20 28 64 65 63 6c m.of.`-tree-mapreduce'."...(decl
1a160 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 66 6f are.(debug.(def-form.def-form.fo
1a180 72 6d 29 29 29 0a 20 20 60 28 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 28 6c 61 6d 62 64 rm)))...`(-tree-mapreduce.(lambd
1a1a0 61 20 28 69 74 29 20 2c 66 6f 72 6d 29 20 28 6c 61 6d 62 64 61 20 28 69 74 20 61 63 63 29 20 2c a.(it).,form).(lambda.(it.acc).,
1a1c0 66 6f 6c 64 65 72 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 folder).,tree))..(defun.-tree-ma
1a1e0 70 20 28 66 6e 20 74 72 65 65 29 0a 20 20 22 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 p.(fn.tree)..."Apply.FN.to.each.
1a200 65 6c 65 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 element.of.TREE.while.preserving
1a220 20 74 68 65 20 74 72 65 65 20 73 74 72 75 63 74 75 72 65 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 .the.tree.structure."...(cond...
1a240 20 28 28 6e 6f 74 20 74 72 65 65 29 20 6e 69 6c 29 0a 20 20 20 28 28 2d 63 6f 6e 73 2d 70 61 69 .((not.tree).nil)....((-cons-pai
1a260 72 3f 20 74 72 65 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 r?.tree).(funcall.fn.tree))....(
1a280 28 6c 69 73 74 70 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 (listp.tree).....(mapcar.(lambda
1a2a0 20 28 78 29 20 28 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 .(x).(-tree-map.fn.x)).tree))...
1a2c0 20 28 74 20 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 .(t.(funcall.fn.tree))))..(defma
1a2e0 63 72 6f 20 2d 2d 74 72 65 65 2d 6d 61 70 20 28 66 6f 72 6d 20 74 72 65 65 29 0a 20 20 22 41 6e cro.--tree-map.(form.tree)..."An
1a300 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 27 2e 22 0a 20 20 aphoric.form.of.`-tree-map'."...
1a320 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 66 6f 72 6d 29 29 (declare.(debug.(def-form.form))
1a340 29 0a 20 20 60 28 2d 74 72 65 65 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 66 6f )...`(-tree-map.(lambda.(it).,fo
1a360 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 64 75 63 65 rm).,tree))..(defun.-tree-reduce
1a380 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 20 22 55 73 -from.(fn.init-value.tree)..."Us
1a3a0 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 74 20 e.FN.to.reduce.elements.of.list.
1a3c0 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 6c 69 TREE..If.elements.of.TREE.are.li
1a3e0 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 63 74 sts.themselves,.apply.the.reduct
1a400 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 61 70 ion.recursively...FN.is.first.ap
1a420 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 74 20 65 6c plied.to.INIT-VALUE.and.first.el
1a440 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 68 69 73 20 ement.of.the.list,.then.on.this.
1a460 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 6f 6d 20 74 result.and.second.element.from.t
1a480 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 6c 75 65 20 he.list.etc...The.initial.value.
1a4a0 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
1a4c0 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 2e 22 0a 20 .always.contain.two.elements."..
1a4e0 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 6f 74 20 74 72 65 65 29 20 6e 69 6c 29 0a 20 20 20 28 28 .(cond....((not.tree).nil)....((
1a500 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 20 28 28 6c 69 73 -cons-pair?.tree).tree)....((lis
1a520 74 70 20 74 72 65 65 29 0a 20 20 20 20 28 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 66 6e 20 tp.tree).....(-reduce-r-from.fn.
1a540 69 6e 69 74 2d 76 61 6c 75 65 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 init-value.(mapcar.(lambda.(x).(
1a560 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 66 6e 20 69 6e 69 74 2d 76 61 6c 75 65 20 -tree-reduce-from.fn.init-value.
1a580 78 29 29 20 74 72 65 65 29 29 29 0a 20 20 20 28 74 20 74 72 65 65 29 29 29 0a 0a 28 64 65 66 6d x)).tree)))....(t.tree)))..(defm
1a5a0 61 63 72 6f 20 2d 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6f 72 6d 20 69 6e acro.--tree-reduce-from.(form.in
1a5c0 69 74 2d 76 61 6c 75 65 20 74 72 65 65 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d it-value.tree)..."Anaphoric.form
1a5e0 20 6f 66 20 60 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 27 2e 22 0a 20 20 28 64 65 63 .of.`-tree-reduce-from'."...(dec
1a600 6c 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 20 66 6f 72 6d 29 lare.(debug.(def-form.form.form)
1a620 29 29 0a 20 20 60 28 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 6c 61 6d 62 64 61 ))...`(-tree-reduce-from.(lambda
1a640 20 28 69 74 20 61 63 63 29 20 2c 66 6f 72 6d 29 20 2c 69 6e 69 74 2d 76 61 6c 75 65 20 2c 74 72 .(it.acc).,form).,init-value.,tr
1a660 65 65 29 29 0a 0a 28 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 ee))..(defun.-tree-reduce.(fn.tr
1a680 65 65 29 0a 20 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 ee)..."Use.FN.to.reduce.elements
1a6a0 20 6f 66 20 6c 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 .of.list.TREE..If.elements.of.TR
1a6c0 45 45 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 74 EE.are.lists.themselves,.apply.t
1a6e0 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 0a 46 4e 20 69 73 he.reduction.recursively...FN.is
1a700 20 66 69 72 73 74 20 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 .first.applied.to.first.element.
1a720 6f 66 20 74 68 65 20 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 of.the.list.and.second.element,.
1a740 74 68 65 6e 20 6f 6e 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 then.on.this.result.and.third.el
1a760 65 6d 65 6e 74 20 66 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 ement.from.the.list.etc...See.`-
1a780 72 65 64 75 63 65 2d 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 reduce-r'.for.how.exactly.are.li
1a7a0 73 74 73 20 6f 66 20 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 sts.of.zero.or.one.element.handl
1a7c0 65 64 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 6f 74 20 74 72 65 65 29 20 6e 69 6c 29 ed."...(cond....((not.tree).nil)
1a7e0 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)...
1a800 20 28 28 6c 69 73 74 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 .((listp.tree).....(-reduce-r.fn
1a820 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
1a840 63 65 20 66 6e 20 78 29 29 20 74 72 65 65 29 29 29 0a 20 20 20 28 74 20 74 72 65 65 29 29 29 0a ce.fn.x)).tree)))....(t.tree))).
1a860 0a 28 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 .(defmacro.--tree-reduce.(form.t
1a880 72 65 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 ree)..."Anaphoric.form.of.`-tree
1a8a0 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 64 65 -reduce'."...(declare.(debug.(de
1a8c0 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 72 65 64 75 63 65 20 f-form.form)))...`(-tree-reduce.
1a8e0 28 6c 61 6d 62 64 61 20 28 69 74 20 61 63 63 29 20 2c 66 6f 72 6d 29 20 2c 74 72 65 65 29 29 0a (lambda.(it.acc).,form).,tree)).
1a900 0a 28 64 65 66 75 6e 20 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 28 70 72 65 64 20 66 75 .(defun.-tree-map-nodes.(pred.fu
1a920 6e 20 74 72 65 65 29 0a 20 20 22 43 61 6c 6c 20 46 55 4e 20 6f 6e 20 65 61 63 68 20 6e 6f 64 65 n.tree)..."Call.FUN.on.each.node
1a940 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 44 2e 0a 0a 49 .of.TREE.that.satisfies.PRED...I
1a960 66 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 63 6f 6e 74 69 6e 75 65 20 64 65 73 f.PRED.returns.nil,.continue.des
1a980 63 65 6e 64 69 6e 67 20 64 6f 77 6e 20 74 68 69 73 20 6e 6f 64 65 2e 20 20 49 66 20 50 52 45 44 cending.down.this.node...If.PRED
1a9a0 0a 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 61 70 70 6c 79 20 46 55 4e 20 74 6f 20 74 .returns.non-nil,.apply.FUN.to.t
1a9c0 68 69 73 20 6e 6f 64 65 20 61 6e 64 20 64 6f 20 6e 6f 74 20 64 65 73 63 65 6e 64 0a 66 75 72 74 his.node.and.do.not.descend.furt
1a9e0 68 65 72 2e 22 0a 20 20 28 69 66 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 20 74 72 65 65 29 0a her."...(if.(funcall.pred.tree).
1aa00 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 20 74 72 65 65 29 0a 20 20 20 20 28 69 66 ......(funcall.fun.tree).....(if
1aa20 20 28 61 6e 64 20 28 6c 69 73 74 70 20 74 72 65 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .(and.(listp.tree)..............
1aa40 28 6e 6f 74 20 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 74 72 65 65 29 29 29 0a 20 20 20 20 20 20 (not.(-cons-pair?.tree))).......
1aa60 20 20 28 2d 6d 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 ..(-map.(lambda.(x).(-tree-map-n
1aa80 6f 64 65 73 20 70 72 65 64 20 66 75 6e 20 78 29 29 20 74 72 65 65 29 0a 20 20 20 20 20 20 74 72 odes.pred.fun.x)).tree).......tr
1aaa0 65 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 ee)))..(defmacro.--tree-map-node
1aac0 73 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 s.(pred.form.tree)..."Anaphoric.
1aae0 66 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 form.of.`-tree-map-nodes'."...(d
1ab00 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 66 2d 66 6f 72 6d eclare.(debug.(def-form.def-form
1ab20 20 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 .form)))...`(-tree-map-nodes.(la
1ab40 6d 62 64 61 20 28 69 74 29 20 2c 70 72 65 64 29 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 66 mbda.(it).,pred).(lambda.(it).,f
1ab60 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 73 65 71 20 28 orm).,tree))..(defun.-tree-seq.(
1ab80 62 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 branch.children.tree)..."Return.
1aba0 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 45 45 2c a.sequence.of.the.nodes.in.TREE,
1abc0 20 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 .in.depth-first.search.order...B
1abe0 52 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 RANCH.is.a.predicate.of.one.argu
1ac00 6d 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 ment.that.returns.non-nil.if.the
1ac20 0a 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 .passed.argument.is.a.branch,.th
1ac40 61 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 at.is,.a.node.that.can.have.chil
1ac60 64 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 dren...CHILDREN.is.a.function.of
1ac80 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 20 63 .one.argument.that.returns.the.c
1aca0 68 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 hildren.of.the.passed.branch.nod
1acc0 65 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 e...Non-branch.nodes.are.simply.
1ace0 63 6f 70 69 65 64 2e 22 0a 20 20 28 63 6f 6e 73 20 74 72 65 65 0a 20 20 20 20 20 20 20 20 28 77 copied."...(cons.tree.........(w
1ad00 68 65 6e 20 28 66 75 6e 63 61 6c 6c 20 62 72 61 6e 63 68 20 74 72 65 65 29 0a 20 20 20 20 20 20 hen.(funcall.branch.tree).......
1ad20 20 20 20 20 28 2d 6d 61 70 63 61 74 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 74 72 65 65 2d ....(-mapcat.(lambda.(x).(-tree-
1ad40 73 65 71 20 62 72 61 6e 63 68 20 63 68 69 6c 64 72 65 6e 20 78 29 29 0a 20 20 20 20 20 20 20 20 seq.branch.children.x)).........
1ad60 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 63 68 69 6c 64 72 65 6e 20 74 72 65 ...........(funcall.children.tre
1ad80 65 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 2d 74 72 65 65 2d 73 65 71 20 28 62 72 e)))))..(defmacro.--tree-seq.(br
1ada0 61 6e 63 68 20 63 68 69 6c 64 72 65 6e 20 74 72 65 65 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 anch.children.tree)..."Anaphoric
1adc0 20 66 6f 72 6d 20 6f 66 20 60 2d 74 72 65 65 2d 73 65 71 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 .form.of.`-tree-seq'."...(declar
1ade0 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
1ae00 29 29 29 0a 20 20 60 28 2d 74 72 65 65 2d 73 65 71 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c )))...`(-tree-seq.(lambda.(it).,
1ae20 62 72 61 6e 63 68 29 20 28 6c 61 6d 62 64 61 20 28 69 74 29 20 2c 63 68 69 6c 64 72 65 6e 29 20 branch).(lambda.(it).,children).
1ae40 2c 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 ,tree))..(defun.-clone.(list)...
1ae60 22 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 "Create.a.deep.copy.of.LIST..The
1ae80 20 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 .new.list.has.the.same.elements.
1aea0 61 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 and.structure.but.all.cons.are.r
1aec0 65 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 eplaced.with.new.ones...This.is.
1aee0 75 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 useful.when.you.need.to.clone.a.
1af00 73 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 structure.such.as.plist.or.alist
1af20 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
1af40 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 2d 74 72 65 65 2d 6d 61 70 20 27 69 64 65 6e 74 ect-free.t))...(-tree-map.'ident
1af60 69 74 79 20 6c 69 73 74 29 29 0a 0c 0a 3b 3b 3b 20 43 6f 6d 62 69 6e 61 74 6f 72 73 0a 0a 28 64 ity.list))...;;;.Combinators..(d
1af80 65 66 61 6c 69 61 73 20 27 2d 70 61 72 74 69 61 6c 20 23 27 61 70 70 6c 79 2d 70 61 72 74 69 61 efalias.'-partial.#'apply-partia
1afa0 6c 6c 79 29 0a 0a 28 64 65 66 75 6e 20 2d 72 70 61 72 74 69 61 6c 20 28 66 6e 20 26 72 65 73 74 lly)..(defun.-rpartial.(fn.&rest
1afc0 20 61 72 67 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 .args)..."Return.a.function.that
1afe0 20 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 .is.a.partial.application.of.FN.
1b000 74 6f 20 41 52 47 53 2e 0a 41 52 47 53 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6c to.ARGS..ARGS.is.a.list.of.the.l
1b020 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 4e 2e 20 20 ast.N.arguments.to.pass.to.FN...
1b040 54 68 65 20 72 65 73 75 6c 74 0a 69 73 20 61 20 6e 65 77 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 The.result.is.a.new.function.whi
1b060 63 68 20 64 6f 65 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 46 4e 2c 20 65 78 63 65 70 74 20 74 ch.does.the.same.as.FN,.except.t
1b080 68 61 74 20 74 68 65 20 6c 61 73 74 0a 4e 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 66 69 78 hat.the.last.N.arguments.are.fix
1b0a0 65 64 20 61 74 20 74 68 65 20 76 61 6c 75 65 73 20 77 69 74 68 20 77 68 69 63 68 20 74 68 69 73 ed.at.the.values.with.which.this
1b0c0 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 0a 63 61 6c 6c 65 64 2e 20 20 54 68 69 73 20 69 73 20 6c .function.was.called...This.is.l
1b0e0 69 6b 65 20 60 2d 70 61 72 74 69 61 6c 27 2c 20 65 78 63 65 70 74 20 74 68 65 20 61 72 67 75 6d ike.`-partial',.except.the.argum
1b100 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 0a 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 ents.are.fixed.starting.from.the
1b120 20 72 69 67 68 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 6c 65 66 74 2e 22 0a 20 20 .right.rather.than.the.left."...
1b140 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 66 (declare.(pure.t).(side-effect-f
1b160 72 65 65 20 74 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 ree.t))...(lambda.(&rest.args-be
1b180 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
1b1a0 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
1b1c0 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
1b1e0 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
1b200 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
1b220 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
1b240 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
1b260 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
1b280 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
1b2a0 65 20 74 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 20 28 6d 61 e.t))...(lambda.(&rest.args).(ma
1b2c0 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 61 70 70 6c 79 20 78 20 61 72 67 73 29 29 pcar.(lambda.(x).(apply.x.args))
1b2e0 20 66 6e 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 63 6f 6d 70 6f 73 65 20 28 26 72 65 73 74 20 .fns)))..(defun.-compose.(&rest.
1b300 66 6e 73 29 0a 20 20 22 43 6f 6d 70 6f 73 65 20 46 4e 53 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c fns)..."Compose.FNS.into.a.singl
1b320 65 20 63 6f 6d 70 6f 73 69 74 65 20 66 75 6e 63 74 69 6f 6e 2e 0a 52 65 74 75 72 6e 20 61 20 66 e.composite.function..Return.a.f
1b340 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 unction.that.takes.a.variable.nu
1b360 6d 62 65 72 20 6f 66 20 41 52 47 53 2c 20 61 70 70 6c 69 65 73 0a 74 68 65 20 6c 61 73 74 20 66 mber.of.ARGS,.applies.the.last.f
1b380 75 6e 63 74 69 6f 6e 20 69 6e 20 46 4e 53 20 74 6f 20 41 52 47 53 2c 20 61 6e 64 20 72 65 74 75 unction.in.FNS.to.ARGS,.and.retu
1b3a0 72 6e 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 0a 63 61 6c 6c 69 6e 67 20 65 61 63 68 20 72 rns.the.result.of.calling.each.r
1b3c0 65 6d 61 69 6e 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 74 68 65 20 72 65 73 75 6c 74 20 emaining.function.on.the.result.
1b3e0 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a 66 75 6e 63 74 69 6f 6e 2c 20 72 69 67 68 74 2d of.the.previous.function,.right-
1b400 74 6f 2d 6c 65 66 74 2e 20 20 49 66 20 6e 6f 20 46 4e 53 20 61 72 65 20 67 69 76 65 6e 2c 20 72 to-left...If.no.FNS.are.given,.r
1b420 65 74 75 72 6e 20 61 20 76 61 72 69 61 64 69 63 0a 60 69 64 65 6e 74 69 74 79 27 20 66 75 6e 63 eturn.a.variadic.`identity'.func
1b440 74 69 6f 6e 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 tion."...(declare.(pure.t).(side
1b460 2d 65 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 66 6e 73 20 28 -effect-free.t))...(let*.((fns.(
1b480 6e 72 65 76 65 72 73 65 20 66 6e 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 68 65 61 64 20 28 63 nreverse.fns))..........(head.(c
1b4a0 61 72 20 66 6e 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 61 69 6c 20 28 63 64 72 20 66 6e 73 ar.fns))..........(tail.(cdr.fns
1b4c0 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 74 61 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 28 ))).....(cond.(tail............(
1b4e0 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 lambda.(&rest.args).............
1b500 20 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 75 6e 63 61 6c 6c 20 69 74 20 61 63 63 29 .(--reduce-from.(funcall.it.acc)
1b520 20 28 61 70 70 6c 79 20 68 65 61 64 20 61 72 67 73 29 20 74 61 69 6c 29 29 29 0a 20 20 20 20 20 .(apply.head.args).tail)))......
1b540 20 20 20 20 20 28 66 6e 73 20 68 65 61 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6c 61 6d 62 .....(fns.head)...........((lamb
1b560 64 61 20 28 26 6f 70 74 69 6f 6e 61 6c 20 61 72 67 20 26 72 65 73 74 20 5f 29 20 61 72 67 29 29 da.(&optional.arg.&rest._).arg))
1b580 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 61 70 70 6c 69 66 79 20 28 66 6e 29 0a 20 20 22 52 65 74 )))..(defun.-applify.(fn)..."Ret
1b5a0 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 70 70 6c 69 65 73 20 46 4e 20 74 urn.a.function.that.applies.FN.t
1b5c0 6f 20 61 20 73 69 6e 67 6c 65 20 6c 69 73 74 20 6f 66 20 61 72 67 73 2e 0a 54 68 69 73 20 63 68 o.a.single.list.of.args..This.ch
1b5e0 61 6e 67 65 73 20 74 68 65 20 61 72 69 74 79 20 6f 66 20 46 4e 20 66 72 6f 6d 20 74 61 6b 69 6e anges.the.arity.of.FN.from.takin
1b600 67 20 4e 20 64 69 73 74 69 6e 63 74 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 0a 74 61 6b 69 6e 67 g.N.distinct.arguments.to.taking
1b620 20 31 20 61 72 67 75 6d 65 6e 74 20 77 68 69 63 68 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 4e .1.argument.which.is.a.list.of.N
1b640 20 61 72 67 75 6d 65 6e 74 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 .arguments."...(declare.(pure.t)
1b660 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 61 6d 62 64 61 .(side-effect-free.t))...(lambda
1b680 20 28 61 72 67 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 .(args).(apply.fn.args)))..(defu
1b6a0 6e 20 2d 6f 6e 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 n.-on.(op.trans)..."Return.a.fun
1b6c0 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 68 20 61 ction.that.calls.TRANS.on.each.a
1b6e0 72 67 20 61 6e 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 rg.and.OP.on.the.results..The.re
1b700 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 61 62 6c 65 turned.function.takes.a.variable
1b720 20 6e 75 6d 62 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 .number.of.arguments,.calls.the.
1b740 66 75 6e 63 74 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 function.TRANS.on.each.one.in.tu
1b760 72 6e 2c 20 61 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 rn,.and.then.passes.those.result
1b780 73 20 61 73 20 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 s.as.the.list.of.arguments.to.OP
1b7a0 2c 20 69 6e 20 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 ,.in.the.same.order...For.exampl
1b7c0 65 2c 20 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 e,.the.following.pairs.of.expres
1b7e0 73 69 6f 6e 73 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 sions.are.morally.equivalent:...
1b800 20 28 66 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 20 31 .(funcall.(-on.#\\='+.#\\='1+).1
1b820 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 33 29 29 .2.3).=.(+.(1+.1).(1+.2).(1+.3))
1b840 0a 20 20 28 66 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 ...(funcall.(-on.#\\='+.#\\='1+)
1b860 29 20 20 20 20 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 ).......=.(+)"...(declare.(pure.
1b880 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 61 6d 62 t).(side-effect-free.t))...(lamb
1b8a0 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 75 6e 72 6f da.(&rest.args).....;;.This.unro
1b8c0 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 6c 79 20 63 lling.seems.to.be.a.relatively.c
1b8e0 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 6f 76 65 72 heap.way.to.keep.the.....;;.over
1b900 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 6e 20 63 68 head.of.`mapcar'.+.`apply'.in.ch
1b920 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 20 20 20 20 eck......(cond.((cddr.args).....
1b940 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 6e 73 20 61 .......(apply.op.(mapcar.trans.a
1b960 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 0a 20 20 20 rgs)))...........((cdr.args)....
1b980 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 20 74 72 61 ........(funcall.op.(funcall.tra
1b9a0 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 73 20 28 63 ns.(car.args)).(funcall.trans.(c
1b9c0 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 0a 20 20 20 adr.args))))...........(args....
1b9e0 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 20 74 72 61 ........(funcall.op.(funcall.tra
1ba00 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 28 66 75 6e ns.(car.args))))...........((fun
1ba20 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 66 6e 29 0a call.op)))))..(defun.-flip.(fn).
1ba40 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 6c 6c 73 20 .."Return.a.function.that.calls.
1ba60 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 65 64 2e 0a FN.with.its.arguments.reversed..
1ba80 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 74 68 65 20 The.returned.function.takes.the.
1baa0 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 46 4e 2e 0a same.number.of.arguments.as.FN..
1bac0 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 74 77 6f 20 .For.example,.the.following.two.
1bae0 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 76 61 6c 65 expressions.are.morally.equivale
1bb00 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 2d 29 20 31 nt:....(funcall.(-flip.#\\='-).1
1bb20 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 6f 74 61 74 .2).=.(-.2.1)..See.also:.`-rotat
1bb40 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 29 20 28 73 e-args'."...(declare.(pure.t).(s
1bb60 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 61 6d 62 64 61 20 28 26 ide-effect-free.t))...(lambda.(&
1bb80 72 65 73 74 20 61 72 67 73 29 20 3b 3b 20 4f 70 65 6e 2d 63 6f 64 65 20 66 6f 72 20 73 70 65 65 rest.args).;;.Open-code.for.spee
1bba0 64 2e 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 63 64 64 72 20 61 72 67 73 29 20 28 61 70 70 6c 79 d......(cond.((cddr.args).(apply
1bbc0 20 66 6e 20 28 6e 72 65 76 65 72 73 65 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 .fn.(nreverse.args)))...........
1bbe0 28 28 63 64 72 20 61 72 67 73 29 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 28 63 61 64 72 20 61 72 ((cdr.args).(funcall.fn.(cadr.ar
1bc00 67 73 29 20 28 63 61 72 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 72 67 73 gs).(car.args)))...........(args
1bc20 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 28 63 61 72 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 .(funcall.fn.(car.args))).......
1bc40 20 20 20 20 28 28 66 75 6e 63 61 6c 6c 20 66 6e 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 72 ....((funcall.fn)))))..(defun.-r
1bc60 6f 74 61 74 65 2d 61 72 67 73 20 28 6e 20 66 6e 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 75 otate-args.(n.fn)..."Return.a.fu
1bc80 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 61 72 67 73 20 72 nction.that.calls.FN.with.args.r
1bca0 6f 74 61 74 65 64 20 4e 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 67 68 74 2e 0a 54 68 otated.N.places.to.the.right..Th
1bcc0 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 74 68 65 20 73 61 e.returned.function.takes.the.sa
1bce0 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 46 4e 2c 0a 72 6f me.number.of.arguments.as.FN,.ro
1bd00 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 70 6c tates.the.list.of.arguments.N.pl
1bd20 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 0a aces.to.the.right.(left.if.N.is.
1bd40 6e 65 67 61 74 69 76 65 29 20 6a 75 73 74 20 6c 69 6b 65 20 60 2d 72 6f 74 61 74 65 27 2c 20 61 negative).just.like.`-rotate',.a
1bd60 6e 64 20 61 70 70 6c 69 65 73 20 46 4e 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 53 65 nd.applies.FN.to.the.result...Se
1bd80 65 20 61 6c 73 6f 3a 20 60 2d 66 6c 69 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 e.also:.`-flip'."...(declare.(pu
1bda0 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 69 re.t).(side-effect-free.t))...(i
1bdc0 66 20 28 7a 65 72 6f 70 20 6e 29 0a 20 20 20 20 20 20 66 6e 0a 20 20 20 20 28 6c 65 74 20 28 28 f.(zerop.n).......fn.....(let.((
1bde0 65 76 65 6e 20 28 3d 20 28 25 20 6e 20 32 29 20 30 29 29 29 0a 20 20 20 20 20 20 28 6c 61 6d 62 even.(=.(%.n.2).0))).......(lamb
1be00 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 da.(&rest.args).........(cond.((
1be20 63 64 64 72 20 61 72 67 73 29 20 3b 3b 20 4f 70 65 6e 2d 63 6f 64 65 20 66 6f 72 20 73 70 65 65 cddr.args).;;.Open-code.for.spee
1be40 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 66 6e 20 28 2d 72 6f d.................(apply.fn.(-ro
1be60 74 61 74 65 20 6e 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 63 tate.n.args)))...............((c
1be80 64 72 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 dr.args)................(let.((f
1bea0 73 74 20 28 63 61 72 20 61 72 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 st.(car.args))..................
1bec0 20 20 20 20 28 73 6e 64 20 28 63 61 64 72 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 ....(snd.(cadr.args)))..........
1bee0 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 28 69 66 20 65 76 65 6e 20 66 73 74 ........(funcall.fn.(if.even.fst
1bf00 20 73 6e 64 29 20 28 69 66 20 65 76 65 6e 20 73 6e 64 20 66 73 74 29 29 29 29 0a 20 20 20 20 20 .snd).(if.even.snd.fst))))......
1bf20 20 20 20 20 20 20 20 20 20 28 61 72 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 .........(args................(f
1bf40 75 6e 63 61 6c 6c 20 66 6e 20 28 63 61 72 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 uncall.fn.(car.args)))..........
1bf60 20 20 20 20 20 28 28 66 75 6e 63 61 6c 6c 20 66 6e 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e .....((funcall.fn)))))))..(defun
1bf80 20 2d 63 6f 6e 73 74 20 28 63 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e .-const.(c)..."Return.a.function
1bfa0 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 43 20 69 67 6e 6f 72 69 6e 67 20 61 6e 79 20 61 64 64 .that.returns.C.ignoring.any.add
1bfc0 69 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 49 6e 20 74 79 70 65 73 3a 20 61 20 itional.arguments...In.types:.a.
1bfe0 2d 3e 20 62 20 2d 3e 20 61 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 ->.b.->.a"...(declare.(pure.t).(
1c000 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 61 6d 62 64 61 20 28 side-effect-free.t))...(lambda.(
1c020 26 72 65 73 74 20 5f 29 20 63 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 2d 63 75 74 20 28 26 72 &rest._).c))..(defmacro.-cut.(&r
1c040 65 73 74 20 70 61 72 61 6d 73 29 0a 20 20 22 54 61 6b 65 20 6e 2d 61 72 79 20 66 75 6e 63 74 69 est.params)..."Take.n-ary.functi
1c060 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 69 61 6c 69 7a on.and.n.arguments.and.specializ
1c080 65 20 73 6f 6d 65 20 6f 66 20 74 68 65 6d 2e 0a 41 72 67 75 6d 65 6e 74 73 20 64 65 6e 6f 74 65 e.some.of.them..Arguments.denote
1c0a0 64 20 62 79 20 3c 3e 20 77 69 6c 6c 20 62 65 20 6c 65 66 74 20 75 6e 73 70 65 63 69 61 6c 69 7a d.by.<>.will.be.left.unspecializ
1c0c0 65 64 2e 0a 0a 53 65 65 20 53 52 46 49 2d 32 36 20 66 6f 72 20 64 65 74 61 69 6c 65 64 20 64 65 ed...See.SRFI-26.for.detailed.de
1c0e0 73 63 72 69 70 74 69 6f 6e 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 26 scription."...(declare.(debug.(&
1c100 6f 70 74 69 6f 6e 61 6c 20 73 65 78 70 20 26 72 65 73 74 20 26 6f 72 20 22 3c 3e 22 20 66 6f 72 optional.sexp.&rest.&or."<>".for
1c120 6d 29 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 69 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 61 72 m)))...(let*.((i.0)..........(ar
1c140 67 73 20 28 2d 2d 6b 65 65 70 20 28 77 68 65 6e 20 28 65 71 20 69 74 20 27 3c 3e 29 0a 20 20 20 gs.(--keep.(when.(eq.it.'<>)....
1c160 20 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 71 20 69 20 28 31 ......................(setq.i.(1
1c180 2b 20 69 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 28 +.i))..........................(
1c1a0 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 28 66 6f 72 6d 61 74 20 22 44 25 64 22 20 69 29 29 29 0a 20 make-symbol.(format."D%d".i)))..
1c1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 73 29 29 29 0a ......................params))).
1c1e0 20 20 20 20 60 28 6c 61 6d 62 64 61 20 2c 61 72 67 73 0a 20 20 20 20 20 20 20 2c 28 6c 65 74 20 ....`(lambda.,args........,(let.
1c200 28 28 62 6f 64 79 20 28 2d 2d 6d 61 70 20 28 69 66 20 28 65 71 20 69 74 20 27 3c 3e 29 20 28 70 ((body.(--map.(if.(eq.it.'<>).(p
1c220 6f 70 20 61 72 67 73 29 20 69 74 29 20 70 61 72 61 6d 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 op.args).it).params)))..........
1c240 20 28 69 66 20 28 65 71 20 28 63 61 72 20 70 61 72 61 6d 73 29 20 27 3c 3e 29 0a 20 20 20 20 20 .(if.(eq.(car.params).'<>)......
1c260 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 23 27 66 75 6e 63 61 6c 6c 20 62 6f 64 79 29 0a 20 .........(cons.#'funcall.body)..
1c280 20 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 6e 6f ...........body)))))..(defun.-no
1c2a0 74 20 28 70 72 65 64 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 74 t.(pred)..."Return.a.predicate.t
1c2c0 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 44 2e 0a hat.negates.the.result.of.PRED..
1c2e0 54 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 70 61 73 73 65 73 20 69 74 The.returned.predicate.passes.it
1c300 73 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 50 52 45 44 2e 20 20 49 66 20 50 52 45 44 0a 72 65 s.arguments.to.PRED...If.PRED.re
1c320 74 75 72 6e 73 20 6e 69 6c 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c turns.nil,.the.result.is.non-nil
1c340 3b 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 69 6c 2e 0a 0a ;.otherwise.the.result.is.nil...
1c360 53 65 65 20 61 6c 73 6f 3a 20 60 2d 61 6e 64 66 6e 27 20 61 6e 64 20 60 2d 6f 72 66 6e 27 2e 22 See.also:.`-andfn'.and.`-orfn'."
1c380 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
1c3a0 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 t-free.t))...(lambda.(&rest.args
1c3c0 29 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 ).(not.(apply.pred.args))))..(de
1c3e0 66 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 fun.-orfn.(&rest.preds)..."Retur
1c400 6e 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 n.a.predicate.that.returns.the.f
1c420 69 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 irst.non-nil.result.of.PREDS..Th
1c440 65 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 e.returned.predicate.takes.a.var
1c460 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 0a 70 61 73 73 65 iable.number.of.arguments,.passe
1c480 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 20 50 52 45 44 s.them.to.each.predicate.in.PRED
1c4a0 53 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 S.in.turn.until.one.of.them.retu
1c4c0 72 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 rns.non-nil,.and.returns.that.no
1c4e0 6e 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 n-nil.result.without.calling.the
1c500 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 44 53 20 .remaining.PREDS...If.all.PREDS.
1c520 72 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 return.nil,.or.if.no.PREDS.are.g
1c540 69 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 iven,.the.returned.predicate.ret
1c560 75 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 urns.nil...See.also:.`-andfn'.an
1c580 64 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 d.`-not'."...(declare.(pure.t).(
1c5a0 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 3b 3b 20 4f 70 65 6e 2d 63 side-effect-free.t))...;;.Open-c
1c5c0 6f 64 65 20 66 6f 72 20 73 70 65 65 64 2e 0a 20 20 28 63 6f 6e 64 20 28 28 63 64 72 20 70 72 65 ode.for.speed....(cond.((cdr.pre
1c5e0 64 73 29 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 20 28 2d 2d 73 6f 6d 65 ds).(lambda.(&rest.args).(--some
1c600 20 28 61 70 70 6c 79 20 69 74 20 61 72 67 73 29 20 70 72 65 64 73 29 29 29 0a 20 20 20 20 20 20 .(apply.it.args).preds))).......
1c620 20 20 28 70 72 65 64 73 20 28 63 61 72 20 70 72 65 64 73 29 29 0a 20 20 20 20 20 20 20 20 28 23 ..(preds.(car.preds)).........(#
1c640 27 69 67 6e 6f 72 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 61 6e 64 66 6e 20 28 26 72 65 73 74 'ignore)))..(defun.-andfn.(&rest
1c660 20 70 72 65 64 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 .preds)..."Return.a.predicate.th
1c680 61 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 61 6c 6c 20 50 52 45 44 53 20 at.returns.non-nil.if.all.PREDS.
1c6a0 64 6f 20 73 6f 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 50 20 do.so..The.returned.predicate.P.
1c6c0 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d takes.a.variable.number.of.argum
1c6e0 65 6e 74 73 20 61 6e 64 0a 70 61 73 73 65 73 20 74 68 65 6d 20 74 6f 20 65 61 63 68 20 70 72 65 ents.and.passes.them.to.each.pre
1c700 64 69 63 61 74 65 20 69 6e 20 50 52 45 44 53 20 69 6e 20 74 75 72 6e 2e 20 20 49 66 20 61 6e 79 dicate.in.PREDS.in.turn...If.any
1c720 20 6f 6e 65 20 6f 66 0a 50 52 45 44 53 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 50 20 61 6c 73 .one.of.PREDS.returns.nil,.P.als
1c740 6f 20 72 65 74 75 72 6e 73 20 6e 69 6c 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 74 68 o.returns.nil.without.calling.th
1c760 65 0a 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 e.remaining.PREDS...If.all.PREDS
1c780 20 72 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 50 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c .return.non-nil,.P.returns.the.l
1c7a0 61 73 74 0a 73 75 63 68 20 76 61 6c 75 65 2e 20 20 49 66 20 6e 6f 20 50 52 45 44 53 20 61 72 65 ast.such.value...If.no.PREDS.are
1c7c0 20 67 69 76 65 6e 2c 20 50 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c .given,.P.always.returns.non-nil
1c7e0 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 60 2d 6f 72 66 6e 27 20 61 6e 64 20 60 2d 6e 6f 74 27 2e ...See.also:.`-orfn'.and.`-not'.
1c800 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
1c820 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 3b 3b 20 4f 70 65 6e 2d 63 6f 64 65 20 66 6f 72 20 73 ct-free.t))...;;.Open-code.for.s
1c840 70 65 65 64 2e 0a 20 20 28 63 6f 6e 64 20 28 28 63 64 72 20 70 72 65 64 73 29 20 28 6c 61 6d 62 peed....(cond.((cdr.preds).(lamb
1c860 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 20 28 2d 2d 65 76 65 72 79 20 28 61 70 70 6c 79 20 da.(&rest.args).(--every.(apply.
1c880 69 74 20 61 72 67 73 29 20 70 72 65 64 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 65 64 73 it.args).preds))).........(preds
1c8a0 20 28 63 61 72 20 70 72 65 64 73 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 41 73 20 61 20 60 70 .(car.preds)).........;;.As.a.`p
1c8c0 75 72 65 27 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 69 73 20 72 75 6e 74 69 6d 65 20 63 68 65 63 ure'.function,.this.runtime.chec
1c8e0 6b 20 6d 61 79 20 67 65 6e 65 72 61 74 65 0a 20 20 20 20 20 20 20 20 3b 3b 20 62 61 63 6b 77 61 k.may.generate.........;;.backwa
1c900 72 64 2d 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 62 79 74 65 63 6f 64 65 20 66 6f 72 20 60 28 2d rd-incompatible.bytecode.for.`(-
1c920 61 6e 64 66 6e 29 27 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 0a 20 20 20 20 20 20 20 andfn)'.at.compile-time,........
1c940 20 3b 3b 20 62 75 74 20 49 20 64 6f 75 62 74 20 74 68 61 74 27 73 20 61 20 70 72 6f 62 6c 65 6d .;;.but.I.doubt.that's.a.problem
1c960 20 69 6e 20 70 72 61 63 74 69 63 65 20 28 66 61 6d 6f 75 73 20 6c 61 73 74 20 77 6f 72 64 73 29 .in.practice.(famous.last.words)
1c980 2e 0a 20 20 20 20 20 20 20 20 28 28 66 62 6f 75 6e 64 70 20 27 61 6c 77 61 79 73 29 20 23 27 61 ..........((fboundp.'always).#'a
1c9a0 6c 77 61 79 73 29 0a 20 20 20 20 20 20 20 20 28 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 5f lways).........((lambda.(&rest._
1c9c0 29 20 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 2d 69 74 65 72 61 74 65 66 6e 20 28 66 6e 20 6e ).t))))..(defun.-iteratefn.(fn.n
1c9e0 29 0a 20 20 22 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 )..."Return.a.function.FN.compos
1ca00 65 64 20 4e 20 74 69 6d 65 73 20 77 69 74 68 20 69 74 73 65 6c 66 2e 0a 0a 46 4e 20 69 73 20 61 ed.N.times.with.itself...FN.is.a
1ca20 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 6f .unary.function...If.you.need.to
1ca40 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 61 72 69 74 79 2c .use.a.function.of.higher.arity,
1ca60 20 75 73 65 20 60 2d 61 70 70 6c 69 66 79 27 20 66 69 72 73 74 20 74 6f 20 74 75 72 6e 20 69 74 .use.`-applify'.first.to.turn.it
1ca80 20 69 6e 74 6f 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 57 69 74 68 20 6e 20 .into.a.unary.function...With.n.
1caa0 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 79 20 66 75 6e 63 74 =.0,.this.acts.as.identity.funct
1cac0 69 6f 6e 2e 0a 0a 49 6e 20 74 79 70 65 73 3a 20 28 61 20 2d 3e 20 61 29 20 2d 3e 20 49 6e 74 20 ion...In.types:.(a.->.a).->.Int.
1cae0 2d 3e 20 61 20 2d 3e 20 61 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 61 74 69 73 66 ->.a.->.a...This.function.satisf
1cb00 69 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 61 77 3a 0a 0a 20 20 28 66 75 6e 63 61 ies.the.following.law:....(funca
1cb20 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 66 6e 20 6e 29 20 69 6e 69 74 29 20 3d 20 28 2d 6c ll.(-iteratefn.fn.n).init).=.(-l
1cb40 61 73 74 2d 69 74 65 6d 20 28 2d 69 74 65 72 61 74 65 20 66 6e 20 69 6e 69 74 20 28 31 2b 20 6e ast-item.(-iterate.fn.init.(1+.n
1cb60 29 29 29 2e 22 0a 20 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 2d 64 6f 74 69 6d 65 73 20 6e )))."...(lambda.(x).(--dotimes.n
1cb80 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 29 0a 0a 28 .(setq.x.(funcall.fn.x))).x))..(
1cba0 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 67 20 65 6e defun.-counter.(&optional.beg.en
1cbc0 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 68 61 74 20 d.inc)..."Return.a.closure.that.
1cbe0 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 20 69 6e 63 counts.from.BEG.to.END,.with.inc
1cc00 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 6c 20 72 65 rement.INC...The.closure.will.re
1cc20 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 6f 75 6e 74 turn.the.next.value.in.the.count
1cc40 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 20 63 61 6c ing.sequence.each.time.it.is.cal
1cc60 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 61 63 68 65 led,.and.nil.after.END.is.reache
1cc80 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 66 61 75 6c d..BEG.defaults.to.0,.INC.defaul
1cca0 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 74 68 65 20 ts.to.1,.and.if.END.is.nil,.the.
1ccc0 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 69 6e 69 74 counter.will.increment.indefinit
1cce0 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 79 20 6e 75 ely...The.closure.accepts.any.nu
1cd00 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 20 64 69 73 mber.of.arguments,.which.are.dis
1cd20 63 61 72 64 65 64 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 6e 63 20 28 6f 72 20 69 6e 63 20 31 29 carded."...(let.((inc.(or.inc.1)
1cd40 29 0a 20 20 20 20 20 20 20 20 28 6e 20 28 6f 72 20 62 65 67 20 30 29 29 29 0a 20 20 20 20 28 6c ).........(n.(or.beg.0))).....(l
1cd60 61 6d 62 64 61 20 28 26 72 65 73 74 20 5f 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 ambda.(&rest._).......(when.(or.
1cd80 28 6e 6f 74 20 65 6e 64 29 20 28 3c 20 6e 20 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 (not.end).(<.n.end)).........(pr
1cda0 6f 67 31 20 6e 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 20 28 2b 20 6e 20 69 6e 63 og1.n...........(setq.n.(+.n.inc
1cdc0 29 29 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 2d 66 69 78 66 6e 2d 6d 61 78 2d 69 74 65 72 )))))))..(defvar.-fixfn-max-iter
1cde0 61 74 69 6f 6e 73 20 31 30 30 30 0a 20 20 22 54 68 65 20 64 65 66 61 75 6c 74 20 6d 61 78 69 6d ations.1000..."The.default.maxim
1ce00 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 69 74 65 72 61 74 69 6f 6e 73 20 70 65 72 66 6f 72 6d 65 um.number.of.iterations.performe
1ce20 64 20 62 79 20 60 2d 66 69 78 66 6e 27 0a 20 20 75 6e 6c 65 73 73 20 6f 74 68 65 72 77 69 73 65 d.by.`-fixfn'...unless.otherwise
1ce40 20 73 70 65 63 69 66 69 65 64 2e 22 29 0a 0a 28 64 65 66 75 6e 20 2d 66 69 78 66 6e 20 28 66 6e .specified.")..(defun.-fixfn.(fn
1ce60 20 26 6f 70 74 69 6f 6e 61 6c 20 65 71 75 61 6c 2d 74 65 73 74 20 68 61 6c 74 2d 74 65 73 74 29 .&optional.equal-test.halt-test)
1ce80 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 6f 6d 70 75 ..."Return.a.function.that.compu
1cea0 74 65 73 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 2e 0a tes.the.(least).fixpoint.of.FN..
1cec0 0a 46 4e 20 6d 75 73 74 20 62 65 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 20 54 68 .FN.must.be.a.unary.function..Th
1cee0 65 20 72 65 74 75 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 e.returned.lambda.takes.a.single
1cf00 0a 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 .argument,.X,.the.initial.value.
1cf20 66 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 54 68 65 0a for.the.fixpoint.iteration..The.
1cf40 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 20 6f 66 20 74 iteration.halts.when.either.of.t
1cf60 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 20 73 61 74 69 73 he.following.conditions.is.satis
1cf80 66 69 65 64 3a 0a 0a 20 31 2e 20 49 74 65 72 61 74 69 6f 6e 20 63 6f 6e 76 65 72 67 65 73 20 74 fied:...1..Iteration.converges.t
1cfa0 6f 20 74 68 65 20 66 69 78 70 6f 69 6e 74 2c 20 77 69 74 68 20 65 71 75 61 6c 69 74 79 20 62 65 o.the.fixpoint,.with.equality.be
1cfc0 69 6e 67 0a 20 20 20 20 74 65 73 74 65 64 20 75 73 69 6e 67 20 45 51 55 41 4c 2d 54 45 53 54 2e ing.....tested.using.EQUAL-TEST.
1cfe0 20 49 66 20 45 51 55 41 4c 2d 54 45 53 54 20 69 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 2c .If.EQUAL-TEST.is.not.specified,
1d000 0a 20 20 20 20 60 65 71 75 61 6c 27 20 69 73 20 75 73 65 64 2e 20 46 6f 72 20 66 75 6e 63 74 69 .....`equal'.is.used..For.functi
1d020 6f 6e 73 20 6f 76 65 72 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 0a 20 20 20 20 ons.over.the.floating.point.....
1d040 6e 75 6d 62 65 72 73 2c 20 69 74 20 6d 61 79 20 62 65 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 numbers,.it.may.be.necessary.to.
1d060 70 72 6f 76 69 64 65 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 0a 20 20 20 20 61 70 70 72 6f provide.an.appropriate.....appro
1d080 78 69 6d 61 74 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 74 65 73 74 2e 0a 0a 20 32 2e 20 48 41 4c ximate.comparison.test....2..HAL
1d0a0 54 2d 54 45 53 54 20 72 65 74 75 72 6e 73 20 61 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75 65 2e 20 T-TEST.returns.a.non-nil.value..
1d0c0 48 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 73 69 6d 70 HALT-TEST.defaults.to.a.....simp
1d0e0 6c 65 20 63 6f 75 6e 74 65 72 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 20 61 66 74 65 72 20 le.counter.that.returns.t.after.
1d100 60 2d 66 69 78 66 6e 2d 6d 61 78 2d 69 74 65 72 61 74 69 6f 6e 73 27 2c 0a 20 20 20 20 74 6f 20 `-fixfn-max-iterations',.....to.
1d120 67 75 61 72 64 20 61 67 61 69 6e 73 74 20 69 6e 66 69 6e 69 74 65 20 69 74 65 72 61 74 69 6f 6e guard.against.infinite.iteration
1d140 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 48 41 4c 54 2d 54 45 53 54 0a 20 20 20 20 6d 75 73 74 20 ..Otherwise,.HALT-TEST.....must.
1d160 62 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 63 63 65 70 74 73 20 61 20 73 69 6e be.a.function.that.accepts.a.sin
1d180 67 6c 65 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 0a 20 20 20 20 63 75 72 72 65 6e 74 20 76 61 gle.argument,.the.....current.va
1d1a0 6c 75 65 20 6f 66 20 58 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 61 73 lue.of.X,.and.returns.non-nil.as
1d1c0 20 6c 6f 6e 67 20 61 73 20 69 74 65 72 61 74 69 6f 6e 0a 20 20 20 20 73 68 6f 75 6c 64 20 63 6f .long.as.iteration.....should.co
1d1e0 6e 74 69 6e 75 65 2e 20 49 6e 20 74 68 69 73 20 77 61 79 2c 20 61 20 6d 6f 72 65 20 73 6f 70 68 ntinue..In.this.way,.a.more.soph
1d200 69 73 74 69 63 61 74 65 64 0a 20 20 20 20 63 6f 6e 76 65 72 67 65 6e 63 65 20 74 65 73 74 20 6d isticated.....convergence.test.m
1d220 61 79 20 62 65 20 73 75 70 70 6c 69 65 64 20 62 79 20 74 68 65 20 63 61 6c 6c 65 72 2e 0a 0a 54 ay.be.supplied.by.the.caller...T
1d240 68 65 20 72 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 he.return.value.of.the.lambda.is
1d260 20 65 69 74 68 65 72 20 74 68 65 20 66 69 78 70 6f 69 6e 74 20 6f 72 2c 20 69 66 0a 69 74 65 72 .either.the.fixpoint.or,.if.iter
1d280 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 20 ation.halted.before.converging,.
1d2a0 61 20 63 6f 6e 73 20 77 69 74 68 20 63 61 72 20 60 68 61 6c 74 65 64 27 20 61 6e 64 0a 63 64 72 a.cons.with.car.`halted'.and.cdr
1d2c0 20 74 68 65 20 66 69 6e 61 6c 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 48 41 4c 54 2d 54 45 53 54 .the.final.output.from.HALT-TEST
1d2e0 2e 0a 0a 49 6e 20 74 79 70 65 73 3a 20 28 61 20 2d 3e 20 61 29 20 2d 3e 20 61 20 2d 3e 20 61 2e ...In.types:.(a.->.a).->.a.->.a.
1d300 22 0a 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 "...(let.((eqfn...(or.equal-test
1d320 20 27 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 .'equal)).........(haltfn.(or.ha
1d340 6c 74 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 lt-test.....................(-no
1d360 74 0a 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 t......................(-counter
1d380 20 30 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 .0.-fixfn-max-iterations)))))...
1d3a0 20 20 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 ..(lambda.(x).......(let.((re.(f
1d3c0 75 6e 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 uncall.fn.x)).............(halt?
1d3e0 20 28 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 .(funcall.haltfn.x))).........(w
1d400 68 69 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 hile.(and.(not.halt?).(not.(func
1d420 61 6c 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 all.eqfn.x.re)))...........(setq
1d440 20 78 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 .x.....re.................re....
1d460 28 66 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 (funcall.fn.re).................
1d480 68 61 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 halt?.(funcall.haltfn.re))).....
1d4a0 20 20 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 ....(if.halt?.(cons.'halted.halt
1d4c0 3f 29 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 ?)...........re)))))..(defun.-pr
1d4e0 6f 64 66 6e 20 28 26 72 65 73 74 20 66 6e 73 29 0a 20 20 22 54 61 6b 65 20 61 20 6c 69 73 74 20 odfn.(&rest.fns)..."Take.a.list.
1d500 6f 66 20 6e 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 66 75 6e 63 of.n.functions.and.return.a.func
1d520 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 0a 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 tion.that.takes.a.list.of.length
1d540 20 6e 2c 20 61 70 70 6c 79 69 6e 67 20 69 2d 74 68 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 69 2d .n,.applying.i-th.function.to.i-
1d560 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 0a 69 6e 70 75 74 20 6c 69 73 74 2e 20 20 52 th.element.of.the.input.list...R
1d580 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 6e 2e 0a 0a 49 6e 20 74 eturns.a.list.of.length.n...In.t
1d5a0 79 70 65 73 20 28 66 6f 72 20 6e 3d 32 29 3a 20 28 28 61 20 2d 3e 20 62 29 2c 20 28 63 20 2d 3e ypes.(for.n=2):.((a.->.b),.(c.->
1d5c0 20 64 29 29 20 2d 3e 20 28 61 2c 20 63 29 20 2d 3e 20 28 62 2c 20 64 29 0a 0a 54 68 69 73 20 66 .d)).->.(a,.c).->.(b,.d)..This.f
1d5e0 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 6e 67 20 unction.satisfies.the.following.
1d600 6c 61 77 73 3a 0a 0a 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 laws:....(-compose.(-prodfn.f.g.
1d620 2e 2e 2e 29 20 28 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 20 ...).(-prodfn.f\\='.g\\='....)).
1d640 3d 20 28 2d 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 20 28 2d =.(-prodfn.(-compose.f.f\\=').(-
1d660 63 6f 6d 70 6f 73 65 20 67 20 67 5c 5c 3d 27 29 20 2e 2e 2e 29 0a 20 20 28 2d 70 72 6f 64 66 6e compose.g.g\\=')....)...(-prodfn
1d680 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 65 20 66 20 28 .f.g....).=.(-juxt.(-compose.f.(
1d6a0 2d 70 61 72 74 69 61 6c 20 5c 5c 3d 27 6e 74 68 20 30 29 29 20 28 2d 63 6f 6d 70 6f 73 65 20 67 -partial.\\='nth.0)).(-compose.g
1d6c0 20 28 2d 70 61 72 74 69 61 6c 20 5c 5c 3d 27 6e 74 68 20 31 29 29 20 2e 2e 2e 29 0a 20 20 28 2d .(-partial.\\='nth.1))....)...(-
1d6e0 63 6f 6d 70 6f 73 65 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 2e 2e 2e 29 20 28 2d 6a 75 78 74 compose.(-prodfn.f.g....).(-juxt
1d700 20 66 5c 5c 3d 27 20 67 5c 5c 3d 27 20 2e 2e 2e 29 29 20 3d 20 28 2d 6a 75 78 74 20 28 2d 63 6f .f\\='.g\\='....)).=.(-juxt.(-co
1d720 6d 70 6f 73 65 20 66 20 66 5c 5c 3d 27 29 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 67 5c 5c 3d 27 mpose.f.f\\=').(-compose.g.g\\='
1d740 29 20 2e 2e 2e 29 0a 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 61 72 74 69 61 6c 20 5c 5c 3d )....)...(-compose.(-partial.\\=
1d760 27 6e 74 68 20 6e 29 20 28 2d 70 72 6f 64 20 66 31 20 66 32 20 2e 2e 2e 29 29 20 3d 20 28 2d 63 'nth.n).(-prod.f1.f2....)).=.(-c
1d780 6f 6d 70 6f 73 65 20 66 6e 20 28 2d 70 61 72 74 69 61 6c 20 5c 5c 3d 27 6e 74 68 20 6e 29 29 22 ompose.fn.(-partial.\\='nth.n))"
1d7a0 0a 20 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 7a 69 70 2d 77 69 74 68 20 27 66 75 6e 63 61 ...(lambda.(x).(-zip-with.'funca
1d7c0 6c 6c 20 66 6e 73 20 78 29 29 29 0a 0c 0a 3b 3b 3b 20 46 6f 6e 74 20 6c 6f 63 6b 0a 0a 28 64 65 ll.fns.x)))...;;;.Font.lock..(de
1d7e0 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 20 54 4f 44 4f 3a fvar.dash--keywords...`(;;.TODO:
1d800 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 69 6e 67 20 61 75 .Do.not.fontify.the.following.au
1d820 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 6c 6f 62 61 6c 6c tomatic.variables.....;;.globall
1d840 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 69 72 20 6c 6f 63 y;.detect.and.limit.to.their.loc
1d860 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 28 72 78 20 73 79 al.anaphoric.scope......(,(rx.sy
1d880 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 69 74 2d 69 6e 64 mbol-start.(|."acc"."it"."it-ind
1d8a0 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 20 20 20 20 30 20 ex"."other").symbol-end)......0.
1d8c0 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 63 65 29 0a 20 20 font-lock-variable-name-face)...
1d8e0 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 73 2e 65 6c 2e 20 ..;;.Macros.in.dev/examples.el..
1d900 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 6c 2d 72 65 67 65 .Based.on.`lisp-mode-symbol-rege
1d920 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 28 7c 20 22 64 65 xp'......(,(rx.?\(.(group.(|."de
1d940 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 6f 75 70 22 29 29 fexamples"."def-example-group"))
1d960 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 69 6e 20 22 5c 74 .symbol-end...........(+.(in."\t
1d980 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 7c 20 28 73 79 6e ."))...........(group.(*.(|.(syn
1d9a0 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 28 3a 20 3f 5c 5c tax.word).(syntax.symbol).(:.?\\
1d9c0 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 63 6b 2d 6b 65 79 .nonl)))))......(1.font-lock-key
1d9e0 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 63 6b 2d 66 75 6e word-face)......(2.font-lock-fun
1da00 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 79 6d 62 6f 6c 73 ction-name-face)).....;;.Symbols
1da20 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 28 72 78 20 73 79 .in.dev/examples.el......,(rx.sy
1da40 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 21 3e 22 29 20 73 mbol-start.(|."=>"."~>"."!!>").s
1da60 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 63 72 6f 20 66 6f ymbol-end).....;;.Elisp.macro.fo
1da80 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 6f 72 20 74 6f 20 ntification.was.static.prior.to.
1daa0 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 6d 61 63 73 2d 6d Emacs.25......,@(when.(<.emacs-m
1dac0 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 6c 65 74 20 28 28 ajor-version.25).........(let.((
1dae0 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 20 20 20 20 20 20 macs.'("!cdr"...................
1db00 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 20 20 20 20 20 20 ...."!cons".....................
1db20 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 20 20 20 20 22 2d .."-->"......................."-
1db40 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 20 20 20 22 2d 2d -all?"......................."--
1db60 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 20 20 20 20 20 20 annotate".......................
1db80 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 20 20 20 22 "--any?"......................."
1dba0 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 20 20 20 22 --count"......................."
1dbc0 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 20 20 20 20 --dotimes"......................
1dbe0 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 20 20 20 20 ."--doto".......................
1dc00 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 20 20 20 20 "--drop-while"..................
1dc20 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 20 20 20 20 ....."--each"...................
1dc40 20 20 20 20 22 2d 2d 65 61 63 68 2d 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."--each-r"..................
1dc60 20 20 20 20 20 22 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 22 0a 20 20 20 20 20 20 20 20 20 20 ....."--each-r-while"...........
1dc80 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 65 61 63 68 2d 77 68 69 6c 65 22 0a 20 20 20 20 20 ............"--each-while"......
1dca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 66 69 6c 74 65 72 22 0a 20 20 20 20 ................."--filter".....
1dcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 66 69 6e 64 2d 69 6e 64 65 78 22 .................."--find-index"
1dce0 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 66 69 6e 64 2d 69 ......................."--find-i
1dd00 6e 64 69 63 65 73 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 ndices"......................."-
1dd20 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -find-last-index"...............
1dd40 20 20 20 20 20 20 20 20 22 2d 2d 66 69 72 73 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........"--first"...............
1dd60 20 20 20 20 20 20 20 20 22 2d 2d 66 69 78 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........"--fix".................
1dd80 20 20 20 20 20 20 22 2d 2d 67 72 6f 75 70 2d 62 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"--group-by"..............
1dda0 20 20 20 20 20 20 20 20 20 22 2d 2d 69 66 2d 6c 65 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ........."--if-let".............
1ddc0 20 20 20 20 20 20 20 20 20 20 22 2d 2d 69 74 65 72 61 74 65 22 0a 20 20 20 20 20 20 20 20 20 20 .........."--iterate"...........
1dde0 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6b 65 65 70 22 0a 20 20 20 20 20 20 20 20 20 20 20 ............"--keep"............
1de00 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6c 61 73 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..........."--last".............
1de20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6d 61 70 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........."--map"...............
1de40 20 20 20 20 20 20 20 20 22 2d 2d 6d 61 70 2d 66 69 72 73 74 22 0a 20 20 20 20 20 20 20 20 20 20 ........"--map-first"...........
1de60 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 22 0a 20 20 20 20 ............"--map-indexed".....
1de80 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 6c 61 73 74 22 0a 20 .................."--map-last"..
1dea0 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 77 68 65 6e ....................."--map-when
1dec0 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 63 61 "......................."--mapca
1dee0 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 78 2d t"......................."--max-
1df00 62 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 6d 69 6e by"......................."--min
1df20 2d 62 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 6e 6f -by"......................."--no
1df40 6e 65 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 2d 2d 6f 6e ne?"......................."--on
1df60 6c 79 2d 73 6f 6d 65 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 ly-some?".......................
1df80 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 20 20 20 "--partition-by"................
1dfa0 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 22 0a 20 ......."--partition-by-header"..
1dfc0 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 65 22 0a ....................."--reduce".
1dfe0 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 65 2d ......................"--reduce-
1e000 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 72 from"......................."--r
1e020 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 20 20 22 educe-r"......................."
1e040 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 20 20 20 --reduce-r-from"................
1e060 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 20 20 20 ......."--reductions"...........
1e080 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 6d 22 0a ............"--reductions-from".
1e0a0 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 74 69 ......................"--reducti
1e0c0 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 22 2d 2d ons-r"......................."--
1e0e0 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 20 20 20 reductions-r-from"..............
1e100 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 6d 6f 76 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ........."--remove".............
1e120 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 22 0a 20 20 20 20 20 .........."--remove-first"......
1e140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 22 ................."--remove-last"
1e160 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 65 70 61 72 61 ......................."--separa
1e180 74 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 73 6f 6d te"......................."--som
1e1a0 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 73 6f 72 74 e"......................."--sort
1e1c0 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 69 63 "......................."--splic
1e1e0 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 73 70 6c 69 e"......................."--spli
1e200 63 65 2d 6c 69 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 ce-list"......................."
1e220 2d 2d 73 70 6c 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 --split-when"...................
1e240 20 20 20 20 22 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 ...."--split-with"..............
1e260 20 20 20 20 20 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 ........."--take-while".........
1e280 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 22 0a 20 20 20 20 20 .............."--tree-map"......
1e2a0 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 2d 6e 6f 64 ................."--tree-map-nod
1e2c0 65 73 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 74 72 65 es"......................."--tre
1e2e0 65 2d 6d 61 70 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 e-mapreduce"....................
1e300 20 20 20 22 2d 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 ..."--tree-mapreduce-from"......
1e320 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 22 ................."--tree-reduce"
1e340 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 74 72 65 65 2d 72 ......................."--tree-r
1e360 65 64 75 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 educe-from".....................
1e380 20 20 22 2d 2d 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 .."--tree-seq"..................
1e3a0 20 20 20 20 20 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 ....."--unfold".................
1e3c0 20 20 20 20 20 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 ......"--update-at".............
1e3e0 20 20 20 20 20 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 .........."--when-let"..........
1e400 20 20 20 20 20 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 ............."--zip-with".......
1e420 20 20 20 20 20 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 ................"->"............
1e440 20 20 20 20 20 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 ..........."->>"................
1e460 20 20 20 20 20 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 ......."-as->"..................
1e480 20 20 20 20 20 22 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 20 ....."-doto"....................
1e4a0 20 20 20 22 2d 69 66 2d 6c 65 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."-if-let"....................
1e4c0 20 20 20 22 2d 69 66 2d 6c 65 74 2a 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."-if-let*"...................
1e4e0 20 20 20 20 22 2d 6c 61 6d 62 64 61 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."-lambda"...................
1e500 20 20 20 20 22 2d 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 ...."-let"......................
1e520 20 22 2d 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 ."-let*"......................."
1e540 2d 73 65 74 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 22 2d 73 -setq"......................."-s
1e560 6f 6d 65 2d 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 22 2d ome-->"......................."-
1e580 73 6f 6d 65 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 22 2d some->"......................."-
1e5a0 73 6f 6d 65 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 20 20 22 some->>"......................."
1e5c0 2d 73 70 6c 69 74 2d 6f 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -split-on"......................
1e5e0 20 22 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 20 20 20 20 20 ."-when-let"....................
1e600 20 20 20 22 2d 77 68 65 6e 2d 6c 65 74 2a 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 60 28 28 ..."-when-let*")))...........`((
1e620 2c 28 63 6f 6e 63 61 74 20 22 28 22 20 28 72 65 67 65 78 70 2d 6f 70 74 20 6d 61 63 73 20 27 73 ,(concat."(".(regexp-opt.macs.'s
1e640 79 6d 62 6f 6c 73 29 29 20 2e 20 31 29 29 29 29 29 0a 20 20 22 46 6f 6e 74 20 6c 6f 63 6b 20 6b ymbols))...1)))))..."Font.lock.k
1e660 65 79 77 6f 72 64 73 20 66 6f 72 20 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 27 2e eywords.for.`dash-fontify-mode'.
1e680 22 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 ")..(defcustom.dash-fontify-mode
1e6a0 2d 6c 69 67 68 74 65 72 20 6e 69 6c 0a 20 20 22 4d 6f 64 65 20 6c 69 6e 65 20 6c 69 67 68 74 65 -lighter.nil..."Mode.line.lighte
1e6c0 72 20 66 6f 72 20 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 27 2e 0a 45 69 74 68 65 r.for.`dash-fontify-mode'..Eithe
1e6e0 72 20 61 20 73 74 72 69 6e 67 20 74 6f 20 64 69 73 70 6c 61 79 20 69 6e 20 74 68 65 20 6d 6f 64 r.a.string.to.display.in.the.mod
1e700 65 20 6c 69 6e 65 20 77 68 65 6e 0a 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 27 20 e.line.when.`dash-fontify-mode'.
1e720 69 73 20 6f 6e 2c 20 6f 72 20 6e 69 6c 20 74 6f 20 64 69 73 70 6c 61 79 0a 6e 6f 74 68 69 6e 67 is.on,.or.nil.to.display.nothing
1e740 20 28 74 68 65 20 64 65 66 61 75 6c 74 29 2e 22 0a 20 20 3a 70 61 63 6b 61 67 65 2d 76 65 72 73 .(the.default)."...:package-vers
1e760 69 6f 6e 20 27 28 64 61 73 68 20 2e 20 22 32 2e 31 38 2e 30 22 29 0a 20 20 3a 67 72 6f 75 70 20 ion.'(dash..."2.18.0")...:group.
1e780 27 64 61 73 68 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 28 73 74 72 69 6e 67 20 3a 'dash...:type.'(choice.(string.:
1e7a0 74 61 67 20 22 4c 69 67 68 74 65 72 22 20 3a 76 61 6c 75 65 20 22 20 44 61 73 68 22 29 0a 20 20 tag."Lighter".:value.".Dash")...
1e7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 4e 6f 74 68 ...............(const.:tag."Noth
1e7e0 69 6e 67 22 20 6e 69 6c 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 ing".nil)))..;;;###autoload.(def
1e800 69 6e 65 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 20 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 ine-minor-mode.dash-fontify-mode
1e820 0a 20 20 22 54 6f 67 67 6c 65 20 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 44 61 73 68 ..."Toggle.fontification.of.Dash
1e840 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 2e 0a 0a 44 61 73 68 2d 46 6f 6e 74 69 66 .special.variables...Dash-Fontif
1e860 79 20 6d 6f 64 65 20 69 73 20 61 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 6d 69 6e 6f 72 20 6d y.mode.is.a.buffer-local.minor.m
1e880 6f 64 65 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 45 6d 61 63 73 0a 4c 69 73 70 20 62 75 66 66 ode.intended.for.Emacs.Lisp.buff
1e8a0 65 72 73 2e 20 20 45 6e 61 62 6c 69 6e 67 20 69 74 20 63 61 75 73 65 73 20 74 68 65 20 73 70 65 ers...Enabling.it.causes.the.spe
1e8c0 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 20 62 6f 75 6e 64 20 69 6e 0a 61 6e 61 70 68 6f 72 69 cial.variables.bound.in.anaphori
1e8e0 63 20 44 61 73 68 20 6d 61 63 72 6f 73 20 74 6f 20 62 65 20 66 6f 6e 74 69 66 69 65 64 2e 20 20 c.Dash.macros.to.be.fontified...
1e900 54 68 65 73 65 20 61 6e 61 70 68 6f 72 61 73 20 69 6e 63 6c 75 64 65 0a 60 69 74 27 2c 20 60 69 These.anaphoras.include.`it',.`i
1e920 74 2d 69 6e 64 65 78 27 2c 20 60 61 63 63 27 2c 20 61 6e 64 20 60 6f 74 68 65 72 27 2e 20 20 49 t-index',.`acc',.and.`other'...I
1e940 6e 20 6f 6c 64 65 72 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 0a 77 68 69 63 68 20 64 6f 20 n.older.Emacs.versions.which.do.
1e960 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 63 72 6f 73 2c 20 44 not.dynamically.detect.macros,.D
1e980 61 73 68 2d 46 6f 6e 74 69 66 79 20 6d 6f 64 65 0a 61 64 64 69 74 69 6f 6e 61 6c 6c 79 20 66 6f ash-Fontify.mode.additionally.fo
1e9a0 6e 74 69 66 69 65 73 20 44 61 73 68 20 6d 61 63 72 6f 20 63 61 6c 6c 73 2e 0a 0a 53 65 65 20 61 ntifies.Dash.macro.calls...See.a
1e9c0 6c 73 6f 20 60 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 27 20 lso.`dash-fontify-mode-lighter'.
1e9e0 61 6e 64 0a 60 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 27 2e 22 and.`global-dash-fontify-mode'."
1ea00 0a 20 20 3a 67 72 6f 75 70 20 27 64 61 73 68 20 3a 6c 69 67 68 74 65 72 20 64 61 73 68 2d 66 6f ...:group.'dash.:lighter.dash-fo
1ea20 6e 74 69 66 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 ntify-mode-lighter...(if.dash-fo
1ea40 6e 74 69 66 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 ntify-mode.......(font-lock-add-
1ea60 6b 65 79 77 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 keywords.nil.dash--keywords.t)..
1ea80 20 20 20 28 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 ...(font-lock-remove-keywords.ni
1eaa0 6c 20 64 61 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 l.dash--keywords))...(cond.((fbo
1eac0 75 6e 64 70 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 undp.'font-lock-flush).;;.Added.
1eae0 69 6e 20 45 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 in.Emacs.25...........(font-lock
1eb00 2d 66 6c 75 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 -flush)).........;;.`font-lock-f
1eb20 6f 6e 74 69 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 ontify-buffer'.unconditionally.e
1eb40 6e 61 62 6c 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 nables.........;;.`font-lock-mod
1eb60 65 27 20 61 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 e'.and.is.marked.`interactive-on
1eb80 6c 79 27 20 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 ly'.in.later.........;;.Emacs.ve
1eba0 72 73 69 6f 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 rsions.which.have.`font-lock-flu
1ebc0 73 68 27 2c 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 sh',.so.we.guard.........;;.and.
1ebe0 70 61 63 69 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 pacify.as.needed,.respectively..
1ec00 20 20 20 20 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 ........(font-lock-mode.........
1ec20 20 28 77 69 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 .(with-no-warnings............(f
1ec40 6f 6e 74 2d 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 ont-lock-fontify-buffer)))))..(d
1ec60 65 66 75 6e 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 efun.dash--turn-on-fontify-mode.
1ec80 28 29 0a 20 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 ()..."Enable.`dash-fontify-mode'
1eca0 20 69 66 20 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 .if.in.an.Emacs.Lisp.buffer."...
1ecc0 28 77 68 65 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 (when.(derived-mode-p.#'emacs-li
1ece0 73 70 2d 6d 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 sp-mode).....(dash-fontify-mode)
1ed00 29 29 0a 0a 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 ))..;;;###autoload.(define-globa
1ed20 6c 69 7a 65 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 lized-minor-mode.global-dash-fon
1ed40 74 69 66 79 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 tify-mode...dash-fontify-mode.da
1ed60 73 68 2d 2d 74 75 72 6e 2d 6f 6e 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 0a 20 20 3a 67 72 6f 75 sh--turn-on-fontify-mode...:grou
1ed80 70 20 27 64 61 73 68 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 61 73 68 2d 65 6e 61 62 6c 65 p.'dash)..(defcustom.dash-enable
1eda0 2d 66 6f 6e 74 6c 6f 63 6b 20 6e 69 6c 0a 20 20 22 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 66 6f 6e -fontlock.nil..."If.non-nil,.fon
1edc0 74 69 66 79 20 44 61 73 68 20 6d 61 63 72 6f 20 63 61 6c 6c 73 20 61 6e 64 20 73 70 65 63 69 61 tify.Dash.macro.calls.and.specia
1ede0 6c 20 76 61 72 69 61 62 6c 65 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 64 61 73 68 0a 20 20 3a l.variables."...:group.'dash...:
1ee00 73 65 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 set.(lambda.(sym.val)..........(
1ee20 73 65 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 set-default.sym.val)..........(g
1ee40 6c 6f 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 lobal-dash-fontify-mode.(if.val.
1ee60 31 20 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 1.0)))...:type.'boolean)..(make-
1ee80 6f 62 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 obsolete-variable..'dash-enable-
1eea0 66 6f 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 fontlock.#'global-dash-fontify-m
1eec0 6f 64 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 ode."2.18.0")..(define-obsolete-
1eee0 66 75 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 function-alias...'dash-enable-fo
1ef00 6e 74 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 nt-lock.#'global-dash-fontify-mo
1ef20 64 65 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 de."2.18.0")...;;;.Info..(defvar
1ef40 20 64 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 .dash--info-doc-spec.'("(dash).I
1ef60 6e 64 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 ndex".nil."^.-+..*:."."\\(.\\|$\
1ef80 5c 29 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 \)")..."The.Dash.:doc-spec.entry
1efa0 20 66 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 .for.`info-lookup-alist'..It.is.
1efc0 62 61 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 based.on.that.for.`emacs-lisp-mo
1efe0 64 65 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 de'.")..(defun.dash--info-elisp-
1f000 64 6f 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 docs.()..."Return.the.`emacs-lis
1f020 70 2d 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 p-mode'.symbol.docs.from.`info-l
1f040 6f 6f 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 ookup-alist'..Specifically,.retu
1f060 72 6e 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 rn.the.cons.containing.their.`in
1f080 66 6f 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 fo-lookup->doc-spec'.so.that.we.
1f0a0 63 61 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 can.modify.it."...(defvar.info-l
1f0c0 6f 6f 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 ookup-alist)...(nthcdr.3.(assq.#
1f0e0 27 65 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 'emacs-lisp-mode.(cdr.(assq.'sym
1f100 62 6f 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 bol.info-lookup-alist)))))..;;;#
1f120 23 23 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 ##autoload.(defun.dash-register-
1f140 69 6e 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 info-lookup.()..."Register.the.D
1f160 61 73 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 ash.Info.manual.with.`info-looku
1f180 70 2d 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 p-symbol'..This.allows.Dash.symb
1f1a0 6f 6c 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 ols.to.be.looked.up.with.\\[info
1f1c0 2d 6c 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 -lookup-symbol]."...(interactive
1f1e0 29 0a 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 )...(require.'info-look)...(let.
1f200 28 28 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 ((docs.(dash--info-elisp-docs)))
1f220 0a 20 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 .....(setcar.docs.(append.(car.d
1f240 6f 63 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 ocs).(list.dash--info-doc-spec))
1f260 29 0a 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 ).....(info-lookup-reset)))..(de
1f280 66 75 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 fun.dash-unload-function.()..."R
1f2a0 65 6d 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 emove.Dash.from.`info-lookup-ali
1f2c0 73 74 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 st'..Used.by.`unload-feature',.w
1f2e0 68 69 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 hich.see."...(let.((docs.(and.(f
1f300 65 61 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 eaturep.'info-look).............
1f320 20 20 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 .......(dash--info-elisp-docs)))
1f340 29 0a 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 ).....(when.(member.dash--info-d
1f360 6f 63 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 oc-spec.(car.docs)).......(setca
1f380 72 20 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 r.docs.(remove.dash--info-doc-sp
1f3a0 65 63 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 ec.(car.docs))).......(info-look
1f3c0 75 70 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 up-reset)))...nil)..(provide.'da
1f3e0 73 68 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 sh).;;;.dash.el.ends.here.......
1f400 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 61 73 68 2d 70 6b 67 2e 65 6c 00 00 00 00 00 00 00 00 00 dash-2.19.1/dash-pkg.el.........
1f420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f460 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
1f480 30 30 30 30 36 30 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 32 30 30 00 20 30 00 00 00 0000602.00000000000.013200..0...
1f4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f500 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...................
1f520 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...................
1f540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f600 3b 3b 20 47 65 6e 65 72 61 74 65 64 20 70 61 63 6b 61 67 65 20 64 65 73 63 72 69 70 74 69 6f 6e ;;.Generated.package.description
1f620 20 66 72 6f 6d 20 64 61 73 68 2e 65 6c 20 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 .from.dash.el..-*-.no-byte-compi
1f640 6c 65 3a 20 74 20 2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 22 64 61 73 68 22 le:.t.-*-.(define-package."dash"
1f660 20 22 32 2e 31 39 2e 31 22 20 22 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 62 72 61 72 79 ."2.19.1"."A.modern.list.library
1f680 20 66 6f 72 20 45 6d 61 63 73 22 20 27 28 28 65 6d 61 63 73 20 22 32 34 22 29 29 20 3a 63 6f 6d .for.Emacs".'((emacs."24")).:com
1f6a0 6d 69 74 20 22 33 39 64 30 36 37 62 39 66 62 62 32 64 62 36 35 66 63 37 61 36 39 33 38 62 66 62 mit."39d067b9fbb2db65fc7a6938bfb
1f6c0 32 31 34 38 39 61 64 39 39 30 63 62 34 22 20 3a 61 75 74 68 6f 72 73 20 27 28 28 22 4d 61 67 6e 21489ad990cb4".:authors.'(("Magn
1f6e0 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 22 29 ar.Sveen"..."magnars@gmail.com")
1f700 29 20 3a 6d 61 69 6e 74 61 69 6e 65 72 20 27 28 22 4d 61 67 6e 61 72 20 53 76 65 65 6e 22 20 2e ).:maintainer.'("Magnar.Sveen"..
1f720 20 22 6d 61 67 6e 61 72 73 40 67 6d 61 69 6c 2e 63 6f 6d 22 29 20 3a 6b 65 79 77 6f 72 64 73 20 ."magnars@gmail.com").:keywords.
1f740 27 28 22 65 78 74 65 6e 73 69 6f 6e 73 22 20 22 6c 69 73 70 22 29 20 3a 75 72 6c 20 22 68 74 74 '("extensions"."lisp").:url."htt
1f760 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 61 73 68 2e 65 6c 22 ps://github.com/magnars/dash.el"
1f780 29 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 00 )...............................
1f7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f800 64 61 73 68 2d 32 2e 31 39 2e 31 2f 4d 61 6b 65 66 69 6c 65 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/Makefile............
1f820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f860 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
1f880 30 30 30 33 37 36 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 36 33 32 00 20 30 00 00 00 0003762.00000000000.012632..0...
1f8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f900 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...................
1f920 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...................
1f940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa00 23 20 4d 61 6b 65 66 69 6c 65 20 66 6f 72 20 44 61 73 68 2e 0a 0a 23 20 43 6f 70 79 72 69 67 68 #.Makefile.for.Dash...#.Copyrigh
1fa20 74 20 28 43 29 20 32 30 32 31 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 t.(C).2021.Free.Software.Foundat
1fa40 69 6f 6e 2c 20 49 6e 63 2e 0a 23 0a 23 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 ion,.Inc..#.#.This.program.is.fr
1fa60 65 65 20 73 6f 66 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 ee.software:.you.can.redistribut
1fa80 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 69 74 20 75 6e 64 65 72 20 74 68 e.it.and/or.modify.#.it.under.th
1faa0 65 20 74 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 e.terms.of.the.GNU.General.Publi
1fac0 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 74 68 65 20 c.License.as.published.by.#.the.
1fae0 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
1fb00 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 0a 23 20 .version.3.of.the.License,.or.#.
1fb20 28 61 74 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 72 73 69 (at.your.option).any.later.versi
1fb40 6f 6e 2e 0a 23 0a 23 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 on..#.#.This.program.is.distribu
1fb60 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 6c 20 62 65 20 ted.in.the.hope.that.it.will.be.
1fb80 75 73 65 66 75 6c 2c 0a 23 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e useful,.#.but.WITHOUT.ANY.WARRAN
1fba0 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 TY;.without.even.the.implied.war
1fbc0 72 61 6e 74 79 20 6f 66 0a 23 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 ranty.of.#.MERCHANTABILITY.or.FI
1fbe0 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 TNESS.FOR.A.PARTICULAR.PURPOSE..
1fc00 20 53 65 65 20 74 68 65 0a 23 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 .See.the.#.GNU.General.Public.Li
1fc20 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20 59 6f 75 20 cense.for.more.details..#.#.You.
1fc40 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 should.have.received.a.copy.of.t
1fc60 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 0a 23 20 he.GNU.General.Public.License.#.
1fc80 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 along.with.this.program...If.not
1fca0 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e ,.see.<https://www.gnu.org/licen
1fcc0 73 65 73 2f 3e 2e 0a 0a 23 20 56 61 72 69 61 62 6c 65 73 2e 0a 0a 45 4d 41 43 53 20 3f 3d 20 65 ses/>...#.Variables...EMACS.?=.e
1fce0 6d 61 63 73 0a 62 61 74 63 68 20 3a 3d 20 24 28 45 4d 41 43 53 29 20 2d 51 20 2d 62 61 74 63 68 macs.batch.:=.$(EMACS).-Q.-batch
1fd00 20 2d 4c 20 2e 0a 65 6c 73 20 3a 3d 20 64 61 73 68 2e 65 6c 20 64 65 76 2f 64 61 73 68 2d 64 65 .-L...els.:=.dash.el.dev/dash-de
1fd20 66 73 2e 65 6c 0a 65 6c 63 73 20 3a 3d 20 24 28 61 64 64 73 75 66 66 69 78 20 63 2c 24 28 65 6c fs.el.elcs.:=.$(addsuffix.c,$(el
1fd40 73 29 29 0a 64 6f 63 73 20 3a 3d 20 52 45 41 44 4d 45 2e 6d 64 20 64 61 73 68 2e 74 65 78 69 0a s)).docs.:=.README.md.dash.texi.
1fd60 74 6d 70 6c 73 20 3a 3d 20 72 65 61 64 6d 65 2d 74 65 6d 70 6c 61 74 65 2e 6d 64 20 64 61 73 68 tmpls.:=.readme-template.md.dash
1fd80 2d 74 65 6d 70 6c 61 74 65 2e 74 65 78 69 20 24 28 77 69 6c 64 63 61 72 64 20 64 6f 63 2f 2a 2e -template.texi.$(wildcard.doc/*.
1fda0 74 65 78 69 29 0a 0a 23 20 54 61 72 67 65 74 73 2e 0a 0a 6c 69 73 70 3a 20 24 28 65 6c 63 73 29 texi)..#.Targets...lisp:.$(elcs)
1fdc0 0a 2e 50 48 4f 4e 59 3a 20 6c 69 73 70 0a 0a 64 6f 63 73 3a 20 24 28 64 6f 63 73 29 0a 2e 50 48 ..PHONY:.lisp..docs:.$(docs)..PH
1fde0 4f 4e 59 3a 20 64 6f 63 73 0a 0a 66 6f 72 63 65 2d 64 6f 63 73 3a 20 6d 61 69 6e 74 61 69 6e 65 ONY:.docs..force-docs:.maintaine
1fe00 72 2d 63 6c 65 61 6e 20 64 6f 63 73 0a 2e 50 48 4f 4e 59 3a 20 66 6f 72 63 65 2d 64 6f 63 73 0a r-clean.docs..PHONY:.force-docs.
1fe20 0a 23 20 45 52 54 5f 53 45 4c 45 43 54 4f 52 20 69 73 20 61 20 4c 69 73 70 20 65 78 70 72 65 73 .#.ERT_SELECTOR.is.a.Lisp.expres
1fe40 73 69 6f 6e 20 64 65 74 65 72 6d 69 6e 69 6e 67 20 77 68 69 63 68 20 74 65 73 74 73 20 74 6f 20 sion.determining.which.tests.to.
1fe60 72 75 6e 2e 0a 23 20 49 74 73 20 66 6f 72 6d 61 74 20 69 73 20 64 65 73 63 72 69 62 65 64 20 69 run..#.Its.format.is.described.i
1fe80 6e 20 28 69 6e 66 6f 20 22 28 65 72 74 29 20 54 65 73 74 20 53 65 6c 65 63 74 6f 72 73 22 29 2e n.(info."(ert).Test.Selectors").
1fea0 20 20 49 74 0a 23 20 64 65 66 61 75 6c 74 73 20 74 6f 20 73 65 6c 65 63 74 69 6e 67 20 61 6c 6c ..It.#.defaults.to.selecting.all
1fec0 20 74 65 73 74 73 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 69 6e 20 62 61 74 63 68 20 6d 6f 64 65 .tests...Note.that.in.batch.mode
1fee0 2c 20 61 20 6e 69 6c 0a 23 20 73 65 6c 65 63 74 6f 72 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 ,.a.nil.#.selector.is.the.same.a
1ff00 73 20 74 2e 0a 63 68 65 63 6b 3a 20 45 52 54 5f 53 45 4c 45 43 54 4f 52 20 3f 3d 20 74 0a 63 68 s.t..check:.ERT_SELECTOR.?=.t.ch
1ff20 65 63 6b 3a 20 72 75 6e 20 3a 3d 20 27 28 65 72 74 2d 72 75 6e 2d 74 65 73 74 73 2d 62 61 74 63 eck:.run.:=.'(ert-run-tests-batc
1ff40 68 2d 61 6e 64 2d 65 78 69 74 20 28 71 75 6f 74 65 20 24 28 45 52 54 5f 53 45 4c 45 43 54 4f 52 h-and-exit.(quote.$(ERT_SELECTOR
1ff60 29 29 29 27 0a 63 68 65 63 6b 3a 20 6c 69 73 70 0a 09 45 4d 41 43 53 5f 54 45 53 54 5f 56 45 52 )))'.check:.lisp..EMACS_TEST_VER
1ff80 42 4f 53 45 3d 20 24 28 62 61 74 63 68 29 20 2d 6c 20 64 65 76 2f 65 78 61 6d 70 6c 65 73 2e 65 BOSE=.$(batch).-l.dev/examples.e
1ffa0 6c 20 2d 65 76 61 6c 20 24 28 72 75 6e 29 0a 2e 50 48 4f 4e 59 3a 20 63 68 65 63 6b 0a 0a 61 6c l.-eval.$(run)..PHONY:.check..al
1ffc0 6c 3a 20 6c 69 73 70 20 64 6f 63 73 20 63 68 65 63 6b 0a 2e 50 48 4f 4e 59 3a 20 61 6c 6c 0a 0a l:.lisp.docs.check..PHONY:.all..
1ffe0 66 6f 72 63 65 2d 61 6c 6c 3a 20 6d 61 69 6e 74 61 69 6e 65 72 2d 63 6c 65 61 6e 20 6c 69 73 70 force-all:.maintainer-clean.lisp
20000 20 64 6f 63 73 20 63 68 65 63 6b 0a 2e 50 48 4f 4e 59 3a 20 66 6f 72 63 65 2d 61 6c 6c 0a 0a 63 .docs.check..PHONY:.force-all..c
20020 6c 65 61 6e 3a 0a 09 24 28 52 4d 29 20 24 28 65 6c 63 73 29 0a 2e 50 48 4f 4e 59 3a 20 63 6c 65 lean:..$(RM).$(elcs)..PHONY:.cle
20040 61 6e 0a 0a 6d 61 69 6e 74 61 69 6e 65 72 2d 63 6c 65 61 6e 3a 20 76 65 72 20 3a 3d 20 32 36 0a an..maintainer-clean:.ver.:=.26.
20060 6d 61 69 6e 74 61 69 6e 65 72 2d 63 6c 65 61 6e 3a 20 6d 73 67 20 3a 3d 20 44 6f 63 20 72 65 67 maintainer-clean:.msg.:=.Doc.reg
20080 65 6e 65 72 61 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20 24 28 76 65 72 29 2b 0a 6d 61 69 6e 74 eneration.requires.$(ver)+.maint
200a0 61 69 6e 65 72 2d 63 6c 65 61 6e 3a 20 63 6c 65 61 6e 0a 09 24 28 62 61 74 63 68 29 20 2d 65 76 ainer-clean:.clean..$(batch).-ev
200c0 61 6c 20 27 28 69 66 20 28 3c 20 65 6d 61 63 73 2d 6d 61 6a 6f 72 2d 76 65 72 73 69 6f 6e 20 24 al.'(if.(<.emacs-major-version.$
200e0 28 76 65 72 29 29 20 28 65 72 72 6f 72 20 22 24 28 6d 73 67 29 22 29 29 27 0a 09 24 28 52 4d 29 (ver)).(error."$(msg)"))'..$(RM)
20100 20 24 28 64 6f 63 73 29 0a 2e 50 48 4f 4e 59 3a 20 6d 61 69 6e 74 61 69 6e 65 72 2d 63 6c 65 61 .$(docs)..PHONY:.maintainer-clea
20120 6e 0a 0a 23 20 46 69 6c 65 73 2e 0a 0a 25 2e 65 6c 63 3a 20 57 45 52 52 4f 52 20 3a 3d 20 27 28 n..#.Files...%.elc:.WERROR.:=.'(
20140 73 65 74 71 20 62 79 74 65 2d 63 6f 6d 70 69 6c 65 2d 65 72 72 6f 72 2d 6f 6e 2d 77 61 72 6e 20 setq.byte-compile-error-on-warn.
20160 74 29 27 0a 25 2e 65 6c 63 3a 20 25 2e 65 6c 0a 09 24 28 62 61 74 63 68 29 20 2d 65 76 61 6c 20 t)'.%.elc:.%.el..$(batch).-eval.
20180 24 28 57 45 52 52 4f 52 29 20 2d 66 20 62 61 74 63 68 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 20 $(WERROR).-f.batch-byte-compile.
201a0 24 3c 0a 0a 24 28 64 6f 63 73 29 20 26 3a 20 64 65 76 2f 65 78 61 6d 70 6c 65 73 2e 65 6c 20 24 $<..$(docs).&:.dev/examples.el.$
201c0 28 65 6c 63 73 29 20 24 28 74 6d 70 6c 73 29 0a 09 24 28 62 61 74 63 68 29 20 2d 6c 20 24 3c 20 (elcs).$(tmpls)..$(batch).-l.$<.
201e0 2d 66 20 64 61 73 68 2d 6d 61 6b 65 2d 64 6f 63 73 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -f.dash-make-docs...............
20200 64 61 73 68 2d 32 2e 31 39 2e 31 2f 43 61 73 6b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/Cask................
20220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20260 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
20280 30 30 30 30 30 33 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 37 36 30 00 20 30 00 00 00 0000031.00000000000.011760..0...
202a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20300 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...................
20320 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...................
20340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20400 28 70 61 63 6b 61 67 65 2d 66 69 6c 65 20 22 64 61 73 68 2e 65 6c 22 29 0a 00 00 00 00 00 00 00 (package-file."dash.el")........
20420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
204a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
204c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
204e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20600 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 65 76 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/dev/................
20620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20660 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
20680 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 37 34 30 00 20 35 00 00 00 0000000.00000000000.011740..5...
206a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
206c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
206e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20700 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...................
20720 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...................
20740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
207a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
207c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
207e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20800 64 61 73 68 2d 32 2e 31 39 2e 31 2f 4c 49 43 45 4e 53 45 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/LICENSE.............
20820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20860 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
20880 30 31 30 34 35 31 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 31 37 35 00 20 30 00 00 00 0104515.00000000000.012175..0...
208a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
208c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
208e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20900 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...................
20920 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...................
20940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
209a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
209c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
209e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 4e 55 20 47 45 4e 45 52 41 4c 20 ....................GNU.GENERAL.
20a20 50 55 42 4c 49 43 20 4c 49 43 45 4e 53 45 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 PUBLIC.LICENSE..................
20a40 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 33 2c 20 32 39 20 4a 75 6e 65 20 32 30 30 37 0a 0a 20 ......Version.3,.29.June.2007...
20a60 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 37 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 Copyright.(C).2007.Free.Software
20a80 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 20 3c 68 74 74 70 73 3a 2f 2f 66 73 66 2e 6f .Foundation,.Inc..<https://fsf.o
20aa0 72 67 2f 3e 0a 20 45 76 65 72 79 6f 6e 65 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 74 6f 20 63 rg/>..Everyone.is.permitted.to.c
20ac0 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 69 6d 20 63 6f 70 69 opy.and.distribute.verbatim.copi
20ae0 65 73 0a 20 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 es..of.this.license.document,.bu
20b00 74 20 63 68 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 t.changing.it.is.not.allowed....
20b20 20 20 20 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 61 6d ...........................Pream
20b40 62 6c 65 0a 0a 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 ble....The.GNU.General.Public.Li
20b60 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 6e 73 cense.is.a.free,.copyleft.licens
20b80 65 20 66 6f 72 0a 73 6f 66 74 77 61 72 65 20 61 6e 64 20 6f 74 68 65 72 20 6b 69 6e 64 73 20 6f e.for.software.and.other.kinds.o
20ba0 66 20 77 6f 72 6b 73 2e 0a 0a 20 20 54 68 65 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 6d 6f 73 f.works.....The.licenses.for.mos
20bc0 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 6c 20 77 t.software.and.other.practical.w
20be0 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 79 20 79 orks.are.designed.to.take.away.y
20c00 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 67 65 20 our.freedom.to.share.and.change.
20c20 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 47 4e 55 the.works...By.contrast,.the.GNU
20c40 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 74 65 6e .General.Public.License.is.inten
20c60 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 20 74 6f ded.to.guarantee.your.freedom.to
20c80 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 73 20 6f .share.and.change.all.versions.o
20ca0 66 20 61 20 70 72 6f 67 72 61 6d 2d 2d 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 69 74 20 72 65 6d f.a.program--to.make.sure.it.rem
20cc0 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 74 73 20 75 ains.free.software.for.all.its.u
20ce0 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 20 46 6f 75 sers...We,.the.Free.Software.Fou
20d00 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 20 50 75 62 ndation,.use.the.GNU.General.Pub
20d20 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 73 6f 66 74 lic.License.for.most.of.our.soft
20d40 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 20 6f 74 68 ware;.it.applies.also.to.any.oth
20d60 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 20 69 74 73 er.work.released.this.way.by.its
20d80 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 74 6f 0a 79 .authors...You.can.apply.it.to.y
20da0 6f 75 72 20 70 72 6f 67 72 61 6d 73 2c 20 74 6f 6f 2e 0a 0a 20 20 57 68 65 6e 20 77 65 20 73 70 our.programs,.too.....When.we.sp
20dc0 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 65 20 72 65 66 eak.of.free.software,.we.are.ref
20de0 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 65 2e 20 20 4f erring.to.freedom,.not.price...O
20e00 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 61 72 65 20 64 ur.General.Public.Licenses.are.d
20e20 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 6f 75 0a 68 61 esigned.to.make.sure.that.you.ha
20e40 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 65 20 63 6f 70 ve.the.freedom.to.distribute.cop
20e60 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 68 61 72 67 65 ies.of.free.software.(and.charge
20e80 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 74 20 79 6f 75 .for.them.if.you.wish),.that.you
20ea0 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 20 67 65 74 20 .receive.source.code.or.can.get.
20ec0 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 20 63 61 6e 20 it.if.you.want.it,.that.you.can.
20ee0 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 70 69 65 63 65 change.the.software.or.use.piece
20f00 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 73 2c 20 61 6e s.of.it.in.new.free.programs,.an
20f20 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 74 68 65 73 65 d.that.you.know.you.can.do.these
20f40 20 74 68 69 6e 67 73 2e 0a 0a 20 20 54 6f 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 .things.....To.protect.your.righ
20f60 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 65 72 73 20 66 72 ts,.we.need.to.prevent.others.fr
20f80 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 73 20 6f 72 20 61 om.denying.you.these.rights.or.a
20fa0 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 20 72 69 67 68 74 sking.you.to.surrender.the.right
20fc0 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 72 74 61 69 6e 20 s...Therefore,.you.have.certain.
20fe0 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 73 74 72 69 62 75 responsibilities.if.you.distribu
21000 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 20 6f 72 20 69 66 te.copies.of.the.software,.or.if
21020 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 6c 69 74 69 65 73 .you.modify.it:.responsibilities
21040 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 20 6f 74 68 65 72 .to.respect.the.freedom.of.other
21060 73 2e 0a 0a 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 s.....For.example,.if.you.distri
21080 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 67 72 61 6d 2c 20 77 bute.copies.of.such.a.program,.w
210a0 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 65 2c 20 79 6f 75 20 hether.gratis.or.for.a.fee,.you.
210c0 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 69 65 6e 74 73 20 74 must.pass.on.to.the.recipients.t
210e0 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 20 72 65 63 65 69 76 he.same.freedoms.that.you.receiv
21100 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 68 61 74 20 74 68 65 ed...You.must.make.sure.that.the
21120 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 74 20 74 68 65 20 73 y,.too,.receive.or.can.get.the.s
21140 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 20 73 68 6f 77 20 74 ource.code...And.you.must.show.t
21160 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 6e 6f 77 20 74 68 65 hem.these.terms.so.they.know.the
21180 69 72 20 72 69 67 68 74 73 2e 0a 0a 20 20 44 65 76 65 6c 6f 70 65 72 73 20 74 68 61 74 20 75 73 ir.rights.....Developers.that.us
211a0 65 20 74 68 65 20 47 4e 55 20 47 50 4c 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 e.the.GNU.GPL.protect.your.right
211c0 73 20 77 69 74 68 20 74 77 6f 20 73 74 65 70 73 3a 0a 28 31 29 20 61 73 73 65 72 74 20 63 6f 70 s.with.two.steps:.(1).assert.cop
211e0 79 72 69 67 68 74 20 6f 6e 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 28 32 29 20 yright.on.the.software,.and.(2).
21200 6f 66 66 65 72 20 79 6f 75 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a 67 69 76 69 6e 67 20 79 6f offer.you.this.License.giving.yo
21220 75 20 6c 65 67 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 u.legal.permission.to.copy,.dist
21240 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 69 74 2e 0a 0a 20 20 46 6f 72 20 ribute.and/or.modify.it.....For.
21260 74 68 65 20 64 65 76 65 6c 6f 70 65 72 73 27 20 61 6e 64 20 61 75 74 68 6f 72 73 27 20 70 72 6f the.developers'.and.authors'.pro
21280 74 65 63 74 69 6f 6e 2c 20 74 68 65 20 47 50 4c 20 63 6c 65 61 72 6c 79 20 65 78 70 6c 61 69 6e tection,.the.GPL.clearly.explain
212a0 73 0a 74 68 61 74 20 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 s.that.there.is.no.warranty.for.
212c0 74 68 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2e 20 20 46 6f 72 20 62 6f 74 68 20 75 73 this.free.software...For.both.us
212e0 65 72 73 27 20 61 6e 64 0a 61 75 74 68 6f 72 73 27 20 73 61 6b 65 2c 20 74 68 65 20 47 50 4c 20 ers'.and.authors'.sake,.the.GPL.
21300 72 65 71 75 69 72 65 73 20 74 68 61 74 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 requires.that.modified.versions.
21320 62 65 20 6d 61 72 6b 65 64 20 61 73 0a 63 68 61 6e 67 65 64 2c 20 73 6f 20 74 68 61 74 20 74 68 be.marked.as.changed,.so.that.th
21340 65 69 72 20 70 72 6f 62 6c 65 6d 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 61 74 74 72 69 62 75 eir.problems.will.not.be.attribu
21360 74 65 64 20 65 72 72 6f 6e 65 6f 75 73 6c 79 20 74 6f 0a 61 75 74 68 6f 72 73 20 6f 66 20 70 72 ted.erroneously.to.authors.of.pr
21380 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 20 20 53 6f 6d 65 20 64 65 76 69 63 65 73 evious.versions.....Some.devices
213a0 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 74 6f 20 64 65 6e 79 20 75 73 65 72 73 20 61 63 63 65 .are.designed.to.deny.users.acce
213c0 73 73 20 74 6f 20 69 6e 73 74 61 6c 6c 20 6f 72 20 72 75 6e 0a 6d 6f 64 69 66 69 65 64 20 76 65 ss.to.install.or.run.modified.ve
213e0 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 69 6e 73 69 64 65 20 74 68 rsions.of.the.software.inside.th
21400 65 6d 2c 20 61 6c 74 68 6f 75 67 68 20 74 68 65 20 6d 61 6e 75 66 61 63 74 75 72 65 72 0a 63 61 em,.although.the.manufacturer.ca
21420 6e 20 64 6f 20 73 6f 2e 20 20 54 68 69 73 20 69 73 20 66 75 6e 64 61 6d 65 6e 74 61 6c 6c 79 20 n.do.so...This.is.fundamentally.
21440 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 68 65 20 61 69 6d 20 6f 66 0a 70 72 6f incompatible.with.the.aim.of.pro
21460 74 65 63 74 69 6e 67 20 75 73 65 72 73 27 20 66 72 65 65 64 6f 6d 20 74 6f 20 63 68 61 6e 67 65 tecting.users'.freedom.to.change
21480 20 74 68 65 20 73 6f 66 74 77 61 72 65 2e 20 20 54 68 65 20 73 79 73 74 65 6d 61 74 69 63 0a 70 .the.software...The.systematic.p
214a0 61 74 74 65 72 6e 20 6f 66 20 73 75 63 68 20 61 62 75 73 65 20 6f 63 63 75 72 73 20 69 6e 20 74 attern.of.such.abuse.occurs.in.t
214c0 68 65 20 61 72 65 61 20 6f 66 20 70 72 6f 64 75 63 74 73 20 66 6f 72 20 69 6e 64 69 76 69 64 75 he.area.of.products.for.individu
214e0 61 6c 73 20 74 6f 0a 75 73 65 2c 20 77 68 69 63 68 20 69 73 20 70 72 65 63 69 73 65 6c 79 20 77 als.to.use,.which.is.precisely.w
21500 68 65 72 65 20 69 74 20 69 73 20 6d 6f 73 74 20 75 6e 61 63 63 65 70 74 61 62 6c 65 2e 20 20 54 here.it.is.most.unacceptable...T
21520 68 65 72 65 66 6f 72 65 2c 20 77 65 0a 68 61 76 65 20 64 65 73 69 67 6e 65 64 20 74 68 69 73 20 herefore,.we.have.designed.this.
21540 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 47 50 4c 20 74 6f 20 70 72 6f 68 69 62 69 74 20 74 version.of.the.GPL.to.prohibit.t
21560 68 65 20 70 72 61 63 74 69 63 65 20 66 6f 72 20 74 68 6f 73 65 0a 70 72 6f 64 75 63 74 73 2e 20 he.practice.for.those.products..
21580 20 49 66 20 73 75 63 68 20 70 72 6f 62 6c 65 6d 73 20 61 72 69 73 65 20 73 75 62 73 74 61 6e 74 .If.such.problems.arise.substant
215a0 69 61 6c 6c 79 20 69 6e 20 6f 74 68 65 72 20 64 6f 6d 61 69 6e 73 2c 20 77 65 0a 73 74 61 6e 64 ially.in.other.domains,.we.stand
215c0 20 72 65 61 64 79 20 74 6f 20 65 78 74 65 6e 64 20 74 68 69 73 20 70 72 6f 76 69 73 69 6f 6e 20 .ready.to.extend.this.provision.
215e0 74 6f 20 74 68 6f 73 65 20 64 6f 6d 61 69 6e 73 20 69 6e 20 66 75 74 75 72 65 20 76 65 72 73 69 to.those.domains.in.future.versi
21600 6f 6e 73 0a 6f 66 20 74 68 65 20 47 50 4c 2c 20 61 73 20 6e 65 65 64 65 64 20 74 6f 20 70 72 6f ons.of.the.GPL,.as.needed.to.pro
21620 74 65 63 74 20 74 68 65 20 66 72 65 65 64 6f 6d 20 6f 66 20 75 73 65 72 73 2e 0a 0a 20 20 46 69 tect.the.freedom.of.users.....Fi
21640 6e 61 6c 6c 79 2c 20 65 76 65 72 79 20 70 72 6f 67 72 61 6d 20 69 73 20 74 68 72 65 61 74 65 6e nally,.every.program.is.threaten
21660 65 64 20 63 6f 6e 73 74 61 6e 74 6c 79 20 62 79 20 73 6f 66 74 77 61 72 65 20 70 61 74 65 6e 74 ed.constantly.by.software.patent
21680 73 2e 0a 53 74 61 74 65 73 20 73 68 6f 75 6c 64 20 6e 6f 74 20 61 6c 6c 6f 77 20 70 61 74 65 6e s..States.should.not.allow.paten
216a0 74 73 20 74 6f 20 72 65 73 74 72 69 63 74 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 61 6e 64 20 75 ts.to.restrict.development.and.u
216c0 73 65 20 6f 66 0a 73 6f 66 74 77 61 72 65 20 6f 6e 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 se.of.software.on.general-purpos
216e0 65 20 63 6f 6d 70 75 74 65 72 73 2c 20 62 75 74 20 69 6e 20 74 68 6f 73 65 20 74 68 61 74 20 64 e.computers,.but.in.those.that.d
21700 6f 2c 20 77 65 20 77 69 73 68 20 74 6f 0a 61 76 6f 69 64 20 74 68 65 20 73 70 65 63 69 61 6c 20 o,.we.wish.to.avoid.the.special.
21720 64 61 6e 67 65 72 20 74 68 61 74 20 70 61 74 65 6e 74 73 20 61 70 70 6c 69 65 64 20 74 6f 20 61 danger.that.patents.applied.to.a
21740 20 66 72 65 65 20 70 72 6f 67 72 61 6d 20 63 6f 75 6c 64 0a 6d 61 6b 65 20 69 74 20 65 66 66 65 .free.program.could.make.it.effe
21760 63 74 69 76 65 6c 79 20 70 72 6f 70 72 69 65 74 61 72 79 2e 20 20 54 6f 20 70 72 65 76 65 6e 74 ctively.proprietary...To.prevent
21780 20 74 68 69 73 2c 20 74 68 65 20 47 50 4c 20 61 73 73 75 72 65 73 20 74 68 61 74 0a 70 61 74 65 .this,.the.GPL.assures.that.pate
217a0 6e 74 73 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 6e 64 65 72 20 74 68 65 nts.cannot.be.used.to.render.the
217c0 20 70 72 6f 67 72 61 6d 20 6e 6f 6e 2d 66 72 65 65 2e 0a 0a 20 20 54 68 65 20 70 72 65 63 69 73 .program.non-free.....The.precis
217e0 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 69 e.terms.and.conditions.for.copyi
21800 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 0a 6d 6f 64 69 66 69 63 61 74 69 6f ng,.distribution.and.modificatio
21820 6e 20 66 6f 6c 6c 6f 77 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.follow........................
21840 20 20 54 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 0a 20 20 30 2e 20 44 65 66 ..TERMS.AND.CONDITIONS....0..Def
21860 69 6e 69 74 69 6f 6e 73 2e 0a 0a 20 20 22 54 68 69 73 20 4c 69 63 65 6e 73 65 22 20 72 65 66 65 initions....."This.License".refe
21880 72 73 20 74 6f 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 rs.to.version.3.of.the.GNU.Gener
218a0 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 22 43 6f 70 79 72 69 67 68 74 al.Public.License....."Copyright
218c0 22 20 61 6c 73 6f 20 6d 65 61 6e 73 20 63 6f 70 79 72 69 67 68 74 2d 6c 69 6b 65 20 6c 61 77 73 ".also.means.copyright-like.laws
218e0 20 74 68 61 74 20 61 70 70 6c 79 20 74 6f 20 6f 74 68 65 72 20 6b 69 6e 64 73 20 6f 66 0a 77 6f .that.apply.to.other.kinds.of.wo
21900 72 6b 73 2c 20 73 75 63 68 20 61 73 20 73 65 6d 69 63 6f 6e 64 75 63 74 6f 72 20 6d 61 73 6b 73 rks,.such.as.semiconductor.masks
21920 2e 0a 0a 20 20 22 54 68 65 20 50 72 6f 67 72 61 6d 22 20 72 65 66 65 72 73 20 74 6f 20 61 6e 79 ....."The.Program".refers.to.any
21940 20 63 6f 70 79 72 69 67 68 74 61 62 6c 65 20 77 6f 72 6b 20 6c 69 63 65 6e 73 65 64 20 75 6e 64 .copyrightable.work.licensed.und
21960 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 2e 20 20 45 61 63 68 20 6c 69 63 65 6e 73 65 65 20 er.this.License...Each.licensee.
21980 69 73 20 61 64 64 72 65 73 73 65 64 20 61 73 20 22 79 6f 75 22 2e 20 20 22 4c 69 63 65 6e 73 65 is.addressed.as."you"..."License
219a0 65 73 22 20 61 6e 64 0a 22 72 65 63 69 70 69 65 6e 74 73 22 20 6d 61 79 20 62 65 20 69 6e 64 69 es".and."recipients".may.be.indi
219c0 76 69 64 75 61 6c 73 20 6f 72 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 73 2e 0a 0a 20 20 54 6f 20 viduals.or.organizations.....To.
219e0 22 6d 6f 64 69 66 79 22 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 6f 20 63 6f 70 79 20 66 72 "modify".a.work.means.to.copy.fr
21a00 6f 6d 20 6f 72 20 61 64 61 70 74 20 61 6c 6c 20 6f 72 20 70 61 72 74 20 6f 66 20 74 68 65 20 77 om.or.adapt.all.or.part.of.the.w
21a20 6f 72 6b 0a 69 6e 20 61 20 66 61 73 68 69 6f 6e 20 72 65 71 75 69 72 69 6e 67 20 63 6f 70 79 72 ork.in.a.fashion.requiring.copyr
21a40 69 67 68 74 20 70 65 72 6d 69 73 73 69 6f 6e 2c 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 ight.permission,.other.than.the.
21a60 6d 61 6b 69 6e 67 20 6f 66 20 61 6e 0a 65 78 61 63 74 20 63 6f 70 79 2e 20 20 54 68 65 20 72 65 making.of.an.exact.copy...The.re
21a80 73 75 6c 74 69 6e 67 20 77 6f 72 6b 20 69 73 20 63 61 6c 6c 65 64 20 61 20 22 6d 6f 64 69 66 69 sulting.work.is.called.a."modifi
21aa0 65 64 20 76 65 72 73 69 6f 6e 22 20 6f 66 20 74 68 65 0a 65 61 72 6c 69 65 72 20 77 6f 72 6b 20 ed.version".of.the.earlier.work.
21ac0 6f 72 20 61 20 77 6f 72 6b 20 22 62 61 73 65 64 20 6f 6e 22 20 74 68 65 20 65 61 72 6c 69 65 72 or.a.work."based.on".the.earlier
21ae0 20 77 6f 72 6b 2e 0a 0a 20 20 41 20 22 63 6f 76 65 72 65 64 20 77 6f 72 6b 22 20 6d 65 61 6e 73 .work.....A."covered.work".means
21b00 20 65 69 74 68 65 72 20 74 68 65 20 75 6e 6d 6f 64 69 66 69 65 64 20 50 72 6f 67 72 61 6d 20 6f .either.the.unmodified.Program.o
21b20 72 20 61 20 77 6f 72 6b 20 62 61 73 65 64 0a 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a r.a.work.based.on.the.Program...
21b40 20 20 54 6f 20 22 70 72 6f 70 61 67 61 74 65 22 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 6f ..To."propagate".a.work.means.to
21b60 20 64 6f 20 61 6e 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 .do.anything.with.it.that,.witho
21b80 75 74 0a 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 ut.permission,.would.make.you.di
21ba0 72 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 rectly.or.secondarily.liable.for
21bc0 0a 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 6c 65 20 63 .infringement.under.applicable.c
21be0 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 6e 67 20 69 opyright.law,.except.executing.i
21c00 74 20 6f 6e 20 61 0a 63 6f 6d 70 75 74 65 72 20 6f 72 20 6d 6f 64 69 66 79 69 6e 67 20 61 20 70 t.on.a.computer.or.modifying.a.p
21c20 72 69 76 61 74 65 20 63 6f 70 79 2e 20 20 50 72 6f 70 61 67 61 74 69 6f 6e 20 69 6e 63 6c 75 64 rivate.copy...Propagation.includ
21c40 65 73 20 63 6f 70 79 69 6e 67 2c 0a 64 69 73 74 72 69 62 75 74 69 6f 6e 20 28 77 69 74 68 20 6f es.copying,.distribution.(with.o
21c60 72 20 77 69 74 68 6f 75 74 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 29 2c 20 6d 61 6b 69 6e 67 20 r.without.modification),.making.
21c80 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 0a 70 75 62 6c 69 63 2c 20 61 6e 64 20 69 6e 20 available.to.the.public,.and.in.
21ca0 73 6f 6d 65 20 63 6f 75 6e 74 72 69 65 73 20 6f 74 68 65 72 20 61 63 74 69 76 69 74 69 65 73 20 some.countries.other.activities.
21cc0 61 73 20 77 65 6c 6c 2e 0a 0a 20 20 54 6f 20 22 63 6f 6e 76 65 79 22 20 61 20 77 6f 72 6b 20 6d as.well.....To."convey".a.work.m
21ce0 65 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 eans.any.kind.of.propagation.tha
21d00 74 20 65 6e 61 62 6c 65 73 20 6f 74 68 65 72 0a 70 61 72 74 69 65 73 20 74 6f 20 6d 61 6b 65 20 t.enables.other.parties.to.make.
21d20 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 65 72 61 63 or.receive.copies...Mere.interac
21d40 74 69 6f 6e 20 77 69 74 68 20 61 20 75 73 65 72 20 74 68 72 6f 75 67 68 0a 61 20 63 6f 6d 70 75 tion.with.a.user.through.a.compu
21d60 74 65 72 20 6e 65 74 77 6f 72 6b 2c 20 77 69 74 68 20 6e 6f 20 74 72 61 6e 73 66 65 72 20 6f 66 ter.network,.with.no.transfer.of
21d80 20 61 20 63 6f 70 79 2c 20 69 73 20 6e 6f 74 20 63 6f 6e 76 65 79 69 6e 67 2e 0a 0a 20 20 41 6e .a.copy,.is.not.conveying.....An
21da0 20 69 6e 74 65 72 61 63 74 69 76 65 20 75 73 65 72 20 69 6e 74 65 72 66 61 63 65 20 64 69 73 70 .interactive.user.interface.disp
21dc0 6c 61 79 73 20 22 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 22 lays."Appropriate.Legal.Notices"
21de0 0a 74 6f 20 74 68 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 .to.the.extent.that.it.includes.
21e00 61 20 63 6f 6e 76 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 a.convenient.and.prominently.vis
21e20 69 62 6c 65 0a 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 ible.feature.that.(1).displays.a
21e40 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 74 69 63 65 2c 20 n.appropriate.copyright.notice,.
21e60 61 6e 64 20 28 32 29 0a 74 65 6c 6c 73 20 74 68 65 20 75 73 65 72 20 74 68 61 74 20 74 68 65 72 and.(2).tells.the.user.that.ther
21e80 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 6b 20 28 65 e.is.no.warranty.for.the.work.(e
21ea0 78 63 65 70 74 20 74 6f 20 74 68 65 0a 65 78 74 65 6e 74 20 74 68 61 74 20 77 61 72 72 61 6e 74 xcept.to.the.extent.that.warrant
21ec0 69 65 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 29 2c 20 74 68 61 74 20 6c 69 63 65 6e 73 65 65 ies.are.provided),.that.licensee
21ee0 73 20 6d 61 79 20 63 6f 6e 76 65 79 20 74 68 65 0a 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 69 73 s.may.convey.the.work.under.this
21f00 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 68 6f 77 20 74 6f 20 76 69 65 77 20 61 20 63 6f 70 79 .License,.and.how.to.view.a.copy
21f20 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 0a 74 68 65 20 69 6e 74 65 72 66 .of.this.License...If.the.interf
21f40 61 63 65 20 70 72 65 73 65 6e 74 73 20 61 20 6c 69 73 74 20 6f 66 20 75 73 65 72 20 63 6f 6d 6d ace.presents.a.list.of.user.comm
21f60 61 6e 64 73 20 6f 72 20 6f 70 74 69 6f 6e 73 2c 20 73 75 63 68 20 61 73 20 61 0a 6d 65 6e 75 2c ands.or.options,.such.as.a.menu,
21f80 20 61 20 70 72 6f 6d 69 6e 65 6e 74 20 69 74 65 6d 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6d 65 .a.prominent.item.in.the.list.me
21fa0 65 74 73 20 74 68 69 73 20 63 72 69 74 65 72 69 6f 6e 2e 0a 0a 20 20 31 2e 20 53 6f 75 72 63 65 ets.this.criterion.....1..Source
21fc0 20 43 6f 64 65 2e 0a 0a 20 20 54 68 65 20 22 73 6f 75 72 63 65 20 63 6f 64 65 22 20 66 6f 72 20 .Code.....The."source.code".for.
21fe0 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 6f 72 6d 20 a.work.means.the.preferred.form.
22000 6f 66 20 74 68 65 20 77 6f 72 6b 0a 66 6f 72 20 6d 61 6b 69 6e 67 20 6d 6f 64 69 66 69 63 61 74 of.the.work.for.making.modificat
22020 69 6f 6e 73 20 74 6f 20 69 74 2e 20 20 22 4f 62 6a 65 63 74 20 63 6f 64 65 22 20 6d 65 61 6e 73 ions.to.it..."Object.code".means
22040 20 61 6e 79 20 6e 6f 6e 2d 73 6f 75 72 63 65 0a 66 6f 72 6d 20 6f 66 20 61 20 77 6f 72 6b 2e 0a .any.non-source.form.of.a.work..
22060 0a 20 20 41 20 22 53 74 61 6e 64 61 72 64 20 49 6e 74 65 72 66 61 63 65 22 20 6d 65 61 6e 73 20 ...A."Standard.Interface".means.
22080 61 6e 20 69 6e 74 65 72 66 61 63 65 20 74 68 61 74 20 65 69 74 68 65 72 20 69 73 20 61 6e 20 6f an.interface.that.either.is.an.o
220a0 66 66 69 63 69 61 6c 0a 73 74 61 6e 64 61 72 64 20 64 65 66 69 6e 65 64 20 62 79 20 61 20 72 65 fficial.standard.defined.by.a.re
220c0 63 6f 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 20 cognized.standards.body,.or,.in.
220e0 74 68 65 20 63 61 73 65 20 6f 66 0a 69 6e 74 65 72 66 61 63 65 73 20 73 70 65 63 69 66 69 65 64 the.case.of.interfaces.specified
22100 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 20 6c 61 .for.a.particular.programming.la
22120 6e 67 75 61 67 65 2c 20 6f 6e 65 20 74 68 61 74 0a 69 73 20 77 69 64 65 6c 79 20 75 73 65 64 20 nguage,.one.that.is.widely.used.
22140 61 6d 6f 6e 67 20 64 65 76 65 6c 6f 70 65 72 73 20 77 6f 72 6b 69 6e 67 20 69 6e 20 74 68 61 74 among.developers.working.in.that
22160 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 20 20 54 68 65 20 22 53 79 73 74 65 6d 20 4c 69 62 72 61 72 .language.....The."System.Librar
22180 69 65 73 22 20 6f 66 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 77 6f 72 6b 20 69 6e 63 6c 75 ies".of.an.executable.work.inclu
221a0 64 65 20 61 6e 79 74 68 69 6e 67 2c 20 6f 74 68 65 72 0a 74 68 61 6e 20 74 68 65 20 77 6f 72 6b de.anything,.other.than.the.work
221c0 20 61 73 20 61 20 77 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 .as.a.whole,.that.(a).is.include
221e0 64 20 69 6e 20 74 68 65 20 6e 6f 72 6d 61 6c 20 66 6f 72 6d 20 6f 66 0a 70 61 63 6b 61 67 69 6e d.in.the.normal.form.of.packagin
22200 67 20 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 g.a.Major.Component,.but.which.i
22220 73 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 74 68 61 74 20 4d 61 6a 6f 72 0a 43 6f 6d 70 6f 6e 65 s.not.part.of.that.Major.Compone
22240 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 61 62 6c nt,.and.(b).serves.only.to.enabl
22260 65 20 75 73 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 77 69 74 68 20 74 68 61 74 0a 4d 61 6a 6f e.use.of.the.work.with.that.Majo
22280 72 20 43 6f 6d 70 6f 6e 65 6e 74 2c 20 6f 72 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 61 20 53 r.Component,.or.to.implement.a.S
222a0 74 61 6e 64 61 72 64 20 49 6e 74 65 72 66 61 63 65 20 66 6f 72 20 77 68 69 63 68 20 61 6e 0a 69 tandard.Interface.for.which.an.i
222c0 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 mplementation.is.available.to.th
222e0 65 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 2e 20 20 41 e.public.in.source.code.form...A
22300 0a 22 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 6e 74 22 2c 20 69 6e 20 74 68 69 73 20 63 6f 6e 74 ."Major.Component",.in.this.cont
22320 65 78 74 2c 20 6d 65 61 6e 73 20 61 20 6d 61 6a 6f 72 20 65 73 73 65 6e 74 69 61 6c 20 63 6f 6d ext,.means.a.major.essential.com
22340 70 6f 6e 65 6e 74 0a 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 ponent.(kernel,.window.system,.a
22360 6e 64 20 73 6f 20 6f 6e 29 20 6f 66 20 74 68 65 20 73 70 65 63 69 66 69 63 20 6f 70 65 72 61 74 nd.so.on).of.the.specific.operat
22380 69 6e 67 20 73 79 73 74 65 6d 0a 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
223a0 20 65 78 65 63 75 74 61 62 6c 65 20 77 6f 72 6b 20 72 75 6e 73 2c 20 6f 72 20 61 20 63 6f 6d 70 .executable.work.runs,.or.a.comp
223c0 69 6c 65 72 20 75 73 65 64 20 74 6f 0a 70 72 6f 64 75 63 65 20 74 68 65 20 77 6f 72 6b 2c 20 6f iler.used.to.produce.the.work,.o
223e0 72 20 61 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 6e 74 65 72 70 72 65 74 65 72 20 75 73 65 r.an.object.code.interpreter.use
22400 64 20 74 6f 20 72 75 6e 20 69 74 2e 0a 0a 20 20 54 68 65 20 22 43 6f 72 72 65 73 70 6f 6e 64 69 d.to.run.it.....The."Correspondi
22420 6e 67 20 53 6f 75 72 63 65 22 20 66 6f 72 20 61 20 77 6f 72 6b 20 69 6e 20 6f 62 6a 65 63 74 20 ng.Source".for.a.work.in.object.
22440 63 6f 64 65 20 66 6f 72 6d 20 6d 65 61 6e 73 20 61 6c 6c 0a 74 68 65 20 73 6f 75 72 63 65 20 63 code.form.means.all.the.source.c
22460 6f 64 65 20 6e 65 65 64 65 64 20 74 6f 20 67 65 6e 65 72 61 74 65 2c 20 69 6e 73 74 61 6c 6c 2c ode.needed.to.generate,.install,
22480 20 61 6e 64 20 28 66 6f 72 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 0a 77 6f 72 6b 29 20 72 75 .and.(for.an.executable.work).ru
224a0 6e 20 74 68 65 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 n.the.object.code.and.to.modify.
224c0 74 68 65 20 77 6f 72 6b 2c 20 69 6e 63 6c 75 64 69 6e 67 20 73 63 72 69 70 74 73 20 74 6f 0a 63 the.work,.including.scripts.to.c
224e0 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
22500 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 20 77 6f 72 6b 27 r,.it.does.not.include.the.work'
22520 73 0a 53 79 73 74 65 6d 20 4c 69 62 72 61 72 69 65 73 2c 20 6f 72 20 67 65 6e 65 72 61 6c 2d 70 s.System.Libraries,.or.general-p
22540 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 20 61 76 61 69 6c 61 urpose.tools.or.generally.availa
22560 62 6c 65 20 66 72 65 65 0a 70 72 6f 67 72 61 6d 73 20 77 68 69 63 68 20 61 72 65 20 75 73 65 64 ble.free.programs.which.are.used
22580 20 75 6e 6d 6f 64 69 66 69 65 64 20 69 6e 20 70 65 72 66 6f 72 6d 69 6e 67 20 74 68 6f 73 65 20 .unmodified.in.performing.those.
225a0 61 63 74 69 76 69 74 69 65 73 20 62 75 74 0a 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 70 61 72 activities.but.which.are.not.par
225c0 74 20 6f 66 20 74 68 65 20 77 6f 72 6b 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 43 6f 72 t.of.the.work...For.example,.Cor
225e0 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 0a 69 6e 63 6c 75 64 65 73 20 69 6e 74 65 72 responding.Source.includes.inter
22600 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 73 20 61 73 73 6f 63 69 61 74 65 64 face.definition.files.associated
22620 20 77 69 74 68 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 66 6f 72 0a 74 68 65 20 77 6f 72 6b 2c .with.source.files.for.the.work,
22640 20 61 6e 64 20 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 20 .and.the.source.code.for.shared.
22660 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 0a 6c 69 6e 6b 65 64 libraries.and.dynamically.linked
22680 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 20 73 70 .subprograms.that.the.work.is.sp
226a0 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 69 72 65 2c 0a ecifically.designed.to.require,.
226c0 73 75 63 68 20 61 73 20 62 79 20 69 6e 74 69 6d 61 74 65 20 64 61 74 61 20 63 6f 6d 6d 75 6e 69 such.as.by.intimate.data.communi
226e0 63 61 74 69 6f 6e 20 6f 72 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 62 65 74 77 65 65 6e 20 74 cation.or.control.flow.between.t
22700 68 6f 73 65 0a 73 75 62 70 72 6f 67 72 61 6d 73 20 61 6e 64 20 6f 74 68 65 72 20 70 61 72 74 73 hose.subprograms.and.other.parts
22720 20 6f 66 20 74 68 65 20 77 6f 72 6b 2e 0a 0a 20 20 54 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 .of.the.work.....The.Correspondi
22740 6e 67 20 53 6f 75 72 63 65 20 6e 65 65 64 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 61 6e 79 74 68 ng.Source.need.not.include.anyth
22760 69 6e 67 20 74 68 61 74 20 75 73 65 72 73 0a 63 61 6e 20 72 65 67 65 6e 65 72 61 74 65 20 61 75 ing.that.users.can.regenerate.au
22780 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 6f 74 68 65 72 20 70 61 72 74 73 20 6f 66 20 tomatically.from.other.parts.of.
227a0 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 53 6f 75 72 63 65 2e 0a 0a 20 20 54 68 65 the.Corresponding.Source.....The
227c0 20 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 .Corresponding.Source.for.a.work
227e0 20 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 73 61 6d .in.source.code.form.is.that.sam
22800 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 6f 6e 73 2e e.work.....2..Basic.Permissions.
22820 0a 0a 20 20 41 6c 6c 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 ....All.rights.granted.under.thi
22840 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 20 74 68 65 20 74 65 s.License.are.granted.for.the.te
22860 72 6d 20 6f 66 0a 63 6f 70 79 72 69 67 68 74 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 rm.of.copyright.on.the.Program,.
22880 61 6e 64 20 61 72 65 20 69 72 72 65 76 6f 63 61 62 6c 65 20 70 72 6f 76 69 64 65 64 20 74 68 65 and.are.irrevocable.provided.the
228a0 20 73 74 61 74 65 64 0a 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 6d 65 74 2e 20 20 54 68 69 .stated.conditions.are.met...Thi
228c0 73 20 4c 69 63 65 6e 73 65 20 65 78 70 6c 69 63 69 74 6c 79 20 61 66 66 69 72 6d 73 20 79 6f 75 s.License.explicitly.affirms.you
228e0 72 20 75 6e 6c 69 6d 69 74 65 64 0a 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 72 75 6e 20 74 68 r.unlimited.permission.to.run.th
22900 65 20 75 6e 6d 6f 64 69 66 69 65 64 20 50 72 6f 67 72 61 6d 2e 20 20 54 68 65 20 6f 75 74 70 75 e.unmodified.Program...The.outpu
22920 74 20 66 72 6f 6d 20 72 75 6e 6e 69 6e 67 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 73 t.from.running.a.covered.work.is
22940 20 63 6f 76 65 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 .covered.by.this.License.only.if
22960 20 74 68 65 20 6f 75 74 70 75 74 2c 20 67 69 76 65 6e 20 69 74 73 0a 63 6f 6e 74 65 6e 74 2c 20 .the.output,.given.its.content,.
22980 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
229a0 73 20 4c 69 63 65 6e 73 65 20 61 63 6b 6e 6f 77 6c 65 64 67 65 73 20 79 6f 75 72 0a 72 69 67 68 s.License.acknowledges.your.righ
229c0 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 69 76 61 6c 65 ts.of.fair.use.or.other.equivale
229e0 6e 74 2c 20 61 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 nt,.as.provided.by.copyright.law
22a00 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 6d 61 6b 65 2c 20 72 75 6e 20 61 6e 64 20 70 72 6f 70 61 .....You.may.make,.run.and.propa
22a20 67 61 74 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 20 74 68 61 74 20 79 6f 75 20 64 6f 20 6e gate.covered.works.that.you.do.n
22a40 6f 74 0a 63 6f 6e 76 65 79 2c 20 77 69 74 68 6f 75 74 20 63 6f 6e 64 69 74 69 6f 6e 73 20 73 6f ot.convey,.without.conditions.so
22a60 20 6c 6f 6e 67 20 61 73 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 6f 74 68 65 72 77 69 73 65 20 .long.as.your.license.otherwise.
22a80 72 65 6d 61 69 6e 73 0a 69 6e 20 66 6f 72 63 65 2e 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 remains.in.force...You.may.conve
22aa0 79 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 20 74 6f 20 6f 74 68 65 72 73 20 66 6f 72 20 74 68 y.covered.works.to.others.for.th
22ac0 65 20 73 6f 6c 65 20 70 75 72 70 6f 73 65 0a 6f 66 20 68 61 76 69 6e 67 20 74 68 65 6d 20 6d 61 e.sole.purpose.of.having.them.ma
22ae0 6b 65 20 6d 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 ke.modifications.exclusively.for
22b00 20 79 6f 75 2c 20 6f 72 20 70 72 6f 76 69 64 65 20 79 6f 75 0a 77 69 74 68 20 66 61 63 69 6c 69 .you,.or.provide.you.with.facili
22b20 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 72 ties.for.running.those.works,.pr
22b40 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 63 6f 6d 70 6c 79 20 77 69 74 68 0a 74 68 65 20 ovided.that.you.comply.with.the.
22b60 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 6f 6e 76 65 79 69 terms.of.this.License.in.conveyi
22b80 6e 67 20 61 6c 6c 20 6d 61 74 65 72 69 61 6c 20 66 6f 72 20 77 68 69 63 68 20 79 6f 75 20 64 6f ng.all.material.for.which.you.do
22ba0 0a 6e 6f 74 20 63 6f 6e 74 72 6f 6c 20 63 6f 70 79 72 69 67 68 74 2e 20 20 54 68 6f 73 65 20 74 .not.control.copyright...Those.t
22bc0 68 75 73 20 6d 61 6b 69 6e 67 20 6f 72 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 63 6f 76 65 72 65 hus.making.or.running.the.covere
22be0 64 20 77 6f 72 6b 73 0a 66 6f 72 20 79 6f 75 20 6d 75 73 74 20 64 6f 20 73 6f 20 65 78 63 6c 75 d.works.for.you.must.do.so.exclu
22c00 73 69 76 65 6c 79 20 6f 6e 20 79 6f 75 72 20 62 65 68 61 6c 66 2c 20 75 6e 64 65 72 20 79 6f 75 sively.on.your.behalf,.under.you
22c20 72 20 64 69 72 65 63 74 69 6f 6e 0a 61 6e 64 20 63 6f 6e 74 72 6f 6c 2c 20 6f 6e 20 74 65 72 6d r.direction.and.control,.on.term
22c40 73 20 74 68 61 74 20 70 72 6f 68 69 62 69 74 20 74 68 65 6d 20 66 72 6f 6d 20 6d 61 6b 69 6e 67 s.that.prohibit.them.from.making
22c60 20 61 6e 79 20 63 6f 70 69 65 73 20 6f 66 0a 79 6f 75 72 20 63 6f 70 79 72 69 67 68 74 65 64 20 .any.copies.of.your.copyrighted.
22c80 6d 61 74 65 72 69 61 6c 20 6f 75 74 73 69 64 65 20 74 68 65 69 72 20 72 65 6c 61 74 69 6f 6e 73 material.outside.their.relations
22ca0 68 69 70 20 77 69 74 68 20 79 6f 75 2e 0a 0a 20 20 43 6f 6e 76 65 79 69 6e 67 20 75 6e 64 65 72 hip.with.you.....Conveying.under
22cc0 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 72 6d .any.other.circumstances.is.perm
22ce0 69 74 74 65 64 20 73 6f 6c 65 6c 79 20 75 6e 64 65 72 0a 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e itted.solely.under.the.condition
22d00 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 73 69 6e 67 20 69 73 s.stated.below...Sublicensing.is
22d20 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 3b 20 73 65 63 74 69 6f 6e 20 31 30 0a 6d 61 6b 65 73 20 69 .not.allowed;.section.10.makes.i
22d40 74 20 75 6e 6e 65 63 65 73 73 61 72 79 2e 0a 0a 20 20 33 2e 20 50 72 6f 74 65 63 74 69 6e 67 20 t.unnecessary.....3..Protecting.
22d60 55 73 65 72 73 27 20 4c 65 67 61 6c 20 52 69 67 68 74 73 20 46 72 6f 6d 20 41 6e 74 69 2d 43 69 Users'.Legal.Rights.From.Anti-Ci
22d80 72 63 75 6d 76 65 6e 74 69 6f 6e 20 4c 61 77 2e 0a 0a 20 20 4e 6f 20 63 6f 76 65 72 65 64 20 77 rcumvention.Law.....No.covered.w
22da0 6f 72 6b 20 73 68 61 6c 6c 20 62 65 20 64 65 65 6d 65 64 20 70 61 72 74 20 6f 66 20 61 6e 20 65 ork.shall.be.deemed.part.of.an.e
22dc0 66 66 65 63 74 69 76 65 20 74 65 63 68 6e 6f 6c 6f 67 69 63 61 6c 0a 6d 65 61 73 75 72 65 20 75 ffective.technological.measure.u
22de0 6e 64 65 72 20 61 6e 79 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 20 66 75 6c 66 69 6c 6c 69 nder.any.applicable.law.fulfilli
22e00 6e 67 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 75 6e 64 65 72 20 61 72 74 69 63 6c 65 0a 31 31 20 ng.obligations.under.article.11.
22e20 6f 66 20 74 68 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 of.the.WIPO.copyright.treaty.ado
22e40 70 74 65 64 20 6f 6e 20 32 30 20 44 65 63 65 6d 62 65 72 20 31 39 39 36 2c 20 6f 72 0a 73 69 6d pted.on.20.December.1996,.or.sim
22e60 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
22e80 74 69 6e 67 20 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 6f 66 20 73 75 63 68 0a 6d 65 61 73 75 ting.circumvention.of.such.measu
22ea0 72 65 73 2e 0a 0a 20 20 57 68 65 6e 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 65 res.....When.you.convey.a.covere
22ec0 64 20 77 6f 72 6b 2c 20 79 6f 75 20 77 61 69 76 65 20 61 6e 79 20 6c 65 67 61 6c 20 70 6f 77 65 d.work,.you.waive.any.legal.powe
22ee0 72 20 74 6f 20 66 6f 72 62 69 64 0a 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 6f 66 20 74 65 63 r.to.forbid.circumvention.of.tec
22f00 68 6e 6f 6c 6f 67 69 63 61 6c 20 6d 65 61 73 75 72 65 73 20 74 6f 20 74 68 65 20 65 78 74 65 6e hnological.measures.to.the.exten
22f20 74 20 73 75 63 68 20 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 0a 69 73 20 65 66 66 65 63 74 65 64 t.such.circumvention.is.effected
22f40 20 62 79 20 65 78 65 72 63 69 73 69 6e 67 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 .by.exercising.rights.under.this
22f60 20 4c 69 63 65 6e 73 65 20 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f 0a 74 68 65 20 63 6f 76 .License.with.respect.to.the.cov
22f80 65 72 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 79 6f 75 20 64 69 73 63 6c 61 69 6d 20 61 6e 79 20 ered.work,.and.you.disclaim.any.
22fa0 69 6e 74 65 6e 74 69 6f 6e 20 74 6f 20 6c 69 6d 69 74 20 6f 70 65 72 61 74 69 6f 6e 20 6f 72 0a intention.to.limit.operation.or.
22fc0 6d 6f 64 69 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 modification.of.the.work.as.a.me
22fe0 61 6e 73 20 6f 66 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 6f ans.of.enforcing,.against.the.wo
23000 72 6b 27 73 0a 75 73 65 72 73 2c 20 79 6f 75 72 20 6f 72 20 74 68 69 72 64 20 70 61 72 74 69 65 rk's.users,.your.or.third.partie
23020 73 27 20 6c 65 67 61 6c 20 72 69 67 68 74 73 20 74 6f 20 66 6f 72 62 69 64 20 63 69 72 63 75 6d s'.legal.rights.to.forbid.circum
23040 76 65 6e 74 69 6f 6e 20 6f 66 0a 74 65 63 68 6e 6f 6c 6f 67 69 63 61 6c 20 6d 65 61 73 75 72 65 vention.of.technological.measure
23060 73 2e 0a 0a 20 20 34 2e 20 43 6f 6e 76 65 79 69 6e 67 20 56 65 72 62 61 74 69 6d 20 43 6f 70 69 s.....4..Conveying.Verbatim.Copi
23080 65 73 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 76 65 72 62 61 74 69 6d 20 63 es.....You.may.convey.verbatim.c
230a0 6f 70 69 65 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 27 73 20 73 6f 75 72 63 65 20 63 6f opies.of.the.Program's.source.co
230c0 64 65 20 61 73 20 79 6f 75 0a 72 65 63 65 69 76 65 20 69 74 2c 20 69 6e 20 61 6e 79 20 6d 65 64 de.as.you.receive.it,.in.any.med
230e0 69 75 6d 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 73 70 69 63 75 6f ium,.provided.that.you.conspicuo
23100 75 73 6c 79 20 61 6e 64 0a 61 70 70 72 6f 70 72 69 61 74 65 6c 79 20 70 75 62 6c 69 73 68 20 6f usly.and.appropriately.publish.o
23120 6e 20 65 61 63 68 20 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 n.each.copy.an.appropriate.copyr
23140 69 67 68 74 20 6e 6f 74 69 63 65 3b 0a 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f 74 ight.notice;.keep.intact.all.not
23160 69 63 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 ices.stating.that.this.License.a
23180 6e 64 20 61 6e 79 0a 6e 6f 6e 2d 70 65 72 6d 69 73 73 69 76 65 20 74 65 72 6d 73 20 61 64 64 65 nd.any.non-permissive.terms.adde
231a0 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 70 6c 79 d.in.accord.with.section.7.apply
231c0 20 74 6f 20 74 68 65 20 63 6f 64 65 3b 0a 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f .to.the.code;.keep.intact.all.no
231e0 74 69 63 65 73 20 6f 66 20 74 68 65 20 61 62 73 65 6e 63 65 20 6f 66 20 61 6e 79 20 77 61 72 72 tices.of.the.absence.of.any.warr
23200 61 6e 74 79 3b 20 61 6e 64 20 67 69 76 65 20 61 6c 6c 0a 72 65 63 69 70 69 65 6e 74 73 20 61 20 anty;.and.give.all.recipients.a.
23220 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 copy.of.this.License.along.with.
23240 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 63 68 61 72 67 65 20 61 the.Program.....You.may.charge.a
23260 6e 79 20 70 72 69 63 65 20 6f 72 20 6e 6f 20 70 72 69 63 65 20 66 6f 72 20 65 61 63 68 20 63 6f ny.price.or.no.price.for.each.co
23280 70 79 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 76 65 79 2c 0a 61 6e 64 20 79 6f 75 20 6d 61 79 20 py.that.you.convey,.and.you.may.
232a0 6f 66 66 65 72 20 73 75 70 70 6f 72 74 20 6f 72 20 77 61 72 72 61 6e 74 79 20 70 72 6f 74 65 63 offer.support.or.warranty.protec
232c0 74 69 6f 6e 20 66 6f 72 20 61 20 66 65 65 2e 0a 0a 20 20 35 2e 20 43 6f 6e 76 65 79 69 6e 67 20 tion.for.a.fee.....5..Conveying.
232e0 4d 6f 64 69 66 69 65 64 20 53 6f 75 72 63 65 20 56 65 72 73 69 6f 6e 73 2e 0a 0a 20 20 59 6f 75 Modified.Source.Versions.....You
23300 20 6d 61 79 20 63 6f 6e 76 65 79 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 .may.convey.a.work.based.on.the.
23320 50 72 6f 67 72 61 6d 2c 20 6f 72 20 74 68 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 74 6f Program,.or.the.modifications.to
23340 0a 70 72 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 .produce.it.from.the.Program,.in
23360 20 74 68 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 .the.form.of.source.code.under.t
23380 68 65 0a 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 64 20 he.terms.of.section.4,.provided.
233a0 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 65 20 that.you.also.meet.all.of.these.
233c0 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 20 20 20 20 61 29 20 54 68 65 20 77 6f 72 6b 20 6d 75 73 conditions:......a).The.work.mus
233e0 74 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 t.carry.prominent.notices.statin
23400 67 20 74 68 61 74 20 79 6f 75 20 6d 6f 64 69 66 69 65 64 0a 20 20 20 20 69 74 2c 20 61 6e 64 20 g.that.you.modified.....it,.and.
23420 67 69 76 69 6e 67 20 61 20 72 65 6c 65 76 61 6e 74 20 64 61 74 65 2e 0a 0a 20 20 20 20 62 29 20 giving.a.relevant.date.......b).
23440 54 68 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 The.work.must.carry.prominent.no
23460 74 69 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 69 74 20 69 73 0a 20 20 20 20 72 65 6c tices.stating.that.it.is.....rel
23480 65 61 73 65 64 20 75 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 eased.under.this.License.and.any
234a0 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 64 64 65 64 20 75 6e 64 65 72 20 73 65 63 74 69 6f 6e 0a .conditions.added.under.section.
234c0 20 20 20 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 ....7...This.requirement.modifie
234e0 73 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 20 69 6e 20 73 65 63 74 69 6f 6e 20 34 20 74 s.the.requirement.in.section.4.t
23500 6f 0a 20 20 20 20 22 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f 74 69 63 65 73 22 2e o....."keep.intact.all.notices".
23520 0a 0a 20 20 20 20 63 29 20 59 6f 75 20 6d 75 73 74 20 6c 69 63 65 6e 73 65 20 74 68 65 20 65 6e ......c).You.must.license.the.en
23540 74 69 72 65 20 77 6f 72 6b 2c 20 61 73 20 61 20 77 68 6f 6c 65 2c 20 75 6e 64 65 72 20 74 68 69 tire.work,.as.a.whole,.under.thi
23560 73 0a 20 20 20 20 4c 69 63 65 6e 73 65 20 74 6f 20 61 6e 79 6f 6e 65 20 77 68 6f 20 63 6f 6d 65 s.....License.to.anyone.who.come
23580 73 20 69 6e 74 6f 20 70 6f 73 73 65 73 73 69 6f 6e 20 6f 66 20 61 20 63 6f 70 79 2e 20 20 54 68 s.into.possession.of.a.copy...Th
235a0 69 73 0a 20 20 20 20 4c 69 63 65 6e 73 65 20 77 69 6c 6c 20 74 68 65 72 65 66 6f 72 65 20 61 70 is.....License.will.therefore.ap
235c0 70 6c 79 2c 20 61 6c 6f 6e 67 20 77 69 74 68 20 61 6e 79 20 61 70 70 6c 69 63 61 62 6c 65 20 73 ply,.along.with.any.applicable.s
235e0 65 63 74 69 6f 6e 20 37 0a 20 20 20 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 20 74 ection.7.....additional.terms,.t
23600 6f 20 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 o.the.whole.of.the.work,.and.all
23620 20 69 74 73 20 70 61 72 74 73 2c 0a 20 20 20 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 68 6f .its.parts,.....regardless.of.ho
23640 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 69 63 65 6e w.they.are.packaged...This.Licen
23660 73 65 20 67 69 76 65 73 20 6e 6f 0a 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 6c 69 se.gives.no.....permission.to.li
23680 63 65 6e 73 65 20 74 68 65 20 77 6f 72 6b 20 69 6e 20 61 6e 79 20 6f 74 68 65 72 20 77 61 79 2c cense.the.work.in.any.other.way,
236a0 20 62 75 74 20 69 74 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 69 6e 76 61 6c 69 64 61 74 65 20 .but.it.does.not.....invalidate.
236c0 73 75 63 68 20 70 65 72 6d 69 73 73 69 6f 6e 20 69 66 20 79 6f 75 20 68 61 76 65 20 73 65 70 61 such.permission.if.you.have.sepa
236e0 72 61 74 65 6c 79 20 72 65 63 65 69 76 65 64 20 69 74 2e 0a 0a 20 20 20 20 64 29 20 49 66 20 74 rately.received.it.......d).If.t
23700 68 65 20 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 he.work.has.interactive.user.int
23720 65 72 66 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 41 erfaces,.each.must.display.....A
23740 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 65 76 65 ppropriate.Legal.Notices;.howeve
23760 72 2c 20 69 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 68 61 73 20 69 6e 74 65 72 61 63 74 69 76 r,.if.the.Program.has.interactiv
23780 65 0a 20 20 20 20 69 6e 74 65 72 66 61 63 65 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 64 69 73 e.....interfaces.that.do.not.dis
237a0 70 6c 61 79 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 2c 20 play.Appropriate.Legal.Notices,.
237c0 79 6f 75 72 0a 20 20 20 20 77 6f 72 6b 20 6e 65 65 64 20 6e 6f 74 20 6d 61 6b 65 20 74 68 65 6d your.....work.need.not.make.them
237e0 20 64 6f 20 73 6f 2e 0a 0a 20 20 41 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20 61 20 63 6f .do.so.....A.compilation.of.a.co
23800 76 65 72 65 64 20 77 6f 72 6b 20 77 69 74 68 20 6f 74 68 65 72 20 73 65 70 61 72 61 74 65 20 61 vered.work.with.other.separate.a
23820 6e 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 0a 77 6f 72 6b 73 2c 20 77 68 69 63 68 20 61 72 65 20 nd.independent.works,.which.are.
23840 6e 6f 74 20 62 79 20 74 68 65 69 72 20 6e 61 74 75 72 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 6f not.by.their.nature.extensions.o
23860 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 0a 61 6e 64 20 77 68 69 63 68 20 61 72 f.the.covered.work,.and.which.ar
23880 65 20 6e 6f 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 e.not.combined.with.it.such.as.t
238a0 6f 20 66 6f 72 6d 20 61 20 6c 61 72 67 65 72 20 70 72 6f 67 72 61 6d 2c 0a 69 6e 20 6f 72 20 6f o.form.a.larger.program,.in.or.o
238c0 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 72 n.a.volume.of.a.storage.or.distr
238e0 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 2c 20 69 73 20 63 61 6c 6c 65 64 20 61 6e 0a 22 61 67 ibution.medium,.is.called.an."ag
23900 67 72 65 67 61 74 65 22 20 69 66 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 gregate".if.the.compilation.and.
23920 69 74 73 20 72 65 73 75 6c 74 69 6e 67 20 63 6f 70 79 72 69 67 68 74 20 61 72 65 20 6e 6f 74 0a its.resulting.copyright.are.not.
23940 75 73 65 64 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 61 63 63 65 73 73 20 6f 72 20 6c 65 67 61 used.to.limit.the.access.or.lega
23960 6c 20 72 69 67 68 74 73 20 6f 66 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 27 73 20 75 73 l.rights.of.the.compilation's.us
23980 65 72 73 0a 62 65 79 6f 6e 64 20 77 68 61 74 20 74 68 65 20 69 6e 64 69 76 69 64 75 61 6c 20 77 ers.beyond.what.the.individual.w
239a0 6f 72 6b 73 20 70 65 72 6d 69 74 2e 20 20 49 6e 63 6c 75 73 69 6f 6e 20 6f 66 20 61 20 63 6f 76 orks.permit...Inclusion.of.a.cov
239c0 65 72 65 64 20 77 6f 72 6b 0a 69 6e 20 61 6e 20 61 67 67 72 65 67 61 74 65 20 64 6f 65 73 20 6e ered.work.in.an.aggregate.does.n
239e0 6f 74 20 63 61 75 73 65 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 20 61 70 70 6c 79 20 74 ot.cause.this.License.to.apply.t
23a00 6f 20 74 68 65 20 6f 74 68 65 72 0a 70 61 72 74 73 20 6f 66 20 74 68 65 20 61 67 67 72 65 67 61 o.the.other.parts.of.the.aggrega
23a20 74 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 te.....6..Conveying.Non-Source.F
23a40 6f 72 6d 73 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 65 orms.....You.may.convey.a.covere
23a60 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 65 72 d.work.in.object.code.form.under
23a80 20 74 68 65 20 74 65 72 6d 73 0a 6f 66 20 73 65 63 74 69 6f 6e 73 20 34 20 61 6e 64 20 35 2c 20 .the.terms.of.sections.4.and.5,.
23aa0 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 6e 76 65 79 20 74 68 provided.that.you.also.convey.th
23ac0 65 0a 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 e.machine-readable.Corresponding
23ae0 20 53 6f 75 72 63 65 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 .Source.under.the.terms.of.this.
23b00 4c 69 63 65 6e 73 65 2c 0a 69 6e 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 77 61 79 73 3a 0a 0a License,.in.one.of.these.ways:..
23b20 20 20 20 20 61 29 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 ....a).Convey.the.object.code.in
23b40 2c 20 6f 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 ,.or.embodied.in,.a.physical.pro
23b60 64 75 63 74 0a 20 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 duct.....(including.a.physical.d
23b80 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 69 65 64 istribution.medium),.accompanied
23ba0 20 62 79 20 74 68 65 0a 20 20 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 .by.the.....Corresponding.Source
23bc0 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
23be0 69 75 6d 0a 20 20 20 20 63 75 73 74 6f 6d 61 72 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 ium.....customarily.used.for.sof
23c00 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 65 2e 0a 0a 20 20 20 20 62 29 20 43 6f 6e 76 65 tware.interchange.......b).Conve
23c20 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
23c40 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 28 69 6e d.in,.a.physical.product.....(in
23c60 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 75 74 69 6f 6e 20 cluding.a.physical.distribution.
23c80 6d 65 64 69 75 6d 29 2c 20 61 63 63 6f 6d 70 61 6e 69 65 64 20 62 79 20 61 0a 20 20 20 20 77 72 medium),.accompanied.by.a.....wr
23ca0 69 74 74 65 6e 20 6f 66 66 65 72 2c 20 76 61 6c 69 64 20 66 6f 72 20 61 74 20 6c 65 61 73 74 20 itten.offer,.valid.for.at.least.
23cc0 74 68 72 65 65 20 79 65 61 72 73 20 61 6e 64 20 76 61 6c 69 64 20 66 6f 72 20 61 73 0a 20 20 20 three.years.and.valid.for.as....
23ce0 20 6c 6f 6e 67 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 .long.as.you.offer.spare.parts.o
23d00 72 20 63 75 73 74 6f 6d 65 72 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 61 74 20 70 72 6f 64 r.customer.support.for.that.prod
23d20 75 63 74 0a 20 20 20 20 6d 6f 64 65 6c 2c 20 74 6f 20 67 69 76 65 20 61 6e 79 6f 6e 65 20 77 68 uct.....model,.to.give.anyone.wh
23d40 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 20 65 69 74 68 o.possesses.the.object.code.eith
23d60 65 72 20 28 31 29 20 61 0a 20 20 20 20 63 6f 70 79 20 6f 66 20 74 68 65 20 43 6f 72 72 65 73 70 er.(1).a.....copy.of.the.Corresp
23d80 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 20 73 6f 66 74 77 61 onding.Source.for.all.the.softwa
23da0 72 65 20 69 6e 20 74 68 65 0a 20 20 20 20 70 72 6f 64 75 63 74 20 74 68 61 74 20 69 73 20 63 6f re.in.the.....product.that.is.co
23dc0 76 65 72 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 6f 6e 20 61 20 64 75 72 61 vered.by.this.License,.on.a.dura
23de0 62 6c 65 20 70 68 79 73 69 63 61 6c 0a 20 20 20 20 6d 65 64 69 75 6d 20 63 75 73 74 6f 6d 61 72 ble.physical.....medium.customar
23e00 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 ily.used.for.software.interchang
23e20 65 2c 20 66 6f 72 20 61 20 70 72 69 63 65 20 6e 6f 0a 20 20 20 20 6d 6f 72 65 20 74 68 61 6e 20 e,.for.a.price.no.....more.than.
23e40 79 6f 75 72 20 72 65 61 73 6f 6e 61 62 6c 65 20 63 6f 73 74 20 6f 66 20 70 68 79 73 69 63 61 6c your.reasonable.cost.of.physical
23e60 6c 79 20 70 65 72 66 6f 72 6d 69 6e 67 20 74 68 69 73 0a 20 20 20 20 63 6f 6e 76 65 79 69 6e 67 ly.performing.this.....conveying
23e80 20 6f 66 20 73 6f 75 72 63 65 2c 20 6f 72 20 28 32 29 20 61 63 63 65 73 73 20 74 6f 20 63 6f 70 .of.source,.or.(2).access.to.cop
23ea0 79 20 74 68 65 0a 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 66 y.the.....Corresponding.Source.f
23ec0 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 20 63 68 61 72 67 rom.a.network.server.at.no.charg
23ee0 65 2e 0a 0a 20 20 20 20 63 29 20 43 6f 6e 76 65 79 20 69 6e 64 69 76 69 64 75 61 6c 20 63 6f 70 e.......c).Convey.individual.cop
23f00 69 65 73 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 69 74 68 20 61 20 63 6f ies.of.the.object.code.with.a.co
23f20 70 79 20 6f 66 20 74 68 65 0a 20 20 20 20 77 72 69 74 74 65 6e 20 6f 66 66 65 72 20 74 6f 20 70 py.of.the.....written.offer.to.p
23f40 72 6f 76 69 64 65 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 2e rovide.the.Corresponding.Source.
23f60 20 20 54 68 69 73 0a 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 ..This.....alternative.is.allowe
23f80 64 20 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 d.only.occasionally.and.noncomme
23fa0 72 63 69 61 6c 6c 79 2c 20 61 6e 64 0a 20 20 20 20 6f 6e 6c 79 20 69 66 20 79 6f 75 20 72 65 63 rcially,.and.....only.if.you.rec
23fc0 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 75 63 68 20 eived.the.object.code.with.such.
23fe0 61 6e 20 6f 66 66 65 72 2c 20 69 6e 20 61 63 63 6f 72 64 0a 20 20 20 20 77 69 74 68 20 73 75 62 an.offer,.in.accord.....with.sub
24000 73 65 63 74 69 6f 6e 20 36 62 2e 0a 0a 20 20 20 20 64 29 20 43 6f 6e 76 65 79 20 74 68 65 20 6f section.6b.......d).Convey.the.o
24020 62 6a 65 63 74 20 63 6f 64 65 20 62 79 20 6f 66 66 65 72 69 6e 67 20 61 63 63 65 73 73 20 66 72 bject.code.by.offering.access.fr
24040 6f 6d 20 61 20 64 65 73 69 67 6e 61 74 65 64 0a 20 20 20 20 70 6c 61 63 65 20 28 67 72 61 74 69 om.a.designated.....place.(grati
24060 73 20 6f 72 20 66 6f 72 20 61 20 63 68 61 72 67 65 29 2c 20 61 6e 64 20 6f 66 66 65 72 20 65 71 s.or.for.a.charge),.and.offer.eq
24080 75 69 76 61 6c 65 6e 74 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 0a 20 20 20 20 43 6f 72 72 65 uivalent.access.to.the.....Corre
240a0 73 70 6f 6e 64 69 6e 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 sponding.Source.in.the.same.way.
240c0 74 68 72 6f 75 67 68 20 74 68 65 20 73 61 6d 65 20 70 6c 61 63 65 20 61 74 20 6e 6f 0a 20 20 20 through.the.same.place.at.no....
240e0 20 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 .further.charge...You.need.not.r
24100 65 71 75 69 72 65 20 72 65 63 69 70 69 65 6e 74 73 20 74 6f 20 63 6f 70 79 20 74 68 65 0a 20 20 equire.recipients.to.copy.the...
24120 20 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 67 20 77 69 74 ..Corresponding.Source.along.wit
24140 68 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 2e 20 20 49 66 20 74 68 65 20 70 6c 61 63 65 h.the.object.code...If.the.place
24160 20 74 6f 0a 20 20 20 20 63 6f 70 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 73 20 .to.....copy.the.object.code.is.
24180 61 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 2c 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 a.network.server,.the.Correspond
241a0 69 6e 67 20 53 6f 75 72 63 65 0a 20 20 20 20 6d 61 79 20 62 65 20 6f 6e 20 61 20 64 69 66 66 65 ing.Source.....may.be.on.a.diffe
241c0 72 65 6e 74 20 73 65 72 76 65 72 20 28 6f 70 65 72 61 74 65 64 20 62 79 20 79 6f 75 20 6f 72 20 rent.server.(operated.by.you.or.
241e0 61 20 74 68 69 72 64 20 70 61 72 74 79 29 0a 20 20 20 20 74 68 61 74 20 73 75 70 70 6f 72 74 73 a.third.party).....that.supports
24200 20 65 71 75 69 76 61 6c 65 6e 74 20 63 6f 70 79 69 6e 67 20 66 61 63 69 6c 69 74 69 65 73 2c 20 .equivalent.copying.facilities,.
24220 70 72 6f 76 69 64 65 64 20 79 6f 75 20 6d 61 69 6e 74 61 69 6e 0a 20 20 20 20 63 6c 65 61 72 20 provided.you.maintain.....clear.
24240 64 69 72 65 63 74 69 6f 6e 73 20 6e 65 78 74 20 74 6f 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f directions.next.to.the.object.co
24260 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 65 0a 20 20 20 20 de.saying.where.to.find.the.....
24280 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e 20 20 52 65 67 61 72 64 6c 65 73 Corresponding.Source...Regardles
242a0 73 20 6f 66 20 77 68 61 74 20 73 65 72 76 65 72 20 68 6f 73 74 73 20 74 68 65 0a 20 20 20 20 43 s.of.what.server.hosts.the.....C
242c0 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2c 20 79 6f 75 20 72 65 6d 61 69 6e 20 orresponding.Source,.you.remain.
242e0 6f 62 6c 69 67 61 74 65 64 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 69 74 20 69 73 0a 20 obligated.to.ensure.that.it.is..
24300 20 20 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 61 73 20 6c 6f 6e 67 20 61 73 20 6e 65 65 64 ...available.for.as.long.as.need
24320 65 64 20 74 6f 20 73 61 74 69 73 66 79 20 74 68 65 73 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 ed.to.satisfy.these.requirements
24340 2e 0a 0a 20 20 20 20 65 29 20 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 .......e).Convey.the.object.code
24360 20 75 73 69 6e 67 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 .using.peer-to-peer.transmission
24380 2c 20 70 72 6f 76 69 64 65 64 0a 20 20 20 20 79 6f 75 20 69 6e 66 6f 72 6d 20 6f 74 68 65 72 20 ,.provided.....you.inform.other.
243a0 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 20 peers.where.the.object.code.and.
243c0 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 20 20 20 20 53 6f 75 72 63 65 20 6f 66 20 74 68 65 20 Corresponding.....Source.of.the.
243e0 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 74 68 65 20 67 65 work.are.being.offered.to.the.ge
24400 6e 65 72 61 6c 20 70 75 62 6c 69 63 20 61 74 20 6e 6f 0a 20 20 20 20 63 68 61 72 67 65 20 75 6e neral.public.at.no.....charge.un
24420 64 65 72 20 73 75 62 73 65 63 74 69 6f 6e 20 36 64 2e 0a 0a 20 20 41 20 73 65 70 61 72 61 62 6c der.subsection.6d.....A.separabl
24440 65 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 2c 20 77 68 e.portion.of.the.object.code,.wh
24460 6f 73 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 20 65 78 63 6c 75 64 65 64 0a 66 72 6f 6d ose.source.code.is.excluded.from
24480 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 73 20 61 20 53 .the.Corresponding.Source.as.a.S
244a0 79 73 74 65 6d 20 4c 69 62 72 61 72 79 2c 20 6e 65 65 64 20 6e 6f 74 20 62 65 0a 69 6e 63 6c 75 ystem.Library,.need.not.be.inclu
244c0 64 65 64 20 69 6e 20 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 ded.in.conveying.the.object.code
244e0 20 77 6f 72 6b 2e 0a 0a 20 20 41 20 22 55 73 65 72 20 50 72 6f 64 75 63 74 22 20 69 73 20 65 69 .work.....A."User.Product".is.ei
24500 74 68 65 72 20 28 31 29 20 61 20 22 63 6f 6e 73 75 6d 65 72 20 70 72 6f 64 75 63 74 22 2c 20 77 ther.(1).a."consumer.product",.w
24520 68 69 63 68 20 6d 65 61 6e 73 20 61 6e 79 0a 74 61 6e 67 69 62 6c 65 20 70 65 72 73 6f 6e 61 6c hich.means.any.tangible.personal
24540 20 70 72 6f 70 65 72 74 79 20 77 68 69 63 68 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 75 73 65 64 .property.which.is.normally.used
24560 20 66 6f 72 20 70 65 72 73 6f 6e 61 6c 2c 20 66 61 6d 69 6c 79 2c 0a 6f 72 20 68 6f 75 73 65 68 .for.personal,.family,.or.househ
24580 6f 6c 64 20 70 75 72 70 6f 73 65 73 2c 20 6f 72 20 28 32 29 20 61 6e 79 74 68 69 6e 67 20 64 65 old.purposes,.or.(2).anything.de
245a0 73 69 67 6e 65 64 20 6f 72 20 73 6f 6c 64 20 66 6f 72 20 69 6e 63 6f 72 70 6f 72 61 74 69 6f 6e signed.or.sold.for.incorporation
245c0 0a 69 6e 74 6f 20 61 20 64 77 65 6c 6c 69 6e 67 2e 20 20 49 6e 20 64 65 74 65 72 6d 69 6e 69 6e .into.a.dwelling...In.determinin
245e0 67 20 77 68 65 74 68 65 72 20 61 20 70 72 6f 64 75 63 74 20 69 73 20 61 20 63 6f 6e 73 75 6d 65 g.whether.a.product.is.a.consume
24600 72 20 70 72 6f 64 75 63 74 2c 0a 64 6f 75 62 74 66 75 6c 20 63 61 73 65 73 20 73 68 61 6c 6c 20 r.product,.doubtful.cases.shall.
24620 62 65 20 72 65 73 6f 6c 76 65 64 20 69 6e 20 66 61 76 6f 72 20 6f 66 20 63 6f 76 65 72 61 67 65 be.resolved.in.favor.of.coverage
24640 2e 20 20 46 6f 72 20 61 20 70 61 72 74 69 63 75 6c 61 72 0a 70 72 6f 64 75 63 74 20 72 65 63 65 ...For.a.particular.product.rece
24660 69 76 65 64 20 62 79 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 72 2c 20 22 6e 6f 72 6d ived.by.a.particular.user,."norm
24680 61 6c 6c 79 20 75 73 65 64 22 20 72 65 66 65 72 73 20 74 6f 20 61 0a 74 79 70 69 63 61 6c 20 6f ally.used".refers.to.a.typical.o
246a0 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 20 6f 66 20 70 72 r.common.use.of.that.class.of.pr
246c0 6f 64 75 63 74 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 74 68 65 20 73 74 61 74 75 73 0a oduct,.regardless.of.the.status.
246e0 6f 66 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 72 20 6f 72 20 6f 66 20 74 68 65 of.the.particular.user.or.of.the
24700 20 77 61 79 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 65 .way.in.which.the.particular.use
24720 72 0a 61 63 74 75 61 6c 6c 79 20 75 73 65 73 2c 20 6f 72 20 65 78 70 65 63 74 73 20 6f 72 20 69 r.actually.uses,.or.expects.or.i
24740 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 75 73 65 2c 20 74 68 65 20 70 72 6f 64 75 63 74 2e 20 s.expected.to.use,.the.product..
24760 20 41 20 70 72 6f 64 75 63 74 0a 69 73 20 61 20 63 6f 6e 73 75 6d 65 72 20 70 72 6f 64 75 63 74 .A.product.is.a.consumer.product
24780 20 72 65 67 61 72 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 .regardless.of.whether.the.produ
247a0 63 74 20 68 61 73 20 73 75 62 73 74 61 6e 74 69 61 6c 0a 63 6f 6d 6d 65 72 63 69 61 6c 2c 20 69 ct.has.substantial.commercial,.i
247c0 6e 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 ndustrial.or.non-consumer.uses,.
247e0 75 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 0a 74 68 65 20 6f unless.such.uses.represent.the.o
24800 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 6f 66 20 74 nly.significant.mode.of.use.of.t
24820 68 65 20 70 72 6f 64 75 63 74 2e 0a 0a 20 20 22 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 he.product....."Installation.Inf
24840 6f 72 6d 61 74 69 6f 6e 22 20 66 6f 72 20 61 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 6d 65 61 ormation".for.a.User.Product.mea
24860 6e 73 20 61 6e 79 20 6d 65 74 68 6f 64 73 2c 0a 70 72 6f 63 65 64 75 72 65 73 2c 20 61 75 74 68 ns.any.methods,.procedures,.auth
24880 6f 72 69 7a 61 74 69 6f 6e 20 6b 65 79 73 2c 20 6f 72 20 6f 74 68 65 72 20 69 6e 66 6f 72 6d 61 orization.keys,.or.other.informa
248a0 74 69 6f 6e 20 72 65 71 75 69 72 65 64 20 74 6f 20 69 6e 73 74 61 6c 6c 0a 61 6e 64 20 65 78 65 tion.required.to.install.and.exe
248c0 63 75 74 65 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 61 20 63 6f 76 65 cute.modified.versions.of.a.cove
248e0 72 65 64 20 77 6f 72 6b 20 69 6e 20 74 68 61 74 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 66 72 red.work.in.that.User.Product.fr
24900 6f 6d 0a 61 20 6d 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 om.a.modified.version.of.its.Cor
24920 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e 20 20 54 68 65 20 69 6e 66 6f 72 6d 61 74 responding.Source...The.informat
24940 69 6f 6e 20 6d 75 73 74 0a 73 75 66 66 69 63 65 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 ion.must.suffice.to.ensure.that.
24960 74 68 65 20 63 6f 6e 74 69 6e 75 65 64 20 66 75 6e 63 74 69 6f 6e 69 6e 67 20 6f 66 20 74 68 65 the.continued.functioning.of.the
24980 20 6d 6f 64 69 66 69 65 64 20 6f 62 6a 65 63 74 0a 63 6f 64 65 20 69 73 20 69 6e 20 6e 6f 20 63 .modified.object.code.is.in.no.c
249a0 61 73 65 20 70 72 65 76 65 6e 74 65 64 20 6f 72 20 69 6e 74 65 72 66 65 72 65 64 20 77 69 74 68 ase.prevented.or.interfered.with
249c0 20 73 6f 6c 65 6c 79 20 62 65 63 61 75 73 65 0a 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 68 61 73 .solely.because.modification.has
249e0 20 62 65 65 6e 20 6d 61 64 65 2e 0a 0a 20 20 49 66 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 6e 20 .been.made.....If.you.convey.an.
24a00 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 object.code.work.under.this.sect
24a20 69 6f 6e 20 69 6e 2c 20 6f 72 20 77 69 74 68 2c 20 6f 72 0a 73 70 65 63 69 66 69 63 61 6c 6c 79 ion.in,.or.with,.or.specifically
24a40 20 66 6f 72 20 75 73 65 20 69 6e 2c 20 61 20 55 73 65 72 20 50 72 6f 64 75 63 74 2c 20 61 6e 64 .for.use.in,.a.User.Product,.and
24a60 20 74 68 65 20 63 6f 6e 76 65 79 69 6e 67 20 6f 63 63 75 72 73 20 61 73 0a 70 61 72 74 20 6f 66 .the.conveying.occurs.as.part.of
24a80 20 61 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 72 69 67 68 .a.transaction.in.which.the.righ
24aa0 74 20 6f 66 20 70 6f 73 73 65 73 73 69 6f 6e 20 61 6e 64 20 75 73 65 20 6f 66 20 74 68 65 0a 55 t.of.possession.and.use.of.the.U
24ac0 73 65 72 20 50 72 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 ser.Product.is.transferred.to.th
24ae0 65 20 72 65 63 69 70 69 65 6e 74 20 69 6e 20 70 65 72 70 65 74 75 69 74 79 20 6f 72 20 66 6f 72 e.recipient.in.perpetuity.or.for
24b00 20 61 0a 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 .a.fixed.term.(regardless.of.how
24b20 20 74 68 65 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 69 73 20 63 68 61 72 61 63 74 65 72 69 7a 65 .the.transaction.is.characterize
24b40 64 29 2c 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 63 6f 6e d),.the.Corresponding.Source.con
24b60 76 65 79 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 veyed.under.this.section.must.be
24b80 20 61 63 63 6f 6d 70 61 6e 69 65 64 0a 62 79 20 74 68 65 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e .accompanied.by.the.Installation
24ba0 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 20 42 75 74 20 74 68 69 73 20 72 65 71 75 69 72 65 6d .Information...But.this.requirem
24bc0 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 0a 69 66 20 6e 65 69 74 68 65 72 20 79 6f ent.does.not.apply.if.neither.yo
24be0 75 20 6e 6f 72 20 61 6e 79 20 74 68 69 72 64 20 70 61 72 74 79 20 72 65 74 61 69 6e 73 20 74 68 u.nor.any.third.party.retains.th
24c00 65 20 61 62 69 6c 69 74 79 20 74 6f 20 69 6e 73 74 61 6c 6c 0a 6d 6f 64 69 66 69 65 64 20 6f 62 e.ability.to.install.modified.ob
24c20 6a 65 63 74 20 63 6f 64 65 20 6f 6e 20 74 68 65 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 28 66 ject.code.on.the.User.Product.(f
24c40 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 77 6f 72 6b 20 68 61 73 0a 62 65 65 6e 20 69 6e or.example,.the.work.has.been.in
24c60 73 74 61 6c 6c 65 64 20 69 6e 20 52 4f 4d 29 2e 0a 0a 20 20 54 68 65 20 72 65 71 75 69 72 65 6d stalled.in.ROM).....The.requirem
24c80 65 6e 74 20 74 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 ent.to.provide.Installation.Info
24ca0 72 6d 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 61 0a 72 65 71 75 69 rmation.does.not.include.a.requi
24cc0 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
24ce0 70 70 6f 72 74 20 73 65 72 76 69 63 65 2c 20 77 61 72 72 61 6e 74 79 2c 20 6f 72 20 75 70 64 61 pport.service,.warranty,.or.upda
24d00 74 65 73 0a 66 6f 72 20 61 20 77 6f 72 6b 20 74 68 61 74 20 68 61 73 20 62 65 65 6e 20 6d 6f 64 tes.for.a.work.that.has.been.mod
24d20 69 66 69 65 64 20 6f 72 20 69 6e 73 74 61 6c 6c 65 64 20 62 79 20 74 68 65 20 72 65 63 69 70 69 ified.or.installed.by.the.recipi
24d40 65 6e 74 2c 20 6f 72 20 66 6f 72 0a 74 68 65 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 69 6e 20 ent,.or.for.the.User.Product.in.
24d60 77 68 69 63 68 20 69 74 20 68 61 73 20 62 65 65 6e 20 6d 6f 64 69 66 69 65 64 20 6f 72 20 69 6e which.it.has.been.modified.or.in
24d80 73 74 61 6c 6c 65 64 2e 20 20 41 63 63 65 73 73 20 74 6f 20 61 0a 6e 65 74 77 6f 72 6b 20 6d 61 stalled...Access.to.a.network.ma
24da0 79 20 62 65 20 64 65 6e 69 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 64 69 66 69 63 61 74 69 6f y.be.denied.when.the.modificatio
24dc0 6e 20 69 74 73 65 6c 66 20 6d 61 74 65 72 69 61 6c 6c 79 20 61 6e 64 0a 61 64 76 65 72 73 65 6c n.itself.materially.and.adversel
24de0 79 20 61 66 66 65 63 74 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6e y.affects.the.operation.of.the.n
24e00 65 74 77 6f 72 6b 20 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 etwork.or.violates.the.rules.and
24e20 0a 70 72 6f 74 6f 63 6f 6c 73 20 66 6f 72 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 61 63 72 .protocols.for.communication.acr
24e40 6f 73 73 20 74 68 65 20 6e 65 74 77 6f 72 6b 2e 0a 0a 20 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e oss.the.network.....Correspondin
24e60 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 74 g.Source.conveyed,.and.Installat
24e80 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 70 72 6f 76 69 64 65 64 2c 0a 69 6e 20 61 63 63 ion.Information.provided,.in.acc
24ea0 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 20 62 65 20 69 6e ord.with.this.section.must.be.in
24ec0 20 61 20 66 6f 72 6d 61 74 20 74 68 61 74 20 69 73 20 70 75 62 6c 69 63 6c 79 0a 64 6f 63 75 6d .a.format.that.is.publicly.docum
24ee0 65 6e 74 65 64 20 28 61 6e 64 20 77 69 74 68 20 61 6e 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f ented.(and.with.an.implementatio
24f00 6e 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 69 6e 0a 73 6f 75 n.available.to.the.public.in.sou
24f20 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 29 2c 20 61 6e 64 20 6d 75 73 74 20 72 65 71 75 69 72 65 rce.code.form),.and.must.require
24f40 20 6e 6f 20 73 70 65 63 69 61 6c 20 70 61 73 73 77 6f 72 64 20 6f 72 20 6b 65 79 20 66 6f 72 0a .no.special.password.or.key.for.
24f60 75 6e 70 61 63 6b 69 6e 67 2c 20 72 65 61 64 69 6e 67 20 6f 72 20 63 6f 70 79 69 6e 67 2e 0a 0a unpacking,.reading.or.copying...
24f80 20 20 37 2e 20 41 64 64 69 74 69 6f 6e 61 6c 20 54 65 72 6d 73 2e 0a 0a 20 20 22 41 64 64 69 74 ..7..Additional.Terms....."Addit
24fa0 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 22 20 61 72 65 20 74 65 72 6d 73 20 74 68 61 ional.permissions".are.terms.tha
24fc0 74 20 73 75 70 70 6c 65 6d 65 6e 74 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 0a 4c t.supplement.the.terms.of.this.L
24fe0 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 6d icense.by.making.exceptions.from
25000 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 66 20 69 74 73 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a .one.or.more.of.its.conditions..
25020 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 61 74 20 61 72 65 20 Additional.permissions.that.are.
25040 61 70 70 6c 69 63 61 62 6c 65 20 74 6f 20 74 68 65 20 65 6e 74 69 72 65 20 50 72 6f 67 72 61 6d applicable.to.the.entire.Program
25060 20 73 68 61 6c 6c 0a 62 65 20 74 72 65 61 74 65 64 20 61 73 20 74 68 6f 75 67 68 20 74 68 65 79 .shall.be.treated.as.though.they
25080 20 77 65 72 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 .were.included.in.this.License,.
250a0 74 6f 20 74 68 65 20 65 78 74 65 6e 74 0a 74 68 61 74 20 74 68 65 79 20 61 72 65 20 76 61 6c 69 to.the.extent.that.they.are.vali
250c0 64 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 2e 20 20 49 66 20 61 64 64 69 d.under.applicable.law...If.addi
250e0 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 0a 61 70 70 6c 79 20 6f 6e 6c 79 20 74 6f tional.permissions.apply.only.to
25100 20 70 61 72 74 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 74 68 61 74 20 70 61 72 74 20 .part.of.the.Program,.that.part.
25120 6d 61 79 20 62 65 20 75 73 65 64 20 73 65 70 61 72 61 74 65 6c 79 0a 75 6e 64 65 72 20 74 68 6f may.be.used.separately.under.tho
25140 73 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 2c 20 62 75 74 20 74 68 65 20 65 6e 74 69 72 65 20 50 se.permissions,.but.the.entire.P
25160 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 0a 74 68 69 73 20 rogram.remains.governed.by.this.
25180 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 20 74 68 65 20 61 64 License.without.regard.to.the.ad
251a0 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 57 68 65 6e 20 79 6f ditional.permissions.....When.yo
251c0 75 20 63 6f 6e 76 65 79 20 61 20 63 6f 70 79 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 u.convey.a.copy.of.a.covered.wor
251e0 6b 2c 20 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 0a 72 65 6d 6f 76 65 k,.you.may.at.your.option.remove
25200 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 66 72 6f 6d .any.additional.permissions.from
25220 20 74 68 61 74 20 63 6f 70 79 2c 20 6f 72 20 66 72 6f 6d 20 61 6e 79 20 70 61 72 74 20 6f 66 0a .that.copy,.or.from.any.part.of.
25240 69 74 2e 20 20 28 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 6d 61 79 it...(Additional.permissions.may
25260 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f 20 72 65 71 75 69 72 65 20 74 68 65 69 72 20 6f 77 6e .be.written.to.require.their.own
25280 0a 72 65 6d 6f 76 61 6c 20 69 6e 20 63 65 72 74 61 69 6e 20 63 61 73 65 73 20 77 68 65 6e 20 79 .removal.in.certain.cases.when.y
252a0 6f 75 20 6d 6f 64 69 66 79 20 74 68 65 20 77 6f 72 6b 2e 29 20 20 59 6f 75 20 6d 61 79 20 70 6c ou.modify.the.work.)..You.may.pl
252c0 61 63 65 0a 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 ace.additional.permissions.on.ma
252e0 74 65 72 69 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 terial,.added.by.you.to.a.covere
25300 64 20 77 6f 72 6b 2c 0a 66 6f 72 20 77 68 69 63 68 20 79 6f 75 20 68 61 76 65 20 6f 72 20 63 61 d.work,.for.which.you.have.or.ca
25320 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 72 n.give.appropriate.copyright.per
25340 6d 69 73 73 69 6f 6e 2e 0a 0a 20 20 4e 6f 74 77 69 74 68 73 74 61 6e 64 69 6e 67 20 61 6e 79 20 mission.....Notwithstanding.any.
25360 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 6e 73 65 2c other.provision.of.this.License,
25380 20 66 6f 72 20 6d 61 74 65 72 69 61 6c 20 79 6f 75 0a 61 64 64 20 74 6f 20 61 20 63 6f 76 65 72 .for.material.you.add.to.a.cover
253a0 65 64 20 77 6f 72 6b 2c 20 79 6f 75 20 6d 61 79 20 28 69 66 20 61 75 74 68 6f 72 69 7a 65 64 20 ed.work,.you.may.(if.authorized.
253c0 62 79 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 73 20 6f 66 0a 74 68 61 74 by.the.copyright.holders.of.that
253e0 20 6d 61 74 65 72 69 61 6c 29 20 73 75 70 70 6c 65 6d 65 6e 74 20 74 68 65 20 74 65 72 6d 73 20 .material).supplement.the.terms.
25400 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 74 68 20 74 65 72 6d 73 3a 0a 0a 20 20 20 of.this.License.with.terms:.....
25420 20 61 29 20 44 69 73 63 6c 61 69 6d 69 6e 67 20 77 61 72 72 61 6e 74 79 20 6f 72 20 6c 69 6d 69 .a).Disclaiming.warranty.or.limi
25440 74 69 6e 67 20 6c 69 61 62 69 6c 69 74 79 20 64 69 66 66 65 72 65 6e 74 6c 79 20 66 72 6f 6d 20 ting.liability.differently.from.
25460 74 68 65 0a 20 20 20 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 the.....terms.of.sections.15.and
25480 20 31 36 20 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 62 29 20 .16.of.this.License;.or......b).
254a0 52 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 Requiring.preservation.of.specif
254c0 69 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 20 6f 72 0a ied.reasonable.legal.notices.or.
254e0 20 20 20 20 61 75 74 68 6f 72 20 61 74 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 74 68 61 74 20 ....author.attributions.in.that.
25500 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 61 74 65 20 4c material.or.in.the.Appropriate.L
25520 65 67 61 6c 0a 20 20 20 20 4e 6f 74 69 63 65 73 20 64 69 73 70 6c 61 79 65 64 20 62 79 20 77 6f egal.....Notices.displayed.by.wo
25540 72 6b 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 69 74 3b 20 6f 72 0a 0a 20 20 20 20 63 29 20 50 72 rks.containing.it;.or......c).Pr
25560 6f 68 69 62 69 74 69 6e 67 20 6d 69 73 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 ohibiting.misrepresentation.of.t
25580 68 65 20 6f 72 69 67 69 6e 20 6f 66 20 74 68 61 74 20 6d 61 74 65 72 69 61 6c 2c 20 6f 72 0a 20 he.origin.of.that.material,.or..
255a0 20 20 20 72 65 71 75 69 72 69 6e 67 20 74 68 61 74 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 ...requiring.that.modified.versi
255c0 6f 6e 73 20 6f 66 20 73 75 63 68 20 6d 61 74 65 72 69 61 6c 20 62 65 20 6d 61 72 6b 65 64 20 69 ons.of.such.material.be.marked.i
255e0 6e 0a 20 20 20 20 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 n.....reasonable.ways.as.differe
25600 6e 74 20 66 72 6f 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 nt.from.the.original.version;.or
25620 0a 0a 20 20 20 20 64 29 20 4c 69 6d 69 74 69 6e 67 20 74 68 65 20 75 73 65 20 66 6f 72 20 70 75 ......d).Limiting.the.use.for.pu
25640 62 6c 69 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 blicity.purposes.of.names.of.lic
25660 65 6e 73 6f 72 73 20 6f 72 0a 20 20 20 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 20 6d 61 74 ensors.or.....authors.of.the.mat
25680 65 72 69 61 6c 3b 20 6f 72 0a 0a 20 20 20 20 65 29 20 44 65 63 6c 69 6e 69 6e 67 20 74 6f 20 67 erial;.or......e).Declining.to.g
256a0 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 6b 20 6c 61 77 20 rant.rights.under.trademark.law.
256c0 66 6f 72 20 75 73 65 20 6f 66 20 73 6f 6d 65 0a 20 20 20 20 74 72 61 64 65 20 6e 61 6d 65 73 2c for.use.of.some.....trade.names,
256e0 20 74 72 61 64 65 6d 61 72 6b 73 2c 20 6f 72 20 73 65 72 76 69 63 65 20 6d 61 72 6b 73 3b 20 6f .trademarks,.or.service.marks;.o
25700 72 0a 0a 20 20 20 20 66 29 20 52 65 71 75 69 72 69 6e 67 20 69 6e 64 65 6d 6e 69 66 69 63 61 74 r......f).Requiring.indemnificat
25720 69 6f 6e 20 6f 66 20 6c 69 63 65 6e 73 6f 72 73 20 61 6e 64 20 61 75 74 68 6f 72 73 20 6f 66 20 ion.of.licensors.and.authors.of.
25740 74 68 61 74 0a 20 20 20 20 6d 61 74 65 72 69 61 6c 20 62 79 20 61 6e 79 6f 6e 65 20 77 68 6f 20 that.....material.by.anyone.who.
25760 63 6f 6e 76 65 79 73 20 74 68 65 20 6d 61 74 65 72 69 61 6c 20 28 6f 72 20 6d 6f 64 69 66 69 65 conveys.the.material.(or.modifie
25780 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 0a 20 20 20 20 69 74 29 20 77 69 74 68 20 63 6f 6e 74 72 d.versions.of.....it).with.contr
257a0 61 63 74 75 61 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 actual.assumptions.of.liability.
257c0 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 2c 20 66 6f 72 0a 20 20 20 20 61 6e 79 20 6c 69 to.the.recipient,.for.....any.li
257e0 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 20 61 ability.that.these.contractual.a
25800 73 73 75 6d 70 74 69 6f 6e 73 20 64 69 72 65 63 74 6c 79 20 69 6d 70 6f 73 65 20 6f 6e 0a 20 20 ssumptions.directly.impose.on...
25820 20 20 74 68 6f 73 65 20 6c 69 63 65 6e 73 6f 72 73 20 61 6e 64 20 61 75 74 68 6f 72 73 2e 0a 0a ..those.licensors.and.authors...
25840 20 20 41 6c 6c 20 6f 74 68 65 72 20 6e 6f 6e 2d 70 65 72 6d 69 73 73 69 76 65 20 61 64 64 69 74 ..All.other.non-permissive.addit
25860 69 6f 6e 61 6c 20 74 65 72 6d 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 22 66 75 72 74 ional.terms.are.considered."furt
25880 68 65 72 0a 72 65 73 74 72 69 63 74 69 6f 6e 73 22 20 77 69 74 68 69 6e 20 74 68 65 20 6d 65 61 her.restrictions".within.the.mea
258a0 6e 69 6e 67 20 6f 66 20 73 65 63 74 69 6f 6e 20 31 30 2e 20 20 49 66 20 74 68 65 20 50 72 6f 67 ning.of.section.10...If.the.Prog
258c0 72 61 6d 20 61 73 20 79 6f 75 0a 72 65 63 65 69 76 65 64 20 69 74 2c 20 6f 72 20 61 6e 79 20 70 ram.as.you.received.it,.or.any.p
258e0 61 72 74 20 6f 66 20 69 74 2c 20 63 6f 6e 74 61 69 6e 73 20 61 20 6e 6f 74 69 63 65 20 73 74 61 art.of.it,.contains.a.notice.sta
25900 74 69 6e 67 20 74 68 61 74 20 69 74 20 69 73 0a 67 6f 76 65 72 6e 65 64 20 62 79 20 74 68 69 73 ting.that.it.is.governed.by.this
25920 20 4c 69 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 .License.along.with.a.term.that.
25940 69 73 20 61 20 66 75 72 74 68 65 72 0a 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 79 6f 75 20 6d 61 is.a.further.restriction,.you.ma
25960 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 6e 73 y.remove.that.term...If.a.licens
25980 65 20 64 6f 63 75 6d 65 6e 74 20 63 6f 6e 74 61 69 6e 73 0a 61 20 66 75 72 74 68 65 72 20 72 65 e.document.contains.a.further.re
259a0 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 69 63 65 6e 73 69 6e striction.but.permits.relicensin
259c0 67 20 6f 72 20 63 6f 6e 76 65 79 69 6e 67 20 75 6e 64 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 g.or.conveying.under.this.Licens
259e0 65 2c 20 79 6f 75 20 6d 61 79 20 61 64 64 20 74 6f 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b e,.you.may.add.to.a.covered.work
25a00 20 6d 61 74 65 72 69 61 6c 20 67 6f 76 65 72 6e 65 64 20 62 79 20 74 68 65 20 74 65 72 6d 73 0a .material.governed.by.the.terms.
25a20 6f 66 20 74 68 61 74 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 2c 20 70 72 6f 76 69 64 of.that.license.document,.provid
25a40 65 64 20 74 68 61 74 20 74 68 65 20 66 75 72 74 68 65 72 20 72 65 73 74 72 69 63 74 69 6f 6e 20 ed.that.the.further.restriction.
25a60 64 6f 65 73 0a 6e 6f 74 20 73 75 72 76 69 76 65 20 73 75 63 68 20 72 65 6c 69 63 65 6e 73 69 6e does.not.survive.such.relicensin
25a80 67 20 6f 72 20 63 6f 6e 76 65 79 69 6e 67 2e 0a 0a 20 20 49 66 20 79 6f 75 20 61 64 64 20 74 65 g.or.conveying.....If.you.add.te
25aa0 72 6d 73 20 74 6f 20 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 rms.to.a.covered.work.in.accord.
25ac0 77 69 74 68 20 74 68 69 73 20 73 65 63 74 69 6f 6e 2c 20 79 6f 75 0a 6d 75 73 74 20 70 6c 61 63 with.this.section,.you.must.plac
25ae0 65 2c 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 e,.in.the.relevant.source.files,
25b00 20 61 20 73 74 61 74 65 6d 65 6e 74 20 6f 66 20 74 68 65 0a 61 64 64 69 74 69 6f 6e 61 6c 20 74 .a.statement.of.the.additional.t
25b20 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 73 2c 20 erms.that.apply.to.those.files,.
25b40 6f 72 20 61 20 6e 6f 74 69 63 65 20 69 6e 64 69 63 61 74 69 6e 67 0a 77 68 65 72 65 20 74 6f 20 or.a.notice.indicating.where.to.
25b60 66 69 6e 64 20 74 68 65 20 61 70 70 6c 69 63 61 62 6c 65 20 74 65 72 6d 73 2e 0a 0a 20 20 41 64 find.the.applicable.terms.....Ad
25b80 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 20 70 65 72 6d 69 73 73 69 76 65 20 6f 72 20 6e 6f ditional.terms,.permissive.or.no
25ba0 6e 2d 70 65 72 6d 69 73 73 69 76 65 2c 20 6d 61 79 20 62 65 20 73 74 61 74 65 64 20 69 6e 20 74 n-permissive,.may.be.stated.in.t
25bc0 68 65 0a 66 6f 72 6d 20 6f 66 20 61 20 73 65 70 61 72 61 74 65 6c 79 20 77 72 69 74 74 65 6e 20 he.form.of.a.separately.written.
25be0 6c 69 63 65 6e 73 65 2c 20 6f 72 20 73 74 61 74 65 64 20 61 73 20 65 78 63 65 70 74 69 6f 6e 73 license,.or.stated.as.exceptions
25c00 3b 0a 74 68 65 20 61 62 6f 76 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 61 70 70 6c 79 20 65 ;.the.above.requirements.apply.e
25c20 69 74 68 65 72 20 77 61 79 2e 0a 0a 20 20 38 2e 20 54 65 72 6d 69 6e 61 74 69 6f 6e 2e 0a 0a 20 ither.way.....8..Termination....
25c40 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 70 72 6f 70 61 67 61 74 65 20 6f 72 20 6d 6f 64 69 66 79 .You.may.not.propagate.or.modify
25c60 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 65 78 63 65 70 74 20 61 73 20 65 78 70 72 65 73 .a.covered.work.except.as.expres
25c80 73 6c 79 0a 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 sly.provided.under.this.License.
25ca0 20 20 41 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 ..Any.attempt.otherwise.to.propa
25cc0 67 61 74 65 20 6f 72 0a 6d 6f 64 69 66 79 20 69 74 20 69 73 20 76 6f 69 64 2c 20 61 6e 64 20 77 gate.or.modify.it.is.void,.and.w
25ce0 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 75 72 ill.automatically.terminate.your
25d00 20 72 69 67 68 74 73 20 75 6e 64 65 72 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 20 28 69 6e 63 6c .rights.under.this.License.(incl
25d20 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 20 67 72 61 6e 74 65 uding.any.patent.licenses.grante
25d40 64 20 75 6e 64 65 72 20 74 68 65 20 74 68 69 72 64 0a 70 61 72 61 67 72 61 70 68 20 6f 66 20 73 d.under.the.third.paragraph.of.s
25d60 65 63 74 69 6f 6e 20 31 31 29 2e 0a 0a 20 20 48 6f 77 65 76 65 72 2c 20 69 66 20 79 6f 75 20 63 ection.11).....However,.if.you.c
25d80 65 61 73 65 20 61 6c 6c 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e ease.all.violation.of.this.Licen
25da0 73 65 2c 20 74 68 65 6e 20 79 6f 75 72 0a 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 61 20 70 61 72 se,.then.your.license.from.a.par
25dc0 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 20 72 65 69 6e ticular.copyright.holder.is.rein
25de0 73 74 61 74 65 64 20 28 61 29 0a 70 72 6f 76 69 73 69 6f 6e 61 6c 6c 79 2c 20 75 6e 6c 65 73 73 stated.(a).provisionally,.unless
25e00 20 61 6e 64 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 .and.until.the.copyright.holder.
25e20 65 78 70 6c 69 63 69 74 6c 79 20 61 6e 64 0a 66 69 6e 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 explicitly.and.finally.terminate
25e40 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 6e s.your.license,.and.(b).permanen
25e60 74 6c 79 2c 20 69 66 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 0a 68 6f 6c 64 65 72 20 66 61 69 tly,.if.the.copyright.holder.fai
25e80 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 74 69 6f ls.to.notify.you.of.the.violatio
25ea0 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 0a 70 72 69 6f 72 n.by.some.reasonable.means.prior
25ec0 20 74 6f 20 36 30 20 64 61 79 73 20 61 66 74 65 72 20 74 68 65 20 63 65 73 73 61 74 69 6f 6e 2e .to.60.days.after.the.cessation.
25ee0 0a 0a 20 20 4d 6f 72 65 6f 76 65 72 2c 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 ....Moreover,.your.license.from.
25f00 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 a.particular.copyright.holder.is
25f20 0a 72 65 69 6e 73 74 61 74 65 64 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 69 66 20 74 68 65 20 63 .reinstated.permanently.if.the.c
25f40 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 6e 6f 74 69 66 69 65 73 20 79 6f 75 20 6f 66 20 opyright.holder.notifies.you.of.
25f60 74 68 65 0a 76 69 6f 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 the.violation.by.some.reasonable
25f80 20 6d 65 61 6e 73 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 79 .means,.this.is.the.first.time.y
25fa0 6f 75 20 68 61 76 65 0a 72 65 63 65 69 76 65 64 20 6e 6f 74 69 63 65 20 6f 66 20 76 69 6f 6c 61 ou.have.received.notice.of.viola
25fc0 74 69 6f 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 tion.of.this.License.(for.any.wo
25fe0 72 6b 29 20 66 72 6f 6d 20 74 68 61 74 0a 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 2c 20 rk).from.that.copyright.holder,.
26000 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 6f 72 and.you.cure.the.violation.prior
26020 20 74 6f 20 33 30 20 64 61 79 73 20 61 66 74 65 72 0a 79 6f 75 72 20 72 65 63 65 69 70 74 20 6f .to.30.days.after.your.receipt.o
26040 66 20 74 68 65 20 6e 6f 74 69 63 65 2e 0a 0a 20 20 54 65 72 6d 69 6e 61 74 69 6f 6e 20 6f 66 20 f.the.notice.....Termination.of.
26060 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 63 74 69 6f 6e 20 64 your.rights.under.this.section.d
26080 6f 65 73 20 6e 6f 74 20 74 65 72 6d 69 6e 61 74 65 20 74 68 65 0a 6c 69 63 65 6e 73 65 73 20 6f oes.not.terminate.the.licenses.o
260a0 66 20 70 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 63 6f 70 69 f.parties.who.have.received.copi
260c0 65 73 20 6f 72 20 72 69 67 68 74 73 20 66 72 6f 6d 20 79 6f 75 20 75 6e 64 65 72 0a 74 68 69 73 es.or.rights.from.you.under.this
260e0 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 72 20 72 69 67 68 74 73 20 68 61 76 65 20 62 .License...If.your.rights.have.b
26100 65 65 6e 20 74 65 72 6d 69 6e 61 74 65 64 20 61 6e 64 20 6e 6f 74 20 70 65 72 6d 61 6e 65 6e 74 een.terminated.and.not.permanent
26120 6c 79 0a 72 65 69 6e 73 74 61 74 65 64 2c 20 79 6f 75 20 64 6f 20 6e 6f 74 20 71 75 61 6c 69 66 ly.reinstated,.you.do.not.qualif
26140 79 20 74 6f 20 72 65 63 65 69 76 65 20 6e 65 77 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 74 68 y.to.receive.new.licenses.for.th
26160 65 20 73 61 6d 65 0a 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 e.same.material.under.section.10
26180 2e 0a 0a 20 20 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 .....9..Acceptance.Not.Required.
261a0 66 6f 72 20 48 61 76 69 6e 67 20 43 6f 70 69 65 73 2e 0a 0a 20 20 59 6f 75 20 61 72 65 20 6e 6f for.Having.Copies.....You.are.no
261c0 74 20 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 t.required.to.accept.this.Licens
261e0 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 72 65 63 65 69 76 65 20 6f 72 0a 72 75 6e 20 61 20 63 e.in.order.to.receive.or.run.a.c
26200 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 79 20 70 opy.of.the.Program...Ancillary.p
26220 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 6f 63 63 ropagation.of.a.covered.work.occ
26240 75 72 72 69 6e 67 20 73 6f 6c 65 6c 79 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f urring.solely.as.a.consequence.o
26260 66 20 75 73 69 6e 67 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 f.using.peer-to-peer.transmissio
26280 6e 0a 74 6f 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6c 69 6b 65 77 69 73 65 20 64 6f 65 n.to.receive.a.copy.likewise.doe
262a0 73 20 6e 6f 74 20 72 65 71 75 69 72 65 20 61 63 63 65 70 74 61 6e 63 65 2e 20 20 48 6f 77 65 76 s.not.require.acceptance...Howev
262c0 65 72 2c 0a 6e 6f 74 68 69 6e 67 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 69 73 20 4c 69 63 65 er,.nothing.other.than.this.Lice
262e0 6e 73 65 20 67 72 61 6e 74 73 20 79 6f 75 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 70 72 6f nse.grants.you.permission.to.pro
26300 70 61 67 61 74 65 20 6f 72 0a 6d 6f 64 69 66 79 20 61 6e 79 20 63 6f 76 65 72 65 64 20 77 6f 72 pagate.or.modify.any.covered.wor
26320 6b 2e 20 20 54 68 65 73 65 20 61 63 74 69 6f 6e 73 20 69 6e 66 72 69 6e 67 65 20 63 6f 70 79 72 k...These.actions.infringe.copyr
26340 69 67 68 74 20 69 66 20 79 6f 75 20 64 6f 0a 6e 6f 74 20 61 63 63 65 70 74 20 74 68 69 73 20 4c ight.if.you.do.not.accept.this.L
26360 69 63 65 6e 73 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 62 79 20 6d 6f 64 69 66 79 69 6e 67 icense...Therefore,.by.modifying
26380 20 6f 72 20 70 72 6f 70 61 67 61 74 69 6e 67 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 .or.propagating.a.covered.work,.
263a0 79 6f 75 20 69 6e 64 69 63 61 74 65 20 79 6f 75 72 20 61 63 63 65 70 74 61 6e 63 65 20 6f 66 20 you.indicate.your.acceptance.of.
263c0 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 31 30 2e 20 41 75 this.License.to.do.so.....10..Au
263e0 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 74 72 65 61 6d 20 tomatic.Licensing.of.Downstream.
26400 52 65 63 69 70 69 65 6e 74 73 2e 0a 0a 20 20 45 61 63 68 20 74 69 6d 65 20 79 6f 75 20 63 6f 6e Recipients.....Each.time.you.con
26420 76 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 74 68 65 20 72 65 63 69 70 69 65 6e vey.a.covered.work,.the.recipien
26440 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 72 65 63 65 69 76 65 73 20 61 20 6c 69 63 65 6e t.automatically.receives.a.licen
26460 73 65 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6c 69 63 65 6e 73 6f 72 73 2c 20 se.from.the.original.licensors,.
26480 74 6f 20 72 75 6e 2c 20 6d 6f 64 69 66 79 20 61 6e 64 0a 70 72 6f 70 61 67 61 74 65 20 74 68 61 to.run,.modify.and.propagate.tha
264a0 74 20 77 6f 72 6b 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e t.work,.subject.to.this.License.
264c0 20 20 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 65 73 70 6f 6e 73 69 62 6c 65 0a 66 6f 72 20 65 6e ..You.are.not.responsible.for.en
264e0 66 6f 72 63 69 6e 67 20 63 6f 6d 70 6c 69 61 6e 63 65 20 62 79 20 74 68 69 72 64 20 70 61 72 74 forcing.compliance.by.third.part
26500 69 65 73 20 77 69 74 68 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 41 6e 20 22 65 6e ies.with.this.License.....An."en
26520 74 69 74 79 20 74 72 61 6e 73 61 63 74 69 6f 6e 22 20 69 73 20 61 20 74 72 61 6e 73 61 63 74 69 tity.transaction".is.a.transacti
26540 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 6e 0a 6f 72 on.transferring.control.of.an.or
26560 67 61 6e 69 7a 61 74 69 6f 6e 2c 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 61 6c 6c ganization,.or.substantially.all
26580 20 61 73 73 65 74 73 20 6f 66 20 6f 6e 65 2c 20 6f 72 20 73 75 62 64 69 76 69 64 69 6e 67 20 61 .assets.of.one,.or.subdividing.a
265a0 6e 0a 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 2c 20 6f 72 20 6d 65 72 67 69 6e 67 20 6f 72 67 61 6e n.organization,.or.merging.organ
265c0 69 7a 61 74 69 6f 6e 73 2e 20 20 49 66 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20 61 20 63 izations...If.propagation.of.a.c
265e0 6f 76 65 72 65 64 0a 77 6f 72 6b 20 72 65 73 75 6c 74 73 20 66 72 6f 6d 20 61 6e 20 65 6e 74 69 overed.work.results.from.an.enti
26600 74 79 20 74 72 61 6e 73 61 63 74 69 6f 6e 2c 20 65 61 63 68 20 70 61 72 74 79 20 74 6f 20 74 68 ty.transaction,.each.party.to.th
26620 61 74 0a 74 72 61 6e 73 61 63 74 69 6f 6e 20 77 68 6f 20 72 65 63 65 69 76 65 73 20 61 20 63 6f at.transaction.who.receives.a.co
26640 70 79 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 61 6c 73 6f 20 72 65 63 65 69 76 65 73 20 77 68 61 py.of.the.work.also.receives.wha
26660 74 65 76 65 72 0a 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 tever.licenses.to.the.work.the.p
26680 61 72 74 79 27 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 arty's.predecessor.in.interest.h
266a0 61 64 20 6f 72 20 63 6f 75 6c 64 0a 67 69 76 65 20 75 6e 64 65 72 20 74 68 65 20 70 72 65 76 69 ad.or.could.give.under.the.previ
266c0 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 74 6f 20 70 ous.paragraph,.plus.a.right.to.p
266e0 6f 73 73 65 73 73 69 6f 6e 20 6f 66 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 ossession.of.the.Corresponding.S
26700 6f 75 72 63 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 66 72 6f 6d 20 74 68 65 20 70 72 65 64 65 ource.of.the.work.from.the.prede
26720 63 65 73 73 6f 72 20 69 6e 20 69 6e 74 65 72 65 73 74 2c 20 69 66 0a 74 68 65 20 70 72 65 64 65 cessor.in.interest,.if.the.prede
26740 63 65 73 73 6f 72 20 68 61 73 20 69 74 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 20 77 69 74 68 cessor.has.it.or.can.get.it.with
26760 20 72 65 61 73 6f 6e 61 62 6c 65 20 65 66 66 6f 72 74 73 2e 0a 0a 20 20 59 6f 75 20 6d 61 79 20 .reasonable.efforts.....You.may.
26780 6e 6f 74 20 69 6d 70 6f 73 65 20 61 6e 79 20 66 75 72 74 68 65 72 20 72 65 73 74 72 69 63 74 69 not.impose.any.further.restricti
267a0 6f 6e 73 20 6f 6e 20 74 68 65 20 65 78 65 72 63 69 73 65 20 6f 66 20 74 68 65 0a 72 69 67 68 74 ons.on.the.exercise.of.the.right
267c0 73 20 67 72 61 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 s.granted.or.affirmed.under.this
267e0 20 4c 69 63 65 6e 73 65 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 79 6f 75 20 6d 61 79 0a .License...For.example,.you.may.
26800 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
26820 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 20 y,.or.other.charge.for.exercise.
26840 6f 66 0a 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 of.rights.granted.under.this.Lic
26860 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 61 74 65 20 6c ense,.and.you.may.not.initiate.l
26880 69 74 69 67 61 74 69 6f 6e 0a 28 69 6e 63 6c 75 64 69 6e 67 20 61 20 63 72 6f 73 73 2d 63 6c 61 itigation.(including.a.cross-cla
268a0 69 6d 20 6f 72 20 63 6f 75 6e 74 65 72 63 6c 61 69 6d 20 69 6e 20 61 20 6c 61 77 73 75 69 74 29 im.or.counterclaim.in.a.lawsuit)
268c0 20 61 6c 6c 65 67 69 6e 67 20 74 68 61 74 0a 61 6e 79 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 20 .alleging.that.any.patent.claim.
268e0 69 73 20 69 6e 66 72 69 6e 67 65 64 20 62 79 20 6d 61 6b 69 6e 67 2c 20 75 73 69 6e 67 2c 20 73 is.infringed.by.making,.using,.s
26900 65 6c 6c 69 6e 67 2c 20 6f 66 66 65 72 69 6e 67 20 66 6f 72 0a 73 61 6c 65 2c 20 6f 72 20 69 6d elling,.offering.for.sale,.or.im
26920 70 6f 72 74 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e 79 20 70 6f 72 74 69 porting.the.Program.or.any.porti
26940 6f 6e 20 6f 66 20 69 74 2e 0a 0a 20 20 31 31 2e 20 50 61 74 65 6e 74 73 2e 0a 0a 20 20 41 20 22 on.of.it.....11..Patents.....A."
26960 63 6f 6e 74 72 69 62 75 74 6f 72 22 20 69 73 20 61 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 contributor".is.a.copyright.hold
26980 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
269a0 0a 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 61 20 77 6f 72 .License.of.the.Program.or.a.wor
269c0 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 61 73 65 64 2e k.on.which.the.Program.is.based.
269e0 20 20 54 68 65 0a 77 6f 72 6b 20 74 68 75 73 20 6c 69 63 65 6e 73 65 64 20 69 73 20 63 61 6c 6c ..The.work.thus.licensed.is.call
26a00 65 64 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 27 73 20 22 63 6f 6e 74 72 69 62 75 74 6f ed.the.contributor's."contributo
26a20 72 20 76 65 72 73 69 6f 6e 22 2e 0a 0a 20 20 41 20 63 6f 6e 74 72 69 62 75 74 6f 72 27 73 20 22 r.version".....A.contributor's."
26a40 65 73 73 65 6e 74 69 61 6c 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 22 20 61 72 65 20 61 6c 6c essential.patent.claims".are.all
26a60 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 0a 6f 77 6e 65 64 20 6f 72 20 63 6f 6e 74 72 6f 6c 6c .patent.claims.owned.or.controll
26a80 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 20 61 ed.by.the.contributor,.whether.a
26aa0 6c 72 65 61 64 79 20 61 63 71 75 69 72 65 64 20 6f 72 0a 68 65 72 65 61 66 74 65 72 20 61 63 71 lready.acquired.or.hereafter.acq
26ac0 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 69 6e 67 65 64 20 62 uired,.that.would.be.infringed.b
26ae0 79 20 73 6f 6d 65 20 6d 61 6e 6e 65 72 2c 20 70 65 72 6d 69 74 74 65 64 0a 62 79 20 74 68 69 73 y.some.manner,.permitted.by.this
26b00 20 4c 69 63 65 6e 73 65 2c 20 6f 66 20 6d 61 6b 69 6e 67 2c 20 75 73 69 6e 67 2c 20 6f 72 20 73 .License,.of.making,.using,.or.s
26b20 65 6c 6c 69 6e 67 20 69 74 73 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2c 0a elling.its.contributor.version,.
26b40 62 75 74 20 64 6f 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 63 6c 61 69 6d 73 20 74 68 61 74 20 77 but.do.not.include.claims.that.w
26b60 6f 75 6c 64 20 62 65 20 69 6e 66 72 69 6e 67 65 64 20 6f 6e 6c 79 20 61 73 20 61 0a 63 6f 6e 73 ould.be.infringed.only.as.a.cons
26b80 65 71 75 65 6e 63 65 20 6f 66 20 66 75 72 74 68 65 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 equence.of.further.modification.
26ba0 6f 66 20 74 68 65 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 of.the.contributor.version...For
26bc0 0a 70 75 72 70 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 22 63 .purposes.of.this.definition,."c
26be0 6f 6e 74 72 6f 6c 22 20 69 6e 63 6c 75 64 65 73 20 74 68 65 20 72 69 67 68 74 20 74 6f 20 67 72 ontrol".includes.the.right.to.gr
26c00 61 6e 74 0a 70 61 74 65 6e 74 20 73 75 62 6c 69 63 65 6e 73 65 73 20 69 6e 20 61 20 6d 61 6e 6e ant.patent.sublicenses.in.a.mann
26c20 65 72 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 er.consistent.with.the.requireme
26c40 6e 74 73 20 6f 66 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 45 61 63 68 20 63 6f 6e nts.of.this.License.....Each.con
26c60 74 72 69 62 75 74 6f 72 20 67 72 61 6e 74 73 20 79 6f 75 20 61 20 6e 6f 6e 2d 65 78 63 6c 75 73 tributor.grants.you.a.non-exclus
26c80 69 76 65 2c 20 77 6f 72 6c 64 77 69 64 65 2c 20 72 6f 79 61 6c 74 79 2d 66 72 65 65 0a 70 61 74 ive,.worldwide,.royalty-free.pat
26ca0 65 6e 74 20 6c 69 63 65 6e 73 65 20 75 6e 64 65 72 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f ent.license.under.the.contributo
26cc0 72 27 73 20 65 73 73 65 6e 74 69 61 6c 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 2c 20 74 6f 0a r's.essential.patent.claims,.to.
26ce0 6d 61 6b 65 2c 20 75 73 65 2c 20 73 65 6c 6c 2c 20 6f 66 66 65 72 20 66 6f 72 20 73 61 6c 65 2c make,.use,.sell,.offer.for.sale,
26d00 20 69 6d 70 6f 72 74 20 61 6e 64 20 6f 74 68 65 72 77 69 73 65 20 72 75 6e 2c 20 6d 6f 64 69 66 .import.and.otherwise.run,.modif
26d20 79 20 61 6e 64 0a 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 y.and.propagate.the.contents.of.
26d40 69 74 73 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 49 6e 20 74 its.contributor.version.....In.t
26d60 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 68 73 2c 20 61 he.following.three.paragraphs,.a
26d80 20 22 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 22 20 69 73 20 61 6e 79 20 65 78 70 72 65 73 73 ."patent.license".is.any.express
26da0 0a 61 67 72 65 65 6d 65 6e 74 20 6f 72 20 63 6f 6d 6d 69 74 6d 65 6e 74 2c 20 68 6f 77 65 76 65 .agreement.or.commitment,.howeve
26dc0 72 20 64 65 6e 6f 6d 69 6e 61 74 65 64 2c 20 6e 6f 74 20 74 6f 20 65 6e 66 6f 72 63 65 20 61 20 r.denominated,.not.to.enforce.a.
26de0 70 61 74 65 6e 74 0a 28 73 75 63 68 20 61 73 20 61 6e 20 65 78 70 72 65 73 73 20 70 65 72 6d 69 patent.(such.as.an.express.permi
26e00 73 73 69 6f 6e 20 74 6f 20 70 72 61 63 74 69 63 65 20 61 20 70 61 74 65 6e 74 20 6f 72 20 63 6f ssion.to.practice.a.patent.or.co
26e20 76 65 6e 61 6e 74 20 6e 6f 74 20 74 6f 0a 73 75 65 20 66 6f 72 20 70 61 74 65 6e 74 20 69 6e 66 venant.not.to.sue.for.patent.inf
26e40 72 69 6e 67 65 6d 65 6e 74 29 2e 20 20 54 6f 20 22 67 72 61 6e 74 22 20 73 75 63 68 20 61 20 70 ringement)...To."grant".such.a.p
26e60 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 74 6f 20 61 0a 70 61 72 74 79 20 6d 65 61 6e 73 20 74 atent.license.to.a.party.means.t
26e80 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 20 63 6f 6d 6d o.make.such.an.agreement.or.comm
26ea0 69 74 6d 65 6e 74 20 6e 6f 74 20 74 6f 20 65 6e 66 6f 72 63 65 20 61 0a 70 61 74 65 6e 74 20 61 itment.not.to.enforce.a.patent.a
26ec0 67 61 69 6e 73 74 20 74 68 65 20 70 61 72 74 79 2e 0a 0a 20 20 49 66 20 79 6f 75 20 63 6f 6e 76 gainst.the.party.....If.you.conv
26ee0 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 6b 6e 6f 77 69 6e 67 6c 79 20 72 65 6c ey.a.covered.work,.knowingly.rel
26f00 79 69 6e 67 20 6f 6e 20 61 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 2c 0a 61 6e 64 20 74 68 ying.on.a.patent.license,.and.th
26f20 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6f 66 20 74 68 65 20 77 6f e.Corresponding.Source.of.the.wo
26f40 72 6b 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 61 6e 79 6f 6e 65 0a 74 rk.is.not.available.for.anyone.t
26f60 6f 20 63 6f 70 79 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 20 61 6e 64 20 75 6e 64 65 72 o.copy,.free.of.charge.and.under
26f80 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 74 68 72 6f .the.terms.of.this.License,.thro
26fa0 75 67 68 20 61 0a 70 75 62 6c 69 63 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 6e 65 74 77 6f 72 6b ugh.a.publicly.available.network
26fc0 20 73 65 72 76 65 72 20 6f 72 20 6f 74 68 65 72 20 72 65 61 64 69 6c 79 20 61 63 63 65 73 73 69 .server.or.other.readily.accessi
26fe0 62 6c 65 20 6d 65 61 6e 73 2c 0a 74 68 65 6e 20 79 6f 75 20 6d 75 73 74 20 65 69 74 68 65 72 20 ble.means,.then.you.must.either.
27000 28 31 29 20 63 61 75 73 65 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 (1).cause.the.Corresponding.Sour
27020 63 65 20 74 6f 20 62 65 20 73 6f 0a 61 76 61 69 6c 61 62 6c 65 2c 20 6f 72 20 28 32 29 20 61 72 ce.to.be.so.available,.or.(2).ar
27040 72 61 6e 67 65 20 74 6f 20 64 65 70 72 69 76 65 20 79 6f 75 72 73 65 6c 66 20 6f 66 20 74 68 65 range.to.deprive.yourself.of.the
27060 20 62 65 6e 65 66 69 74 20 6f 66 20 74 68 65 0a 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 66 .benefit.of.the.patent.license.f
27080 6f 72 20 74 68 69 73 20 70 61 72 74 69 63 75 6c 61 72 20 77 6f 72 6b 2c 20 6f 72 20 28 33 29 20 or.this.particular.work,.or.(3).
270a0 61 72 72 61 6e 67 65 2c 20 69 6e 20 61 20 6d 61 6e 6e 65 72 0a 63 6f 6e 73 69 73 74 65 6e 74 20 arrange,.in.a.manner.consistent.
270c0 77 69 74 68 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f 66 20 74 68 69 73 20 4c 69 with.the.requirements.of.this.Li
270e0 63 65 6e 73 65 2c 20 74 6f 20 65 78 74 65 6e 64 20 74 68 65 20 70 61 74 65 6e 74 0a 6c 69 63 65 cense,.to.extend.the.patent.lice
27100 6e 73 65 20 74 6f 20 64 6f 77 6e 73 74 72 65 61 6d 20 72 65 63 69 70 69 65 6e 74 73 2e 20 20 22 nse.to.downstream.recipients..."
27120 4b 6e 6f 77 69 6e 67 6c 79 20 72 65 6c 79 69 6e 67 22 20 6d 65 61 6e 73 20 79 6f 75 20 68 61 76 Knowingly.relying".means.you.hav
27140 65 0a 61 63 74 75 61 6c 20 6b 6e 6f 77 6c 65 64 67 65 20 74 68 61 74 2c 20 62 75 74 20 66 6f 72 e.actual.knowledge.that,.but.for
27160 20 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 .the.patent.license,.your.convey
27180 69 6e 67 20 74 68 65 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 61 20 63 6f 75 6e 74 72 ing.the.covered.work.in.a.countr
271a0 79 2c 20 6f 72 20 79 6f 75 72 20 72 65 63 69 70 69 65 6e 74 27 73 20 75 73 65 20 6f 66 20 74 68 y,.or.your.recipient's.use.of.th
271c0 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 69 6e 20 61 20 63 6f 75 6e 74 72 79 2c 20 77 6f 75 e.covered.work.in.a.country,.wou
271e0 6c 64 20 69 6e 66 72 69 6e 67 65 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 69 64 65 6e 74 69 66 69 ld.infringe.one.or.more.identifi
27200 61 62 6c 65 20 70 61 74 65 6e 74 73 20 69 6e 20 74 68 61 74 0a 63 6f 75 6e 74 72 79 20 74 68 61 able.patents.in.that.country.tha
27220 74 20 79 6f 75 20 68 61 76 65 20 72 65 61 73 6f 6e 20 74 6f 20 62 65 6c 69 65 76 65 20 61 72 65 t.you.have.reason.to.believe.are
27240 20 76 61 6c 69 64 2e 0a 0a 20 20 49 66 2c 20 70 75 72 73 75 61 6e 74 20 74 6f 20 6f 72 20 69 6e .valid.....If,.pursuant.to.or.in
27260 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 20 74 72 61 6e 73 61 .connection.with.a.single.transa
27280 63 74 69 6f 6e 20 6f 72 0a 61 72 72 61 6e 67 65 6d 65 6e 74 2c 20 79 6f 75 20 63 6f 6e 76 65 79 ction.or.arrangement,.you.convey
272a0 2c 20 6f 72 20 70 72 6f 70 61 67 61 74 65 20 62 79 20 70 72 6f 63 75 72 69 6e 67 20 63 6f 6e 76 ,.or.propagate.by.procuring.conv
272c0 65 79 61 6e 63 65 20 6f 66 2c 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 67 eyance.of,.a.covered.work,.and.g
272e0 72 61 6e 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 rant.a.patent.license.to.some.of
27300 20 74 68 65 20 70 61 72 74 69 65 73 0a 72 65 63 65 69 76 69 6e 67 20 74 68 65 20 63 6f 76 65 72 .the.parties.receiving.the.cover
27320 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 65 2c ed.work.authorizing.them.to.use,
27340 20 70 72 6f 70 61 67 61 74 65 2c 20 6d 6f 64 69 66 79 0a 6f 72 20 63 6f 6e 76 65 79 20 61 20 73 .propagate,.modify.or.convey.a.s
27360 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 65 64 20 77 6f 72 6b pecific.copy.of.the.covered.work
27380 2c 20 74 68 65 6e 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 0a 79 6f 75 20 67 72 ,.then.the.patent.license.you.gr
273a0 61 6e 74 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 78 74 65 6e 64 65 64 20 74 6f ant.is.automatically.extended.to
273c0 20 61 6c 6c 20 72 65 63 69 70 69 65 6e 74 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 0a 77 .all.recipients.of.the.covered.w
273e0 6f 72 6b 20 61 6e 64 20 77 6f 72 6b 73 20 62 61 73 65 64 20 6f 6e 20 69 74 2e 0a 0a 20 20 41 20 ork.and.works.based.on.it.....A.
27400 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 69 73 20 22 64 69 73 63 72 69 6d 69 6e 61 74 6f 72 patent.license.is."discriminator
27420 79 22 20 69 66 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 77 69 74 68 69 6e y".if.it.does.not.include.within
27440 0a 74 68 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 .the.scope.of.its.coverage,.proh
27460 69 62 69 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 63 6f 6e ibits.the.exercise.of,.or.is.con
27480 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 66 20 ditioned.on.the.non-exercise.of.
274a0 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 20 61 one.or.more.of.the.rights.that.a
274c0 72 65 0a 73 70 65 63 69 66 69 63 61 6c 6c 79 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 re.specifically.granted.under.th
274e0 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 63 6f 6e 76 65 79 20 is.License...You.may.not.convey.
27500 61 20 63 6f 76 65 72 65 64 0a 77 6f 72 6b 20 69 66 20 79 6f 75 20 61 72 65 20 61 20 70 61 72 74 a.covered.work.if.you.are.a.part
27520 79 20 74 6f 20 61 6e 20 61 72 72 61 6e 67 65 6d 65 6e 74 20 77 69 74 68 20 61 20 74 68 69 72 64 y.to.an.arrangement.with.a.third
27540 20 70 61 72 74 79 20 74 68 61 74 20 69 73 0a 69 6e 20 74 68 65 20 62 75 73 69 6e 65 73 73 20 6f .party.that.is.in.the.business.o
27560 66 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 73 6f 66 74 77 61 72 65 2c 20 75 6e 64 65 72 20 77 f.distributing.software,.under.w
27580 68 69 63 68 20 79 6f 75 20 6d 61 6b 65 20 70 61 79 6d 65 6e 74 0a 74 6f 20 74 68 65 20 74 68 69 hich.you.make.payment.to.the.thi
275a0 72 64 20 70 61 72 74 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 65 78 74 65 6e 74 20 6f 66 20 rd.party.based.on.the.extent.of.
275c0 79 6f 75 72 20 61 63 74 69 76 69 74 79 20 6f 66 20 63 6f 6e 76 65 79 69 6e 67 0a 74 68 65 20 77 your.activity.of.conveying.the.w
275e0 6f 72 6b 2c 20 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 ork,.and.under.which.the.third.p
27600 61 72 74 79 20 67 72 61 6e 74 73 2c 20 74 6f 20 61 6e 79 20 6f 66 20 74 68 65 0a 70 61 72 74 69 arty.grants,.to.any.of.the.parti
27620 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
27640 20 77 6f 72 6b 20 66 72 6f 6d 20 79 6f 75 2c 20 61 20 64 69 73 63 72 69 6d 69 6e 61 74 6f 72 79 .work.from.you,.a.discriminatory
27660 0a 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 65 63 74 69 6f .patent.license.(a).in.connectio
27680 6e 20 77 69 74 68 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 n.with.copies.of.the.covered.wor
276a0 6b 0a 63 6f 6e 76 65 79 65 64 20 62 79 20 79 6f 75 20 28 6f 72 20 63 6f 70 69 65 73 20 6d 61 64 k.conveyed.by.you.(or.copies.mad
276c0 65 20 66 72 6f 6d 20 74 68 6f 73 65 20 63 6f 70 69 65 73 29 2c 20 6f 72 20 28 62 29 20 70 72 69 e.from.those.copies),.or.(b).pri
276e0 6d 61 72 69 6c 79 0a 66 6f 72 20 61 6e 64 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 marily.for.and.in.connection.wit
27700 68 20 73 70 65 63 69 66 69 63 20 70 72 6f 64 75 63 74 73 20 6f 72 20 63 6f 6d 70 69 6c 61 74 69 h.specific.products.or.compilati
27720 6f 6e 73 20 74 68 61 74 0a 63 6f 6e 74 61 69 6e 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 ons.that.contain.the.covered.wor
27740 6b 2c 20 75 6e 6c 65 73 73 20 79 6f 75 20 65 6e 74 65 72 65 64 20 69 6e 74 6f 20 74 68 61 74 20 k,.unless.you.entered.into.that.
27760 61 72 72 61 6e 67 65 6d 65 6e 74 2c 0a 6f 72 20 74 68 61 74 20 70 61 74 65 6e 74 20 6c 69 63 65 arrangement,.or.that.patent.lice
27780 6e 73 65 20 77 61 73 20 67 72 61 6e 74 65 64 2c 20 70 72 69 6f 72 20 74 6f 20 32 38 20 4d 61 72 nse.was.granted,.prior.to.28.Mar
277a0 63 68 20 32 30 30 37 2e 0a 0a 20 20 4e 6f 74 68 69 6e 67 20 69 6e 20 74 68 69 73 20 4c 69 63 65 ch.2007.....Nothing.in.this.Lice
277c0 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 64 nse.shall.be.construed.as.exclud
277e0 69 6e 67 20 6f 72 20 6c 69 6d 69 74 69 6e 67 0a 61 6e 79 20 69 6d 70 6c 69 65 64 20 6c 69 63 65 ing.or.limiting.any.implied.lice
27800 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 6e 66 72 69 6e 67 nse.or.other.defenses.to.infring
27820 65 6d 65 6e 74 20 74 68 61 74 20 6d 61 79 0a 6f 74 68 65 72 77 69 73 65 20 62 65 20 61 76 61 69 ement.that.may.otherwise.be.avai
27840 6c 61 62 6c 65 20 74 6f 20 79 6f 75 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 70 61 lable.to.you.under.applicable.pa
27860 74 65 6e 74 20 6c 61 77 2e 0a 0a 20 20 31 32 2e 20 4e 6f 20 53 75 72 72 65 6e 64 65 72 20 6f 66 tent.law.....12..No.Surrender.of
27880 20 4f 74 68 65 72 73 27 20 46 72 65 65 64 6f 6d 2e 0a 0a 20 20 49 66 20 63 6f 6e 64 69 74 69 6f .Others'.Freedom.....If.conditio
278a0 6e 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e 20 79 6f 75 20 28 77 68 65 74 68 65 72 20 62 ns.are.imposed.on.you.(whether.b
278c0 79 20 63 6f 75 72 74 20 6f 72 64 65 72 2c 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 0a 6f 74 68 65 y.court.order,.agreement.or.othe
278e0 72 77 69 73 65 29 20 74 68 61 74 20 63 6f 6e 74 72 61 64 69 63 74 20 74 68 65 20 63 6f 6e 64 69 rwise).that.contradict.the.condi
27900 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 79 20 64 6f 20 6e tions.of.this.License,.they.do.n
27920 6f 74 0a 65 78 63 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 ot.excuse.you.from.the.condition
27940 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 20 63 61 6e 6e 6f s.of.this.License...If.you.canno
27960 74 20 63 6f 6e 76 65 79 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 73 6f 20 61 73 20 74 6f t.convey.a.covered.work.so.as.to
27980 20 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 20 6f 62 6c .satisfy.simultaneously.your.obl
279a0 69 67 61 74 69 6f 6e 73 20 75 6e 64 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 20 61 6e 64 20 igations.under.this.License.and.
279c0 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 6f 6e 73 2c any.other.pertinent.obligations,
279e0 20 74 68 65 6e 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 79 6f 75 20 6d 61 79 0a 6e .then.as.a.consequence.you.may.n
27a00 6f 74 20 63 6f 6e 76 65 79 20 69 74 20 61 74 20 61 6c 6c 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c ot.convey.it.at.all...For.exampl
27a20 65 2c 20 69 66 20 79 6f 75 20 61 67 72 65 65 20 74 6f 20 74 65 72 6d 73 20 74 68 61 74 20 6f 62 e,.if.you.agree.to.terms.that.ob
27a40 6c 69 67 61 74 65 20 79 6f 75 0a 74 6f 20 63 6f 6c 6c 65 63 74 20 61 20 72 6f 79 61 6c 74 79 20 ligate.you.to.collect.a.royalty.
27a60 66 6f 72 20 66 75 72 74 68 65 72 20 63 6f 6e 76 65 79 69 6e 67 20 66 72 6f 6d 20 74 68 6f 73 65 for.further.conveying.from.those
27a80 20 74 6f 20 77 68 6f 6d 20 79 6f 75 20 63 6f 6e 76 65 79 0a 74 68 65 20 50 72 6f 67 72 61 6d 2c .to.whom.you.convey.the.Program,
27aa0 20 74 68 65 20 6f 6e 6c 79 20 77 61 79 20 79 6f 75 20 63 6f 75 6c 64 20 73 61 74 69 73 66 79 20 .the.only.way.you.could.satisfy.
27ac0 62 6f 74 68 20 74 68 6f 73 65 20 74 65 72 6d 73 20 61 6e 64 20 74 68 69 73 0a 4c 69 63 65 6e 73 both.those.terms.and.this.Licens
27ae0 65 20 77 6f 75 6c 64 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 e.would.be.to.refrain.entirely.f
27b00 72 6f 6d 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 rom.conveying.the.Program.....13
27b20 2e 20 55 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 ..Use.with.the.GNU.Affero.Genera
27b40 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 4e 6f 74 77 69 74 68 73 74 61 6e l.Public.License.....Notwithstan
27b60 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
27b80 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 68 61 76 65 0a 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f .License,.you.have.permission.to
27ba0 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 64 20 77 6f 72 .link.or.combine.any.covered.wor
27bc0 6b 20 77 69 74 68 20 61 20 77 6f 72 6b 20 6c 69 63 65 6e 73 65 64 0a 75 6e 64 65 72 20 76 65 72 k.with.a.work.licensed.under.ver
27be0 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c sion.3.of.the.GNU.Affero.General
27c00 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 0a 63 6f .Public.License.into.a.single.co
27c20 6d 62 69 6e 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 74 6f 20 63 6f 6e 76 65 79 20 74 68 65 20 72 mbined.work,.and.to.convey.the.r
27c40 65 73 75 6c 74 69 6e 67 20 77 6f 72 6b 2e 20 20 54 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 esulting.work...The.terms.of.thi
27c60 73 0a 4c 69 63 65 6e 73 65 20 77 69 6c 6c 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 61 70 70 6c 79 s.License.will.continue.to.apply
27c80 20 74 6f 20 74 68 65 20 70 61 72 74 20 77 68 69 63 68 20 69 73 20 74 68 65 20 63 6f 76 65 72 65 .to.the.part.which.is.the.covere
27ca0 64 20 77 6f 72 6b 2c 0a 62 75 74 20 74 68 65 20 73 70 65 63 69 61 6c 20 72 65 71 75 69 72 65 6d d.work,.but.the.special.requirem
27cc0 65 6e 74 73 20 6f 66 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 ents.of.the.GNU.Affero.General.P
27ce0 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2c 0a 73 65 63 74 69 6f 6e 20 31 33 2c 20 63 6f 6e 63 65 ublic.License,.section.13,.conce
27d00 72 6e 69 6e 67 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 74 68 72 6f 75 67 68 20 61 20 6e 65 74 77 rning.interaction.through.a.netw
27d20 6f 72 6b 20 77 69 6c 6c 20 61 70 70 6c 79 20 74 6f 20 74 68 65 0a 63 6f 6d 62 69 6e 61 74 69 6f ork.will.apply.to.the.combinatio
27d40 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 73 69 6f n.as.such.....14..Revised.Versio
27d60 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 54 68 65 20 46 72 65 65 20 ns.of.this.License.....The.Free.
27d80 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 68 20 Software.Foundation.may.publish.
27da0 72 65 76 69 73 65 64 20 61 6e 64 2f 6f 72 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 20 6f 66 0a 74 revised.and/or.new.versions.of.t
27dc0 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 66 72 he.GNU.General.Public.License.fr
27de0 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 20 76 65 72 73 69 om.time.to.time...Such.new.versi
27e00 6f 6e 73 20 77 69 6c 6c 0a 62 65 20 73 69 6d 69 6c 61 72 20 69 6e 20 73 70 69 72 69 74 20 74 6f ons.will.be.similar.in.spirit.to
27e20 20 74 68 65 20 70 72 65 73 65 6e 74 20 76 65 72 73 69 6f 6e 2c 20 62 75 74 20 6d 61 79 20 64 69 .the.present.version,.but.may.di
27e40 66 66 65 72 20 69 6e 20 64 65 74 61 69 6c 20 74 6f 0a 61 64 64 72 65 73 73 20 6e 65 77 20 70 72 ffer.in.detail.to.address.new.pr
27e60 6f 62 6c 65 6d 73 20 6f 72 20 63 6f 6e 63 65 72 6e 73 2e 0a 0a 20 20 45 61 63 68 20 76 65 72 73 oblems.or.concerns.....Each.vers
27e80 69 6f 6e 20 69 73 20 67 69 76 65 6e 20 61 20 64 69 73 74 69 6e 67 75 69 73 68 69 6e 67 20 76 65 ion.is.given.a.distinguishing.ve
27ea0 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 20 20 49 66 20 74 68 65 0a 50 72 6f 67 72 61 6d 20 73 70 rsion.number...If.the.Program.sp
27ec0 65 63 69 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 ecifies.that.a.certain.numbered.
27ee0 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 0a 50 75 62 6c 69 version.of.the.GNU.General.Publi
27f00 63 20 4c 69 63 65 6e 73 65 20 22 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 22 c.License."or.any.later.version"
27f20 20 61 70 70 6c 69 65 73 20 74 6f 20 69 74 2c 20 79 6f 75 20 68 61 76 65 20 74 68 65 0a 6f 70 74 .applies.to.it,.you.have.the.opt
27f40 69 6f 6e 20 6f 66 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 74 65 72 6d 73 20 61 6e 64 20 63 ion.of.following.the.terms.and.c
27f60 6f 6e 64 69 74 69 6f 6e 73 20 65 69 74 68 65 72 20 6f 66 20 74 68 61 74 20 6e 75 6d 62 65 72 65 onditions.either.of.that.numbere
27f80 64 0a 76 65 72 73 69 6f 6e 20 6f 72 20 6f 66 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f d.version.or.of.any.later.versio
27fa0 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 65 n.published.by.the.Free.Software
27fc0 0a 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 64 6f 65 .Foundation...If.the.Program.doe
27fe0 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 6f s.not.specify.a.version.number.o
28000 66 20 74 68 65 0a 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 f.the.GNU.General.Public.License
28020 2c 20 79 6f 75 20 6d 61 79 20 63 68 6f 6f 73 65 20 61 6e 79 20 76 65 72 73 69 6f 6e 20 65 76 65 ,.you.may.choose.any.version.eve
28040 72 20 70 75 62 6c 69 73 68 65 64 0a 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 r.published.by.the.Free.Software
28060 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 0a 0a 20 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 73 .Foundation.....If.the.Program.s
28080 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 64 65 pecifies.that.a.proxy.can.decide
280a0 20 77 68 69 63 68 20 66 75 74 75 72 65 0a 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 47 4e .which.future.versions.of.the.GN
280c0 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 63 61 6e 20 62 65 20 U.General.Public.License.can.be.
280e0 75 73 65 64 2c 20 74 68 61 74 20 70 72 6f 78 79 27 73 0a 70 75 62 6c 69 63 20 73 74 61 74 65 6d used,.that.proxy's.public.statem
28100 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 6e 20 70 ent.of.acceptance.of.a.version.p
28120 65 72 6d 61 6e 65 6e 74 6c 79 20 61 75 74 68 6f 72 69 7a 65 73 20 79 6f 75 0a 74 6f 20 63 68 6f ermanently.authorizes.you.to.cho
28140 6f 73 65 20 74 68 61 74 20 76 65 72 73 69 6f 6e 20 66 6f 72 20 74 68 65 20 50 72 6f 67 72 61 6d ose.that.version.for.the.Program
28160 2e 0a 0a 20 20 4c 61 74 65 72 20 6c 69 63 65 6e 73 65 20 76 65 72 73 69 6f 6e 73 20 6d 61 79 20 .....Later.license.versions.may.
28180 67 69 76 65 20 79 6f 75 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 72 20 64 69 66 66 65 72 65 6e 74 give.you.additional.or.different
281a0 0a 70 65 72 6d 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 .permissions...However,.no.addit
281c0 69 6f 6e 61 6c 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 ional.obligations.are.imposed.on
281e0 20 61 6e 79 0a 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 .any.author.or.copyright.holder.
28200 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.
28220 66 6f 6c 6c 6f 77 20 61 0a 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 31 35 2e 20 44 follow.a.later.version.....15..D
28240 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 54 48 45 52 45 20 isclaimer.of.Warranty.....THERE.
28260 49 53 20 4e 4f 20 57 41 52 52 41 4e 54 59 20 46 4f 52 20 54 48 45 20 50 52 4f 47 52 41 4d 2c 20 IS.NO.WARRANTY.FOR.THE.PROGRAM,.
28280 54 4f 20 54 48 45 20 45 58 54 45 4e 54 20 50 45 52 4d 49 54 54 45 44 20 42 59 0a 41 50 50 4c 49 TO.THE.EXTENT.PERMITTED.BY.APPLI
282a0 43 41 42 4c 45 20 4c 41 57 2e 20 20 45 58 43 45 50 54 20 57 48 45 4e 20 4f 54 48 45 52 57 49 53 CABLE.LAW...EXCEPT.WHEN.OTHERWIS
282c0 45 20 53 54 41 54 45 44 20 49 4e 20 57 52 49 54 49 4e 47 20 54 48 45 20 43 4f 50 59 52 49 47 48 E.STATED.IN.WRITING.THE.COPYRIGH
282e0 54 0a 48 4f 4c 44 45 52 53 20 41 4e 44 2f 4f 52 20 4f 54 48 45 52 20 50 41 52 54 49 45 53 20 50 T.HOLDERS.AND/OR.OTHER.PARTIES.P
28300 52 4f 56 49 44 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 22 41 53 20 49 53 22 20 57 49 54 48 4f ROVIDE.THE.PROGRAM."AS.IS".WITHO
28320 55 54 20 57 41 52 52 41 4e 54 59 0a 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 49 54 48 45 52 20 UT.WARRANTY.OF.ANY.KIND,.EITHER.
28340 45 58 50 52 45 53 53 45 44 20 4f 52 20 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 2c EXPRESSED.OR.IMPLIED,.INCLUDING,
28360 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 2c 0a 54 48 45 20 49 4d 50 4c 49 45 44 .BUT.NOT.LIMITED.TO,.THE.IMPLIED
28380 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 41 .WARRANTIES.OF.MERCHANTABILITY.A
283a0 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 0a 50 55 52 50 ND.FITNESS.FOR.A.PARTICULAR.PURP
283c0 4f 53 45 2e 20 20 54 48 45 20 45 4e 54 49 52 45 20 52 49 53 4b 20 41 53 20 54 4f 20 54 48 45 20 OSE...THE.ENTIRE.RISK.AS.TO.THE.
283e0 51 55 41 4c 49 54 59 20 41 4e 44 20 50 45 52 46 4f 52 4d 41 4e 43 45 20 4f 46 20 54 48 45 20 50 QUALITY.AND.PERFORMANCE.OF.THE.P
28400 52 4f 47 52 41 4d 0a 49 53 20 57 49 54 48 20 59 4f 55 2e 20 20 53 48 4f 55 4c 44 20 54 48 45 20 ROGRAM.IS.WITH.YOU...SHOULD.THE.
28420 50 52 4f 47 52 41 4d 20 50 52 4f 56 45 20 44 45 46 45 43 54 49 56 45 2c 20 59 4f 55 20 41 53 53 PROGRAM.PROVE.DEFECTIVE,.YOU.ASS
28440 55 4d 45 20 54 48 45 20 43 4f 53 54 20 4f 46 0a 41 4c 4c 20 4e 45 43 45 53 53 41 52 59 20 53 45 UME.THE.COST.OF.ALL.NECESSARY.SE
28460 52 56 49 43 49 4e 47 2c 20 52 45 50 41 49 52 20 4f 52 20 43 4f 52 52 45 43 54 49 4f 4e 2e 0a 0a RVICING,.REPAIR.OR.CORRECTION...
28480 20 20 31 36 2e 20 4c 69 6d 69 74 61 74 69 6f 6e 20 6f 66 20 4c 69 61 62 69 6c 69 74 79 2e 0a 0a ..16..Limitation.of.Liability...
284a0 20 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 55 4e 4c 45 53 53 20 52 45 51 55 49 52 45 44 20 42 59 ..IN.NO.EVENT.UNLESS.REQUIRED.BY
284c0 20 41 50 50 4c 49 43 41 42 4c 45 20 4c 41 57 20 4f 52 20 41 47 52 45 45 44 20 54 4f 20 49 4e 20 .APPLICABLE.LAW.OR.AGREED.TO.IN.
284e0 57 52 49 54 49 4e 47 0a 57 49 4c 4c 20 41 4e 59 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 WRITING.WILL.ANY.COPYRIGHT.HOLDE
28500 52 2c 20 4f 52 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 R,.OR.ANY.OTHER.PARTY.WHO.MODIFI
28520 45 53 20 41 4e 44 2f 4f 52 20 43 4f 4e 56 45 59 53 0a 54 48 45 20 50 52 4f 47 52 41 4d 20 41 53 ES.AND/OR.CONVEYS.THE.PROGRAM.AS
28540 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
28560 4f 55 20 46 4f 52 20 44 41 4d 41 47 45 53 2c 20 49 4e 43 4c 55 44 49 4e 47 20 41 4e 59 0a 47 45 OU.FOR.DAMAGES,.INCLUDING.ANY.GE
28580 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 4f 52 20 43 4f NERAL,.SPECIAL,.INCIDENTAL.OR.CO
285a0 4e 53 45 51 55 45 4e 54 49 41 4c 20 44 41 4d 41 47 45 53 20 41 52 49 53 49 4e 47 20 4f 55 54 20 NSEQUENTIAL.DAMAGES.ARISING.OUT.
285c0 4f 46 20 54 48 45 0a 55 53 45 20 4f 52 20 49 4e 41 42 49 4c 49 54 59 20 54 4f 20 55 53 45 20 54 OF.THE.USE.OR.INABILITY.TO.USE.T
285e0 48 45 20 50 52 4f 47 52 41 4d 20 28 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 HE.PROGRAM.(INCLUDING.BUT.NOT.LI
28600 4d 49 54 45 44 20 54 4f 20 4c 4f 53 53 20 4f 46 0a 44 41 54 41 20 4f 52 20 44 41 54 41 20 42 45 MITED.TO.LOSS.OF.DATA.OR.DATA.BE
28620 49 4e 47 20 52 45 4e 44 45 52 45 44 20 49 4e 41 43 43 55 52 41 54 45 20 4f 52 20 4c 4f 53 53 45 ING.RENDERED.INACCURATE.OR.LOSSE
28640 53 20 53 55 53 54 41 49 4e 45 44 20 42 59 20 59 4f 55 20 4f 52 20 54 48 49 52 44 0a 50 41 52 54 S.SUSTAINED.BY.YOU.OR.THIRD.PART
28660 49 45 53 20 4f 52 20 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 IES.OR.A.FAILURE.OF.THE.PROGRAM.
28680 54 4f 20 4f 50 45 52 41 54 45 20 57 49 54 48 20 41 4e 59 20 4f 54 48 45 52 20 50 52 4f 47 52 41 TO.OPERATE.WITH.ANY.OTHER.PROGRA
286a0 4d 53 29 2c 0a 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 MS),.EVEN.IF.SUCH.HOLDER.OR.OTHE
286c0 52 20 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 20 54 48 45 20 R.PARTY.HAS.BEEN.ADVISED.OF.THE.
286e0 50 4f 53 53 49 42 49 4c 49 54 59 20 4f 46 0a 53 55 43 48 20 44 41 4d 41 47 45 53 2e 0a 0a 20 20 POSSIBILITY.OF.SUCH.DAMAGES.....
28700 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 73 20 31 17..Interpretation.of.Sections.1
28720 35 20 61 6e 64 20 31 36 2e 0a 0a 20 20 49 66 20 74 68 65 20 64 69 73 63 6c 61 69 6d 65 72 20 6f 5.and.16.....If.the.disclaimer.o
28740 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 6f 66 20 6c 69 61 f.warranty.and.limitation.of.lia
28760 62 69 6c 69 74 79 20 70 72 6f 76 69 64 65 64 0a 61 62 6f 76 65 20 63 61 6e 6e 6f 74 20 62 65 20 bility.provided.above.cannot.be.
28780 67 69 76 65 6e 20 6c 6f 63 61 6c 20 6c 65 67 61 6c 20 65 66 66 65 63 74 20 61 63 63 6f 72 64 69 given.local.legal.effect.accordi
287a0 6e 67 20 74 6f 20 74 68 65 69 72 20 74 65 72 6d 73 2c 0a 72 65 76 69 65 77 69 6e 67 20 63 6f 75 ng.to.their.terms,.reviewing.cou
287c0 72 74 73 20 73 68 61 6c 6c 20 61 70 70 6c 79 20 6c 6f 63 61 6c 20 6c 61 77 20 74 68 61 74 20 6d rts.shall.apply.local.law.that.m
287e0 6f 73 74 20 63 6c 6f 73 65 6c 79 20 61 70 70 72 6f 78 69 6d 61 74 65 73 0a 61 6e 20 61 62 73 6f ost.closely.approximates.an.abso
28800 6c 75 74 65 20 77 61 69 76 65 72 20 6f 66 20 61 6c 6c 20 63 69 76 69 6c 20 6c 69 61 62 69 6c 69 lute.waiver.of.all.civil.liabili
28820 74 79 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 0a 50 72 6f 67 72 61 ty.in.connection.with.the.Progra
28840 6d 2c 20 75 6e 6c 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 m,.unless.a.warranty.or.assumpti
28860 6f 6e 20 6f 66 20 6c 69 61 62 69 6c 69 74 79 20 61 63 63 6f 6d 70 61 6e 69 65 73 20 61 0a 63 6f on.of.liability.accompanies.a.co
28880 70 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 py.of.the.Program.in.return.for.
288a0 61 20 66 65 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4e 44 a.fee........................END
288c0 20 4f 46 20 54 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 0a 20 20 20 20 20 20 .OF.TERMS.AND.CONDITIONS........
288e0 20 20 20 20 20 20 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 ......How.to.Apply.These.Terms.t
28900 6f 20 59 6f 75 72 20 4e 65 77 20 50 72 6f 67 72 61 6d 73 0a 0a 20 20 49 66 20 79 6f 75 20 64 65 o.Your.New.Programs....If.you.de
28920 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 6f 75 20 77 61 6e velop.a.new.program,.and.you.wan
28940 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 0a 70 6f 73 73 69 t.it.to.be.of.the.greatest.possi
28960 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 20 62 65 73 74 20 ble.use.to.the.public,.the.best.
28980 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 6d 61 6b 65 20 69 way.to.achieve.this.is.to.make.i
289a0 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 79 6f 6e 65 20 63 t.free.software.which.everyone.c
289c0 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 20 75 6e 64 65 72 an.redistribute.and.change.under
289e0 20 74 68 65 73 65 20 74 65 72 6d 73 2e 0a 0a 20 20 54 6f 20 64 6f 20 73 6f 2c 20 61 74 74 61 63 .these.terms.....To.do.so,.attac
28a00 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 6f 20 74 68 65 20 70 h.the.following.notices.to.the.p
28a20 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 61 74 74 61 63 68 20 rogram...It.is.safest.to.attach.
28a40 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 20 73 6f 75 72 63 65 them.to.the.start.of.each.source
28a60 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 0a 73 74 61 74 65 20 .file.to.most.effectively.state.
28a80 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 3b 20 61 6e 64 20 65 the.exclusion.of.warranty;.and.e
28aa0 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 65 61 73 74 0a 74 68 ach.file.should.have.at.least.th
28ac0 65 20 22 63 6f 70 79 72 69 67 68 74 22 20 6c 69 6e 65 20 61 6e 64 20 61 20 70 6f 69 6e 74 65 72 e."copyright".line.and.a.pointer
28ae0 20 74 6f 20 77 68 65 72 65 20 74 68 65 20 66 75 6c 6c 20 6e 6f 74 69 63 65 20 69 73 20 66 6f 75 .to.where.the.full.notice.is.fou
28b00 6e 64 2e 0a 0a 20 20 20 20 3c 6f 6e 65 20 6c 69 6e 65 20 74 6f 20 67 69 76 65 20 74 68 65 20 70 nd.......<one.line.to.give.the.p
28b20 72 6f 67 72 61 6d 27 73 20 6e 61 6d 65 20 61 6e 64 20 61 20 62 72 69 65 66 20 69 64 65 61 20 6f rogram's.name.and.a.brief.idea.o
28b40 66 20 77 68 61 74 20 69 74 20 64 6f 65 73 2e 3e 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 f.what.it.does.>.....Copyright.(
28b60 43 29 20 3c 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 75 74 68 6f 72 3e 0a 0a 20 20 20 C).<year>..<name.of.author>.....
28b80 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 74 77 61 72 65 3a 20 .This.program.is.free.software:.
28ba0 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 6e 64 2f 6f 72 20 6d you.can.redistribute.it.and/or.m
28bc0 6f 64 69 66 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 odify.....it.under.the.terms.of.
28be0 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 61 the.GNU.General.Public.License.a
28c00 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 s.published.by.....the.Free.Soft
28c20 77 61 72 65 20 46 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 ware.Foundation,.either.version.
28c40 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 3.of.the.License,.or.....(at.you
28c60 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 r.option).any.later.version.....
28c80 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e ..This.program.is.distributed.in
28ca0 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c .the.hope.that.it.will.be.useful
28cc0 2c 0a 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 ,.....but.WITHOUT.ANY.WARRANTY;.
28ce0 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 without.even.the.implied.warrant
28d00 79 20 6f 66 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e y.of.....MERCHANTABILITY.or.FITN
28d20 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 ESS.FOR.A.PARTICULAR.PURPOSE...S
28d40 65 65 20 74 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 ee.the.....GNU.General.Public.Li
28d60 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 cense.for.more.details.......You
28d80 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 .should.have.received.a.copy.of.
28da0 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 0a 20 the.GNU.General.Public.License..
28dc0 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 ...along.with.this.program...If.
28de0 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 not,.see.<https://www.gnu.org/li
28e00 63 65 6e 73 65 73 2f 3e 2e 0a 0a 41 6c 73 6f 20 61 64 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 censes/>...Also.add.information.
28e20 6f 6e 20 68 6f 77 20 74 6f 20 63 6f 6e 74 61 63 74 20 79 6f 75 20 62 79 20 65 6c 65 63 74 72 6f on.how.to.contact.you.by.electro
28e40 6e 69 63 20 61 6e 64 20 70 61 70 65 72 20 6d 61 69 6c 2e 0a 0a 20 20 49 66 20 74 68 65 20 70 72 nic.and.paper.mail.....If.the.pr
28e60 6f 67 72 61 6d 20 64 6f 65 73 20 74 65 72 6d 69 6e 61 6c 20 69 6e 74 65 72 61 63 74 69 6f 6e 2c ogram.does.terminal.interaction,
28e80 20 6d 61 6b 65 20 69 74 20 6f 75 74 70 75 74 20 61 20 73 68 6f 72 74 0a 6e 6f 74 69 63 65 20 6c .make.it.output.a.short.notice.l
28ea0 69 6b 65 20 74 68 69 73 20 77 68 65 6e 20 69 74 20 73 74 61 72 74 73 20 69 6e 20 61 6e 20 69 6e ike.this.when.it.starts.in.an.in
28ec0 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 3a 0a 0a 20 20 20 20 3c 70 72 6f 67 72 61 6d 3e 20 20 teractive.mode:......<program>..
28ee0 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 3c 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 Copyright.(C).<year>..<name.of.a
28f00 75 74 68 6f 72 3e 0a 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 63 6f 6d 65 73 20 77 69 uthor>.....This.program.comes.wi
28f20 74 68 20 41 42 53 4f 4c 55 54 45 4c 59 20 4e 4f 20 57 41 52 52 41 4e 54 59 3b 20 66 6f 72 20 64 th.ABSOLUTELY.NO.WARRANTY;.for.d
28f40 65 74 61 69 6c 73 20 74 79 70 65 20 60 73 68 6f 77 20 77 27 2e 0a 20 20 20 20 54 68 69 73 20 69 etails.type.`show.w'......This.i
28f60 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 79 6f 75 20 61 72 65 20 77 65 6c s.free.software,.and.you.are.wel
28f80 63 6f 6d 65 20 74 6f 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 0a 20 20 20 20 75 6e 64 65 come.to.redistribute.it.....unde
28fa0 72 20 63 65 72 74 61 69 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 3b 20 74 79 70 65 20 60 73 68 6f 77 r.certain.conditions;.type.`show
28fc0 20 63 27 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0a 0a 54 68 65 20 68 79 70 6f 74 68 65 74 69 63 .c'.for.details...The.hypothetic
28fe0 61 6c 20 63 6f 6d 6d 61 6e 64 73 20 60 73 68 6f 77 20 77 27 20 61 6e 64 20 60 73 68 6f 77 20 63 al.commands.`show.w'.and.`show.c
29000 27 20 73 68 6f 75 6c 64 20 73 68 6f 77 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 0a 70 61 '.should.show.the.appropriate.pa
29020 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 65 6e 73 rts.of.the.General.Public.Licens
29040 65 2e 20 20 4f 66 20 63 6f 75 72 73 65 2c 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 27 73 20 63 6f e...Of.course,.your.program's.co
29060 6d 6d 61 6e 64 73 0a 6d 69 67 68 74 20 62 65 20 64 69 66 66 65 72 65 6e 74 3b 20 66 6f 72 20 61 mmands.might.be.different;.for.a
29080 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 20 75 73 65 20 61 6e .GUI.interface,.you.would.use.an
290a0 20 22 61 62 6f 75 74 20 62 6f 78 22 2e 0a 0a 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 61 6c 73 6f ."about.box".....You.should.also
290c0 20 67 65 74 20 79 6f 75 72 20 65 6d 70 6c 6f 79 65 72 20 28 69 66 20 79 6f 75 20 77 6f 72 6b 20 .get.your.employer.(if.you.work.
290e0 61 73 20 61 20 70 72 6f 67 72 61 6d 6d 65 72 29 20 6f 72 20 73 63 68 6f 6f 6c 2c 0a 69 66 20 61 as.a.programmer).or.school,.if.a
29100 6e 79 2c 20 74 6f 20 73 69 67 6e 20 61 20 22 63 6f 70 79 72 69 67 68 74 20 64 69 73 63 6c 61 69 ny,.to.sign.a."copyright.disclai
29120 6d 65 72 22 20 66 6f 72 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 69 66 20 6e 65 63 65 73 73 61 mer".for.the.program,.if.necessa
29140 72 79 2e 0a 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 ry..For.more.information.on.this
29160 2c 20 61 6e 64 20 68 6f 77 20 74 6f 20 61 70 70 6c 79 20 61 6e 64 20 66 6f 6c 6c 6f 77 20 74 68 ,.and.how.to.apply.and.follow.th
29180 65 20 47 4e 55 20 47 50 4c 2c 20 73 65 65 0a 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e e.GNU.GPL,.see.<https://www.gnu.
291a0 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 20 20 54 68 65 20 47 4e 55 20 47 65 6e 65 72 org/licenses/>.....The.GNU.Gener
291c0 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 64 6f 65 73 20 6e 6f 74 20 70 65 72 6d 69 al.Public.License.does.not.permi
291e0 74 20 69 6e 63 6f 72 70 6f 72 61 74 69 6e 67 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 0a 69 6e 74 t.incorporating.your.program.int
29200 6f 20 70 72 6f 70 72 69 65 74 61 72 79 20 70 72 6f 67 72 61 6d 73 2e 20 20 49 66 20 79 6f 75 72 o.proprietary.programs...If.your
29220 20 70 72 6f 67 72 61 6d 20 69 73 20 61 20 73 75 62 72 6f 75 74 69 6e 65 20 6c 69 62 72 61 72 79 .program.is.a.subroutine.library
29240 2c 20 79 6f 75 0a 6d 61 79 20 63 6f 6e 73 69 64 65 72 20 69 74 20 6d 6f 72 65 20 75 73 65 66 75 ,.you.may.consider.it.more.usefu
29260 6c 20 74 6f 20 70 65 72 6d 69 74 20 6c 69 6e 6b 69 6e 67 20 70 72 6f 70 72 69 65 74 61 72 79 20 l.to.permit.linking.proprietary.
29280 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 77 69 74 68 0a 74 68 65 20 6c 69 62 72 61 72 79 2e 20 20 applications.with.the.library...
292a0 49 66 20 74 68 69 73 20 69 73 20 77 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 6f 2c 20 If.this.is.what.you.want.to.do,.
292c0 75 73 65 20 74 68 65 20 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 0a 50 75 62 6c 69 use.the.GNU.Lesser.General.Publi
292e0 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 c.License.instead.of.this.Licens
29300 65 2e 20 20 42 75 74 20 66 69 72 73 74 2c 20 70 6c 65 61 73 65 20 72 65 61 64 0a 3c 68 74 74 70 e...But.first,.please.read.<http
29320 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 77 68 79 2d 6e 6f 74 s://www.gnu.org/licenses/why-not
29340 2d 6c 67 70 6c 2e 68 74 6d 6c 3e 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -lgpl.html>.....................
29360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
293a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
293c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
293e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29400 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 69 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/dir.................
29420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29460 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
29480 30 30 30 31 31 35 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 36 36 31 00 20 30 00 00 00 0001151.00000000000.011661..0...
294a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
294c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
294e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29500 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...................
29520 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...................
29540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
295a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
295c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
295e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29600 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
29620 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
29640 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
29660 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
29680 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
296a0 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
296c0 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
296e0 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
29700 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
29720 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
29740 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,.
29760 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
29780 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
297a0 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
297c0 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.
297e0 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
29800 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
29820 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).........
29840 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
29860 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.........................
29880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
298a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
298c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
298e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
299a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
299c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
299e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29a00 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 61 73 68 2e 69 6e 66 6f 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/dash.info...........
29a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29a60 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
29a80 30 35 37 33 30 31 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 37 37 33 00 20 30 00 00 00 0573017.00000000000.012773..0...
29aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29b00 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...................
29b20 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...................
29b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29c00 54 68 69 73 20 69 73 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 6f 2c 20 70 72 6f 64 75 63 65 64 This.is.docKFAcRH.info,.produced
29c20 20 62 79 20 6d 61 6b 65 69 6e 66 6f 20 76 65 72 73 69 6f 6e 20 36 2e 38 20 66 72 6f 6d 20 64 61 .by.makeinfo.version.6.8.from.da
29c40 73 68 2e 74 65 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 sh.texi...This.manual.is.for.Das
29c60 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 79 72 69 67 68 74 20 h.version.2.19.1......Copyright.
29c80 c2 a9 20 32 30 31 32 e2 80 93 32 30 32 31 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 ...2012...2021.Free.Software.Fou
29ca0 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 73 73 69 6f 6e 20 69 ndation,.Inc........Permission.i
29cc0 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 62 75 74 65 20 61 6e s.granted.to.copy,.distribute.an
29ce0 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 75 6d 65 6e 74 20 75 d/or.modify.this......document.u
29d00 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 20 46 72 65 65 20 44 nder.the.terms.of.the.GNU.Free.D
29d20 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 20 20 56 65 72 73 69 ocumentation.License,......Versi
29d40 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 6f 6e 20 70 75 62 6c on.1.3.or.any.later.version.publ
29d60 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 0a 20 20 20 20 20 ished.by.the.Free.Software......
29d80 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 72 69 61 6e 74 20 53 Foundation;.with.the.Invariant.S
29da0 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 72 61 6c 20 50 75 62 ections.being....GNU.General.Pub
29dc0 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 6e 6f 20 46 72 6f 6e lic......License,....and.no.Fron
29de0 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 65 72 20 54 65 78 74 t-Cover.Texts.or.Back-Cover.Text
29e00 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 63 65 6e 73 65 20 69 s...A.copy.of......the.license.i
29e20 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 20 65 6e 74 69 74 6c s.included.in.the.section.entitl
29e40 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 65 6e 74 61 74 69 6f ed....GNU.Free......Documentatio
29e60 6e 20 4c 69 63 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 n.License.....INFO-DIR-SECTION.E
29e80 6d 61 63 73 0a 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 macs.START-INFO-DIR-ENTRY.*.Dash
29ea0 3a 20 28 64 61 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 :.(dash.info).....A.modern.list.
29ec0 6c 69 62 72 61 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 library.for.GNU.Emacs..END-INFO-
29ee0 44 49 52 2d 45 4e 54 52 59 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 DIR-ENTRY....File:.docKFAcRH.inf
29f00 6f 2c 20 20 4e 6f 64 65 3a 20 54 6f 70 2c 20 20 4e 65 78 74 3a 20 49 6e 73 74 61 6c 6c 61 74 69 o,..Node:.Top,..Next:.Installati
29f20 6f 6e 2c 20 20 55 70 3a 20 28 64 69 72 29 0a 0a 44 61 73 68 0a 2a 2a 2a 2a 0a 0a 54 68 69 73 20 on,..Up:.(dir)..Dash.****..This.
29f40 6d 61 6e 75 61 6c 20 69 73 20 66 6f 72 20 44 61 73 68 20 76 65 72 73 69 6f 6e 20 32 2e 31 39 2e manual.is.for.Dash.version.2.19.
29f60 31 2e 0a 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 c2 a9 20 32 30 31 32 e2 80 93 32 30 32 31 20 1......Copyright....2012...2021.
29f80 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 0a Free.Software.Foundation,.Inc...
29fa0 20 20 20 20 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 67 72 61 6e 74 65 64 20 74 6f 20 63 6f .....Permission.is.granted.to.co
29fc0 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 74 68 69 py,.distribute.and/or.modify.thi
29fe0 73 0a 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 s......document.under.the.terms.
2a000 6f 66 20 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 of.the.GNU.Free.Documentation.Li
2a020 63 65 6e 73 65 2c 0a 20 20 20 20 20 56 65 72 73 69 6f 6e 20 31 2e 33 20 6f 72 20 61 6e 79 20 6c cense,......Version.1.3.or.any.l
2a040 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 68 65 20 46 72 ater.version.published.by.the.Fr
2a060 65 65 20 53 6f 66 74 77 61 72 65 0a 20 20 20 20 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 77 69 74 ee.Software......Foundation;.wit
2a080 68 20 74 68 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 e2 h.the.Invariant.Sections.being..
2a0a0 80 9c 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 0a 20 20 20 20 20 4c 69 63 65 6e 73 ..GNU.General.Public......Licens
2a0c0 65 2c e2 80 9d 20 61 6e 64 20 6e 6f 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 20 6f e,....and.no.Front-Cover.Texts.o
2a0e0 72 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 73 2e 20 20 41 20 63 6f 70 79 20 6f 66 0a 20 r.Back-Cover.Texts...A.copy.of..
2a100 20 20 20 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 ....the.license.is.included.in.t
2a120 68 65 20 73 65 63 74 69 6f 6e 20 65 6e 74 69 74 6c 65 64 20 e2 80 9c 47 4e 55 20 46 72 65 65 0a he.section.entitled....GNU.Free.
2a140 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 e2 80 9d 2e 0a 0a .....Documentation.License......
2a160 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 3a 3a 20 20 20 20 20 20 20 *.Menu:..*.Installation::.......
2a180 20 49 6e 73 74 61 6c 6c 69 6e 67 20 61 6e 64 20 63 6f 6e 66 69 67 75 72 69 6e 67 20 44 61 73 68 .Installing.and.configuring.Dash
2a1a0 2e 0a 2a 20 46 75 6e 63 74 69 6f 6e 73 3a 3a 20 20 20 20 20 20 20 20 20 20 20 44 61 73 68 20 41 ..*.Functions::...........Dash.A
2a1c0 50 49 20 72 65 66 65 72 65 6e 63 65 2e 0a 2a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 3a 3a 20 20 20 PI.reference..*.Development::...
2a1e0 20 20 20 20 20 20 43 6f 6e 74 72 69 62 75 74 69 6e 67 20 74 6f 20 44 61 73 68 20 64 65 76 65 6c ......Contributing.to.Dash.devel
2a200 6f 70 6d 65 6e 74 2e 0a 0a 41 70 70 65 6e 64 69 63 65 73 0a 0a 2a 20 46 44 4c 3a 3a 20 20 20 20 opment...Appendices..*.FDL::....
2a220 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 6c 69 63 65 6e 73 65 20 66 6f 72 20 74 68 69 .............The.license.for.thi
2a240 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 2a 20 47 50 4c 3a 3a 20 20 20 20 20 20 20 20 s.documentation..*.GPL::........
2a260 20 20 20 20 20 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 69 6e 67 20 .........Conditions.for.copying.
2a280 61 6e 64 20 63 68 61 6e 67 69 6e 67 20 44 61 73 68 2e 0a 2a 20 49 6e 64 65 78 3a 3a 20 20 20 20 and.changing.Dash..*.Index::....
2a2a0 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 65 78 20 69 6e 63 6c 75 64 69 6e 67 20 66 75 6e 63 74 ...........Index.including.funct
2a2c0 69 6f 6e 73 20 61 6e 64 20 6d 61 63 72 6f 73 2e 0a 0a 20 e2 80 94 20 54 68 65 20 44 65 74 61 69 ions.and.macros........The.Detai
2a2e0 6c 65 64 20 4e 6f 64 65 20 4c 69 73 74 69 6e 67 20 e2 80 94 0a 0a 49 6e 73 74 61 6c 6c 61 74 69 led.Node.Listing......Installati
2a300 6f 6e 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 4c 69 73 74 on..*.Using.in.a.package::..List
2a320 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 65 6e 63 79 ing.Dash.as.a.package.dependency
2a340 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 20 76 61 72 ..*.Fontification.of.special.var
2a360 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 6f 72 69 63 iables::..Font.Lock.of.anaphoric
2a380 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 62 6f 6c 20 .macro.variables..*.Info.symbol.
2a3a0 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 6d 62 6f 6c lookup::..Looking.up.Dash.symbol
2a3c0 73 20 69 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 2e 0a 0a 46 75 6e 63 74 69 6f 6e 73 0a 0a 2a 20 s.in.this.manual...Functions..*.
2a3e0 4d 61 70 73 3a 3a 0a 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 Maps::.*.Sublist.selection::.*.L
2a400 69 73 74 20 74 6f 20 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 ist.to.list::.*.Reductions::.*.U
2a420 6e 66 6f 6c 64 69 6e 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 nfolding::.*.Predicates::.*.Part
2a440 69 74 69 6f 6e 69 6e 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 itioning::.*.Indexing::.*.Set.op
2a460 65 72 61 74 69 6f 6e 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 erations::.*.Other.list.operatio
2a480 6e 73 3a 3a 0a 2a 20 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 ns::.*.Tree.operations::.*.Threa
2a4a0 64 69 6e 67 20 6d 61 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 ding.macros::.*.Binding::.*.Side
2a4c0 20 65 66 66 65 63 74 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 .effects::.*.Destructive.operati
2a4e0 6f 6e 73 3a 3a 0a 2a 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 ons::.*.Function.combinators::..
2a500 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 0a 2a 20 43 6f 6e 74 72 69 62 75 74 65 3a 3a 20 20 20 20 20 Development..*.Contribute::.....
2a520 20 20 20 20 20 48 6f 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 .....How.to.contribute..*.Contri
2a540 62 75 74 6f 72 73 3a 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 butors::........List.of.contribu
2a560 74 6f 72 73 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 6f 2c 20 20 tors.....File:.docKFAcRH.info,..
2a580 4e 6f 64 65 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2c 20 20 4e 65 78 74 3a 20 46 75 6e 63 74 Node:.Installation,..Next:.Funct
2a5a0 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 54 6f 70 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 31 20 49 6e ions,..Prev:.Top,..Up:.Top..1.In
2a5c0 73 74 61 6c 6c 61 74 69 6f 6e 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 44 61 73 68 20 stallation.**************..Dash.
2a5e0 69 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 47 4e 55 20 45 4c 50 41 20 28 68 74 74 70 73 3a is.available.on.GNU.ELPA.(https:
2a600 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 29 2c 20 47 4e 55 2d 64 65 76 65 6c 20 45 4c 50 41 //elpa.gnu.org/),.GNU-devel.ELPA
2a620 0a 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 29 2c 20 .(https://elpa.gnu.org/devel/),.
2a640 61 6e 64 20 4d 45 4c 50 41 20 28 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 29 2c 20 and.MELPA.(https://melpa.org/),.
2a660 61 6e 64 20 63 61 6e 0a 62 65 20 69 6e 73 74 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 74 and.can.be.installed.with.the.st
2a680 61 6e 64 61 72 64 20 63 6f 6d 6d 61 6e 64 20 e2 80 98 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c andard.command....package-instal
2a6a0 6c e2 80 99 20 28 2a 6e 6f 74 65 0a 28 65 6d 61 63 73 29 50 61 63 6b 61 67 65 20 49 6e 73 74 61 l....(*note.(emacs)Package.Insta
2a6c0 6c 6c 61 74 69 6f 6e 3a 3a 29 2e 0a 0a e2 80 98 4d 2d 78 20 70 61 63 6b 61 67 65 2d 69 6e 73 74 llation::)......M-x.package-inst
2a6e0 61 6c 6c 20 3c 52 45 54 3e 20 64 61 73 68 20 3c 52 45 54 3e e2 80 99 0a 20 20 20 20 20 49 6e 73 all.<RET>.dash.<RET>.........Ins
2a700 74 61 6c 6c 20 74 68 65 20 44 61 73 68 20 6c 69 62 72 61 72 79 2e 0a 0a 20 20 20 41 6c 74 65 72 tall.the.Dash.library......Alter
2a720 6e 61 74 69 76 65 6c 79 2c 20 79 6f 75 20 63 61 6e 20 6a 75 73 74 20 64 75 6d 70 20 e2 80 98 64 natively,.you.can.just.dump....d
2a740 61 73 68 2e 65 6c e2 80 99 20 69 6e 20 79 6f 75 72 20 e2 80 98 6c 6f 61 64 2d 70 61 74 68 e2 80 ash.el....in.your....load-path..
2a760 99 0a 73 6f 6d 65 77 68 65 72 65 20 28 2a 6e 6f 74 65 20 28 65 6d 61 63 73 29 4c 69 73 70 20 4c ..somewhere.(*note.(emacs)Lisp.L
2a780 69 62 72 61 72 69 65 73 3a 3a 29 2e 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 55 73 69 6e 67 20 69 ibraries::)...*.Menu:..*.Using.i
2a7a0 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 73 20 61 n.a.package::..Listing.Dash.as.a
2a7c0 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 69 63 61 .package.dependency..*.Fontifica
2a7e0 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 46 6f 6e tion.of.special.variables::..Fon
2a800 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 69 61 62 t.Lock.of.anaphoric.macro.variab
2a820 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 4c 6f 6f les..*.Info.symbol.lookup::..Loo
2a840 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 6d 61 6e king.up.Dash.symbols.in.this.man
2a860 75 61 6c 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 6f 2c 20 20 4e ual.....File:.docKFAcRH.info,..N
2a880 6f 64 65 3a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 2c 20 20 4e 65 78 74 3a 20 ode:.Using.in.a.package,..Next:.
2a8a0 46 6f 6e 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 Fontification.of.special.variabl
2a8c0 65 73 2c 20 20 55 70 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 31 2e 31 20 55 73 69 6e 67 es,..Up:.Installation..1.1.Using
2a8e0 20 69 6e 20 61 20 70 61 63 6b 61 67 65 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .in.a.package.==================
2a900 3d 3d 3d 3d 0a 0a 49 66 20 79 6f 75 20 75 73 65 20 44 61 73 68 20 69 6e 20 79 6f 75 72 20 6f 77 ====..If.you.use.Dash.in.your.ow
2a920 6e 20 70 61 63 6b 61 67 65 2c 20 62 65 20 73 75 72 65 20 74 6f 20 6c 69 73 74 20 69 74 20 61 73 n.package,.be.sure.to.list.it.as
2a940 20 61 20 64 65 70 65 6e 64 65 6e 63 79 0a 69 6e 20 74 68 65 20 6c 69 62 72 61 72 79 e2 80 99 73 .a.dependency.in.the.library...s
2a960 20 68 65 61 64 65 72 73 20 61 73 20 66 6f 6c 6c 6f 77 73 20 28 2a 6e 6f 74 65 20 28 65 6c 69 73 .headers.as.follows.(*note.(elis
2a980 70 29 4c 69 62 72 61 72 79 20 48 65 61 64 65 72 73 3a 3a 29 2e 0a 0a 20 20 20 20 20 3b 3b 20 50 p)Library.Headers::)........;;.P
2a9a0 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 64 61 73 68 20 22 32 2e 31 39 2e 31 22 ackage-Requires:.((dash."2.19.1"
2a9c0 29 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 6f 2c 20 20 4e 6f 64 ))....File:.docKFAcRH.info,..Nod
2a9e0 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 61 6c 20 76 61 72 69 e:.Fontification.of.special.vari
2aa00 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 20 6c 6f 6f 6b 75 70 ables,..Next:.Info.symbol.lookup
2aa20 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 67 65 2c 20 20 55 70 ,..Prev:.Using.in.a.package,..Up
2aa40 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 66 69 63 61 74 69 6f :.Installation..1.2.Fontificatio
2aa60 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 3d 3d 3d 3d 3d 3d 3d n.of.special.variables.=========
2aa80 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 0a 0a 54 =============================..T
2aaa0 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 e2 80 98 64 61 73 68 he.autoloaded.minor.mode....dash
2aac0 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 64 65 64 20 66 6f 72 -fontify-mode....is.provided.for
2aae0 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 66 20 61 6e 61 70 68 .optional.fontification.of.anaph
2ab00 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 74 e2 80 99 2c 20 e2 oric.Dash.variables.(...it...,..
2ab20 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 4c 69 73 70 20 62 75 ..acc...,.etc.).in.Emacs.Lisp.bu
2ab40 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 46 6f 6e 74 20 4c 6f ffers.using.search-based.Font.Lo
2ab60 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 6b 3a 3a 29 2e 0a 49 ck.(*note.(emacs)Font.Lock::)..I
2ab80 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 69 63 68 20 64 6f 20 n.older.Emacs.versions.which.do.
2aba0 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 63 72 6f 73 2c 20 74 not.dynamically.detect.macros,.t
2abc0 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 69 65 73 20 63 61 6c he.minor.mode.also.fontifies.cal
2abe0 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 20 61 75 74 6f 6d 61 ls.to.Dash.macros......To.automa
2ac00 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 6d 6f 64 65 20 69 6e tically.enable.the.minor.mode.in
2ac20 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 6a 75 73 74 20 63 61 .all.Emacs.Lisp.buffers,.just.ca
2ac40 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 63 6f 75 6e 74 65 72 ll.its.autoloaded.global.counter
2ac60 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 66 79 2d 6d 6f 64 65 part....global-dash-fontify-mode
2ac80 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 20 6f 72 20 66 72 6f ...,.either.interactively.or.fro
2aca0 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 80 99 3a 0a 0a 20 20 m.your....user-init-file...:....
2acc0 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 6f 64 65 29 0a 0a 1f ...(global-dash-fontify-mode)...
2ace0 0a 46 69 6c 65 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 49 6e .File:.docKFAcRH.info,..Node:.In
2ad00 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 66 69 fo.symbol.lookup,..Prev:.Fontifi
2ad20 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 55 70 cation.of.special.variables,..Up
2ad40 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 6c 20 :.Installation..1.3.Info.symbol.
2ad60 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 0a 57 lookup.======================..W
2ad80 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 63 61 hile.editing.Elisp.files,.you.ca
2ada0 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 6b 75 n.use....C-h.S....(...info-looku
2adc0 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 73 79 p-symbol...).to.look.up.Elisp.sy
2ade0 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 75 61 mbols.in.the.relevant.Info.manua
2ae00 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 29 2e ls.(*note.(emacs)Info.Lookup::).
2ae20 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 73 79 ..To.enable.the.same.for.Dash.sy
2ae40 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 2d 72 mbols,.use.the.command....dash-r
2ae60 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 6e 20 egister-info-lookup......It.can.
2ae80 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 2c 20 be.called.directly.when.needed,.
2aea0 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 75 73 or.automatically.from.your....us
2aec0 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 0a 0a er-init-file......For.example:..
2aee0 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 66 6f .....(with-eval-after-load.'info
2af00 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 66 6f -look........(dash-register-info
2af20 2d 6c 6f 6f 6b 75 70 29 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 -lookup))....File:.docKFAcRH.inf
2af40 6f 2c 20 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 o,..Node:.Functions,..Next:.Deve
2af60 6c 6f 70 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 lopment,..Prev:.Installation,..U
2af80 70 3a 20 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 p:.Top..2.Functions.***********.
2afa0 0a 54 68 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 .This.chapter.contains.reference
2afc0 20 64 6f 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 .documentation.for.the.Dash.API.
2afe0 28 41 70 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 (Application.Programming.Interfa
2b000 63 65 29 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 ce)...The.names.of.all.public.fu
2b020 6e 63 74 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 nctions.defined.in.the.library.a
2b040 72 65 20 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 re.prefixed.with.a.dash.characte
2b060 72 20 28 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 r.(...-...)......The.library.als
2b080 6f 20 70 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 o.provides.anaphoric.macro.versi
2b0a0 6f 6e 73 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 ons.of.functions.where.that.make
2b0c0 73 20 73 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 s.sense...The.names.of.these.mac
2b0e0 72 6f 73 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 ros.are.prefixed.with.two.dashes
2b100 20 28 e2 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 .(...--...).instead.of.one......
2b120 46 6f 72 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 For.instance,.while.the.function
2b140 20 e2 80 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 ....-map....applies.a.function.t
2b160 6f 20 65 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 o.each.element.of.a.list,.its.an
2b180 61 70 68 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 aphoric.counterpart....--map....
2b1a0 65 76 61 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 evaluates.a.form.with.the.local.
2b1c0 76 61 72 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 variable....it....temporarily.bo
2b1e0 75 6e 64 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 und.to.the.current.list.element.
2b200 69 6e 73 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 instead........;;.Normal.version
2b220 2e 0a 20 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 .......(-map.(lambda.(n).(*.n.n)
2b240 29 20 27 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 ).'(1.2.3.4))..............(1.4.
2b260 39 20 31 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 9.16).......;;.Anaphoric.version
2b280 2e 0a 20 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 .......(--map.(*.it.it).'(1.2.3.
2b2a0 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 36 29 0a 0a 20 20 20 4))..............(1.4.9.16).....
2b2c0 54 68 65 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 The.normal.version.can,.of.cours
2b2e0 65 2c 20 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 e,.also.be.written.as.in.the.fol
2b300 6c 6f 77 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 lowing.example,.which.demonstrat
2b320 65 73 20 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 es.the.utility.of.both.versions.
2b340 0a 0a 20 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 .......(defun.my-square.(n).....
2b360 20 20 20 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 ..."Return.N.multiplied.by.itsel
2b380 66 2e 22 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 f."........(*.n.n)).......(-map.
2b3a0 23 27 6d 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 #'my-square.'(1.2.3.4)).........
2b3c0 20 e2 87 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 .....(1.4.9.16)..*.Menu:..*.Maps
2b3e0 3a 3a 0a 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 ::.*.Sublist.selection::.*.List.
2b400 74 6f 20 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 to.list::.*.Reductions::.*.Unfol
2b420 64 69 6e 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 ding::.*.Predicates::.*.Partitio
2b440 6e 69 6e 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 ning::.*.Indexing::.*.Set.operat
2b460 69 6f 6e 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 ions::.*.Other.list.operations::
2b480 0a 2a 20 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 .*.Tree.operations::.*.Threading
2b4a0 20 6d 61 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 .macros::.*.Binding::.*.Side.eff
2b4c0 65 63 74 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 ects::.*.Destructive.operations:
2b4e0 3a 0a 2a 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 :.*.Function.combinators::....Fi
2b500 6c 65 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4d 61 70 73 2c le:.docKFAcRH.info,..Node:.Maps,
2b520 20 20 4e 65 78 74 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 ..Next:.Sublist.selection,..Up:.
2b540 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 20 4d 61 70 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 Functions..2.1.Maps.========..Fu
2b560 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 69 73 20 63 61 74 65 67 6f 72 79 20 74 61 6b 65 20 61 20 nctions.in.this.category.take.a.
2b580 74 72 61 6e 73 66 6f 72 6d 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2c 20 77 68 69 63 68 20 69 73 20 transforming.function,.which.is.
2b5a0 74 68 65 6e 0a 61 70 70 6c 69 65 64 20 73 65 71 75 65 6e 74 69 61 6c 6c 79 20 74 6f 20 65 61 63 then.applied.sequentially.to.eac
2b5c0 68 20 6f 72 20 73 65 6c 65 63 74 65 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 20 69 6e h.or.selected.elements.of.the.in
2b5e0 70 75 74 20 6c 69 73 74 2e 0a 54 68 65 20 72 65 73 75 6c 74 73 20 61 72 65 20 63 6f 6c 6c 65 63 put.list..The.results.are.collec
2b600 74 65 64 20 69 6e 20 6f 72 64 65 72 20 61 6e 64 20 72 65 74 75 72 6e 65 64 20 61 73 20 61 20 6e ted.in.order.and.returned.as.a.n
2b620 65 77 20 6c 69 73 74 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 70 20 28 66 6e ew.list....--.Function:.-map.(fn
2b640 20 6c 69 73 74 29 0a 20 20 20 20 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 69 74 65 .list)......Apply.FN.to.each.ite
2b660 6d 20 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 m.in.LIST.and.return.the.list.of
2b680 20 72 65 73 75 6c 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 .results........This.function...
2b6a0 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....--
2b6c0 6d 61 70 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 map................(-map.(lambda
2b6e0 20 28 6e 75 6d 29 20 28 2a 20 6e 75 6d 20 6e 75 6d 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a .(num).(*.num.num)).'(1.2.3.4)).
2b700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 20 31 36 29 0a 20 20 20 ..................(1.4.9.16)....
2b720 20 20 20 20 20 20 20 28 2d 6d 61 70 20 23 27 31 2b 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 .......(-map.#'1+.'(1.2.3.4))...
2b740 20 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 ................(2.3.4.5).......
2b760 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))
2b780 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 20 31 36 29 0a 0a 20 ...................(1.4.9.16)...
2b7a0 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 70 2d 77 68 65 6e 20 28 70 72 65 64 20 72 65 70 --.Function:.-map-when.(pred.rep
2b7c0 20 6c 69 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 77 68 .list)......Return.a.new.list.wh
2b7e0 65 72 65 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 4c 49 53 54 20 74 68 61 74 20 64 6f ere.the.elements.in.LIST.that.do
2b800 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 0a 20 20 20 20 20 50 52 45 44 20 66 75 6e 63 74 69 6f .not.match.the......PRED.functio
2b820 6e 20 61 72 65 20 75 6e 63 68 61 6e 67 65 64 2c 20 61 6e 64 20 77 68 65 72 65 20 74 68 65 20 65 n.are.unchanged,.and.where.the.e
2b840 6c 65 6d 65 6e 74 73 20 69 6e 20 4c 49 53 54 20 74 68 61 74 20 64 6f 0a 20 20 20 20 20 6d 61 74 lements.in.LIST.that.do......mat
2b860 63 68 20 74 68 65 20 50 52 45 44 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 20 6d 61 70 70 65 64 20 ch.the.PRED.function.are.mapped.
2b880 74 68 72 6f 75 67 68 20 74 68 65 20 52 45 50 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 through.the.REP.function........
2b8a0 41 6c 69 61 73 3a 20 e2 80 98 2d 72 65 70 6c 61 63 65 2d 77 68 65 72 65 e2 80 99 0a 0a 20 20 20 Alias:....-replace-where........
2b8c0 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 75 70 64 61 74 65 2d 61 74 e2 80 99 20 28 2a 6e ..See.also:....-update-at....(*n
2b8e0 6f 74 65 20 2d 75 70 64 61 74 65 2d 61 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d ote.-update-at::)............(-m
2b900 61 70 2d 77 68 65 6e 20 27 65 76 65 6e 3f 20 27 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 ap-when.'even?.'square.'(1.2.3.4
2b920 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 33 20 31 36 29 0a ))...................(1.4.3.16).
2b940 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 2d 77 68 65 6e 20 28 3e 20 69 74 20 32 29 20 28 ..........(--map-when.(>.it.2).(
2b960 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 20 20 20 20 *.it.it).'(1.2.3.4))............
2b980 20 20 20 e2 87 92 20 28 31 20 32 20 39 20 31 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d .......(1.2.9.16)...........(--m
2b9a0 61 70 2d 77 68 65 6e 20 28 3d 20 69 74 20 32 29 20 31 37 20 27 28 31 20 32 20 33 20 34 29 29 0a ap-when.(=.it.2).17.'(1.2.3.4)).
2b9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 31 37 20 33 20 34 29 0a 0a 20 2d ..................(1.17.3.4)...-
2b9e0 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 70 2d 66 69 72 73 74 20 28 70 72 65 64 20 72 65 70 -.Function:.-map-first.(pred.rep
2ba00 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 70 6c 61 63 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 .list)......Replace.first.item.i
2ba20 6e 20 4c 49 53 54 20 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 77 69 74 68 20 72 65 73 75 n.LIST.satisfying.PRED.with.resu
2ba40 6c 74 20 6f 66 20 52 45 50 0a 20 20 20 20 20 63 61 6c 6c 65 64 20 6f 6e 20 74 68 69 73 20 69 74 lt.of.REP......called.on.this.it
2ba60 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
2ba80 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
2baa0 6c 61 63 65 2d 66 69 72 73 74 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 72 65 70 6c 61 lace-first....(*note......-repla
2bac0 63 65 2d 66 69 72 73 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 2d 66 69 72 ce-first::)............(-map-fir
2bae0 73 74 20 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 st.'even?.'square.'(1.2.3.4))...
2bb00 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 33 20 34 29 0a 20 20 20 20 20 20 ................(1.4.3.4).......
2bb20 20 20 20 20 28 2d 2d 6d 61 70 2d 66 69 72 73 74 20 28 3e 20 69 74 20 32 29 20 28 2a 20 69 74 20 ....(--map-first.(>.it.2).(*.it.
2bb40 69 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 it).'(1.2.3.4)).................
2bb60 92 20 28 31 20 32 20 39 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 2d 66 69 72 ..(1.2.9.4)...........(--map-fir
2bb80 73 74 20 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 st.(=.it.2).17.'(1.2.3.2))......
2bba0 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 31 37 20 33 20 32 29 0a 0a 20 2d 2d 20 46 75 6e .............(1.17.3.2)...--.Fun
2bbc0 63 74 69 6f 6e 3a 20 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 ction:.-map-last.(pred.rep.list)
2bbe0 0a 20 20 20 20 20 52 65 70 6c 61 63 65 20 6c 61 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 ......Replace.last.item.in.LIST.
2bc00 73 61 74 69 73 66 79 69 6e 67 20 50 52 45 44 20 77 69 74 68 20 72 65 73 75 6c 74 20 6f 66 20 52 satisfying.PRED.with.result.of.R
2bc20 45 50 20 63 61 6c 6c 65 64 0a 20 20 20 20 20 6f 6e 20 74 68 69 73 20 69 74 65 6d 2e 0a 0a 20 20 EP.called......on.this.item.....
2bc40 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 e2 80 99 20 28 2a 6e ...See.also:....-map-when....(*n
2bc60 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 6c 61 63 65 2d 6c 61 ote.-map-when::),....-replace-la
2bc80 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 65 2d 6c 61 73 74 3a st....(*note......-replace-last:
2bca0 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 27 65 76 65 6e 3f 20 :)............(-map-last.'even?.
2bcc0 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 20 20 20 20 20 20 'square.'(1.2.3.4)).............
2bce0 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 20 20 28 2d 2d 6d 61 ......(1.2.3.16)...........(--ma
2bd00 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 20 27 28 31 20 32 20 p-last.(>.it.2).(*.it.it).'(1.2.
2bd20 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 31 3.4))...................(1.2.3.1
2bd40 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 28 3d 20 69 74 20 32 6)...........(--map-last.(=.it.2
2bd60 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 20 20 20 20 20 20 e2 ).17.'(1.2.3.2))................
2bd80 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 6f 6e 3a 20 2d 6d 61 ...(1.2.3.17)...--.Function:.-ma
2bda0 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 41 70 70 6c 79 20 46 p-indexed.(fn.list)......Apply.F
2bdc0 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 69 6e 20 4c 49 53 54 N.to.each.index.and.item.in.LIST
2bde0 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 20 20 20 20 72 65 73 .and.return.the.list.of......res
2be00 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 61 70 e2 80 99 20 28 ults...This.is.like....-map....(
2be20 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 65 73 20 74 77 6f 0a *note.-map::),.but.FN.takes.two.
2be40 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 20 6f 66 20 74 68 65 .....arguments:.the.index.of.the
2be60 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 49 53 54 2c 20 61 6e .current.element.within.LIST,.an
2be80 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 2e 0a 0a 20 20 20 20 d.the......element.itself.......
2bea0 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
2bec0 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 78 65 64 e2 80 99 2e nterpart.is....--map-indexed....
2bee0 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 6e 67 20 76 61 72 69 .......For.a.side-effecting.vari
2bf00 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 64 65 78 65 64 e2 80 ant,.see.also....-each-indexed..
2bf20 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 65 64 3a 3a 29 2e 0a ..(*note......-each-indexed::)..
2bf40 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 28 6c 61 6d 62 64 61 ...........(-map-indexed.(lambda
2bf60 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 65 78 29 29 20 27 28 .(index.item).(-.item.index)).'(
2bf80 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 20 31 1.2.3.4))...................(1.1
2bfa0 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 64 65 78 65 64 20 28 .1.1)...........(--map-indexed.(
2bfc0 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 29 0a 20 20 20 20 20 -.it.it-index).'(1.2.3.4))......
2bfe0 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 20 20 20 20 20 20 20 .............(1.1.1.1)..........
2c000 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 33 20 34 29 29 0a 20 .(-map-indexed.#'*.'(1.2.3.4))..
2c020 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 32 29 0a 0a 20 2d 2d .................(0.2.6.12)...--
2c040 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 6c 69 73 74 29 0a 20 .Function:.-annotate.(fn.list)..
2c060 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 20 ....Return.a.list.of.cons.cells.
2c080 77 68 65 72 65 20 65 61 63 68 20 63 65 6c 6c 20 69 73 20 46 4e 20 61 70 70 6c 69 65 64 20 74 6f where.each.cell.is.FN.applied.to
2c0a0 20 65 61 63 68 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 70 61 69 72 65 .each......element.of.LIST.paire
2c0c0 64 20 77 69 74 68 20 74 68 65 20 75 6e 6d 6f 64 69 66 69 65 64 20 65 6c 65 6d 65 6e 74 20 6f 66 d.with.the.unmodified.element.of
2c0e0 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 61 6e 6e 6f 74 61 74 65 20 27 31 2b .LIST.............(-annotate.'1+
2c100 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 32 .'(1.2.3))...................((2
2c120 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 20 20 20 20 20 20 20 ...1).(3...2).(4...3))..........
2c140 20 28 2d 61 6e 6e 6f 74 61 74 65 20 27 6c 65 6e 67 74 68 20 27 28 28 22 68 22 20 22 65 22 20 22 .(-annotate.'length.'(("h"."e"."
2c160 6c 22 20 22 6c 22 20 22 6f 22 29 20 28 22 68 65 6c 6c 6f 22 20 22 77 6f 72 6c 64 22 29 29 29 0a l"."l"."o").("hello"."world"))).
2c180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 35 20 22 68 22 20 22 65 22 20 22 6c ..................((5."h"."e"."l
2c1a0 22 20 22 6c 22 20 22 6f 22 29 20 28 32 20 22 68 65 6c 6c 6f 22 20 22 77 6f 72 6c 64 22 29 29 0a "."l"."o").(2."hello"."world")).
2c1c0 20 20 20 20 20 20 20 20 20 20 28 2d 2d 61 6e 6e 6f 74 61 74 65 20 28 3c 20 31 20 69 74 29 20 27 ..........(--annotate.(<.1.it).'
2c1e0 28 30 20 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 6e (0.1.2.3))...................((n
2c200 69 6c 20 2e 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 il...0).(nil...1).(t...2).(t...3
2c220 29 29 0a 0a 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 ))...--.Function:.-splice.(pred.
2c240 66 75 6e 20 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 fun.list)......Splice.lists.gene
2c260 72 61 74 65 64 20 62 79 20 46 55 4e 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 65 6c 65 6d 65 6e 74 rated.by.FUN.in.place.of.element
2c280 73 20 6d 61 74 63 68 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 s.matching.PRED.in......LIST....
2c2a0 20 20 20 20 46 55 4e 20 74 61 6b 65 73 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 6d 61 74 63 68 69 ....FUN.takes.the.element.matchi
2c2c0 6e 67 20 50 52 45 44 20 61 73 20 69 6e 70 75 74 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e ng.PRED.as.input........This.fun
2c2e0 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 61 73 20 72 65 70 6c 61 63 65 6d 65 6e 74 ction.can.be.used.as.replacement
2c300 20 66 6f 72 20 e2 80 98 2c 40 e2 80 99 20 69 6e 20 63 61 73 65 20 79 6f 75 20 6e 65 65 64 0a 20 .for....,@....in.case.you.need..
2c320 20 20 20 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 61 74 20 6d ....to.splice.several.lists.at.m
2c340 61 72 6b 65 64 20 70 6f 73 69 74 69 6f 6e 73 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 20 77 69 74 arked.positions.(for.example.wit
2c360 68 0a 20 20 20 20 20 6b 65 79 77 6f 72 64 73 29 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f h......keywords)........See.also
2c380 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 20 2d 73 70 6c :....-splice-list....(*note.-spl
2c3a0 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 80 99 0a 20 20 ice-list::),....-insert-at......
2c3c0 20 20 20 28 2a 6e 6f 74 65 20 2d 69 6e 73 65 72 74 2d 61 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 ...(*note.-insert-at::).........
2c3e0 20 20 20 28 2d 73 70 6c 69 63 65 20 27 65 76 65 6e 3f 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 ...(-splice.'even?.(lambda.(x).(
2c400 6c 69 73 74 20 78 20 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 list.x.x)).'(1.2.3.4))..........
2c420 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 32 20 33 20 34 20 34 29 0a 20 20 20 20 20 20 20 20 20 .........(1.2.2.3.4.4)..........
2c440 20 28 2d 2d 73 70 6c 69 63 65 20 27 74 20 28 6c 69 73 74 20 69 74 20 69 74 29 20 27 28 31 20 32 .(--splice.'t.(list.it.it).'(1.2
2c460 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 31 20 32 20 .3.4))...................(1.1.2.
2c480 32 20 33 20 33 20 34 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 73 70 6c 69 63 65 20 28 2.3.3.4.4)...........(--splice.(
2c4a0 65 71 75 61 6c 20 69 74 20 3a 6d 61 67 69 63 29 20 27 28 28 6c 69 73 74 20 6f 66 29 20 28 6d 61 equal.it.:magic).'((list.of).(ma
2c4c0 67 69 63 61 6c 29 20 28 63 6f 64 65 29 29 20 27 28 28 66 6f 6f 29 20 28 62 61 72 29 20 3a 6d 61 gical).(code)).'((foo).(bar).:ma
2c4e0 67 69 63 20 28 62 61 7a 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 gic.(baz)))...................((
2c500 66 6f 6f 29 20 28 62 61 72 29 20 28 6c 69 73 74 20 6f 66 29 20 28 6d 61 67 69 63 61 6c 29 20 28 foo).(bar).(list.of).(magical).(
2c520 63 6f 64 65 29 20 28 62 61 7a 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 70 6c code).(baz))...--.Function:.-spl
2c540 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 20 ice-list.(pred.new-list.list)...
2c560 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 20 6f 66 20 65 ...Splice.NEW-LIST.in.place.of.e
2c580 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 53 54 2e 0a 0a lements.matching.PRED.in.LIST...
2c5a0 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 99 20 28 2a 6e .....See.also:....-splice....(*n
2c5c0 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 61 74 e2 80 99 ote.-splice::),....-insert-at...
2c5e0 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 0a 20 20 20 20 .(*note......-insert-at::)......
2c600 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 64 70 20 27 28 ......(-splice-list.'keywordp.'(
2c620 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 20 20 20 20 20 a.b.c).'(1.:foo.2)).............
2c640 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 20 28 2d 73 70 ......(1.a.b.c.2)...........(-sp
2c660 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 20 3a 66 6f 6f lice-list.'keywordp.nil.'(1.:foo
2c680 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 29 0a 20 20 20 .2))...................(1.2)....
2c6a0 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 6f 72 64 70 20 .......(--splice-list.(keywordp.
2c6c0 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 20 20 20 20 20 it).'(a.b.c).'(1.:foo.2)).......
2c6e0 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 2d 20 46 75 6e ............(1.a.b.c.2)...--.Fun
2c700 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 20 20 20 52 65 ction:.-mapcat.(fn.list)......Re
2c720 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 68 65 20 72 65 turn.the.concatenation.of.the.re
2c740 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 54 2e 0a 20 20 sult.of.mapping.FN.over.LIST....
2c760 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 72 65 74 75 72 ...Thus.function.FN.should.retur
2c780 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 61 74 20 27 6c n.a.list.............(-mapcat.'l
2c7a0 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 20 e2 87 92 20 ist.'(1.2.3))...................
2c7c0 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 28 6c 61 6d 62 (1.2.3)...........(-mapcat.(lamb
2c7e0 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 31 20 32 20 33 da.(item).(list.0.item)).'(1.2.3
2c800 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 20 32 20 30 20 ))...................(0.1.0.2.0.
2c820 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 74 20 30 20 69 3)...........(--mapcat.(list.0.i
2c840 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 e2 87 92 20 28 t).'(1.2.3))...................(
2c860 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 20 2d 63 6f 70 0.1.0.2.0.3)...--.Function:.-cop
2c880 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 6c 6f 77 20 63 y.(list)......Create.a.shallow.c
2c8a0 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 6f 70 79 20 27 opy.of.LIST.............(-copy.'
2c8c0 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 31 20 32 20 (1.2.3))...................(1.2.
2c8e0 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 20 33 29 29 29 3)...........(let.((a.'(1.2.3)))
2c900 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 20 20 20 20 20 .(eq.a.(-copy.a)))..............
2c920 20 e2 87 92 20 6e 69 6c 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 6f .....nil....File:.docKFAcRH.info
2c940 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
2c960 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
2c980 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
2c9a0 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
2c9c0 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.
2c9e0 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
2ca00 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.
2ca20 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
2ca40 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 6e 69 r.which.PRED.returns......non-ni
2ca60 6c 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 e2 80 99 2e 0a 0a l........Alias:....-select......
2ca80 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 72 69 63 .....This.function...s.anaphoric
2caa0 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 72 e2 80 99 2e 0a .counterpart.is....--filter.....
2cac0 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 6e 73 2c 20 73 65 ......For.similar.operations,.se
2cae0 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 2d 6b 65 65 70 3a e.also....-keep....(*note.-keep:
2cb00 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 28 2a 6e 6f 74 65 :).and.........-remove....(*note
2cb20 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 66 69 6c 74 65 72 .-remove::).............(-filter
2cb40 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 29 20 .(lambda.(num).(=.0.(%.num.2))).
2cb60 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 32 '(1.2.3.4))...................(2
2cb80 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 61 74 6e 75 6d 70 .4)...........(-filter.#'natnump
2cba0 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 20 20 20 20 20 e2 .'(-2.-1.0.1.2))................
2cbc0 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 6c 74 65 72 20 28 ...(0.1.2)...........(--filter.(
2cbe0 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 20 20 20 20 20 20 =.0.(%.it.2)).'(1.2.3.4)).......
2cc00 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 63 74 69 6f 6e 3a ............(2.4)...--.Function:
2cc20 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 52 65 74 75 72 6e .-remove.(pred.list)......Return
2cc40 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 49 53 54 .a.new.list.of.the.items.in.LIST
2cc60 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 6c 2e 0a 0a 20 20 .for.which.PRED.returns.nil.....
2cc80 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 72 65 6a 65 63 74 e2 80 99 2e 0a 0a 20 20 20 20 20 54 ...Alias:....-reject...........T
2cca0 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
2ccc0 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 72 65 6d 6f 76 65 e2 80 99 2e 0a 0a 20 20 20 20 20 erpart.is....--remove...........
2cce0 46 6f 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 For.similar.operations,.see.also
2cd00 20 e2 80 98 2d 6b 65 65 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6b 65 65 70 3a 3a 29 20 61 6e 64 ....-keep....(*note.-keep::).and
2cd20 0a 20 20 20 20 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 .........-filter....(*note.-filt
2cd40 65 72 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 20 28 6c 61 6d 62 er::).............(-remove.(lamb
2cd60 64 61 20 28 6e 75 6d 29 20 28 3d 20 30 20 28 25 20 6e 75 6d 20 32 29 29 29 20 27 28 31 20 32 20 da.(num).(=.0.(%.num.2))).'(1.2.
2cd80 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 33 29 0a 20 20 3.4))...................(1.3)...
2cda0 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 32 20 ........(-remove.#'natnump.'(-2.
2cdc0 2d 31 20 30 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 2d 32 -1.0.1.2))...................(-2
2cde0 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 6d 6f 76 65 20 28 3d 20 30 20 28 25 .-1)...........(--remove.(=.0.(%
2ce00 20 69 74 20 32 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 .it.2)).'(1.2.3.4)).............
2ce20 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 72 65 6d 6f ......(1.3)...--.Function:.-remo
2ce40 76 65 2d 66 69 72 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 ve-first.(pred.list)......Remove
2ce60 20 74 68 65 20 66 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 .the.first.item.from.LIST.for.wh
2ce80 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 20 20 20 20 20 54 ich.PRED.returns.non-nil.......T
2cea0 68 69 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 his.is.a.non-destructive.operati
2cec0 6f 6e 2c 20 62 75 74 20 6f 6e 6c 79 20 74 68 65 20 66 72 6f 6e 74 20 6f 66 20 4c 49 53 54 0a 20 on,.but.only.the.front.of.LIST..
2cee0 20 20 20 20 6c 65 61 64 69 6e 67 20 75 70 20 74 6f 20 74 68 65 20 72 65 6d 6f 76 65 64 20 69 74 ....leading.up.to.the.removed.it
2cf00 65 6d 20 69 73 20 61 20 63 6f 70 79 3b 20 74 68 65 20 72 65 73 74 20 69 73 20 4c 49 53 54 e2 80 em.is.a.copy;.the.rest.is.LIST..
2cf20 99 73 0a 20 20 20 20 20 6f 72 69 67 69 6e 61 6c 20 74 61 69 6c 2e 20 20 49 66 20 6e 6f 20 69 74 .s......original.tail...If.no.it
2cf40 65 6d 20 69 73 20 72 65 6d 6f 76 65 64 2c 20 74 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 20 69 em.is.removed,.then.the.result.i
2cf60 73 20 61 0a 20 20 20 20 20 63 6f 6d 70 6c 65 74 65 20 63 6f 70 79 2e 0a 0a 20 20 20 20 20 41 6c s.a......complete.copy........Al
2cf80 69 61 73 3a 20 e2 80 98 2d 72 65 6a 65 63 74 2d 66 69 72 73 74 e2 80 99 2e 0a 0a 20 20 20 20 20 ias:....-reject-first...........
2cfa0 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
2cfc0 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 e2 80 99 2e terpart.is....--remove-first....
2cfe0 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 20 e2 80 98 2d 6d 61 70 2d 66 69 72 73 74 e2 80 99 .......See.also....-map-first...
2d000 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 2d 66 69 72 73 74 3a 3a 29 2c 20 e2 80 98 2d 72 65 6d 6f 76 .(*note.-map-first::),....-remov
2d020 65 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 72 65 6d 6f 76 65 2d 69 74 e-item....(*note......-remove-it
2d040 65 6d 3a 3a 29 2c 20 61 6e 64 20 e2 80 98 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 e2 80 99 20 28 2a em::),.and....-remove-last....(*
2d060 6e 6f 74 65 20 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 note.-remove-last::)............
2d080 20 28 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 32 20 2d .(-remove-first.#'natnump.'(-2.-
2d0a0 31 20 30 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 2d 32 20 1.0.1.2))...................(-2.
2d0c0 2d 31 20 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 -1.1.2)...........(-remove-first
2d0e0 20 23 27 73 74 72 69 6e 67 70 20 27 28 31 20 32 20 22 66 69 72 73 74 22 20 22 73 65 63 6f 6e 64 .#'stringp.'(1.2."first"."second
2d100 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 73 65 63 6f "))...................(1.2."seco
2d120 6e 64 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 nd")...........(--remove-first.(
2d140 3e 20 69 74 20 33 29 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 >.it.3).'(1.2.3.4.5.6)).........
2d160 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 35 20 36 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 ..........(1.2.3.5.6)...--.Funct
2d180 69 6f 6e 3a 20 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 ion:.-remove-last.(pred.list)...
2d1a0 20 20 20 52 65 6d 6f 76 65 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 66 72 6f 6d 20 4c 49 53 ...Remove.the.last.item.from.LIS
2d1c0 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 2d 6e 69 6c T.for.which.PRED.returns.non-nil
2d1e0 2e 20 20 54 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 20 69 73 20 61 20 63 6f 70 79 20 6f 66 20 ...The......result.is.a.copy.of.
2d200 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 61 6e 20 65 6c LIST.regardless.of.whether.an.el
2d220 65 6d 65 6e 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 ement.is......removed........Ali
2d240 61 73 3a 20 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 as:....-reject-last...........Th
2d260 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
2d280 72 70 61 72 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 rpart.is....--remove-last.......
2d2a0 20 20 20 20 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 ....See.also....-map-last....(*n
2d2c0 6f 74 65 20 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 ote.-map-last::),....-remove-ite
2d2e0 6d e2 80 99 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 m....(*note......-remove-item::)
2d300 2c 20 61 6e 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 ,.and....-remove-first....(*note
2d320 20 2d 72 65 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 .-remove-first::).............(-
2d340 72 65 6d 6f 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 remove-last.#'natnump.'(1.3.5.4.
2d360 37 20 38 20 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 7.8.10.-11))...................(
2d380 31 20 33 20 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 1.3.5.4.7.8.-11)...........(-rem
2d3a0 6f 76 65 2d 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 ove-last.#'stringp.'(1.2."last".
2d3c0 22 73 65 63 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 "second"))...................(1.
2d3e0 32 20 22 6c 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 2."last")...........(--remove-la
2d400 73 74 20 28 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 st.(>.it.3).'(1.2.3.4.5.6.7.8.9.
2d420 31 30 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 20 10))...................(1.2.3.4.
2d440 35 20 36 20 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 5.6.7.8.9)...--.Function:.-remov
2d460 65 2d 69 74 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 e-item.(item.list)......Return.a
2d480 20 63 6f 70 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 .copy.of.LIST.with.all.occurrenc
2d4a0 65 73 20 6f 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 es.of.ITEM.removed...The......co
2d4c0 6d 70 61 72 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 mparison.is.done.with....equal..
2d4e0 99 2e 0a 0a 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 ..............(-remove-item.3.'(
2d500 31 20 32 20 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 1.2.3.2.3.4.5.3))...............
2d520 e2 87 92 20 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 ....(1.2.2.4.5)...........(-remo
2d540 76 65 2d 69 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 ve-item.'foo.'(foo.bar.baz.foo))
2d560 0a 20 20 20 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 ...................(bar.baz)....
2d580 20 20 20 20 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 .......(-remove-item."bob".'("al
2d5a0 69 63 65 22 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 ice"."bob"."eve"."bob"))........
2d5c0 20 20 20 20 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 ...........("alice"."eve")...--.
2d5e0 46 75 6e 63 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 Function:.-non-nil.(list)......R
2d600 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 20 61 6c 6c 20 6e 69 eturn.a.copy.of.LIST.with.all.ni
2d620 6c 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 6e 6f l.items.removed.............(-no
2d640 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 34 20 n-nil.'(nil.1.nil.2.nil.nil.3.4.
2d660 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 28 31 nil.5.nil))...................(1
2d680 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 27 28 .2.3.4.5)...........(-non-nil.'(
2d6a0 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 6c 29 (nil)))...................((nil)
2d6c0 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 20 20 )...........(-non-nil.()).......
2d6e0 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 2d 73 ............()...--.Function:.-s
2d700 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
2d720 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 74 61 p)......Return.copy.of.LIST,.sta
2d740 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 20 54 rting.from.index.FROM.to.index.T
2d760 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 61 74 O........FROM.or.TO.may.be.negat
2d780 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 74 65 ive...These.values.are.then.inte
2d7a0 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 20 6f rpreted......modulo.the.length.o
2d7c0 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 20 6e f.the.list........If.STEP.is.a.n
2d7e0 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 6e 20 umber,.only.each.STEPth.item.in.
2d800 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 72 65 the.resulting.section......is.re
2d820 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 20 20 turned...Defaults.to.1..........
2d840 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 20 20 ...(-slice.'(1.2.3.4.5).1)......
2d860 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 20 20 .............(2.3.4.5)..........
2d880 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 20 20 .(-slice.'(1.2.3.4.5).0.3)......
2d8a0 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 20 28 .............(1.2.3)...........(
2d8c0 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 2d 31 -slice.'(1.2.3.4.5.6.7.8.9).1.-1
2d8e0 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 29 0a .2)...................(2.4.6.8).
2d900 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 20 20 ..--.Function:.-take.(n.list)...
2d920 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 4e 20 ...Return.a.copy.of.the.first.N.
2d940 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 6f 66 items.in.LIST...Return.a.copy.of
2d960 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 65 6d .LIST......if.it.contains.N.item
2d980 73 20 6f 72 20 66 65 77 65 72 2e 20 20 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 4e 20 69 73 20 s.or.fewer...Return.nil.if.N.is.
2d9a0 7a 65 72 6f 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 zero.or.less........See.also:...
2d9c0 98 2d 74 61 6b 65 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 74 61 6b 65 2d 6c 61 73 74 .-take-last....(*note.-take-last
2d9e0 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 20 33 20 27 28 31 20 32 20 33 ::).............(-take.3.'(1.2.3
2da00 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 20 33 29 .4.5))...................(1.2.3)
2da20 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 ...........(-take.17.'(1.2.3.4.5
2da40 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 20 35 29 ))...................(1.2.3.4.5)
2da60 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 20 30 20 27 28 31 20 32 20 33 20 34 20 35 29 ...........(-take.0.'(1.2.3.4.5)
2da80 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 46 75 6e 63 )...................()...--.Func
2daa0 74 69 6f 6e 3a 20 2d 74 61 6b 65 2d 6c 61 73 74 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 tion:.-take-last.(n.list)......R
2dac0 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 6c 61 73 74 20 4e 20 69 74 65 6d 73 eturn.a.copy.of.the.last.N.items
2dae0 20 6f 66 20 4c 49 53 54 20 69 6e 20 6f 72 64 65 72 2e 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 .of.LIST.in.order...Return.a.cop
2db00 79 0a 20 20 20 20 20 6f 66 20 4c 49 53 54 20 69 66 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 4e 20 y......of.LIST.if.it.contains.N.
2db20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 20 20 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 4e items.or.fewer...Return.nil.if.N
2db40 20 69 73 20 7a 65 72 6f 0a 20 20 20 20 20 6f 72 20 6c 65 73 73 2e 0a 0a 20 20 20 20 20 53 65 65 .is.zero......or.less........See
2db60 20 61 6c 73 6f 3a 20 e2 80 98 2d 74 61 6b 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 74 61 6b 65 3a .also:....-take....(*note.-take:
2db80 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 2d 6c 61 73 74 20 33 20 27 28 31 :).............(-take-last.3.'(1
2dba0 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 33 20 .2.3.4.5))...................(3.
2dbc0 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 2d 6c 61 73 74 20 31 37 20 27 28 4.5)...........(-take-last.17.'(
2dbe0 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 31 1.2.3.4.5))...................(1
2dc00 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 2d 6c 61 73 74 20 .2.3.4.5)...........(-take-last.
2dc20 31 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.'(1.2.3.4.5)).................
2dc40 92 20 28 35 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 64 72 6f 70 20 28 6e 20 6c 69 ..(5)...--.Function:.-drop.(n.li
2dc60 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 74 61 69 6c 20 28 6e 6f 74 20 61 20 st)......Return.the.tail.(not.a.
2dc80 63 6f 70 79 29 20 6f 66 20 4c 49 53 54 20 77 69 74 68 6f 75 74 20 74 68 65 20 66 69 72 73 74 20 copy).of.LIST.without.the.first.
2dca0 4e 20 69 74 65 6d 73 2e 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 4c 49 53 54 N.items.......Return.nil.if.LIST
2dcc0 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 74 .contains.N.items.or.fewer...Ret
2dce0 75 72 6e 20 4c 49 53 54 20 69 66 20 4e 20 69 73 0a 20 20 20 20 20 7a 65 72 6f 20 6f 72 20 6c 65 urn.LIST.if.N.is......zero.or.le
2dd00 73 73 2e 0a 0a 20 20 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 ss........For.another.variant,.s
2dd20 65 65 20 61 6c 73 6f 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 ee.also....-drop-last....(*note.
2dd40 2d 64 72 6f 70 2d 6c 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 -drop-last::).............(-drop
2dd60 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 20 20 e2 .3.'(1.2.3.4.5))................
2dd80 87 92 20 28 34 20 35 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 ...(4.5)...........(-drop.17.'(1
2dda0 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 29 0a .2.3.4.5))...................().
2ddc0 20 20 20 20 20 20 20 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 ..........(-drop.0.'(1.2.3.4.5))
2dde0 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 29 0a 0a ...................(1.2.3.4.5)..
2de00 20 2d 2d 20 46 75 6e 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 .--.Function:.-drop-last.(n.list
2de20 29 0a 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 69 74 )......Return.a.copy.of.LIST.wit
2de40 68 6f 75 74 20 69 74 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 hout.its.last.N.items...Return.a
2de60 20 63 6f 70 79 20 6f 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 .copy.of......LIST.if.N.is.zero.
2de80 6f 72 20 6c 65 73 73 2e 20 20 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 4c 49 53 54 20 63 6f 6e or.less...Return.nil.if.LIST.con
2dea0 74 61 69 6e 73 20 4e 20 69 74 65 6d 73 20 6f 72 0a 20 20 20 20 20 66 65 77 65 72 2e 0a 0a 20 20 tains.N.items.or......fewer.....
2dec0 20 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 ...See.also:....-drop....(*note.
2dee0 2d 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 -drop::).............(-drop-last
2df00 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 20 20 e2 .3.'(1.2.3.4.5))................
2df20 87 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 ...(1.2)...........(-drop-last.1
2df40 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)).................
2df60 92 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 ..()...........(-drop-last.0.'(1
2df80 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 31 20 .2.3.4.5))...................(1.
2dfa0 32 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 2.3.4.5)...--.Function:.-take-wh
2dfc0 69 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 ile.(pred.list)......Take.succes
2dfe0 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 68 20 50 sive.items.from.LIST.for.which.P
2e000 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 20 20 20 20 20 50 52 45 44 20 69 RED.returns.non-nil.......PRED.i
2e020 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 74 2e 20 20 52 s.a.function.of.one.argument...R
2e040 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 20 20 73 75 63 eturn.a.new.list.of.the......suc
2e060 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 74 61 72 74 20 cessive.elements.from.the.start.
2e080 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 72 6e 73 0a 20 of.LIST.for.which.PRED.returns..
2e0a0 20 20 20 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e ....non-nil........This.function
2e0c0 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...
2e0e0 98 2d 2d 74 61 6b 65 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 .--take-while...........For.anot
2e100 68 65 72 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 64 72 6f 70 2d 77 her.variant,.see.also....-drop-w
2e120 68 69 6c 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 64 72 6f 70 2d 77 68 69 6c 65 3a 3a 29 2e 0a 0a hile....(*note.-drop-while::)...
2e140 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 ..........(-take-while.#'even?.'
2e160 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 29 0a (1.2.3.4))...................().
2e180 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 ..........(-take-while.#'even?.'
2e1a0 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 32 20 (2.4.5.6))...................(2.
2e1c0 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 3c 20 69 74 4)...........(--take-while.(<.it
2e1e0 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 20 20 .4).'(1.2.3.4.3.2.1))...........
2e200 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d ........(1.2.3)...--.Function:.-
2e220 64 72 6f 70 2d 77 68 69 6c 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 44 72 6f 70 drop-while.(pred.list)......Drop
2e240 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.
2e260 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 20 20 20 20 which.PRED.returns.non-nil......
2e280 20 50 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 .PRED.is.a.function.of.one.argum
2e2a0 65 6e 74 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20 74 61 69 6c 20 28 6e 6f 74 20 61 20 63 6f 70 ent...Return.the.tail.(not.a.cop
2e2c0 79 29 0a 20 20 20 20 20 6f 66 20 4c 49 53 54 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 69 74 y)......of.LIST.starting.from.it
2e2e0 73 20 66 69 72 73 74 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 s.first.element.for.which.PRED.r
2e300 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 eturns.nil........This.function.
2e320 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....
2e340 2d 2d 64 72 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 --drop-while...........For.anoth
2e360 65 72 20 76 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 er.variant,.see.also....-take-wh
2e380 69 6c 65 e2 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 ile....(*note.-take-while::)....
2e3a0 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 20 27 28 .........(-drop-while.#'even?.'(
2e3c0 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 20 32 1.2.3.4))...................(1.2
2e3e0 20 33 20 34 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 .3.4)...........(-drop-while.#'e
2e400 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 20 20 20 20 e2 ven?.'(2.4.5.6))................
2e420 87 92 20 28 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 ...(5.6)...........(--drop-while
2e440 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 20 .(<.it.4).'(1.2.3.4.3.2.1)).....
2e460 20 20 20 20 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 ..............(4.3.2.1)...--.Fun
2e480 63 74 69 6f 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 ction:.-select-by-indices.(indic
2e4a0 65 73 20 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 68 6f 73 es.list)......Return.a.list.whos
2e4c0 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 6f 6d 20 4c 49 53 e.elements.are.elements.from.LIS
2e4e0 54 20 73 65 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 T.selected.as.........(nth.i.lis
2e500 74 29 e2 80 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 t)....for.all.i.from.INDICES....
2e520 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 20 27 28 34 .........(-select-by-indices.'(4
2e540 20 31 30 20 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 .10.2.3.6).'("v"."e"."l"."o"."c"
2e560 20 22 69 22 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 ."i"."r"."a"."p"."t"."o"."r"))..
2e580 20 20 20 20 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 .................("c"."o"."l"."o
2e5a0 22 20 22 72 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 "."r")...........(-select-by-ind
2e5c0 69 63 65 73 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 ices.'(2.1.0).'("a"."b"."c"))...
2e5e0 20 20 20 20 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 ................("c"."b"."a")...
2e600 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 20 27 28 30 20 ........(-select-by-indices.'(0.
2e620 31 20 32 20 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 1.2.0.1.3.3.1).'("f"."a"."r"."l"
2e640 29 29 0a 20 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 ))...................("f"."a"."r
2e660 22 20 22 66 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 "."f"."a"."l"."l"."a")...--.Func
2e680 74 69 6f 6e 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 tion:.-select-columns.(columns.t
2e6a0 61 62 6c 65 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 able)......Select.COLUMNS.from.T
2e6c0 41 42 4c 45 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 ABLE........TABLE.is.a.list.of.l
2e6e0 69 73 74 73 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 ists.where.each.element.represen
2e700 74 73 20 6f 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 ts.one.row...It......is.assumed.
2e720 65 61 63 68 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 each.row.has.the.same.length....
2e740 20 20 20 20 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 ....Each.row.is.transformed.such
2e760 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 43 4f 4c 55 4d 4e 53 .that.only.the.specified.COLUMNS
2e780 20 61 72 65 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 .are......selected........See.al
2e7a0 73 6f 3a 20 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 so:....-select-column....(*note.
2e7c0 2d 73 65 6c 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 -select-column::),.........-sele
2e7e0 63 74 2d 62 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 ct-by-indices....(*note.-select-
2e800 62 79 2d 69 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 by-indices::)............(-selec
2e820 74 2d 63 6f 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 t-columns.'(0.2).'((1.2.3).(a.b.
2e840 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 e2 87 c).(:a.:b.:c))).................
2e860 92 20 28 28 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 ..((1.3).(a.c).(:a.:c)).........
2e880 20 20 28 2d 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 ..(-select-columns.'(1).'((1.2.3
2e8a0 29 20 28 61 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 ).(a.b.c).(:a.:b.:c)))..........
2e8c0 20 20 20 20 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 .........((2).(b).(:b)).........
2e8e0 20 20 28 2d 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 ..(-select-columns.nil.'((1.2.3)
2e900 20 28 61 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 .(a.b.c).(:a.:b.:c)))...........
2e920 20 20 20 20 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 ........(nil.nil.nil)...--.Funct
2e940 69 6f 6e 3a 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 ion:.-select-column.(column.tabl
2e960 65 29 0a 20 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 e)......Select.COLUMN.from.TABLE
2e980 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
2e9a0 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
2e9c0 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
2e9e0 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........
2ea00 54 68 65 20 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 The.single.selected.column.is.re
2ea20 74 75 72 6e 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 turned.as.a.list........See.also
2ea40 3a 20 e2 80 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 :....-select-columns....(*note.-
2ea60 73 65 6c 65 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 select-columns::),.........-sele
2ea80 63 74 2d 62 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 ct-by-indices....(*note.-select-
2eaa0 62 79 2d 69 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 by-indices::)............(-selec
2eac0 74 2d 63 6f 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 t-column.1.'((1.2.3).(a.b.c).(:a
2eae0 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 32 20 62 .:b.:c)))...................(2.b
2eb00 20 3a 62 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 6f 2c 20 20 4e .:b)....File:.docKFAcRH.info,..N
2eb20 6f 64 65 3a 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2c 20 20 4e 65 78 74 3a 20 52 65 64 75 63 74 ode:.List.to.list,..Next:.Reduct
2eb40 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2c 20 ions,..Prev:.Sublist.selection,.
2eb60 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 33 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 .Up:.Functions..2.3.List.to.list
2eb80 0a 3d 3d 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 72 65 74 .================..Functions.ret
2eba0 75 72 6e 69 6e 67 20 61 20 6d 6f 64 69 66 69 65 64 20 63 6f 70 79 20 6f 66 20 74 68 65 20 69 6e urning.a.modified.copy.of.the.in
2ebc0 70 75 74 20 6c 69 73 74 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6b 65 65 70 20 28 put.list....--.Function:.-keep.(
2ebe0 66 6e 20 6c 69 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 fn.list)......Return.a.new.list.
2ec00 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 70 6c 79 69 of.the.non-nil.results.of.applyi
2ec20 6e 67 20 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 ng.FN.to.each......item.in.LIST.
2ec40 20 20 4c 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 ..Like....-filter....(*note.-fil
2ec60 74 65 72 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 ter::),.but.returns.the......non
2ec80 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 20 74 68 -nil.results.of.FN.instead.of.th
2eca0 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 20 20 20 e.corresponding.elements.of.....
2ecc0 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 75 6e 74 .LIST........Its.anaphoric.count
2ece0 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 20 20 20 erpart.is....--keep.............
2ed00 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 35 29 20 ...(-keep.#'cdr.'((1.2.3).(4.5).
2ed20 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 29 20 28 (6)))...................((2.3).(
2ed40 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 28 6e 29 5))...........(-keep.(lambda.(n)
2ed60 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 32 20 33 .(and.(>.n.3).(*.10.n))).'(1.2.3
2ed80 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 30 20 35 .4.5.6))...................(40.5
2eda0 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 28 3e 20 0.60)...........(--keep.(and.(>.
2edc0 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 36 29 29 it.3).(*.10.it)).'(1.2.3.4.5.6))
2ede0 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 0a 0a 20 ...................(40.50.60)...
2ee00 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 6c 69 73 74 --.Function:.-concat.(&rest.list
2ee20 73 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 s)......Return.a.new.list.with.t
2ee40 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 he.concatenation.of.the.elements
2ee60 20 69 6e 20 74 68 65 0a 20 20 20 20 20 73 75 70 70 6c 69 65 64 20 4c 49 53 54 53 2e 0a 0a 20 20 .in.the......supplied.LISTS.....
2ee80 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 ........(-concat.'(1))..........
2eea0 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 63 6f 6e 63 61 74 20 .........(1)...........(-concat.
2eec0 27 28 31 29 20 27 28 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 '(1).'(2))...................(1.
2eee0 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 20 27 28 32 20 33 2)...........(-concat.'(1).'(2.3
2ef00 29 20 27 28 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 ).'(4))...................(1.2.3
2ef20 20 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 6c 61 74 74 65 6e 20 28 6c 29 0a .4)...--.Function:.-flatten.(l).
2ef40 20 20 20 20 20 54 61 6b 65 20 61 20 6e 65 73 74 65 64 20 6c 69 73 74 20 4c 20 61 6e 64 20 72 65 .....Take.a.nested.list.L.and.re
2ef60 74 75 72 6e 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 20 61 73 20 61 20 73 69 6e 67 6c 65 2c 20 66 turn.its.contents.as.a.single,.f
2ef80 6c 61 74 0a 20 20 20 20 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 62 lat......list........Note.that.b
2efa0 65 63 61 75 73 65 20 e2 80 98 6e 69 6c e2 80 99 20 72 65 70 72 65 73 65 6e 74 73 20 61 20 6c 69 ecause....nil....represents.a.li
2efc0 73 74 20 6f 66 20 7a 65 72 6f 20 65 6c 65 6d 65 6e 74 73 20 28 61 6e 0a 20 20 20 20 20 65 6d 70 st.of.zero.elements.(an......emp
2efe0 74 79 20 6c 69 73 74 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 ty.list),.any.mention.of.nil.in.
2f000 4c 20 77 69 6c 6c 20 64 69 73 61 70 70 65 61 72 20 61 66 74 65 72 0a 20 20 20 20 20 66 6c 61 74 L.will.disappear.after......flat
2f020 74 65 6e 69 6e 67 2e 20 20 49 66 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 70 72 65 73 65 72 76 65 tening...If.you.need.to.preserve
2f040 20 6e 69 6c 73 2c 20 63 6f 6e 73 69 64 65 72 20 e2 80 98 2d 66 6c 61 74 74 65 6e 2d 6e e2 80 99 .nils,.consider....-flatten-n...
2f060 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 66 6c 61 74 74 65 6e 2d 6e 3a 3a 29 20 6f 72 20 6d 61 ......(*note.-flatten-n::).or.ma
2f080 70 20 74 68 65 6d 20 74 6f 20 73 6f 6d 65 20 75 6e 69 71 75 65 20 73 79 6d 62 6f 6c 20 61 6e 64 p.them.to.some.unique.symbol.and
2f0a0 20 74 68 65 6e 20 6d 61 70 0a 20 20 20 20 20 74 68 65 6d 20 62 61 63 6b 2e 0a 0a 20 20 20 20 20 .then.map......them.back........
2f0c0 43 6f 6e 73 65 73 20 6f 66 20 74 77 6f 20 61 74 6f 6d 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 Conses.of.two.atoms.are.consider
2f0e0 65 64 20 22 74 65 72 6d 69 6e 61 6c 73 22 2c 20 74 68 61 74 20 69 73 2c 20 74 68 65 79 0a 20 20 ed."terminals",.that.is,.they...
2f100 20 20 20 61 72 65 6e e2 80 99 74 20 66 6c 61 74 74 65 6e 65 64 20 66 75 72 74 68 65 72 2e 0a 0a ...aren...t.flattened.further...
2f120 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 66 6c 61 74 74 65 6e 2d 6e e2 80 99 20 .....See.also:....-flatten-n....
2f140 28 2a 6e 6f 74 65 20 2d 66 6c 61 74 74 65 6e 2d 6e 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 (*note.-flatten-n::)............
2f160 28 2d 66 6c 61 74 74 65 6e 20 27 28 28 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (-flatten.'((1)))...............
2f180 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 20 27 28 28 31 ....(1)...........(-flatten.'((1
2f1a0 20 28 32 20 33 29 20 28 28 28 34 20 28 35 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 .(2.3).(((4.(5)))))))...........
2f1c0 20 20 20 20 e2 87 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 ........(1.2.3.4.5)...........(-
2f1e0 66 6c 61 74 74 65 6e 20 27 28 31 20 32 20 28 33 20 2e 20 34 29 29 29 0a 20 20 20 20 20 20 20 20 flatten.'(1.2.(3...4))).........
2f200 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 28 33 20 2e 20 34 29 29 0a 0a 20 2d 2d 20 46 75 6e ..........(1.2.(3...4))...--.Fun
2f220 63 74 69 6f 6e 3a 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 20 ction:.-flatten-n.(num.list)....
2f240 20 20 46 6c 61 74 74 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 ..Flatten.NUM.levels.of.a.nested
2f260 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 66 6c 61 74 74 .LIST........See.also:....-flatt
2f280 65 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 6c 61 74 74 65 6e 3a 3a 29 0a 0a 20 20 20 20 20 20 en....(*note.-flatten::)........
2f2a0 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 31 20 27 28 28 31 20 32 29 20 28 28 33 20 34 29 ....(-flatten-n.1.'((1.2).((3.4)
2f2c0 20 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 .((5.6)))))...................(1
2f2e0 20 32 20 28 33 20 34 29 20 28 28 35 20 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6c .2.(3.4).((5.6)))...........(-fl
2f300 61 74 74 65 6e 2d 6e 20 32 20 27 28 28 31 20 32 29 20 28 28 33 20 34 29 20 28 28 35 20 36 29 29 atten-n.2.'((1.2).((3.4).((5.6))
2f320 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 33 20 34 20 28 )))...................(1.2.3.4.(
2f340 35 20 36 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 33 20 27 28 5.6))...........(-flatten-n.3.'(
2f360 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 20 20 20 20 20 20 20 (1.2).((3.4).((5.6))))).........
2f380 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 20 36 29 0a 0a 20 2d 2d 20 46 75 6e ..........(1.2.3.4.5.6)...--.Fun
2f3a0 63 74 69 6f 6e 3a 20 2d 72 65 70 6c 61 63 65 20 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 0a 20 ction:.-replace.(old.new.list)..
2f3c0 20 20 20 20 52 65 70 6c 61 63 65 20 61 6c 6c 20 4f 4c 44 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 ....Replace.all.OLD.items.in.LIS
2f3e0 54 20 77 69 74 68 20 4e 45 57 2e 0a 0a 20 20 20 20 20 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 T.with.NEW........Elements.are.c
2f400 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 20 ompared.using....equal..........
2f420 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 72 65 70 6c 61 63 65 2d 61 74 e2 80 99 20 28 2a 6e .See.also:....-replace-at....(*n
2f440 6f 74 65 20 2d 72 65 70 6c 61 63 65 2d 61 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d ote.-replace-at::)............(-
2f460 72 65 70 6c 61 63 65 20 31 20 22 31 22 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a replace.1."1".'(1.2.3.4.3.2.1)).
2f480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 31 22 20 32 20 33 20 34 20 33 20 32 ..................("1".2.3.4.3.2
2f4a0 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 20 22 66 6f 6f 22 20 ."1")...........(-replace."foo".
2f4c0 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 65 6e 74 65 6e "bar".'("a"."nice"."foo"."senten
2f4e0 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 20 20 20 20 20 ce"."about"."foo")).............
2f500 20 20 e2 87 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 ......("a"."nice"."bar"."sentenc
2f520 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 20 28 2d 72 65 e"."about"."bar")...........(-re
2f540 70 6c 61 63 65 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 87 92 place.1.2.nil)..................
2f560 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 66 69 72 .nil...--.Function:.-replace-fir
2f580 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 74 st.(old.new.list)......Replace.t
2f5a0 68 65 20 66 69 72 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 he.first.occurrence.of.OLD.with.
2f5c0 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.
2f5e0 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.........
2f600 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 6d 61 70 2d 66 69 72 73 74 e2 80 99 20 28 2a 6e ..See.also:....-map-first....(*n
2f620 6f 74 65 20 2d 6d 61 70 2d 66 69 72 73 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 ote.-map-first::)............(-r
2f640 65 70 6c 61 63 65 2d 66 69 72 73 74 20 31 20 22 31 22 20 27 28 31 20 32 20 33 20 34 20 33 20 32 eplace-first.1."1".'(1.2.3.4.3.2
2f660 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 31 22 20 32 20 33 20 .1))...................("1".2.3.
2f680 34 20 33 20 32 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 4.3.2.1)...........(-replace-fir
2f6a0 73 74 20 22 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 st."foo"."bar".'("a"."nice"."foo
2f6c0 22 20 22 73 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 "."sentence"."about"."foo"))....
2f6e0 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 61 22 20 22 6e 69 63 65 22 20 22 62 61 72 22 ...............("a"."nice"."bar"
2f700 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 0a 20 20 20 20 20 ."sentence"."about"."foo")......
2f720 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 31 20 32 20 6e 69 6c 29 0a 20 20 .....(-replace-first.1.2.nil)...
2f740 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 6f ................nil...--.Functio
2f760 6e 3a 20 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 0a n:.-replace-last.(old.new.list).
2f780 20 20 20 20 20 52 65 70 6c 61 63 65 20 74 68 65 20 6c 61 73 74 20 6f 63 63 75 72 72 65 6e 63 65 .....Replace.the.last.occurrence
2f7a0 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 0a 20 20 20 20 20 .of.OLD.with.NEW.in.LIST........
2f7c0 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 e2 80 98 65 Elements.are.compared.using....e
2f7e0 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 98 2d 6d 61 70 qual...........See.also:....-map
2f800 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 2d 6c 61 73 74 3a 3a 29 0a 0a 20 20 -last....(*note.-map-last::)....
2f820 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 31 20 22 31 22 20 27 28 31 ........(-replace-last.1."1".'(1
2f840 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 20 e2 87 92 .2.3.4.3.2.1))..................
2f860 20 28 31 20 32 20 33 20 34 20 33 20 32 20 22 31 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 .(1.2.3.4.3.2."1")...........(-r
2f880 65 70 6c 61 63 65 2d 6c 61 73 74 20 22 66 6f 6f 22 20 22 62 61 72 22 20 27 28 22 61 22 20 22 6e eplace-last."foo"."bar".'("a"."n
2f8a0 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 66 ice"."foo"."sentence"."about"."f
2f8c0 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 69 oo"))...................("a"."ni
2f8e0 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 62 61 ce"."foo"."sentence"."about"."ba
2f900 72 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 31 20 32 r")...........(-replace-last.1.2
2f920 20 6e 69 6c 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 .nil)...................nil...--
2f940 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 6e 73 65 72 74 2d 61 74 20 28 6e 20 78 20 6c 69 73 74 29 .Function:.-insert-at.(n.x.list)
2f960 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 58 20 69 6e 73 65 72 ......Return.a.list.with.X.inser
2f980 74 65 64 20 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 20 20 ted.into.LIST.at.position.N.....
2f9a0 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 99 20 28 2a 6e 6f 74 ...See.also:....-splice....(*not
2f9c0 65 20 2d 73 70 6c 69 63 65 3a 3a 29 2c 20 e2 80 98 2d 73 70 6c 69 63 65 2d 6c 69 73 74 e2 80 99 e.-splice::),....-splice-list...
2f9e0 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 3a 3a 29 0a 0a 20 20 .(*note......-splice-list::)....
2fa00 20 20 20 20 20 20 20 20 28 2d 69 6e 73 65 72 74 2d 61 74 20 31 20 27 78 20 27 28 61 20 62 20 63 ........(-insert-at.1.'x.'(a.b.c
2fa20 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 61 20 78 20 62 20 63 29 0a 20 ))...................(a.x.b.c)..
2fa40 20 20 20 20 20 20 20 20 20 28 2d 69 6e 73 65 72 74 2d 61 74 20 31 32 20 27 78 20 27 28 61 20 62 .........(-insert-at.12.'x.'(a.b
2fa60 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 61 20 62 20 63 20 78 29 .c))...................(a.b.c.x)
2fa80 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 61 74 20 28 6e 20 78 ...--.Function:.-replace-at.(n.x
2faa0 20 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 65 .list)......Return.a.list.with.e
2fac0 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 20 72 lement.at.Nth.position.in.LIST.r
2fae0 65 70 6c 61 63 65 64 20 77 69 74 68 20 58 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 eplaced.with.X........See.also:.
2fb00 e2 80 98 2d 72 65 70 6c 61 63 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 70 6c 61 63 65 3a 3a ...-replace....(*note.-replace::
2fb20 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 30 20 39 20 27 28 )............(-replace-at.0.9.'(
2fb40 30 20 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 0.1.2.3.4.5))...................
2fb60 28 39 20 31 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 (9.1.2.3.4.5)...........(-replac
2fb80 65 2d 61 74 20 31 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 e-at.1.9.'(0.1.2.3.4.5))........
2fba0 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 39 20 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 ...........(0.9.2.3.4.5)........
2fbc0 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 34 20 39 20 27 28 30 20 31 20 32 20 33 20 34 20 ...(-replace-at.4.9.'(0.1.2.3.4.
2fbe0 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 31 20 32 20 33 20 39 5))...................(0.1.2.3.9
2fc00 20 35 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 75 70 64 61 74 65 2d 61 74 20 28 6e .5)...--.Function:.-update-at.(n
2fc20 20 66 75 6e 63 20 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 .func.list)......Return.a.list.w
2fc40 69 74 68 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 ith.element.at.Nth.position.in.L
2fc60 49 53 54 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 0a 20 20 20 20 20 e2 80 98 28 66 75 6e 63 20 IST.replaced.with.........(func.
2fc80 28 6e 74 68 20 6e 20 6c 69 73 74 29 29 e2 80 98 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f (nth.n.list))...........See.also
2fca0 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 68 :....-map-when....(*note.-map-wh
2fcc0 65 6e 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 70 64 61 74 65 2d 61 74 20 30 20 28 en::)............(-update-at.0.(
2fce0 6c 61 6d 62 64 61 20 28 78 29 20 28 2b 20 78 20 39 29 29 20 27 28 30 20 31 20 32 20 33 20 34 20 lambda.(x).(+.x.9)).'(0.1.2.3.4.
2fd00 35 29 29 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 5))...................(9.1.2.3.4
2fd20 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 70 64 61 74 65 2d 61 74 20 31 20 28 6c 61 6d .5)...........(-update-at.1.(lam
2fd40 62 64 61 20 28 78 29 20 28 2b 20 78 20 38 29 29 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 bda.(x).(+.x.8)).'(0.1.2.3.4.5))
2fd60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 39 20 32 20 33 20 34 20 35 29 ...................(0.9.2.3.4.5)
2fd80 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 75 70 64 61 74 65 2d 61 74 20 32 20 28 6c 65 6e 67 74 ...........(--update-at.2.(lengt
2fda0 68 20 69 74 29 20 27 28 22 66 6f 6f 22 20 22 62 61 72 22 20 22 62 61 7a 22 20 22 71 75 75 78 22 h.it).'("foo"."bar"."baz"."quux"
2fdc0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 66 6f 6f 22 20 22 62 61 72 ))...................("foo"."bar
2fde0 22 20 33 20 22 71 75 75 78 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 6d 6f ".3."quux")...--.Function:.-remo
2fe00 76 65 2d 61 74 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 ve-at.(n.list)......Return.a.lis
2fe20 74 20 77 69 74 68 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 t.with.element.at.Nth.position.i
2fe40 6e 20 4c 49 53 54 20 72 65 6d 6f 76 65 64 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 n.LIST.removed........See.also:.
2fe60 e2 80 98 2d 72 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 ...-remove-at-indices....(*note.
2fe80 2d 72 65 6d 6f 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 -remove-at-indices::),.........-
2fea0 72 65 6d 6f 76 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 6d 6f 76 65 3a 3a 29 0a 0a 20 20 20 remove....(*note.-remove::).....
2fec0 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 61 74 20 30 20 27 28 22 30 22 20 22 31 22 20 22 .......(-remove-at.0.'("0"."1"."
2fee0 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 2"."3"."4"."5"))................
2ff00 87 92 20 28 22 31 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 0a 20 20 20 20 20 20 20 ...("1"."2"."3"."4"."5")........
2ff20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 61 74 20 31 20 27 28 22 30 22 20 22 31 22 20 22 32 22 20 22 ...(-remove-at.1.'("0"."1"."2"."
2ff40 33 22 20 22 34 22 20 22 35 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 3"."4"."5"))...................(
2ff60 22 30 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 "0"."2"."3"."4"."5")...........(
2ff80 2d 72 65 6d 6f 76 65 2d 61 74 20 32 20 27 28 22 30 22 20 22 31 22 20 22 32 22 20 22 33 22 20 22 -remove-at.2.'("0"."1"."2"."3"."
2ffa0 34 22 20 22 35 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 30 22 20 4"."5"))...................("0".
2ffc0 22 31 22 20 22 33 22 20 22 34 22 20 22 35 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 "1"."3"."4"."5")...--.Function:.
2ffe0 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 73 74 -remove-at-indices.(indices.list
30000 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 65 6d 65 )......Return.a.list.whose.eleme
30020 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 77 69 74 68 6f nts.are.elements.from.LIST.witho
30040 75 74 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 20 73 65 6c 65 63 74 65 64 20 61 73 20 e2 80 98 ut......elements.selected.as....
30060 28 6e 74 68 20 69 20 6c 69 73 74 29 e2 80 98 20 66 6f 72 20 61 6c 6c 20 69 20 66 72 6f 6d 20 49 (nth.i.list)....for.all.i.from.I
30080 4e 44 49 43 45 53 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 72 65 6d 6f NDICES........See.also:....-remo
300a0 76 65 2d 61 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 6d 6f 76 65 2d 61 74 3a 3a 29 2c 20 e2 ve-at....(*note.-remove-at::),..
300c0 80 98 2d 72 65 6d 6f 76 65 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 72 65 6d 6f 76 65 ..-remove....(*note......-remove
300e0 3a 3a 29 0a 0a 20 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 ::)............(-remove-at-indic
30100 65 73 20 27 28 30 29 20 27 28 22 30 22 20 22 31 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 es.'(0).'("0"."1"."2"."3"."4"."5
30120 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 31 22 20 22 32 22 20 22 "))...................("1"."2"."
30140 33 22 20 22 34 22 20 22 35 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 61 3"."4"."5")...........(-remove-a
30160 74 2d 69 6e 64 69 63 65 73 20 27 28 30 20 32 20 34 29 20 27 28 22 30 22 20 22 31 22 20 22 32 22 t-indices.'(0.2.4).'("0"."1"."2"
30180 20 22 33 22 20 22 34 22 20 22 35 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 ."3"."4"."5"))..................
301a0 20 28 22 31 22 20 22 33 22 20 22 35 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 .("1"."3"."5")...........(-remov
301c0 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 27 28 30 20 35 29 20 27 28 22 30 22 20 22 31 22 20 22 32 e-at-indices.'(0.5).'("0"."1"."2
301e0 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 "."3"."4"."5")).................
30200 92 20 28 22 31 22 20 22 32 22 20 22 33 22 20 22 34 22 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 ..("1"."2"."3"."4")....File:.doc
30220 4b 46 41 63 52 48 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 KFAcRH.info,..Node:.Reductions,.
30240 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
30260 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
30280 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.
302a0 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
302c0 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)....-
302e0 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
30300 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
30320 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
30340 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.
30360 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
30380 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
303a0 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.
303c0 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
303e0 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
30400 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
30420 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...
30440 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
30460 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...
30480 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.........-
304a0 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::).
304c0 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
304e0 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..
30500 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
30520 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))...................(((
30540 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-
30560 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"
30580 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"))................
305a0 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:.
305c0 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)...
305e0 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
30600 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.
30620 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.
30640 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.
30660 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
30680 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
306a0 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
306c0 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
306e0 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
30700 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
30720 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....
30740 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
30760 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.
30780 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
307a0 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
307c0 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
307e0 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
30800 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
30820 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
30840 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
30860 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
30880 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
308a0 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
308c0 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.....
308e0 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
30900 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
30920 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......
30940 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..
30960 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:
30980 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
309a0 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
309c0 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))........
309e0 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
30a00 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)).....
30a20 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)))....
30a40 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.
30a60 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")
30a80 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".
30aa0 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)
30ac0 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
30ae0 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.
30b00 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
30b20 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
30b40 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
30b60 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
30b80 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
30ba0 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.
30bc0 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
30be0 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
30c00 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
30c20 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
30c40 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
30c60 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
30c80 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
30ca0 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::)..
30cc0 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.
30ce0 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........
30d00 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))..
30d20 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)..
30d40 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-%
30d60 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))............
30d80 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
30da0 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
30dc0 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
30de0 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
30e00 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
30e20 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.
30e40 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
30e60 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,
30e80 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
30ea0 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
30ec0 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
30ee0 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
30f00 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
30f20 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..
30f40 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
30f60 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.
30f80 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
30fa0 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
30fc0 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
30fe0 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
31000 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...
31020 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
31040 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....
31060 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
31080 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...
310a0 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.
310c0 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
310e0 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.....
31100 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
31120 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.....
31140 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.
31160 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
31180 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
311a0 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::)..........
311c0 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))...
311e0 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
31200 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))......
31220 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)))......
31240 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"
31260 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))..............
31280 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
312a0 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).....
312c0 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
312e0 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
31300 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
31320 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
31340 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....(
31360 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
31380 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
313a0 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...
313c0 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....--
313e0 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
31400 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
31420 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.
31440 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.
31460 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
31480 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
314a0 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)
314c0 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.#'*
314e0 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))..................
31500 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
31520 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)".
31540 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))........
31560 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)"
31580 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.(
315a0 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
315c0 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
315e0 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
31600 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.
31620 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
31640 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
31660 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.........-
31680 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-
316a0 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.
316c0 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....
316e0 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.
31700 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
31720 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,
31740 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
31760 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
31780 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
317a0 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-
317c0 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))......
317e0 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)........
31800 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
31820 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
31840 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
31860 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
31880 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))..........
318a0 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
318c0 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.
318e0 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:.
31900 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
31920 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.
31940 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...
31960 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
31980 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
319a0 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
319c0 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
319e0 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........
31a00 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
31a20 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......
31a40 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..
31a60 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
31a80 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
31aa0 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::).....
31ac0 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
31ae0 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
31b00 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
31b20 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.
31b40 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
31b60 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
31b80 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
31ba0 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
31bc0 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)..
31be0 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
31c00 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
31c20 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
31c40 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
31c60 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
31c80 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
31ca0 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..
31cc0 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
31ce0 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.
31d00 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.
31d20 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
31d40 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
31d60 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
31d80 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::)....
31da0 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.
31dc0 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.
31de0 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.#'
31e00 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))...................
31e20 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
31e40 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
31e60 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))...................
31e80 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)
31ea0 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
31ec0 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
31ee0 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.
31f00 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 75 6e 74 20 27 65 76 65 non-nil.............(-count.'eve
31f20 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 20 20 20 20 20 e2 n?.'(1.2.3.4.5))................
31f40 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 20 69 74 20 34 29 ...2...........(--count.(<.it.4)
31f60 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 33 .'(1.2.3.4))...................3
31f80 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 29 0a 20 20 20 20 ...--.Function:.-sum.(list).....
31fa0 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 20 20 20 20 20 20 .Return.the.sum.of.LIST.........
31fc0 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 20 20 e2 87 92 20 ....(-sum.())...................
31fe0 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 20 20 20 20 20 20 0...........(-sum.'(1)).........
32000 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 6d 20 27 28 31 20 ..........1...........(-sum.'(1.
32020 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 31 30 0a 0a 20 2d 2.3.4))...................10...-
32040 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 6c 69 73 74 29 0a -.Function:.-running-sum.(list).
32060 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 6e 6e 69 6e 67 20 .....Return.a.list.with.running.
32080 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 53 54 20 6d 75 73 sums.of.items.in.LIST...LIST.mus
320a0 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 20 20 20 20 20 20 t.be......non-empty.............
320c0 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 20 20 20 20 20 20 (-running-sum.'(1.2.3.4)).......
320e0 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 20 20 20 20 20 20 ............(1.3.6.10)..........
32100 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 20 20 20 20 20 20 .(-running-sum.'(1))............
32120 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 6e 69 6e 67 2d 73 .......(1)...........(-running-s
32140 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 e2 86 92 20 57 72 um.())...............error....Wr
32160 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 6e 69 6c 0a 0a 20 ong.type.argument:.consp,.nil...
32180 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 74 29 0a 20 20 20 --.Function:.-product.(list)....
321a0 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 53 54 2e 0a 0a 20 ..Return.the.product.of.LIST....
321c0 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 20 20 20 20 20 20 .........(-product.())..........
321e0 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 64 75 63 74 20 27 .........1...........(-product.'
32200 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 20 20 20 20 20 20 (1))...................1........
32220 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 20 20 20 20 20 20 ...(-product.'(1.2.3.4))........
32240 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 6e 3a 20 2d 72 75 ...........24...--.Function:.-ru
32260 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 52 65 74 75 72 6e nning-product.(list)......Return
32280 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 63 74 73 20 6f 66 .a.list.with.running.products.of
322a0 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 20 62 65 0a 20 20 .items.in.LIST...LIST.must.be...
322c0 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 2d 72 75 6e 6e 69 ...non-empty.............(-runni
322e0 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 20 20 20 20 20 20 ng-product.'(1.2.3.4))..........
32300 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 20 20 20 20 28 2d .........(1.2.6.24)...........(-
32320 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 20 20 20 20 20 20 running-product.'(1))...........
32340 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 6e 69 6e 67 2d ........(1)...........(-running-
32360 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 65 72 72 6f 72 e2 product.())...............error.
32380 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 6e ...Wrong.type.argument:.consp,.n
323a0 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 6c 69 73 74 29 0a il...--.Function:.-inits.(list).
323c0 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 66 20 4c 49 53 54 .....Return.all.prefixes.of.LIST
323e0 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 20 33 20 34 29 29 .............(-inits.'(1.2.3.4))
32400 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 20 28 31 20 32 ...................(nil.(1).(1.2
32420 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 20 20 20 20 20 28 ).(1.2.3).(1.2.3.4))...........(
32440 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 e2 87 92 20 28 6e -inits.nil)...................(n
32460 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 29 0a 20 20 20 20 il)...........(-inits.'(1)).....
32480 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 2d 2d 20 46 75 6e ..............(nil.(1))...--.Fun
324a0 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 52 65 74 75 72 6e ction:.-tails.(list)......Return
324c0 20 61 6c 6c 20 73 75 66 66 69 78 65 73 20 6f 66 20 4c 49 53 54 0a 0a 20 20 20 20 20 20 20 20 20 .all.suffixes.of.LIST...........
324e0 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 20 20 20 20 20 20 20 .(-tails.'(1.2.3.4))............
32500 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 20 28 33 20 34 29 20 .......((1.2.3.4).(2.3.4).(3.4).
32520 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 73 20 6e 69 6c 29 0a (4).nil)...........(-tails.nil).
32540 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 20 20 ..................(nil).........
32560 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 20 20 20 20 20 e2 87 ..(-tails.'(1)).................
32580 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 3a 20 2d 63 6f 6d 6d ..((1).nil)...--.Function:.-comm
325a0 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 20 20 20 20 52 65 74 on-prefix.(&rest.lists)......Ret
325c0 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 65 66 69 78 20 6f 66 urn.the.longest.common.prefix.of
325e0 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 6f 6e 2d 70 72 65 66 .LISTS.............(-common-pref
32600 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 92 20 28 31 29 0a 20 ix.'(1))...................(1)..
32620 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 27 28 31 20 32 29 20 .........(-common-prefix.'(1.2).
32640 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 20 20 20 20 e2 87 92 '(3.4).'(1.2))..................
32660 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 65 66 69 78 20 27 28 .()...........(-common-prefix.'(
32680 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 0a 20 20 20 20 20 20 1.2).'(1.2.3).'(1.2.3.4)).......
326a0 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 63 74 69 6f 6e 3a ............(1.2)...--.Function:
326c0 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 73 74 73 29 0a 20 20 .-common-suffix.(&rest.lists)...
326e0 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 73 75 66 ...Return.the.longest.common.suf
32700 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 6f fix.of.LISTS.............(-commo
32720 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 20 20 20 20 e2 87 92 n-suffix.'(1))..................
32740 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 75 66 66 69 78 20 27 .(1)...........(-common-suffix.'
32760 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 20 (1.2).'(3.4).'(1.2))............
32780 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 73 75 66 .......()...........(-common-suf
327a0 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 28 33 20 34 29 29 0a fix.'(1.2.3.4).'(2.3.4).'(3.4)).
327c0 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 20 2d 2d 20 46 75 6e ..................(3.4)...--.Fun
327e0 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 65 74 75 72 6e 20 74 ction:.-min.(list)......Return.t
32800 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 53 54 20 6f 66 20 6e he.smallest.value.from.LIST.of.n
32820 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 20 20 20 20 20 28 2d umbers.or.markers.............(-
32840 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 87 92 20 30 0a 20 20 min.'(0))...................0...
32860 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 20 20 20 20 20 20 20 ........(-min.'(3.2.1)).........
32880 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 69 6e 20 27 28 31 20 ..........1...........(-min.'(1.
328a0 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 0a 0a 20 2d 2d 20 46 2.3))...................1...--.F
328c0 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 74 6f 72 20 6c 69 73 unction:.-min-by.(comparator.lis
328e0 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 20 66 75 6e 63 74 69 t)......Take.a.comparison.functi
32900 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 61 6e 64 20 72 65 74 on.COMPARATOR.and.a.LIST.and.ret
32920 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 74 20 6f 66 20 74 68 urn.the......least.element.of.th
32940 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 6e 63 74 69 6f e.list.by.the.comparison.functio
32960 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 74 6f 72 20 e2 80 98 n........See.also.combinator....
32980 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 68 20 63 61 6e 20 74 -on....(*note.-on::).which.can.t
329a0 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 62 65 66 6f 72 65 20 ransform.the......values.before.
329c0 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 20 20 28 2d 6d 69 6e comparing.them.............(-min
329e0 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 20 20 20 20 20 20 20 -by.'>.'(4.3.6.1))..............
32a00 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 79 20 28 3e 20 28 63 .....1...........(--min-by.(>.(c
32a20 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 32 20 33 29 20 28 32 ar.it).(car.other)).'((1.2.3).(2
32a40 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 87 92 20 28 31 20 32 ).(3.2)))...................(1.2
32a60 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 3e 20 28 6c 65 6e 67 .3)...........(--min-by.(>.(leng
32a80 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 28 31 20 32 20 33 29 th.it).(length.other)).'((1.2.3)
32aa0 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 87 92 20 28 .(2).(3.2)))...................(
32ac0 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 69 73 74 29 0a 20 20 2)...--.Function:.-max.(list)...
32ae0 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 75 65 20 66 72 6f 6d ...Return.the.largest.value.from
32b00 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 72 73 2e 0a 0a 20 20 .LIST.of.numbers.or.markers.....
32b20 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 20 20 20 20 20 20 20 ........(-max.'(0)).............
32b40 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 28 33 20 32 20 31 29 ......0...........(-max.'(3.2.1)
32b60 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 20 20 20 20 20 20 20 )...................3...........
32b80 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 20 20 20 20 20 e2 87 (-max.'(1.2.3)).................
32ba0 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 79 20 28 63 6f 6d 70 ..3...--.Function:.-max-by.(comp
32bc0 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 63 6f 6d 70 61 72 69 arator.list)......Take.a.compari
32be0 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 6e 64 20 61 20 4c 49 son.function.COMPARATOR.and.a.LI
32c00 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 65 61 74 65 73 74 20 ST.and.return.the......greatest.
32c20 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 65 20 63 6f 6d 70 61 element.of.the.list.by.the.compa
32c40 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 20 61 6c 73 6f 20 63 rison.function........See.also.c
32c60 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 65 20 2d 6f 6e 3a 3a ombinator....-on....(*note.-on::
32c80 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 0a 20 20 20 20 20 76 ).which.can.transform.the......v
32ca0 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 65 6d 2e 0a 0a 20 20 alues.before.comparing.them.....
32cc0 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 20 36 20 31 29 29 0a ........(-max-by.'>.'(4.3.6.1)).
32ce0 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 20 20 20 20 20 28 2d ..................6...........(-
32d00 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 6f 74 68 65 72 29 29 -max-by.(>.(car.it).(car.other))
32d20 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 20 20 20 20 20 20 20 .'((1.2.3).(2).(3.2)))..........
32d40 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 28 2d 2d 6d 61 78 2d .........(3.2)...........(--max-
32d60 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 20 6f 74 68 65 72 29 by.(>.(length.it).(length.other)
32d80 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 20 20 20 20 20 20 ).'((1.2.3).(2).(3.2))).........
32da0 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 4b 46 ..........(1.2.3)....File:.docKF
32dc0 41 63 52 48 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 55 6e 66 6f 6c 64 69 6e 67 2c 20 20 4e 65 AcRH.info,..Node:.Unfolding,..Ne
32de0 78 74 3a 20 50 72 65 64 69 63 61 74 65 73 2c 20 20 50 72 65 76 3a 20 52 65 64 75 63 74 69 6f 6e xt:.Predicates,..Prev:.Reduction
32e00 73 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 35 20 55 6e 66 6f 6c 64 69 6e 67 s,..Up:.Functions..2.5.Unfolding
32e20 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 4f 70 65 72 61 74 69 6f 6e 73 20 64 75 61 6c 20 .=============..Operations.dual.
32e40 74 6f 20 72 65 64 75 63 74 69 6f 6e 73 2c 20 62 75 69 6c 64 69 6e 67 20 6c 69 73 74 73 20 66 72 to.reductions,.building.lists.fr
32e60 6f 6d 20 61 20 73 65 65 64 20 76 61 6c 75 65 20 72 61 74 68 65 72 0a 74 68 61 6e 20 63 6f 6e 73 om.a.seed.value.rather.than.cons
32e80 75 6d 69 6e 67 20 61 20 6c 69 73 74 20 74 6f 20 70 72 6f 64 75 63 65 20 61 20 73 69 6e 67 6c 65 uming.a.list.to.produce.a.single
32ea0 20 76 61 6c 75 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 74 65 72 61 74 65 20 .value....--.Function:.-iterate.
32ec0 28 66 75 6e 20 69 6e 69 74 20 6e 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 (fun.init.n)......Return.a.list.
32ee0 6f 66 20 69 74 65 72 61 74 65 64 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 46 55 4e 20 of.iterated.applications.of.FUN.
32f00 74 6f 20 49 4e 49 54 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 61 20 6c 69 73 74 to.INIT........This.means.a.list
32f20 20 6f 66 20 74 68 65 20 66 6f 72 6d 3a 0a 0a 20 20 20 20 20 28 49 4e 49 54 20 28 46 55 4e 20 49 .of.the.form:.......(INIT.(FUN.I
32f40 4e 49 54 29 20 28 46 55 4e 20 28 46 55 4e 20 49 4e 49 54 29 29 20 2e 2e 2e 29 0a 0a 20 20 20 20 NIT).(FUN.(FUN.INIT))....)......
32f60 20 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 75 72 6e 65 64 .N.is.the.length.of.the.returned
32f80 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 74 65 72 61 74 65 20 23 27 31 2b .list.............(-iterate.#'1+
32fa0 20 31 20 31 30 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 .1.10)...................(1.2.3.
32fc0 34 20 35 20 36 20 37 20 38 20 39 20 31 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 74 65 72 4.5.6.7.8.9.10)...........(-iter
32fe0 61 74 65 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2b 20 78 20 78 29 29 20 32 20 35 29 0a 20 20 ate.(lambda.(x).(+.x.x)).2.5)...
33000 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 34 20 38 20 31 36 20 33 32 29 0a 20 20 ................(2.4.8.16.32)...
33020 20 20 20 20 20 20 20 20 28 2d 2d 69 74 65 72 61 74 65 20 28 2a 20 69 74 20 69 74 29 20 32 20 35 ........(--iterate.(*.it.it).2.5
33040 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 31 36 20 32 35 36 20 )...................(2.4.16.256.
33060 36 35 35 33 36 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 75 6e 66 6f 6c 64 20 28 66 65536)...--.Function:.-unfold.(f
33080 75 6e 20 73 65 65 64 29 0a 20 20 20 20 20 42 75 69 6c 64 20 61 20 6c 69 73 74 20 66 72 6f 6d 20 un.seed)......Build.a.list.from.
330a0 53 45 45 44 20 75 73 69 6e 67 20 46 55 4e 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 22 64 SEED.using.FUN........This.is."d
330c0 75 61 6c 22 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f 20 e2 80 98 2d 72 65 64 75 63 65 2d 72 e2 80 ual".operation.to....-reduce-r..
330e0 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 3a 3a 29 3a 20 77 68 69 6c 65 0a 20 20 20 ..(*note.-reduce-r::):.while....
33100 20 20 2d 72 65 64 75 63 65 2d 72 20 63 6f 6e 73 75 6d 65 73 20 61 20 6c 69 73 74 20 74 6f 20 70 ..-reduce-r.consumes.a.list.to.p
33120 72 6f 64 75 63 65 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 2c 20 e2 80 98 2d 75 6e 66 6f 6c roduce.a.single.value,....-unfol
33140 64 e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 75 6e 66 6f 6c 64 3a 3a 29 20 74 61 6b 65 d.........(*note.-unfold::).take
33160 73 20 61 20 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 s.a.seed.value.and.builds.a.(pot
33180 65 6e 74 69 61 6c 6c 79 0a 20 20 20 20 20 69 6e 66 69 6e 69 74 65 21 29 20 20 6c 69 73 74 2e 0a entially......infinite!)..list..
331a0 0a 20 20 20 20 20 46 55 4e 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 ......FUN.should.return....nil..
331c0 99 20 74 6f 20 73 74 6f 70 20 74 68 65 20 67 65 6e 65 72 61 74 69 6e 67 20 70 72 6f 63 65 73 73 ..to.stop.the.generating.process
331e0 2c 20 6f 72 20 61 20 63 6f 6e 73 0a 20 20 20 20 20 28 41 20 2e 20 20 42 29 2c 20 77 68 65 72 65 ,.or.a.cons......(A....B),.where
33200 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 20 72 65 73 75 .A.will.be.prepended.to.the.resu
33220 6c 74 20 61 6e 64 20 42 20 69 73 20 74 68 65 20 6e 65 77 0a 20 20 20 20 20 73 65 65 64 2e 0a 0a lt.and.B.is.the.new......seed...
33240 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 66 6f 6c 64 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 ..........(-unfold.(lambda.(x).(
33260 75 6e 6c 65 73 73 20 28 3d 20 78 20 30 29 20 28 63 6f 6e 73 20 78 20 28 31 2d 20 78 29 29 29 29 unless.(=.x.0).(cons.x.(1-.x))))
33280 20 31 30 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 38 20 37 .10)...................(10.9.8.7
332a0 20 36 20 35 20 34 20 33 20 32 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 75 6e 66 6f 6c .6.5.4.3.2.1)...........(--unfol
332c0 64 20 28 77 68 65 6e 20 69 74 20 28 63 6f 6e 73 20 69 74 20 28 63 64 72 20 69 74 29 29 29 20 27 d.(when.it.(cons.it.(cdr.it))).'
332e0 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 28 31 (1.2.3.4))...................((1
33300 20 32 20 33 20 34 29 20 28 32 20 33 20 34 29 20 28 33 20 34 29 20 28 34 29 29 0a 20 20 20 20 20 .2.3.4).(2.3.4).(3.4).(4))......
33320 20 20 20 20 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 .....(--unfold.(when.it.(cons.it
33340 20 28 62 75 74 6c 61 73 74 20 69 74 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 .(butlast.it))).'(1.2.3.4)).....
33360 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 31 20 32 20 33 29 ..............((1.2.3.4).(1.2.3)
33380 20 28 31 20 32 29 20 28 31 29 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 .(1.2).(1))....File:.docKFAcRH.i
333a0 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 50 72 65 64 69 63 61 74 65 73 2c 20 20 4e 65 78 74 3a 20 50 nfo,..Node:.Predicates,..Next:.P
333c0 61 72 74 69 74 69 6f 6e 69 6e 67 2c 20 20 50 72 65 76 3a 20 55 6e 66 6f 6c 64 69 6e 67 2c 20 20 artitioning,..Prev:.Unfolding,..
333e0 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 36 20 50 72 65 64 69 63 61 74 65 73 0a 3d 3d Up:.Functions..2.6.Predicates.==
33400 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 52 65 64 75 63 74 69 6f 6e 73 20 6f 66 20 6f 6e 65 20 ============..Reductions.of.one.
33420 6f 72 20 6d 6f 72 65 20 6c 69 73 74 73 20 74 6f 20 61 20 62 6f 6f 6c 65 61 6e 20 76 61 6c 75 65 or.more.lists.to.a.boolean.value
33440 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 6f 6d 65 20 28 70 72 65 64 20 6c 69 73 ....--.Function:.-some.(pred.lis
33460 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 28 50 52 45 44 20 78 29 20 66 6f 72 20 74 68 65 20 t)......Return.(PRED.x).for.the.
33480 66 69 72 73 74 20 4c 49 53 54 20 69 74 65 6d 20 77 68 65 72 65 20 28 50 52 45 44 20 78 29 20 69 first.LIST.item.where.(PRED.x).i
334a0 73 20 6e 6f 6e 2d 6e 69 6c 2c 0a 20 20 20 20 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 20 20 20 20 20 s.non-nil,......else.nil........
334c0 41 6c 69 61 73 3a 20 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 Alias:....-any...........This.fu
334e0 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 74 nction...s.anaphoric.counterpart
33500 20 69 73 20 e2 80 98 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 .is....--some................(-s
33520 6f 6d 65 20 23 27 73 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 ome.#'stringp.'(1."2".3)).......
33540 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 2d 73 6f 6d 65 20 ............t...........(--some.
33560 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 28 22 66 6f 6f 22 20 (string-match-p."x".it).'("foo".
33580 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 20 "axe"."xor"))...................
335a0 31 0a 20 20 20 20 20 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 1...........(--some.(=.it-index.
335c0 33 29 20 27 28 30 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 6e 3).'(0.1.2))...................n
335e0 69 6c 0a 0a 20 2d 2d 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 il...--.Function:.-every.(pred.l
33600 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 50 52 45 44 ist)......Return.non-nil.if.PRED
33620 20 72 65 74 75 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 .returns.non-nil.for.all.items.i
33640 6e 20 4c 49 53 54 2e 20 20 49 66 0a 20 20 20 20 20 73 6f 2c 20 72 65 74 75 72 6e 20 74 68 65 20 n.LIST...If......so,.return.the.
33660 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 74 68 65 72 last.such.result.of.PRED...Other
33680 77 69 73 65 2c 20 6f 6e 63 65 20 61 6e 20 69 74 65 6d 0a 20 20 20 20 20 69 73 20 72 65 61 63 68 wise,.once.an.item......is.reach
336a0 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 6c 2c 20 72 ed.for.which.PRED.returns.nil,.r
336c0 65 74 75 72 6e 20 6e 69 6c 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 0a 20 20 20 20 20 50 eturn.nil.without.calling......P
336e0 52 45 44 20 6f 6e 20 61 6e 79 20 66 75 72 74 68 65 72 20 4c 49 53 54 20 65 6c 65 6d 65 6e 74 73 RED.on.any.further.LIST.elements
33700 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 e2 80 ........This.function.is.like...
33720 98 2d 65 76 65 72 79 2d 70 e2 80 99 2c 20 62 75 74 20 6f 6e 20 73 75 63 63 65 73 73 20 72 65 74 .-every-p...,.but.on.success.ret
33740 75 72 6e 73 20 74 68 65 20 6c 61 73 74 0a 20 20 20 20 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c urns.the.last......non-nil.resul
33760 74 20 6f 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 20 20 t.of.PRED.instead.of.just.t.....
33780 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
337a0 6f 75 6e 74 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 ounterpart.is....--every........
337c0 20 20 20 20 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 ........(-every.#'numberp.'(1.2.
337e0 33 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 3))...................t.........
33800 20 20 28 2d 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 ..(--every.(string-match-p."x".i
33820 74 29 20 27 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 t).'("axe"."xor"))..............
33840 20 e2 87 92 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 .....0...........(--every.(=.it.
33860 69 74 2d 69 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 it-index).'(0.1.3)).............
33880 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 61 6e 79 3f 20 28 ......nil...--.Function:.-any?.(
338a0 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 20 69 66 20 28 50 52 45 pred.list)......Return.t.if.(PRE
338c0 44 20 78 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6e 79 20 78 20 69 6e 20 4c 49 53 D.x).is.non-nil.for.any.x.in.LIS
338e0 54 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 61 6e T,.else.nil........Alias:....-an
33900 79 2d 70 e2 80 99 2c 20 e2 80 98 2d 73 6f 6d 65 3f e2 80 99 2c 20 e2 80 98 2d 73 6f 6d 65 2d 70 y-p...,....-some?...,....-some-p
33920 e2 80 99 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 61 6e 79 3f 20 23 27 6e 75 6d 62 65 72 70 20 ...............(-any?.#'numberp.
33940 27 28 6e 69 6c 20 30 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a '(nil.0.t))...................t.
33960 20 20 20 20 20 20 20 20 20 20 28 2d 61 6e 79 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 6e 69 6c ..........(-any?.#'numberp.'(nil
33980 20 74 20 74 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 .t.t))...................nil....
339a0 20 20 20 20 20 20 20 28 2d 61 6e 79 3f 20 23 27 6e 75 6c 6c 20 27 28 31 20 33 20 35 29 29 0a 20 .......(-any?.#'null.'(1.3.5))..
339c0 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
339e0 6f 6e 3a 20 2d 61 6c 6c 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 on:.-all?.(pred.list)......Retur
33a00 6e 20 74 20 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 n.t.if.(PRED.X).is.non-nil.for.a
33a20 6c 6c 20 58 20 69 6e 20 4c 49 53 54 2c 20 65 6c 73 65 20 6e 69 6c 2e 20 20 49 6e 0a 20 20 20 20 ll.X.in.LIST,.else.nil...In.....
33a40 20 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 .the.latter.case,.stop.after.the
33a60 20 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 20 6e .first.X.for.which.(PRED.X).is.n
33a80 69 6c 2c 0a 20 20 20 20 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 50 52 45 44 20 6f 6e il,......without.calling.PRED.on
33aa0 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 20 4c 49 53 54 .any.subsequent.elements.of.LIST
33ac0 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 6e 20 e2 80 98 ........The.similar.function....
33ae0 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 69 73 20 6d 6f -every....(*note.-every::).is.mo
33b00 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 65 20 69 74 20 re.widely......useful,.since.it.
33b20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 returns.the.last.non-nil.result.
33b40 6f 66 20 50 52 45 44 20 69 6e 73 74 65 61 64 20 6f 66 0a 20 20 20 20 20 6a 75 73 74 20 74 20 6f of.PRED.instead.of......just.t.o
33b60 6e 20 73 75 63 63 65 73 73 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 61 6c 6c 2d n.success........Alias:....-all-
33b80 70 e2 80 99 2c 20 e2 80 98 2d 65 76 65 72 79 2d 70 e2 80 99 2c 20 e2 80 98 2d 65 76 65 72 79 3f p...,....-every-p...,....-every?
33ba0 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
33bc0 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 61 6c 6c 3f e2 phoric.counterpart.is....--all?.
33be0 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 61 6c 6c 3f 20 23 27 6e 75 6d 62 65 72 70 20 ...............(-all?.#'numberp.
33c00 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 74 0a 20 20 '(1.2.3))...................t...
33c20 20 20 20 20 20 20 20 20 28 2d 61 6c 6c 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 32 20 74 20 36 ........(-all?.#'numberp.'(2.t.6
33c40 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 20 ))...................nil........
33c60 20 20 20 28 2d 2d 61 6c 6c 3f 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 32 20 34 20 ...(--all?.(=.0.(%.it.2)).'(2.4.
33c80 36 29 29 0a 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 6))...................t...--.Fun
33ca0 63 74 69 6f 6e 3a 20 2d 6e 6f 6e 65 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 ction:.-none?.(pred.list)......R
33cc0 65 74 75 72 6e 20 74 20 69 66 20 28 50 52 45 44 20 78 29 20 69 73 20 6e 69 6c 20 66 6f 72 20 61 eturn.t.if.(PRED.x).is.nil.for.a
33ce0 6c 6c 20 78 20 69 6e 20 4c 49 53 54 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 20 20 20 20 20 41 6c ll.x.in.LIST,.else.nil........Al
33d00 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 20 28 2d ias:....-none-p...............(-
33d20 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 20 20 20 none?.'even?.'(1.2.3))..........
33d40 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 3f 20 27 .........nil...........(-none?.'
33d60 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 20 e2 87 even?.'(1.3.5)).................
33d80 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 25 20 69 ..t...........(--none?.(=.0.(%.i
33da0 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 20 e2 87 t.2)).'(1.2.3)).................
33dc0 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 6d 65 3f ..nil...--.Function:.-only-some?
33de0 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 e2 80 98 .(pred.list)......Return....t...
33e00 20 69 66 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 20 6d 61 .if.at.least.one.item.of.LIST.ma
33e20 74 63 68 65 73 20 50 52 45 44 20 61 6e 64 20 61 74 20 6c 65 61 73 74 0a 20 20 20 20 20 6f 6e 65 tches.PRED.and.at.least......one
33e40 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 50 52 45 .item.of.LIST.does.not.match.PRE
33e60 44 2e 20 20 52 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 98 20 62 6f 74 68 20 69 66 20 61 6c 6c D...Return....nil....both.if.all
33e80 0a 20 20 20 20 20 69 74 65 6d 73 20 6d 61 74 63 68 20 74 68 65 20 70 72 65 64 69 63 61 74 65 20 ......items.match.the.predicate.
33ea0 6f 72 20 69 66 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20 69 74 65 6d 73 20 6d 61 74 63 68 20 74 68 or.if.none.of.the.items.match.th
33ec0 65 0a 20 20 20 20 20 70 72 65 64 69 63 61 74 65 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 e......predicate........Alias:..
33ee0 80 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 ..-only-some-p...............(-o
33f00 6e 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 nly-some?.'even?.'(1.2.3))......
33f20 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 6f 6e 6c 79 2d .............t...........(-only-
33f40 73 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 some?.'even?.'(1.3.5))..........
33f60 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 6f 6e 6c 79 2d 73 6f .........nil...........(-only-so
33f80 6d 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 me?.'even?.'(2.4.6))............
33fa0 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 63 6f 6e 74 61 .......nil...--.Function:.-conta
33fc0 69 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 ins?.(list.element)......Return.
33fe0 6e 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 non-nil.if.LIST.contains.ELEMENT
34000 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 74 79 20 69 73 ........The.test.for.equality.is
34020 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 68 20 .done.with....equal...,.or.with.
34040 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 68 61 74 e2 80 ...-compare-fn.........if.that..
34060 99 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 63 6f 6e .s.non-nil........Alias:....-con
34080 74 61 69 6e 73 2d 70 e2 80 99 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 74 61 69 6e 73 tains-p...............(-contains
340a0 3f 20 27 28 31 20 32 20 33 29 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 ?.'(1.2.3).1)...................
340c0 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 t...........(-contains?.'(1.2.3)
340e0 20 32 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 .2)...................t.........
34100 20 20 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 20 34 29 0a 20 20 20 20 20 20 ..(-contains?.'(1.2.3).4).......
34120 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:.-
34140 73 61 6d 65 2d 69 74 65 6d 73 3f 20 28 6c 69 73 74 20 6c 69 73 74 32 29 0a 20 20 20 20 20 52 65 same-items?.(list.list2)......Re
34160 74 75 72 6e 20 74 72 75 65 20 69 66 20 4c 49 53 54 20 61 6e 64 20 4c 49 53 54 32 20 68 61 73 20 turn.true.if.LIST.and.LIST2.has.
34180 74 68 65 20 73 61 6d 65 20 69 74 65 6d 73 2e 0a 0a 20 20 20 20 20 54 68 65 20 6f 72 64 65 72 20 the.same.items........The.order.
341a0 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 73 74 73 20 64 6f 65 of.the.elements.in.the.lists.doe
341c0 73 20 6e 6f 74 20 6d 61 74 74 65 72 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 73 s.not.matter........Alias:....-s
341e0 61 6d 65 2d 69 74 65 6d 73 2d 70 e2 80 99 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 61 6d 65 ame-items-p...............(-same
34200 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 0a 20 20 20 20 20 -items?.'(1.2.3).'(1.2.3))......
34220 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 73 61 6d 65 2d .............t...........(-same-
34240 69 74 65 6d 73 3f 20 27 28 31 20 32 20 33 29 20 27 28 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 items?.'(1.2.3).'(3.2.1)).......
34260 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 73 61 6d 65 2d 69 ............t...........(-same-i
34280 74 65 6d 73 3f 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 tems?.'(1.2.3).'(1.2.3.4))......
342a0 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 3a 20 .............nil...--.Function:.
342c0 2d 69 73 2d 70 72 65 66 69 78 3f 20 28 70 72 65 66 69 78 20 6c 69 73 74 29 0a 20 20 20 20 20 52 -is-prefix?.(prefix.list)......R
342e0 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 50 52 45 46 49 58 20 69 73 20 61 20 70 72 65 eturn.non-nil.if.PREFIX.is.a.pre
34300 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 80 98 2d 69 73 fix.of.LIST........Alias:....-is
34320 2d 70 72 65 66 69 78 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 -prefix-p................(-is-pr
34340 65 66 69 78 3f 20 27 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 efix?.'(1.2.3).'(1.2.3.4.5))....
34360 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 69 73 2d ...............t...........(-is-
34380 70 72 65 66 69 78 3f 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 prefix?.'(1.2.3.4.5).'(1.2.3))..
343a0 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 20 20 28 .................nil...........(
343c0 2d 69 73 2d 70 72 65 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 -is-prefix?.'(1.3).'(1.2.3.4.5))
343e0 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 63 ...................nil...--.Func
34400 74 69 6f 6e 3a 20 2d 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 tion:.-is-suffix?.(suffix.list).
34420 20 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 53 55 46 46 49 58 20 69 73 .....Return.non-nil.if.SUFFIX.is
34440 20 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 .a.suffix.of.LIST........Alias:.
34460 e2 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 ...-is-suffix-p................(
34480 2d 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 -is-suffix?.'(3.4.5).'(1.2.3.4.5
344a0 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 20 ))...................t..........
344c0 20 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 .(-is-suffix?.'(1.2.3.4.5).'(3.4
344e0 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 20 20 20 20 20 .5))...................nil......
34500 20 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 .....(-is-suffix?.'(3.5).'(1.2.3
34520 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 6e 69 6c 0a 0a 20 2d .4.5))...................nil...-
34540 2d 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 -.Function:.-is-infix?.(infix.li
34560 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 49 4e 46 49 58 st)......Return.non-nil.if.INFIX
34580 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 69 73 20 6f 70 .is.infix.of.LIST........This.op
345a0 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 20 20 20 eration.runs.in.O(n^2).time.....
345c0 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 0a 20 20 20 20 ..Alias:....-is-infix-p.........
345e0 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 27 28 31 20 32 ......(-is-infix?.'(1.2.3).'(1.2
34600 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 74 0a 20 20 20 .3.4.5))...................t....
34620 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 20 27 28 31 20 .......(-is-infix?.'(2.3.4).'(1.
34640 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 74 0a 20 20 2.3.4.5))...................t...
34660 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 29 20 27 28 31 ........(-is-infix?.'(3.4.5).'(1
34680 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 74 0a 0a .2.3.4.5))...................t..
346a0 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 6f 62 6a 29 0a .--.Function:.-cons-pair?.(obj).
346c0 20 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 4f 42 4a 20 69 73 20 61 20 .....Return.non-nil.if.OBJ.is.a.
346e0 74 72 75 65 20 63 6f 6e 73 20 70 61 69 72 2e 20 20 54 68 61 74 20 69 73 2c 20 61 20 63 6f 6e 73 true.cons.pair...That.is,.a.cons
34700 20 28 41 20 2e 0a 20 20 20 20 20 42 29 20 77 68 65 72 65 20 42 20 69 73 20 6e 6f 74 20 61 20 6c .(A........B).where.B.is.not.a.l
34720 69 73 74 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 63 6f 6e 73 2d 70 61 69 72 2d ist........Alias:....-cons-pair-
34740 70 e2 80 99 2e 0a 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 p................(-cons-pair?.'(
34760 31 20 2e 20 32 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 1...2))...................t.....
34780 20 20 20 20 20 20 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 27 28 31 20 32 29 29 0a 20 20 20 20 20 ......(-cons-pair?.'(1.2))......
347a0 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 63 6f 6e .............nil...........(-con
347c0 73 2d 70 61 69 72 3f 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 s-pair?.'(1))...................
347e0 6e 69 6c 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 6f 2c 20 20 4e 6f nil....File:.docKFAcRH.info,..No
34800 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 6e 64 65 78 69 6e de:.Partitioning,..Next:.Indexin
34820 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 20 46 75 6e 63 74 g,..Prev:.Predicates,..Up:.Funct
34840 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 3d 3d 3d 3d 3d 3d ions..2.7.Partitioning.=========
34860 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 6f 6e 69 6e 67 20 =======..Functions.partitioning.
34880 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 20 6f 66 20 6c 69 the.input.list.into.a.list.of.li
348a0 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 2d 61 74 20 28 6e sts....--.Function:.-split-at.(n
348c0 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 77 6f 20 .list)......Split.LIST.into.two.
348e0 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 6d 65 6e 74 2e 20 sublists.after.the.Nth.element..
34900 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 20 6f 66 20 74 77 .The.result.is......a.list.of.tw
34920 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 72 65 20 54 41 4b o.elements.(TAKE.DROP).where.TAK
34940 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 20 20 66 69 72 73 E.is.a.new.list.of.the......firs
34960 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 44 52 4f 50 20 69 t.N.elements.of.LIST,.and.DROP.i
34980 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 66 0a 20 20 20 20 s.the.remaining.elements.of.....
349a0 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 61 6e 64 20 44 52 .LIST.(not.a.copy)...TAKE.and.DR
349c0 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 20 e2 80 98 2d 74 OP.are.like.the.results.of....-t
349e0 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 29 20 61 6e 64 20 ake.........(*note.-take::).and.
34a00 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 29 2c 20 72 65 73 ...-drop....(*note.-drop::),.res
34a20 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 6c 69 74 20 69 73 pectively,.but.the......split.is
34a40 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 76 65 72 73 61 6c .done.in.a.single.list.traversal
34a60 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 27 28 31 20 32 20 .............(-split-at.3.'(1.2.
34a80 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 28 31 20 32 20 3.4.5))...................((1.2.
34aa0 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 74 2d 61 74 20 31 3).(4.5))...........(-split-at.1
34ac0 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)).................
34ae0 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 20 20 20 20 28 2d ..((1.2.3.4.5).nil)...........(-
34b00 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 20 20 20 20 20 20 split-at.0.'(1.2.3.4.5))........
34b20 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 29 29 0a 0a 20 2d ...........(nil.(1.2.3.4.5))...-
34b40 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 72 65 64 20 6c 69 -.Function:.-split-with.(pred.li
34b60 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 28 28 2d 74 61 6b st)......Return.a.list.of.((-tak
34b80 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 65 20 e-while.PRED.LIST).(-drop-while.
34ba0 50 52 45 44 20 4c 49 53 54 29 29 2c 0a 20 20 20 20 20 69 6e 20 6e 6f 20 6d 6f 72 65 20 74 68 61 PRED.LIST)),......in.no.more.tha
34bc0 6e 20 6f 6e 65 20 70 61 73 73 20 74 68 72 6f 75 67 68 20 74 68 65 20 6c 69 73 74 2e 0a 0a 20 20 n.one.pass.through.the.list.....
34be0 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 31 20 ........(-split-with.'even?.'(1.
34c00 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 6e 69 6c 20 28 2.3.4))...................(nil.(
34c20 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 74 2d 77 69 74 68 1.2.3.4))...........(-split-with
34c40 20 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 20 20 .'even?.'(2.4.5.6)).............
34c60 20 20 e2 87 92 20 28 28 32 20 34 29 20 28 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d ......((2.4).(5.6))...........(-
34c80 2d 73 70 6c 69 74 2d 77 69 74 68 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 20 33 -split-with.(<.it.4).'(1.2.3.4.3
34ca0 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 28 28 31 20 32 20 33 .2.1))...................((1.2.3
34cc0 29 20 28 34 20 33 20 32 20 31 29 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 73 70 6c 69 74 2d ).(4.3.2.1))...--.Macro:.-split-
34ce0 6f 6e 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 20 20 20 20 20 53 70 6c 69 74 20 74 68 65 20 4c 49 on.(item.list)......Split.the.LI
34d00 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 20 20 20 ST.each.time.ITEM.is.found......
34d20 20 20 55 6e 6c 69 6b 65 20 e2 80 98 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 e2 80 99 20 28 2a 6e ..Unlike....-partition-by....(*n
34d40 6f 74 65 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 3a 3a 29 2c 20 74 68 65 20 49 54 45 4d 20 69 ote.-partition-by::),.the.ITEM.i
34d60 73 0a 20 20 20 20 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 s......discarded.from.the.result
34d80 73 2e 20 20 45 6d 70 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 s...Empty.lists.are.also.removed
34da0 20 66 72 6f 6d 20 74 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 2e 0a 0a 20 20 20 20 20 43 6f 6d .from.the......result........Com
34dc0 70 61 72 69 73 6f 6e 20 69 73 20 64 6f 6e 65 20 62 79 20 e2 80 98 65 71 75 61 6c e2 80 99 2e 0a parison.is.done.by....equal.....
34de0 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 20 e2 80 98 2d 73 70 6c 69 74 2d 77 68 65 6e e2 80 99 ......See.also....-split-when...
34e00 20 28 2a 6e 6f 74 65 20 2d 73 70 6c 69 74 2d 77 68 65 6e 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 .(*note.-split-when::)..........
34e20 20 20 28 2d 73 70 6c 69 74 2d 6f 6e 20 27 7c 20 27 28 4e 69 6c 20 7c 20 4c 65 61 66 20 61 20 7c ..(-split-on.'|.'(Nil.|.Leaf.a.|
34e40 20 4e 6f 64 65 20 5b 54 72 65 65 20 61 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 .Node.[Tree.a]))................
34e60 87 92 20 28 28 4e 69 6c 29 20 28 4c 65 61 66 20 61 29 20 28 4e 6f 64 65 20 5b 54 72 65 65 20 61 ...((Nil).(Leaf.a).(Node.[Tree.a
34e80 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 74 2d 6f 6e 20 3a 65 6e 64 67 72 6f ]))...........(-split-on.:endgro
34ea0 75 70 20 27 28 22 61 22 20 22 62 22 20 3a 65 6e 64 67 72 6f 75 70 20 22 63 22 20 3a 65 6e 64 67 up.'("a"."b".:endgroup."c".:endg
34ec0 72 6f 75 70 20 22 64 22 20 22 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 roup."d"."e"))..................
34ee0 20 28 28 22 61 22 20 22 62 22 29 20 28 22 63 22 29 20 28 22 64 22 20 22 65 22 29 29 0a 20 20 20 .(("a"."b").("c").("d"."e"))....
34f00 20 20 20 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 .......(-split-on.:endgroup.'("a
34f20 22 20 22 62 22 20 3a 65 6e 64 67 72 6f 75 70 20 3a 65 6e 64 67 72 6f 75 70 20 22 64 22 20 22 65 "."b".:endgroup.:endgroup."d"."e
34f40 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 29 "))...................(("a"."b")
34f60 20 28 22 64 22 20 22 65 22 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 70 6c 69 .("d"."e"))...--.Function:.-spli
34f80 74 2d 77 68 65 6e 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 53 70 6c 69 74 20 74 68 65 20 t-when.(fn.list)......Split.the.
34fa0 4c 49 53 54 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 77 68 65 72 65 20 46 4e 20 72 65 LIST.on.each.element.where.FN.re
34fc0 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 20 20 20 20 20 55 6e 6c 69 6b 65 20 e2 80 98 2d turns.non-nil........Unlike....-
34fe0 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 74 69 6f partition-by....(*note.-partitio
35000 6e 2d 62 79 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 n-by::),.the."matched"......elem
35020 65 6e 74 20 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 ent.is.discarded.from.the.result
35040 73 2e 20 20 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 s...Empty.lists.are.also......re
35060 6d 6f 76 65 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 moved.from.the.result........Thi
35080 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 20 61 73 20 s.function.can.be.thought.of.as.
350a0 61 20 67 65 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 a.generalization.of.........spli
350c0 74 2d 73 74 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 t-string................(-split-
350e0 77 68 65 6e 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 when.'even?.'(1.2.3.4.5.6)).....
35100 20 20 20 20 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 ..............((1).(3).(5)).....
35120 20 20 20 20 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 ......(-split-when.'even?.'(1.2.
35140 33 20 34 20 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 3.4.6.8.9))...................((
35160 31 29 20 28 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 1).(3).(9))...........(--split-w
35180 68 65 6e 20 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 hen.(memq.it.'(&optional.&rest))
351a0 20 27 28 61 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 .'(a.b.&optional.c.d.&rest.args)
351c0 29 0a 20 20 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 )...................((a.b).(c.d)
351e0 20 28 61 72 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 .(args))...--.Function:.-separat
35200 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 61 20 6c 69 73 74 e.(pred.list)......Return.a.list
35220 20 6f 66 20 28 28 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 .of.((-filter.PRED.LIST).(-remov
35240 65 20 50 52 45 44 20 4c 49 53 54 29 29 2c 20 69 6e 20 6f 6e 65 0a 20 20 20 20 20 70 61 73 73 20 e.PRED.LIST)),.in.one......pass.
35260 74 68 72 6f 75 67 68 20 74 68 65 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 through.the.list.............(-s
35280 65 70 61 72 61 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 eparate.(lambda.(num).(=.0.(%.nu
352a0 6d 20 32 29 29 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 m.2))).'(1.2.3.4.5.6.7))........
352c0 20 20 20 20 20 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 ...........((2.4.6).(1.3.5.7))..
352e0 20 20 20 20 20 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 .........(--separate.(<.it.5).'(
35300 33 20 37 20 35 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 3.7.5.9.3.2.1.4.6)).............
35320 20 20 e2 87 92 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 ......((3.3.2.1.4).(7.5.9.6))...
35340 20 20 20 20 20 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 ........(-separate.'cdr.'((1.2).
35360 28 31 29 20 28 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 (1).(1.2.3).(4)))...............
35380 e2 87 92 20 28 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 ....(((1.2).(1.2.3)).((1).(4))).
353a0 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 20 28 6e 20 6c 69 73 ..--.Function:.-partition.(n.lis
353c0 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
353e0 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-
35400 73 69 7a 65 64 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 sized......sublists...If.there.a
35420 72 65 20 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 re.not.enough.items.to.make.the.
35440 6c 61 73 74 20 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 last.group......N-sized,.those.i
35460 74 65 6d 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 tems.are.discarded.............(
35480 2d 70 61 72 74 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 -partition.2.'(1.2.3.4.5.6))....
354a0 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 20 28 35 20 36 ...............((1.2).(3.4).(5.6
354c0 29 29 0a 20 20 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 ))...........(-partition.2.'(1.2
354e0 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 87 92 20 28 .3.4.5.6.7))...................(
35500 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 20 28 2d 70 (1.2).(3.4).(5.6))...........(-p
35520 61 72 74 69 74 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 artition.3.'(1.2.3.4.5.6.7))....
35540 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 29 ...............((1.2.3).(4.5.6))
35560 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 61 6c 6c 20 28 ...--.Function:.-partition-all.(
35580 6e 20 6c 69 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 77 n.list)......Return.a.new.list.w
355a0 69 74 68 20 74 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 ith.the.items.in.LIST.grouped.in
355c0 74 6f 20 4e 2d 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 to.N-sized......sublists...The.l
355e0 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 6e 20 ast.group.may.contain.less.than.
35600 4e 20 69 74 65 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 N.items.............(-partition-
35620 61 6c 6c 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 20 20 all.2.'(1.2.3.4.5.6))...........
35640 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 20 20 ........((1.2).(3.4).(5.6)).....
35660 20 20 20 20 20 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 ......(-partition-all.2.'(1.2.3.
35680 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 20 4.5.6.7))...................((1.
356a0 32 29 20 28 33 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 2).(3.4).(5.6).(7))...........(-
356c0 70 61 72 74 69 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 partition-all.3.'(1.2.3.4.5.6.7)
356e0 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 34 20 )...................((1.2.3).(4.
35700 35 20 36 29 20 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 5.6).(7))...--.Function:.-partit
35720 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 20 20 20 ion-in-steps.(n.step.list)......
35740 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 65 6d 73 Return.a.new.list.with.the.items
35760 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 0a 20 20 .in.LIST.grouped.into.N-sized...
35780 20 20 20 73 75 62 6c 69 73 74 73 20 61 74 20 6f 66 66 73 65 74 73 20 53 54 45 50 20 61 70 61 72 ...sublists.at.offsets.STEP.apar
357a0 74 2e 20 20 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 t...If.there.are.not.enough.item
357c0 73 20 74 6f 0a 20 20 20 20 20 6d 61 6b 65 20 74 68 65 20 6c 61 73 74 20 67 72 6f 75 70 20 4e 2d s.to......make.the.last.group.N-
357e0 73 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 sized,.those.items.are.discarded
35800 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 69 6e 2d 73 74 65 70 .............(-partition-in-step
35820 73 20 32 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 s.2.1.'(1.2.3.4))...............
35840 e2 87 92 20 28 28 31 20 32 29 20 28 32 20 33 29 20 28 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 ....((1.2).(2.3).(3.4)).........
35860 20 20 28 2d 70 61 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 ..(-partition-in-steps.3.2.'(1.2
35880 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 32 20 33 .3.4))...................((1.2.3
358a0 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 73 74 65 70 ))...........(-partition-in-step
358c0 73 20 33 20 32 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 s.3.2.'(1.2.3.4.5)).............
358e0 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 33 20 34 20 35 29 29 0a 0a 20 2d 2d 20 46 75 6e ......((1.2.3).(3.4.5))...--.Fun
35900 63 74 69 6f 6e 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 20 28 ction:.-partition-all-in-steps.(
35920 6e 20 73 74 65 70 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c n.step.list)......Return.a.new.l
35940 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 6f 75 70 ist.with.the.items.in.LIST.group
35960 65 64 20 69 6e 74 6f 20 4e 2d 73 69 7a 65 64 0a 20 20 20 20 20 73 75 62 6c 69 73 74 73 20 61 74 ed.into.N-sized......sublists.at
35980 20 6f 66 66 73 65 74 73 20 53 54 45 50 20 61 70 61 72 74 2e 20 20 54 68 65 20 6c 61 73 74 20 67 .offsets.STEP.apart...The.last.g
359a0 72 6f 75 70 73 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 6c 65 73 73 0a 20 20 20 20 20 74 68 61 6e roups.may.contain.less......than
359c0 20 4e 20 69 74 65 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 .N.items.............(-partition
359e0 2d 61 6c 6c 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 0a 20 20 -all-in-steps.2.1.'(1.2.3.4))...
35a00 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 28 33 20 ................((1.2).(2.3).(3.
35a20 34 29 20 28 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 61 6c 4).(4))...........(-partition-al
35a40 6c 2d 69 6e 2d 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 l-in-steps.3.2.'(1.2.3.4))......
35a60 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 29 29 0a 20 20 20 .............((1.2.3).(3.4))....
35a80 20 20 20 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 .......(-partition-all-in-steps.
35aa0 33 20 32 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 3.2.'(1.2.3.4.5))...............
35ac0 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 33 20 34 20 35 29 20 28 35 29 29 0a 0a 20 2d 2d 20 46 ....((1.2.3).(3.4.5).(5))...--.F
35ae0 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 28 66 6e 20 6c 69 73 74 29 unction:.-partition-by.(fn.list)
35b00 0a 20 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 ......Apply.FN.to.each.item.in.L
35b20 49 53 54 2c 20 73 70 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 IST,.splitting.it.each.time.FN.r
35b40 65 74 75 72 6e 73 20 61 0a 20 20 20 20 20 6e 65 77 20 76 61 6c 75 65 2e 0a 0a 20 20 20 20 20 20 eturns.a......new.value.........
35b60 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 27 65 76 65 6e 3f 20 28 29 29 0a 20 20 ....(-partition-by.'even?.())...
35b80 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 2d 70 ................()...........(-p
35ba0 61 72 74 69 74 69 6f 6e 2d 62 79 20 27 65 76 65 6e 3f 20 27 28 31 20 31 20 32 20 32 20 32 20 33 artition-by.'even?.'(1.1.2.2.2.3
35bc0 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 31 20 31 .4.6.8))...................((1.1
35be0 29 20 28 32 20 32 20 32 29 20 28 33 29 20 28 34 20 36 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 ).(2.2.2).(3).(4.6.8))..........
35c00 20 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 28 3c 20 69 74 20 33 29 20 27 28 31 20 32 20 .(--partition-by.(<.it.3).'(1.2.
35c20 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 20 e2 87 92 20 28 28 3.4.3.2.1))...................((
35c40 31 20 32 29 20 28 33 20 34 20 33 29 20 28 32 20 31 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 1.2).(3.4.3).(2.1))...--.Functio
35c60 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 66 6e 20 6c 69 73 74 n:.-partition-by-header.(fn.list
35c80 29 0a 20 20 20 20 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 69 74 65 )......Apply.FN.to.the.first.ite
35ca0 6d 20 69 6e 20 4c 49 53 54 2e 20 20 54 68 61 74 20 69 73 20 74 68 65 20 68 65 61 64 65 72 20 76 m.in.LIST...That.is.the.header.v
35cc0 61 6c 75 65 2e 0a 20 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 alue.......Apply.FN.to.each.item
35ce0 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 68 20 74 69 6d 65 .in.LIST,.splitting.it.each.time
35d00 20 46 4e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 74 68 65 20 68 65 61 64 65 72 20 76 61 6c 75 .FN.returns......the.header.valu
35d20 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 73 e,.but.only.after.seeing.at.leas
35d40 74 20 6f 6e 65 20 6f 74 68 65 72 20 76 61 6c 75 65 0a 20 20 20 20 20 28 74 68 65 20 62 6f 64 79 t.one.other.value......(the.body
35d60 29 2e 0a 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 2d 68 65 ).............(--partition-by-he
35d80 61 64 65 72 20 28 3d 20 69 74 20 31 29 20 27 28 31 20 32 20 33 20 31 20 32 20 31 20 32 20 33 20 ader.(=.it.1).'(1.2.3.1.2.1.2.3.
35da0 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 29 20 28 4))...................((1.2.3).(
35dc0 31 20 32 29 20 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 70 61 72 1.2).(1.2.3.4))...........(--par
35de0 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 3e 20 69 74 20 30 29 20 27 28 31 20 32 20 tition-by-header.(>.it.0).'(1.2.
35e00 30 20 31 20 30 20 31 20 32 20 33 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 0.1.0.1.2.3.0)).................
35e20 92 20 28 28 31 20 32 20 30 29 20 28 31 20 30 29 20 28 31 20 32 20 33 20 30 29 29 0a 20 20 20 20 ..((1.2.0).(1.0).(1.2.3.0)).....
35e40 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 27 65 76 65 ......(-partition-by-header.'eve
35e60 6e 3f 20 27 28 32 20 31 20 31 20 31 20 34 20 31 20 33 20 35 20 36 20 36 20 31 29 29 0a 20 20 20 n?.'(2.1.1.1.4.1.3.5.6.6.1))....
35e80 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 32 20 31 20 31 20 31 29 20 28 34 20 31 20 33 ...............((2.1.1.1).(4.1.3
35ea0 20 35 29 20 28 36 20 36 20 31 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 .5).(6.6.1))...--.Function:.-par
35ec0 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 tition-after-pred.(pred.list)...
35ee0 20 20 20 50 61 72 74 69 74 69 6f 6e 20 4c 49 53 54 20 61 66 74 65 72 20 65 61 63 68 20 65 6c 65 ...Partition.LIST.after.each.ele
35f00 6d 65 6e 74 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 ment.for.which.PRED.returns.non-
35f20 6e 69 6c 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 nil........This.function...s.ana
35f40 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 70 61 72 74 69 phoric.counterpart.is....--parti
35f60 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 tion-after-pred................(
35f80 2d 70 61 72 74 69 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 -partition-after-pred.#'booleanp
35fa0 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 20 20 .())...................().......
35fc0 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 23 27 62 6f 6f ....(-partition-after-pred.#'boo
35fe0 6c 65 61 6e 70 20 27 28 74 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 leanp.'(t.t))...................
36000 28 28 74 29 20 28 74 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 ((t).(t))...........(-partition-
36020 61 66 74 65 72 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 27 28 30 20 30 20 74 20 74 20 after-pred.#'booleanp.'(0.0.t.t.
36040 30 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 30 20 30 20 74 29 0.t))...................((0.0.t)
36060 20 28 74 29 20 28 30 20 74 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 .(t).(0.t))...--.Function:.-part
36080 69 74 69 6f 6e 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 ition-before-pred.(pred.list)...
360a0 20 20 20 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 ...Partition.directly.before.eac
360c0 68 20 74 69 6d 65 20 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 h.time.PRED.is.true.on.an.elemen
360e0 74 20 6f 66 0a 20 20 20 20 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 t.of......LIST.............(-par
36100 74 69 74 69 6f 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 28 29 tition-before-pred.#'booleanp.()
36120 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 )...................()..........
36140 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 27 62 6f 6f 6c 65 .(-partition-before-pred.#'boole
36160 61 6e 70 20 27 28 30 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 anp.'(0.t))...................((
36180 30 29 20 28 74 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 62 65 0).(t))...........(-partition-be
361a0 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 30 20 74 20 30 20 74 fore-pred.#'booleanp.'(0.0.t.0.t
361c0 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 30 20 30 29 20 28 74 .t))...................((0.0).(t
361e0 20 30 29 20 28 74 29 20 28 74 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 .0).(t).(t))...--.Function:.-par
36200 74 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 tition-before-item.(item.list)..
36220 20 20 20 20 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 ....Partition.directly.before.ea
36240 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 53 54 2e 0a 0a 20 ch.time.ITEM.appears.in.LIST....
36260 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 72 65 2d 69 74 65 6d .........(-partition-before-item
36280 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 0a 20 20 20 20 .3.())...................().....
362a0 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 69 74 65 6d 20 33 20 ......(-partition-before-item.3.
362c0 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 29 0a 20 20 '(1))...................((1))...
362e0 20 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 69 74 65 6d 20 ........(-partition-before-item.
36300 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 29 29 0a 3.'(3))...................((3)).
36320 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 61 66 74 65 72 2d ..--.Function:.-partition-after-
36340 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 6f 6e 20 item.(item.list)......Partition.
36360 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
36380 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 70 61 72 74 pears.in.LIST.............(-part
363a0 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 33 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 ition-after-item.3.())..........
363c0 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
363e0 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 33 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 n-after-item.3.'(1))............
36400 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 61 72 74 69 74 69 .......((1))...........(-partiti
36420 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 33 20 27 28 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 on-after-item.3.'(3))...........
36440 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 6f 6e 3a 20 2d 67 72 ........((3))...--.Function:.-gr
36460 6f 75 70 2d 62 79 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 53 65 70 61 72 61 74 65 20 4c oup-by.(fn.list)......Separate.L
36480 49 53 54 20 69 6e 74 6f 20 61 6e 20 61 6c 69 73 74 20 77 68 6f 73 65 20 6b 65 79 73 20 61 72 65 IST.into.an.alist.whose.keys.are
364a0 20 46 4e 20 61 70 70 6c 69 65 64 20 74 6f 20 74 68 65 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 .FN.applied.to.the......elements
364c0 20 6f 66 20 4c 49 53 54 2e 20 20 4b 65 79 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 62 79 20 .of.LIST...Keys.are.compared.by.
364e0 e2 80 98 65 71 75 61 6c e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 67 72 6f 75 70 2d ...equal................(-group-
36500 62 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 by.'even?.())...................
36520 28 29 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 27 ()...........(-group-by.'even?.'
36540 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 20 20 20 (1.1.2.2.2.3.4.6.8))............
36560 20 20 20 e2 87 92 20 28 28 6e 69 6c 20 31 20 31 20 33 29 20 28 74 20 32 20 32 20 32 20 34 20 36 .......((nil.1.1.3).(t.2.2.2.4.6
36580 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 67 72 6f 75 70 2d 62 79 20 28 63 61 72 20 .8))...........(--group-by.(car.
365a0 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 69 74 20 22 2f 22 29 29 20 27 28 22 61 2f 62 22 20 22 (split-string.it."/")).'("a/b"."
365c0 63 2f 64 22 20 22 61 2f 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 c/d"."a/e"))...................(
365e0 28 22 61 22 20 22 61 2f 62 22 20 22 61 2f 65 22 29 20 28 22 63 22 20 22 63 2f 64 22 29 29 0a 0a ("a"."a/b"."a/e").("c"."c/d"))..
36600 1f 0a 46 69 6c 65 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 49 ..File:.docKFAcRH.info,..Node:.I
36620 6e 64 65 78 69 6e 67 2c 20 20 4e 65 78 74 3a 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 ndexing,..Next:.Set.operations,.
36640 20 50 72 65 76 3a 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 .Prev:.Partitioning,..Up:.Functi
36660 6f 6e 73 0a 0a 32 2e 38 20 49 6e 64 65 78 69 6e 67 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a ons..2.8.Indexing.============..
36680 46 75 6e 63 74 69 6f 6e 73 20 72 65 74 72 69 65 76 69 6e 67 20 6f 72 20 73 6f 72 74 69 6e 67 20 Functions.retrieving.or.sorting.
366a0 62 61 73 65 64 20 6f 6e 20 6c 69 73 74 20 69 6e 64 69 63 65 73 20 61 6e 64 20 72 65 6c 61 74 65 based.on.list.indices.and.relate
366c0 64 0a 70 72 65 64 69 63 61 74 65 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 6c d.predicates....--.Function:.-el
366e0 65 6d 2d 69 6e 64 65 78 20 28 65 6c 65 6d 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e em-index.(elem.list)......Return
36700 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 .the.index.of.the.first.element.
36720 69 6e 20 74 68 65 20 67 69 76 65 6e 20 4c 49 53 54 20 77 68 69 63 68 20 69 73 0a 20 20 20 20 20 in.the.given.LIST.which.is......
36740 65 71 75 61 6c 20 74 6f 20 74 68 65 20 71 75 65 72 79 20 65 6c 65 6d 65 6e 74 20 45 4c 45 4d 2c equal.to.the.query.element.ELEM,
36760 20 6f 72 20 6e 69 6c 20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 0a 20 20 20 20 .or.nil.if.there.is.no.such.....
36780 20 65 6c 65 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 6c 65 6d 2d 69 6e 64 65 .element.............(-elem-inde
367a0 78 20 32 20 27 28 36 20 37 20 38 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 x.2.'(6.7.8.2.3.4)).............
367c0 20 20 e2 87 92 20 33 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 22 ......3...........(-elem-index."
367e0 62 61 72 22 20 27 28 22 66 6f 6f 22 20 22 62 61 72 22 20 22 62 61 7a 22 29 29 0a 20 20 20 20 20 bar".'("foo"."bar"."baz"))......
36800 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 65 6c 65 6d 2d .............1...........(-elem-
36820 69 6e 64 65 78 20 27 28 31 20 32 29 20 27 28 28 33 29 20 28 35 20 36 29 20 28 31 20 32 29 20 6e index.'(1.2).'((3).(5.6).(1.2).n
36840 69 6c 29 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 46 75 il))...................2...--.Fu
36860 6e 63 74 69 6f 6e 3a 20 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 28 65 6c 65 6d 20 6c 69 73 74 nction:.-elem-indices.(elem.list
36880 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 69 6e 64 69 63 65 73 20 6f 66 20 61 6c 6c )......Return.the.indices.of.all
368a0 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 4c 49 53 54 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 71 .elements.in.LIST.equal.to.the.q
368c0 75 65 72 79 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 20 45 4c 45 4d 2c 20 69 6e 20 61 73 63 65 6e uery......element.ELEM,.in.ascen
368e0 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 6c 65 6d 2d 69 6e ding.order.............(-elem-in
36900 64 69 63 65 73 20 32 20 27 28 36 20 37 20 38 20 32 20 33 20 34 20 32 20 31 29 29 0a 20 20 20 20 dices.2.'(6.7.8.2.3.4.2.1)).....
36920 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d ..............(3.6)...........(-
36940 65 6c 65 6d 2d 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 elem-indices."bar".'("foo"."bar"
36960 20 22 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 28 31 29 0a 20 ."baz"))...................(1)..
36980 20 20 20 20 20 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 .........(-elem-indices.'(1.2).'
369a0 28 28 33 29 20 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 ((3).(1.2).(5.6).(1.2).nil))....
369c0 20 20 20 20 20 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 ...............(1.3)...--.Functi
369e0 6f 6e 3a 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 20 20 on:.-find-index.(pred.list).....
36a00 20 54 61 6b 65 20 61 20 70 72 65 64 69 63 61 74 65 20 50 52 45 44 20 61 6e 64 20 61 20 4c 49 53 .Take.a.predicate.PRED.and.a.LIS
36a20 54 20 61 6e 64 20 72 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 T.and.return.the.index.of.the.fi
36a40 72 73 74 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 65 20 6c 69 73 74 20 73 61 74 rst......element.in.the.list.sat
36a60 69 73 66 79 69 6e 67 20 74 68 65 20 70 72 65 64 69 63 61 74 65 2c 20 6f 72 20 6e 69 6c 20 69 66 isfying.the.predicate,.or.nil.if
36a80 20 74 68 65 72 65 20 69 73 20 6e 6f 0a 20 20 20 20 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 2e 0a .there.is.no......such.element..
36aa0 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 20 e2 80 98 2d 66 69 72 73 74 e2 80 99 20 28 2a 6e 6f ......See.also....-first....(*no
36ac0 74 65 20 2d 66 69 72 73 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6e 64 2d te.-first::).............(-find-
36ae0 69 6e 64 65 78 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 31 20 36 20 33 20 33 20 35 20 38 29 29 index.'even?.'(2.4.1.6.3.3.5.8))
36b00 0a 20 20 20 20 20 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 ...................0...........(
36b20 2d 2d 66 69 6e 64 2d 69 6e 64 65 78 20 28 3c 20 35 20 69 74 29 20 27 28 32 20 34 20 31 20 36 20 --find-index.(<.5.it).'(2.4.1.6.
36b40 33 20 33 20 35 20 38 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 3.3.5.8))...................3...
36b60 20 20 20 20 20 20 20 20 28 2d 66 69 6e 64 2d 69 6e 64 65 78 20 28 2d 70 61 72 74 69 61 6c 20 27 ........(-find-index.(-partial.'
36b80 73 74 72 69 6e 67 2d 6c 65 73 73 70 20 22 62 61 7a 22 29 20 27 28 22 62 61 72 22 20 22 66 6f 6f string-lessp."baz").'("bar"."foo
36ba0 22 20 22 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 0a 20 "."baz"))...................1...
36bc0 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 70 --.Function:.-find-last-index.(p
36be0 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 54 61 6b 65 20 61 20 70 72 65 64 69 63 61 74 65 20 red.list)......Take.a.predicate.
36c00 50 52 45 44 20 61 6e 64 20 61 20 4c 49 53 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 69 PRED.and.a.LIST.and.return.the.i
36c20 6e 64 65 78 20 6f 66 20 74 68 65 20 6c 61 73 74 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 20 69 6e ndex.of.the.last......element.in
36c40 20 74 68 65 20 6c 69 73 74 20 73 61 74 69 73 66 79 69 6e 67 20 74 68 65 20 70 72 65 64 69 63 61 .the.list.satisfying.the.predica
36c60 74 65 2c 20 6f 72 20 6e 69 6c 20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 0a 20 20 20 20 20 73 te,.or.nil.if.there.is.no......s
36c80 75 63 68 20 65 6c 65 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 20 e2 80 98 2d uch.element........See.also....-
36ca0 6c 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 61 73 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 last....(*note.-last::).........
36cc0 20 20 20 20 28 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 27 65 76 65 6e 3f 20 27 28 32 ....(-find-last-index.'even?.'(2
36ce0 20 34 20 31 20 36 20 33 20 33 20 35 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 .4.1.6.3.3.5.8))................
36d00 87 92 20 37 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 ...7...........(--find-last-inde
36d20 78 20 28 3c 20 35 20 69 74 29 20 27 28 32 20 37 20 31 20 36 20 33 20 38 20 35 20 32 29 29 0a 20 x.(<.5.it).'(2.7.1.6.3.8.5.2))..
36d40 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 20 20 28 2d 66 .................5...........(-f
36d60 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 2d 70 61 72 74 69 61 6c 20 27 73 74 72 69 6e 67 ind-last-index.(-partial.'string
36d80 2d 6c 65 73 73 70 20 22 62 61 7a 22 29 20 27 28 22 71 22 20 22 66 6f 6f 22 20 22 62 61 7a 22 29 -lessp."baz").'("q"."foo"."baz")
36da0 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 63 74 )...................1...--.Funct
36dc0 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 0a 20 ion:.-find-indices.(pred.list)..
36de0 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 69 6e 64 69 63 65 73 20 6f 66 20 61 6c 6c 20 65 6c ....Return.the.indices.of.all.el
36e00 65 6d 65 6e 74 73 20 69 6e 20 4c 49 53 54 20 73 61 74 69 73 66 79 69 6e 67 20 74 68 65 20 70 72 ements.in.LIST.satisfying.the.pr
36e20 65 64 69 63 61 74 65 0a 20 20 20 20 20 50 52 45 44 2c 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 edicate......PRED,.in.ascending.
36e40 6f 72 64 65 72 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 order.............(-find-indices
36e60 20 27 65 76 65 6e 3f 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 .'even?.'(2.4.1.6.3.3.5.8)).....
36e80 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 31 20 33 20 37 29 0a 20 20 20 20 20 20 20 20 ..............(0.1.3.7).........
36ea0 20 20 28 2d 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 28 3c 20 35 20 69 74 29 20 27 28 32 20 34 ..(--find-indices.(<.5.it).'(2.4
36ec0 20 31 20 36 20 33 20 33 20 35 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 .1.6.3.3.5.8))..................
36ee0 20 28 33 20 37 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 .(3.7)...........(-find-indices.
36f00 28 2d 70 61 72 74 69 61 6c 20 27 73 74 72 69 6e 67 2d 6c 65 73 73 70 20 22 62 61 7a 22 29 20 27 (-partial.'string-lessp."baz").'
36f20 28 22 62 61 72 22 20 22 66 6f 6f 22 20 22 62 61 7a 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ("bar"."foo"."baz"))............
36f40 20 20 20 e2 87 92 20 28 31 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 67 72 61 64 65 .......(1)...--.Function:.-grade
36f60 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 20 20 47 72 61 64 65 -up.(comparator.list)......Grade
36f80 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
36fa0 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.....
36fc0 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
36fe0 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.
37000 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 67 20 6f 72 64 65 72 .....sorts.it.in.ascending.order
37020 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 27 3c 20 27 28 33 20 .............(-grade-up.#'<.'(3.
37040 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 87 92 20 1.4.2.1.3.3))...................
37060 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 20 28 6c 65 74 20 28 (1.4.3.0.5.6.2)...........(let.(
37080 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 74 2d 62 (l.'(3.1.4.2.1.3.3))).(-select-b
370a0 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 6c 29 20 6c 29 29 0a y-indices.(-grade-up.#'<.l).l)).
370c0 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 33 20 33 20 33 20 34 ..................(1.1.2.3.3.3.4
370e0 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 6f 77 6e 20 28 63 6f )...--.Function:.-grade-down.(co
37100 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 20 65 6c 65 6d 65 6e mparator.list)......Grade.elemen
37120 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 61 ts.of.LIST.using.COMPARATOR.rela
37140 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 20 70 65 72 6d 75 74 tion...This.yields.a......permut
37160 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 70 6c 79 69 6e 67 20 ation.vector.such.that.applying.
37180 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 20 20 20 20 20 73 6f this.permutation.to.LIST......so
371a0 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 72 2e 0a 0a 20 20 20 rts.it.in.descending.order......
371c0 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 28 33 20 31 20 34 20 .......(-grade-down.#'<.'(3.1.4.
371e0 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 87 92 20 28 32 20 30 2.1.3.3))...................(2.0
37200 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 74 20 28 28 6c 20 27 .5.6.3.1.4)...........(let.((l.'
37220 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 74 2d 62 79 2d 69 6e (3.1.4.2.1.3.3))).(-select-by-in
37240 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 20 6c 29 29 0a 20 20 dices.(-grade-down.#'<.l).l))...
37260 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 32 20 31 20 31 29 0a ................(4.3.3.3.2.1.1).
37280 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 ...File:.docKFAcRH.info,..Node:.
372a0 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 69 73 Set.operations,..Next:.Other.lis
372c0 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 20 20 t.operations,..Prev:.Indexing,..
372e0 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 6f 6e Up:.Functions..2.9.Set.operation
37300 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 6e 73 s.==================..Operations
37320 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 2d 2d .pretending.lists.are.sets....--
37340 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 75 6e 69 6f 6e 20 28 6c 69 73 74 20 6c 69 73 74 32 29 0a 20 .Function:.-union.(list.list2)..
37360 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 ....Return.a.new.list.containing
37380 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 65 6c 65 6d 65 6e .the.elements.of.LIST.and.elemen
373a0 74 73 20 6f 66 0a 20 20 20 20 20 4c 49 53 54 32 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 69 6e ts.of......LIST2.that.are.not.in
373c0 20 4c 49 53 54 2e 20 20 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 69 73 .LIST...The.test.for.equality.is
373e0 20 64 6f 6e 65 20 77 69 74 68 0a 20 20 20 20 20 e2 80 98 65 71 75 61 6c e2 80 99 2c 20 6f 72 20 .done.with.........equal...,.or.
37400 77 69 74 68 20 e2 80 98 2d 63 6f 6d 70 61 72 65 2d 66 6e e2 80 99 20 69 66 20 74 68 61 74 e2 80 with....-compare-fn....if.that..
37420 99 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 69 6f 6e 20 27 .s.non-nil.............(-union.'
37440 28 31 20 32 20 33 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 (1.2.3).'(3.4.5))...............
37460 e2 87 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 75 6e 69 6f ....(1.2.3.4.5)...........(-unio
37480 6e 20 27 28 31 20 32 20 33 20 34 29 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 n.'(1.2.3.4).())................
374a0 87 92 20 28 31 20 32 20 33 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 69 6f 6e 20 27 ...(1.2.3.4)...........(-union.'
374c0 28 31 20 31 20 32 20 32 29 20 27 28 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (1.1.2.2).'(3.2.1)).............
374e0 20 20 e2 87 92 20 28 31 20 31 20 32 20 32 20 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a ......(1.1.2.2.3)...--.Function:
37500 20 2d 64 69 66 66 65 72 65 6e 63 65 20 28 6c 69 73 74 20 6c 69 73 74 32 29 0a 20 20 20 20 20 52 .-difference.(list.list2)......R
37520 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 6f 6e 6c 79 20 74 68 65 20 6d eturn.a.new.list.with.only.the.m
37540 65 6d 62 65 72 73 20 6f 66 20 4c 49 53 54 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 69 6e 0a 20 embers.of.LIST.that.are.not.in..
37560 20 20 20 20 4c 49 53 54 32 2e 20 20 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c 69 74 ....LIST2...The.test.for.equalit
37580 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 77 y.is.done.with....equal...,.or.w
375a0 69 74 68 0a 20 20 20 20 20 e2 80 98 2d 63 6f 6d 70 61 72 65 2d 66 6e e2 80 99 20 69 66 20 74 68 ith.........-compare-fn....if.th
375c0 61 74 e2 80 99 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 69 66 at...s.non-nil.............(-dif
375e0 66 65 72 65 6e 63 65 20 28 29 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 ference.().())..................
37600 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 69 66 66 65 72 65 6e 63 65 20 27 28 31 20 32 .()...........(-difference.'(1.2
37620 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 87 92 20 .3).'(4.5.6))...................
37640 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 69 66 66 65 72 65 6e 63 65 20 27 (1.2.3)...........(-difference.'
37660 28 31 20 32 20 33 20 34 29 20 27 28 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 (1.2.3.4).'(3.4.5.6))...........
37680 20 20 20 20 e2 87 92 20 28 31 20 32 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 6e ........(1.2)...--.Function:.-in
376a0 74 65 72 73 65 63 74 69 6f 6e 20 28 6c 69 73 74 20 6c 69 73 74 32 29 0a 20 20 20 20 20 52 65 74 tersection.(list.list2)......Ret
376c0 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6f 6e 6c 79 20 74 urn.a.new.list.containing.only.t
376e0 68 65 20 65 6c 65 6d 65 6e 74 73 20 74 68 61 74 20 61 72 65 20 6d 65 6d 62 65 72 73 20 6f 66 0a he.elements.that.are.members.of.
37700 20 20 20 20 20 62 6f 74 68 20 4c 49 53 54 20 61 6e 64 20 4c 49 53 54 32 2e 20 20 54 68 65 20 74 .....both.LIST.and.LIST2...The.t
37720 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 e2 80 est.for.equality.is.done.with...
37740 98 65 71 75 61 6c e2 80 99 2c 0a 20 20 20 20 20 6f 72 20 77 69 74 68 20 e2 80 98 2d 63 6f 6d 70 .equal...,......or.with....-comp
37760 61 72 65 2d 66 6e e2 80 99 20 69 66 20 74 68 61 74 e2 80 99 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a are-fn....if.that...s.non-nil...
37780 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 28 29 20 28 29 29 0a ..........(-intersection.().()).
377a0 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 ..................()...........(
377c0 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 34 20 35 20 36 29 29 -intersection.'(1.2.3).'(4.5.6))
377e0 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 20 ...................()...........
37800 28 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 27 28 31 20 32 20 33 20 34 29 20 27 28 33 20 34 20 (-intersection.'(1.2.3.4).'(3.4.
37820 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 33 20 34 29 0a 0a 20 5.6))...................(3.4)...
37840 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 69 73 74 29 0a 20 20 --.Function:.-powerset.(list)...
37860 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 66 20 4c 49 53 54 2e ...Return.the.power.set.of.LIST.
37880 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 29 0a 20 20 20 20 20 ............(-powerset.())......
378a0 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 20 20 20 20 28 2d 70 .............(nil)...........(-p
378c0 6f 77 65 72 73 65 74 20 27 28 78 20 79 20 7a 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 owerset.'(x.y.z))...............
378e0 e2 87 92 20 28 28 78 20 79 20 7a 29 20 28 78 20 79 29 20 28 78 20 7a 29 20 28 78 29 20 28 79 20 ....((x.y.z).(x.y).(x.z).(x).(y.
37900 7a 29 20 28 79 29 20 28 7a 29 20 6e 69 6c 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d z).(y).(z).nil)...--.Function:.-
37920 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 permutations.(list)......Return.
37940 74 68 65 20 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 the.permutations.of.LIST........
37960 20 20 20 20 20 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 28 29 29 0a 20 20 20 20 20 20 20 20 .....(-permutations.()).........
37980 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 65 72 6d ..........(nil)...........(-perm
379a0 75 74 61 74 69 6f 6e 73 20 27 28 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 utations.'(1.2))................
379c0 87 92 20 28 28 31 20 32 29 20 28 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 65 72 ...((1.2).(2.1))...........(-per
379e0 6d 75 74 61 74 69 6f 6e 73 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 mutations.'(a.b.c)).............
37a00 20 20 e2 87 92 20 28 28 61 20 62 20 63 29 20 28 61 20 63 20 62 29 20 28 62 20 61 20 63 29 20 28 ......((a.b.c).(a.c.b).(b.a.c).(
37a20 62 20 63 20 61 29 20 28 63 20 61 20 62 29 20 28 63 20 62 20 61 29 29 0a 0a 20 2d 2d 20 46 75 6e b.c.a).(c.a.b).(c.b.a))...--.Fun
37a40 63 74 69 6f 6e 3a 20 2d 64 69 73 74 69 6e 63 74 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 ction:.-distinct.(list)......Ret
37a60 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 61 6c 6c 20 64 75 70 6c 69 63 61 74 urn.a.new.list.with.all.duplicat
37a80 65 73 20 72 65 6d 6f 76 65 64 2e 20 20 54 68 65 20 74 65 73 74 20 66 6f 72 0a 20 20 20 20 20 65 es.removed...The.test.for......e
37aa0 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 6c e2 80 99 quality.is.done.with....equal...
37ac0 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 20 69 66 20 74 ,.or.with....-compare-fn....if.t
37ae0 68 61 74 e2 80 99 73 0a 20 20 20 20 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 20 20 20 20 20 41 6c 69 61 hat...s......non-nil........Alia
37b00 73 3a 20 e2 80 98 2d 75 6e 69 71 e2 80 99 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 69 73 74 s:....-uniq...............(-dist
37b20 69 6e 63 74 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 inct.())...................()...
37b40 20 20 20 20 20 20 20 20 28 2d 64 69 73 74 69 6e 63 74 20 27 28 31 20 32 20 32 20 34 29 29 0a 20 ........(-distinct.'(1.2.2.4))..
37b60 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 34 29 0a 20 20 20 20 20 20 20 .................(1.2.4)........
37b80 20 20 20 28 2d 64 69 73 74 69 6e 63 74 20 27 28 74 20 74 20 74 29 29 0a 20 20 20 20 20 20 20 20 ...(-distinct.'(t.t.t)).........
37ba0 20 20 20 20 20 20 e2 87 92 20 28 74 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 4b 46 41 63 52 48 ..........(t)....File:.docKFAcRH
37bc0 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 .info,..Node:.Other.list.operati
37be0 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 50 72 ons,..Next:.Tree.operations,..Pr
37c00 65 76 3a 20 53 65 74 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 ev:.Set.operations,..Up:.Functio
37c20 6e 73 0a 0a 32 2e 31 30 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 0a 3d ns..2.10.Other.list.operations.=
37c40 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 4f 74 68 65 72 =========================..Other
37c60 20 6c 69 73 74 20 66 75 6e 63 74 69 6f 6e 73 20 6e 6f 74 20 66 69 74 20 74 6f 20 62 65 20 63 6c .list.functions.not.fit.to.be.cl
37c80 61 73 73 69 66 69 65 64 20 65 6c 73 65 77 68 65 72 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f assified.elsewhere....--.Functio
37ca0 6e 3a 20 2d 72 6f 74 61 74 65 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 6f 74 61 74 65 20 n:.-rotate.(n.list)......Rotate.
37cc0 4c 49 53 54 20 4e 20 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 LIST.N.places.to.the.right.(left
37ce0 20 69 66 20 4e 20 69 73 20 6e 65 67 61 74 69 76 65 29 2e 20 20 54 68 65 0a 20 20 20 20 20 74 69 .if.N.is.negative)...The......ti
37d00 6d 65 20 63 6f 6d 70 6c 65 78 69 74 79 20 69 73 20 4f 28 6e 29 2e 0a 0a 20 20 20 20 20 20 20 20 me.complexity.is.O(n)...........
37d20 20 20 28 2d 72 6f 74 61 74 65 20 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 ..(-rotate.3.'(1.2.3.4.5.6.7))..
37d40 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 20 36 20 37 20 31 20 32 20 33 20 34 29 .................(5.6.7.1.2.3.4)
37d60 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 6f 74 61 74 65 20 2d 33 20 27 28 31 20 32 20 33 20 34 ...........(-rotate.-3.'(1.2.3.4
37d80 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 34 20 35 20 .5.6.7))...................(4.5.
37da0 36 20 37 20 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 6f 74 61 74 65 20 31 36 6.7.1.2.3)...........(-rotate.16
37dc0 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 20 .'(1.2.3.4.5.6.7))..............
37de0 20 e2 87 92 20 28 36 20 37 20 31 20 32 20 33 20 34 20 35 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 .....(6.7.1.2.3.4.5)...--.Functi
37e00 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.
37e20 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
37e40 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 6e 69 6c lement.being.X...Return......nil
37e60 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 20 20 20 20 20 20 .if.N.is.less.than.1............
37e80 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 20 20 20 20 e2 87 .(-repeat.3.:a).................
37ea0 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 65 70 65 61 74 20 ..(:a.:a.:a)...........(-repeat.
37ec0 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 61 29 0a 20 20 20 1.:a)...................(:a)....
37ee0 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 20 20 20 20 20 20 .......(-repeat.0.:a)...........
37f00 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 63 6f 6e 73 ........nil...--.Function:.-cons
37f20 2a 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 20 20 20 4d 61 6b 65 20 61 20 6e 65 77 20 6c *.(&rest.args)......Make.a.new.l
37f40 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 20 20 ist.from.the.elements.of.ARGS...
37f60 54 68 65 20 6c 61 73 74 20 32 20 65 6c 65 6d 65 6e 74 73 20 6f 66 0a 20 20 20 20 20 41 52 47 53 The.last.2.elements.of......ARGS
37f80 20 61 72 65 20 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 .are.used.as.the.final.cons.of.t
37fa0 68 65 20 72 65 73 75 6c 74 2c 20 73 6f 20 69 66 20 74 68 65 20 66 69 6e 61 6c 0a 20 20 20 20 20 he.result,.so.if.the.final......
37fc0 65 6c 65 6d 65 6e 74 20 6f 66 20 41 52 47 53 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2c 20 74 element.of.ARGS.is.not.a.list,.t
37fe0 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 64 6f 74 74 65 64 20 6c 69 73 74 2e 20 20 57 69 74 he.result.is.a.dotted.list...Wit
38000 68 0a 20 20 20 20 20 6e 6f 20 41 52 47 53 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e 0a 0a 20 20 20 h......no.ARGS,.return.nil......
38020 20 20 20 20 20 20 20 28 2d 63 6f 6e 73 2a 20 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .......(-cons*.1.2).............
38040 20 20 e2 87 92 20 28 31 20 2e 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 73 2a 20 ......(1...2)...........(-cons*.
38060 31 20 32 20 33 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 2e 20 1.2.3)...................(1.2...
38080 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 73 2a 20 31 29 0a 20 20 20 20 20 20 20 20 3)...........(-cons*.1).........
380a0 20 20 20 20 20 20 e2 87 92 20 31 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 6e 6f 63 ..........1...--.Function:.-snoc
380c0 20 28 6c 69 73 74 20 65 6c 65 6d 20 26 72 65 73 74 20 65 6c 65 6d 65 6e 74 73 29 0a 20 20 20 20 .(list.elem.&rest.elements).....
380e0 20 41 70 70 65 6e 64 20 45 4c 45 4d 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c .Append.ELEM.to.the.end.of.the.l
38100 69 73 74 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 e2 80 98 63 6f 6e 73 e2 ist........This.is.like....cons.
38120 80 99 2c 20 62 75 74 20 6f 70 65 72 61 74 65 73 20 6f 6e 20 74 68 65 20 65 6e 64 20 6f 66 20 6c ..,.but.operates.on.the.end.of.l
38140 69 73 74 2e 0a 0a 20 20 20 20 20 49 66 20 45 4c 45 4d 45 4e 54 53 20 69 73 20 6e 6f 6e 20 6e 69 ist........If.ELEMENTS.is.non.ni
38160 6c 2c 20 61 70 70 65 6e 64 20 74 68 65 73 65 20 74 6f 20 74 68 65 20 6c 69 73 74 20 61 73 20 77 l,.append.these.to.the.list.as.w
38180 65 6c 6c 2e 0a 0a 20 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 ell.............(-snoc.'(1.2.3).
381a0 34 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 29 0a 20 4)...................(1.2.3.4)..
381c0 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 20 35 20 36 29 0a .........(-snoc.'(1.2.3).4.5.6).
381e0 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 29 0a ..................(1.2.3.4.5.6).
38200 20 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 27 28 34 20 35 20 ..........(-snoc.'(1.2.3).'(4.5.
38220 36 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 6))...................(1.2.3.(4.
38240 35 20 36 29 29 0a 0a 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 5.6))...--.Function:.-interpose.
38260 28 73 65 70 20 6c 69 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 (sep.list)......Return.a.new.lis
38280 74 20 6f 66 20 61 6c 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 t.of.all.elements.in.LIST.separa
382a0 74 65 64 20 62 79 20 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 ted.by.SEP.............(-interpo
382c0 73 65 20 22 2d 22 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 se."-".())...................().
382e0 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 27 28 22 61 22 29 ..........(-interpose."-".'("a")
38300 29 0a 20 20 20 20 20 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 )...................("a").......
38320 20 20 20 20 28 2d 69 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 ....(-interpose."-".'("a"."b"."c
38340 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 2d 22 20 22 "))...................("a"."-"."
38360 62 22 20 22 2d 22 20 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 b"."-"."c")...--.Function:.-inte
38380 72 6c 65 61 76 65 20 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 rleave.(&rest.lists)......Return
383a0 20 61 20 6e 65 77 20 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 .a.new.list.of.the.first.item.in
383c0 20 65 61 63 68 20 6c 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 .each.list,.then.the.second.....
383e0 20 65 74 63 2e 0a 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 .etc.............(-interleave.'(
38400 31 20 32 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 20 e2 1.2).'("a"."b"))................
38420 87 92 20 28 31 20 22 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 ...(1."a".2."b")...........(-int
38440 65 72 6c 65 61 76 65 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 erleave.'(1.2).'("a"."b").'("A".
38460 22 42 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 61 22 20 22 "B"))...................(1."a"."
38480 41 22 20 32 20 22 62 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 A".2."b"."B")...........(-interl
384a0 65 61 76 65 20 27 28 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 eave.'(1.2.3).'("a"."b")).......
384c0 20 20 20 20 20 20 20 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 ............(1."a".2."b")...--.F
384e0 75 6e 63 74 69 6f 6e 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 unction:.-iota.(count.&optional.
38500 73 74 61 72 74 20 73 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 start.step)......Return.a.list.c
38520 6f 6e 74 61 69 6e 69 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 ontaining.COUNT.numbers...Starts
38540 20 66 72 6f 6d 20 53 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 .from.START.and.adds......STEP.e
38560 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 73 20 ach.time...The.default.START.is.
38580 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 20 20 20 zero,.the.default.STEP.is.1.....
385a0 20 20 54 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 ..This.function.takes.its.name.f
385c0 72 6f 6d 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 rom.the.corresponding.primitive.
385e0 69 6e 0a 20 20 20 20 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 in......the.APL.language........
38600 20 20 20 20 20 28 2d 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 .....(-iota.6)..................
38620 20 28 30 20 31 20 32 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 .(0.1.2.3.4.5)...........(-iota.
38640 34 20 32 2e 35 20 2d 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 4.2.5.-2)...................(2.5
38660 20 30 2e 35 20 2d 31 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 .0.5.-1.5.-3.5)...........(-iota
38680 20 2d 31 29 0a 20 20 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 .-1)...............error....Wron
386a0 67 20 74 79 70 65 20 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 g.type.argument:.natnump,.-1...-
386c0 2d 20 46 75 6e 63 74 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 -.Function:.-zip-with.(fn.list1.
386e0 6c 69 73 74 32 29 0a 20 20 20 20 20 5a 69 70 20 74 68 65 20 74 77 6f 20 6c 69 73 74 73 20 4c 49 list2)......Zip.the.two.lists.LI
38700 53 54 31 20 61 6e 64 20 4c 49 53 54 32 20 75 73 69 6e 67 20 61 20 66 75 6e 63 74 69 6f 6e 20 46 ST1.and.LIST2.using.a.function.F
38720 4e 2e 20 20 54 68 69 73 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 70 70 6c 69 65 N...This......function.is.applie
38740 64 20 70 61 69 72 77 69 73 65 20 74 61 6b 69 6e 67 20 61 73 20 66 69 72 73 74 20 61 72 67 75 6d d.pairwise.taking.as.first.argum
38760 65 6e 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 ent.element.of......LIST1.and.as
38780 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 .second.argument.element.of.LIST
387a0 32 20 61 74 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 2.at.corresponding......position
387c0 2e 0a 0a 20 20 20 20 20 54 68 65 20 61 6e 61 70 68 6f 72 69 63 20 66 6f 72 6d 20 e2 80 98 2d 2d ........The.anaphoric.form....--
387e0 7a 69 70 2d 77 69 74 68 e2 80 99 20 62 69 6e 64 73 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 66 zip-with....binds.the.elements.f
38800 72 6f 6d 20 4c 49 53 54 31 20 61 73 0a 20 20 20 20 20 73 79 6d 62 6f 6c 20 e2 80 98 69 74 e2 80 rom.LIST1.as......symbol....it..
38820 99 2c 20 61 6e 64 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 4c 49 53 54 32 20 61 .,.and.the.elements.from.LIST2.a
38840 73 20 73 79 6d 62 6f 6c 20 e2 80 98 6f 74 68 65 72 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 s.symbol....other...............
38860 20 28 2d 7a 69 70 2d 77 69 74 68 20 27 2b 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 .(-zip-with.'+.'(1.2.3).'(4.5.6)
38880 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 20 37 20 39 29 0a 20 20 20 20 )...................(5.7.9).....
388a0 20 20 20 20 20 20 28 2d 7a 69 70 2d 77 69 74 68 20 27 63 6f 6e 73 20 27 28 31 20 32 20 33 29 20 ......(-zip-with.'cons.'(1.2.3).
388c0 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.
388e0 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))...........
38900 28 2d 2d 7a 69 70 2d 77 69 74 68 20 28 63 6f 6e 63 61 74 20 69 74 20 22 20 61 6e 64 20 22 20 6f (--zip-with.(concat.it.".and.".o
38920 74 68 65 72 29 20 27 28 22 42 61 74 6d 61 6e 22 20 22 4a 65 6b 79 6c 6c 22 29 20 27 28 22 52 6f ther).'("Batman"."Jekyll").'("Ro
38940 62 69 6e 22 20 22 48 79 64 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 bin"."Hyde"))...................
38960 28 22 42 61 74 6d 61 6e 20 61 6e 64 20 52 6f 62 69 6e 22 20 22 4a 65 6b 79 6c 6c 20 61 6e 64 20 ("Batman.and.Robin"."Jekyll.and.
38980 48 79 64 65 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 7a 69 70 20 28 26 72 65 73 Hyde")...--.Function:.-zip.(&res
389a0 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 72 t.lists)......Zip.LISTS.together
389c0 2e 20 20 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 73 74 2c 20 ...Group.the.head.of.each.list,.
389e0 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 73 65 63 6f 6e 64 20 65 6c 65 6d followed.by.the......second.elem
38a00 65 6e 74 73 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 54 ents.of.each.list,.and.so.on...T
38a20 68 65 20 6c 65 6e 67 74 68 73 20 6f 66 20 74 68 65 0a 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 he.lengths.of.the......returned.
38a40 67 72 6f 75 70 69 6e 67 73 20 61 72 65 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 groupings.are.equal.to.the.lengt
38a60 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 69 6e 70 75 74 0a 20 20 20 20 20 6c 69 73 h.of.the.shortest.input......lis
38a80 74 2e 0a 0a 20 20 20 20 20 49 66 20 74 77 6f 20 6c 69 73 74 73 20 61 72 65 20 70 72 6f 76 69 64 t........If.two.lists.are.provid
38aa0 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 67 72 6f 75 ed.as.arguments,.return.the.grou
38ac0 70 69 6e 67 73 20 61 73 20 61 0a 20 20 20 20 20 6c 69 73 74 20 6f 66 20 63 6f 6e 73 20 63 65 6c pings.as.a......list.of.cons.cel
38ae0 6c 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 20 67 72 6f 75 70 ls...Otherwise,.return.the.group
38b00 69 6e 67 73 20 61 73 20 61 20 6c 69 73 74 20 6f 66 0a 20 20 20 20 20 6c 69 73 74 73 2e 0a 0a 20 ings.as.a.list.of......lists....
38b20 20 20 20 20 55 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 20 ....Use....-zip-lists....(*note.
38b40 2d 7a 69 70 2d 6c 69 73 74 73 3a 3a 29 20 69 66 20 79 6f 75 20 6e 65 65 64 20 74 68 65 20 72 65 -zip-lists::).if.you.need.the.re
38b60 74 75 72 6e 20 76 61 6c 75 65 0a 20 20 20 20 20 74 6f 20 61 6c 77 61 79 73 20 62 65 20 61 20 6c turn.value......to.always.be.a.l
38b80 69 73 74 20 6f 66 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 7a ist.of.lists........Alias:....-z
38ba0 69 70 2d 70 61 69 72 e2 80 99 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 7a ip-pair..........See.also:....-z
38bc0 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 29 ip-lists....(*note.-zip-lists::)
38be0 0a 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 20 27 28 34 20 35 ............(-zip.'(1.2.3).'(4.5
38c00 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 2e 20 34 29 20 .6))...................((1...4).
38c20 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 28 2d 7a 69 70 (2...5).(3...6))...........(-zip
38c40 20 27 28 31 20 32 20 33 29 20 27 28 34 20 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))...........
38c60 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 20 36 29 ........((1...4).(2...5).(3...6)
38c80 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 20 27 28 31 20 32 29 20 27 28 33 20 34 20 35 )...........(-zip.'(1.2).'(3.4.5
38ca0 29 20 27 28 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 ).'(6))...................((1.3.
38cc0 36 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 7a 69 70 2d 6c 69 73 74 73 20 28 26 6))...--.Function:.-zip-lists.(&
38ce0 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 74 rest.lists)......Zip.LISTS.toget
38d00 68 65 72 2e 20 20 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 73 her...Group.the.head.of.each.lis
38d20 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 73 65 63 6f 6e 64 20 65 t,.followed.by.the......second.e
38d40 6c 65 6d 65 6e 74 73 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 lements.of.each.list,.and.so.on.
38d60 20 20 54 68 65 20 6c 65 6e 67 74 68 73 20 6f 66 20 74 68 65 0a 20 20 20 20 20 72 65 74 75 72 6e ..The.lengths.of.the......return
38d80 65 64 20 67 72 6f 75 70 69 6e 67 73 20 61 72 65 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 ed.groupings.are.equal.to.the.le
38da0 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 69 6e 70 75 74 0a 20 20 20 20 20 ngth.of.the.shortest.input......
38dc0 6c 69 73 74 2e 0a 0a 20 20 20 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 list........The.return.value.is.
38de0 61 6c 77 61 79 73 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 2c 20 77 68 69 63 68 20 69 73 20 61 always.list.of.lists,.which.is.a
38e00 20 64 69 66 66 65 72 65 6e 63 65 0a 20 20 20 20 20 66 72 6f 6d 20 e2 80 98 2d 7a 69 70 2d 70 61 .difference......from....-zip-pa
38e20 69 72 e2 80 99 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 61 20 63 6f 6e 73 2d 63 65 6c 6c 20 ir....which.returns.a.cons-cell.
38e40 69 6e 20 63 61 73 65 20 74 77 6f 20 69 6e 70 75 74 20 6c 69 73 74 73 0a 20 20 20 20 20 61 72 65 in.case.two.input.lists......are
38e60 20 70 72 6f 76 69 64 65 64 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 7a .provided........See.also:....-z
38e80 69 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 ip....(*note.-zip::)............
38ea0 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 29 29 0a 20 (-zip-lists.'(1.2.3).'(4.5.6))..
38ec0 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 35 29 20 28 33 .................((1.4).(2.5).(3
38ee0 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 27 28 31 20 32 .6))...........(-zip-lists.'(1.2
38f00 20 33 29 20 27 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 .3).'(4.5.6.7)).................
38f20 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 20 20 20 ..((1.4).(2.5).(3.6))...........
38f40 28 2d 7a 69 70 2d 6c 69 73 74 73 20 27 28 31 20 32 29 20 27 28 33 20 34 20 35 29 20 27 28 36 29 (-zip-lists.'(1.2).'(3.4.5).'(6)
38f60 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 29 0a 0a 20 )...................((1.3.6))...
38f80 2d 2d 20 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 --.Function:.-zip-fill.(fill-val
38fa0 75 65 20 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 2c 20 ue.&rest.lists)......Zip.LISTS,.
38fc0 77 69 74 68 20 46 49 4c 4c 2d 56 41 4c 55 45 20 70 61 64 64 65 64 20 6f 6e 74 6f 20 74 68 65 20 with.FILL-VALUE.padded.onto.the.
38fe0 73 68 6f 72 74 65 72 20 6c 69 73 74 73 2e 20 20 54 68 65 0a 20 20 20 20 20 6c 65 6e 67 74 68 73 shorter.lists...The......lengths
39000 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 61 72 65 20 65 .of.the.returned.groupings.are.e
39020 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 0a 20 20 20 20 20 6c qual.to.the.length.of.the......l
39040 6f 6e 67 65 73 74 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d ongest.input.list.............(-
39060 7a 69 70 2d 66 69 6c 6c 20 30 20 27 28 31 20 32 20 33 20 34 20 35 29 20 27 28 36 20 37 20 38 20 zip-fill.0.'(1.2.3.4.5).'(6.7.8.
39080 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 2e 20 36 29 20 28 9))...................((1...6).(
390a0 32 20 2e 20 37 29 20 28 33 20 2e 20 38 29 20 28 34 20 2e 20 39 29 20 28 35 20 2e 20 30 29 29 0a 2...7).(3...8).(4...9).(5...0)).
390c0 0a 20 2d 2d 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 ..--.Function:.-unzip.(lists)...
390e0 20 20 20 55 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 ...Unzip.LISTS........This.works
39100 20 6a 75 73 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 .just.like....-zip....(*note.-zi
39120 70 3a 3a 29 20 62 75 74 20 74 61 6b 65 73 20 61 20 6c 69 73 74 20 6f 66 0a 20 20 20 20 20 6c 69 p::).but.takes.a.list.of......li
39140 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
39160 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 20 20 20 28 .of.arguments,.such.that.......(
39180 2d 75 6e 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 20 20 20 -unzip.(-zip.L1.L2.L3....)).....
391a0 20 20 69 73 20 69 64 65 6e 74 69 74 79 20 28 67 69 76 65 6e 20 74 68 61 74 20 74 68 65 20 6c 69 ..is.identity.(given.that.the.li
391c0 73 74 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 29 2e 0a 0a 20 20 20 20 20 sts.are.the.same.length)........
391e0 4e 6f 74 65 20 69 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 Note.in.particular.that.calling.
39200 74 68 69 73 20 6f 6e 20 61 20 6c 69 73 74 20 6f 66 20 74 77 6f 20 6c 69 73 74 73 20 77 69 6c 6c this.on.a.list.of.two.lists.will
39220 0a 20 20 20 20 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 63 6f 6e 73 2d 63 65 6c 6c ......return.a.list.of.cons-cell
39240 73 20 73 75 63 68 20 74 68 61 74 20 74 68 65 20 61 62 6f 76 65 20 69 64 65 6e 74 69 74 79 20 77 s.such.that.the.above.identity.w
39260 6f 72 6b 73 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 7a 69 70 e2 80 99 orks........See.also:....-zip...
39280 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 7a .(*note.-zip::)............(-unz
392a0 69 70 20 28 2d 7a 69 70 20 27 28 31 20 32 20 33 29 20 27 28 61 20 62 20 63 29 20 27 28 22 65 22 ip.(-zip.'(1.2.3).'(a.b.c).'("e"
392c0 20 22 66 22 20 22 67 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 ."f"."g")))...................((
392e0 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 22 65 22 20 22 66 22 20 22 67 22 29 29 0a 20 20 1.2.3).(a.b.c).("e"."f"."g"))...
39300 20 20 20 20 20 20 20 20 28 2d 75 6e 7a 69 70 20 27 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 ........(-unzip.'((1.2).(3.4).(5
39320 20 36 29 20 28 37 20 38 29 20 28 39 20 31 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .6).(7.8).(9.10)))..............
39340 20 e2 87 92 20 28 28 31 20 33 20 35 20 37 20 39 29 20 28 32 20 34 20 36 20 38 20 31 30 29 29 0a .....((1.3.5.7.9).(2.4.6.8.10)).
39360 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 7a 69 70 20 27 28 28 31 20 32 29 20 28 33 20 34 29 29 ..........(-unzip.'((1.2).(3.4))
39380 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 33 29 20 28 32 20 )...................((1...3).(2.
393a0 2e 20 34 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 79 63 6c 65 20 28 6c 69 73 ..4))...--.Function:.-cycle.(lis
393c0 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 6e 20 69 6e 66 69 6e 69 74 65 20 63 69 72 63 75 t)......Return.an.infinite.circu
393e0 6c 61 72 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 2e 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 lar.copy.of.LIST...The.returned.
39400 6c 69 73 74 20 63 79 63 6c 65 73 0a 20 20 20 20 20 74 68 72 6f 75 67 68 20 74 68 65 20 65 6c 65 list.cycles......through.the.ele
39420 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 61 6e 64 20 72 65 70 65 61 74 73 20 66 72 6f 6d 20 74 ments.of.LIST.and.repeats.from.t
39440 68 65 20 62 65 67 69 6e 6e 69 6e 67 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 20 he.beginning.............(-take.
39460 35 20 28 2d 63 79 63 6c 65 20 27 28 31 20 32 20 33 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 5.(-cycle.'(1.2.3)))............
39480 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 .......(1.2.3.1.2)...........(-t
394a0 61 6b 65 20 37 20 28 2d 63 79 63 6c 65 20 27 28 31 20 22 61 6e 64 22 20 33 29 29 29 0a 20 20 20 ake.7.(-cycle.'(1."and".3)))....
394c0 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 22 61 6e 64 22 20 33 20 31 20 22 61 6e 64 ...............(1."and".3.1."and
394e0 22 20 33 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 20 28 2d 63 79 63 6c 65 20 27 ".3.1)...........(-zip.(-cycle.'
39500 28 31 20 32 20 33 29 29 20 27 28 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 (1.2.3)).'(1.2))................
39520 87 92 20 28 28 31 20 2e 20 31 29 20 28 32 20 2e 20 32 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 ...((1...1).(2...2))...--.Functi
39540 6f 6e 3a 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 on:.-pad.(fill-value.&rest.lists
39560 29 0a 20 20 20 20 20 41 70 70 65 6e 64 73 20 46 49 4c 4c 2d 56 41 4c 55 45 20 74 6f 20 74 68 65 )......Appends.FILL-VALUE.to.the
39580 20 65 6e 64 20 6f 66 20 65 61 63 68 20 6c 69 73 74 20 69 6e 20 4c 49 53 54 53 20 73 75 63 68 20 .end.of.each.list.in.LISTS.such.
395a0 74 68 61 74 20 74 68 65 79 0a 20 20 20 20 20 77 69 6c 6c 20 61 6c 6c 20 68 61 76 65 20 74 68 65 that.they......will.all.have.the
395c0 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 64 20 30 .same.length.............(-pad.0
395e0 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 0a 20 20 20 .())...................(nil)....
39600 20 20 20 20 20 20 20 28 2d 70 61 64 20 30 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 .......(-pad.0.'(1))............
39620 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 61 64 20 30 20 27 .......((1))...........(-pad.0.'
39640 28 31 20 32 20 33 29 20 27 28 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)).................
39660 92 20 28 28 31 20 32 20 33 29 20 28 34 20 35 20 30 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f ..((1.2.3).(4.5.0))...--.Functio
39680 6e 3a 20 2d 74 61 62 6c 65 20 28 66 6e 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 n:.-table.(fn.&rest.lists)......
396a0 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 54 53 20 75 Compute.outer.product.of.LISTS.u
396c0 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 46 4e 2e 0a 0a 20 20 20 20 20 54 68 65 20 66 75 6e 63 sing.function.FN........The.func
396e0 74 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 tion.FN.should.have.the.same.ari
39700 74 79 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 73 75 70 70 6c 69 65 ty.as.the.number.of......supplie
39720 64 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 54 68 65 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 d.lists........The.outer.product
39740 20 69 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 61 70 70 6c 79 69 6e 67 20 66 6e 20 74 6f 20 61 .is.computed.by.applying.fn.to.a
39760 6c 6c 20 70 6f 73 73 69 62 6c 65 0a 20 20 20 20 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 63 72 ll.possible......combinations.cr
39780 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 6e 74 20 66 72 6f 6d eated.by.taking.one.element.from
397a0 20 65 61 63 68 20 6c 69 73 74 20 69 6e 20 6f 72 64 65 72 2e 0a 20 20 20 20 20 54 68 65 20 64 69 .each.list.in.order.......The.di
397c0 6d 65 6e 73 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 28 6c 65 6e 67 74 68 mension.of.the.result.is.(length
397e0 20 6c 69 73 74 73 29 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 74 61 62 .lists)........See.also:....-tab
39800 6c 65 2d 66 6c 61 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 74 61 62 6c 65 2d 66 6c 61 74 3a 3a 29 le-flat....(*note.-table-flat::)
39820 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 62 6c 65 20 27 2a 20 27 28 31 20 32 20 33 29 20 ............(-table.'*.'(1.2.3).
39840 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 31 20 '(1.2.3))...................((1.
39860 32 20 33 29 20 28 32 20 34 20 36 29 20 28 33 20 36 20 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 2.3).(2.4.6).(3.6.9))...........
39880 28 2d 74 61 62 6c 65 20 28 6c 61 6d 62 64 61 20 28 61 20 62 29 20 28 2d 73 75 6d 20 28 2d 7a 69 (-table.(lambda.(a.b).(-sum.(-zi
398a0 70 2d 77 69 74 68 20 27 2a 20 61 20 62 29 29 29 20 27 28 28 31 20 32 29 20 28 33 20 34 29 29 20 p-with.'*.a.b))).'((1.2).(3.4)).
398c0 27 28 28 31 20 33 29 20 28 32 20 34 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 '((1.3).(2.4))).................
398e0 92 20 28 28 37 20 31 35 29 20 28 31 30 20 32 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 70 ..((7.15).(10.22))...........(ap
39900 70 6c 79 20 27 2d 74 61 62 6c 65 20 27 6c 69 73 74 20 28 2d 72 65 70 65 61 74 20 33 20 27 28 31 ply.'-table.'list.(-repeat.3.'(1
39920 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 28 28 31 20 31 20 .2)))...................((((1.1.
39940 31 29 20 28 32 20 31 20 31 29 29 20 28 28 31 20 32 20 31 29 20 28 32 20 32 20 31 29 29 29 20 28 1).(2.1.1)).((1.2.1).(2.2.1))).(
39960 28 28 31 20 31 20 32 29 20 28 32 20 31 20 32 29 29 20 28 28 31 20 32 20 32 29 20 28 32 20 32 20 ((1.1.2).(2.1.2)).((1.2.2).(2.2.
39980 32 29 29 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 61 62 6c 65 2d 66 6c 61 74 2))))...--.Function:.-table-flat
399a0 20 28 66 6e 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 43 6f 6d 70 75 74 65 20 66 .(fn.&rest.lists)......Compute.f
399c0 6c 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 lat.outer.product.of.LISTS.using
399e0 20 66 75 6e 63 74 69 6f 6e 20 46 4e 2e 0a 0a 20 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e .function.FN........The.function
39a00 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 79 20 61 .FN.should.have.the.same.arity.a
39a20 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 73 75 70 70 6c 69 65 64 20 6c 69 s.the.number.of......supplied.li
39a40 73 74 73 2e 0a 0a 20 20 20 20 20 54 68 65 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 69 73 20 sts........The.outer.product.is.
39a60 63 6f 6d 70 75 74 65 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 computed.by.applying.fn.to.all.p
39a80 6f 73 73 69 62 6c 65 0a 20 20 20 20 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 63 72 65 61 74 65 ossible......combinations.create
39aa0 64 20 62 79 20 74 61 6b 69 6e 67 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 65 61 63 d.by.taking.one.element.from.eac
39ac0 68 20 6c 69 73 74 20 69 6e 20 6f 72 64 65 72 2e 0a 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 h.list.in.order.......The.result
39ae0 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 20 74 68 65 20 74 65 s.are.flattened,.ignoring.the.te
39b00 6e 73 6f 72 20 73 74 72 75 63 74 75 72 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 72 65 73 75 6c nsor.structure.of.the......resul
39b20 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 69 6e t...This.is.equivalent.to.callin
39b40 67 3a 0a 0a 20 20 20 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 g:.......(-flatten-n.(1-.(length
39b60 20 6c 69 73 74 73 29 29 20 28 61 70 70 6c 79 20 e2 80 99 2d 74 61 62 6c 65 20 66 6e 20 6c 69 73 .lists)).(apply....-table.fn.lis
39b80 74 73 29 29 0a 0a 20 20 20 20 20 62 75 74 20 74 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f ts)).......but.the.implementatio
39ba0 6e 20 68 65 72 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 n.here.is.much.more.efficient...
39bc0 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 66 6c 61 74 74 65 6e 2d 6e e2 80 99 20 .....See.also:....-flatten-n....
39be0 28 2a 6e 6f 74 65 20 2d 66 6c 61 74 74 65 6e 2d 6e 3a 3a 29 2c 20 e2 80 98 2d 74 61 62 6c 65 e2 (*note.-flatten-n::),....-table.
39c00 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 74 61 62 6c 65 3a 3a 29 0a 0a 20 20 20 20 20 20 ...(*note......-table::)........
39c20 20 20 20 20 28 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 6c 69 73 74 20 27 28 31 20 32 20 33 29 20 ....(-table-flat.'list.'(1.2.3).
39c40 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 31 20 '(a.b.c))...................((1.
39c60 61 29 20 28 32 20 61 29 20 28 33 20 61 29 20 28 31 20 62 29 20 28 32 20 62 29 20 28 33 20 62 29 a).(2.a).(3.a).(1.b).(2.b).(3.b)
39c80 20 28 31 20 63 29 20 28 32 20 63 29 20 28 33 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d .(1.c).(2.c).(3.c))...........(-
39ca0 74 61 62 6c 65 2d 66 6c 61 74 20 27 2a 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 29 29 table-flat.'*.'(1.2.3).'(1.2.3))
39cc0 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 32 20 34 20 36 20 ...................(1.2.3.2.4.6.
39ce0 33 20 36 20 39 29 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 2d 3.6.9)...........(apply.'-table-
39d00 66 6c 61 74 20 27 6c 69 73 74 20 28 2d 72 65 70 65 61 74 20 33 20 27 28 31 20 32 29 29 29 0a 20 flat.'list.(-repeat.3.'(1.2)))..
39d20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 31 20 31 29 20 28 32 20 31 20 31 .................((1.1.1).(2.1.1
39d40 29 20 28 31 20 32 20 31 29 20 28 32 20 32 20 31 29 20 28 31 20 31 20 32 29 20 28 32 20 31 20 32 ).(1.2.1).(2.2.1).(1.1.2).(2.1.2
39d60 29 20 28 31 20 32 20 32 29 20 28 32 20 32 20 32 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e ).(1.2.2).(2.2.2))...--.Function
39d80 3a 20 2d 66 69 72 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e :.-first.(pred.list)......Return
39da0 20 74 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 .the.first.item.in.LIST.for.whic
39dc0 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 20 20 20 20 20 52 65 74 h.PRED.returns.non-nil.......Ret
39de0 75 72 6e 20 6e 69 6c 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 urn.nil.if.no.such.element.is.fo
39e00 75 6e 64 2e 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 0a 20 und...To.get.the.first.item.in..
39e20 20 20 20 20 74 68 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 ....the.list.no.questions.asked,
39e40 20 75 73 65 20 e2 80 98 63 61 72 e2 80 99 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 .use....car...........Alias:....
39e60 2d 66 69 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 -find...........This.function...
39e80 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....--
39ea0 66 69 72 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 first................(-first.#'n
39ec0 61 74 6e 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 atnump.'(-1.0.1))...............
39ee0 e2 87 92 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 ....0...........(-first.#'null.'
39f00 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 6e 69 6c 0a 20 (1.2.3))...................nil..
39f20 20 20 20 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 .........(--first.(>.it.2).'(1.2
39f40 20 33 29 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 .3))...................3...--.Fu
39f60 6e 63 74 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 nction:.-last.(pred.list)......R
39f80 65 74 75 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 eturn.the.last.x.in.LIST.where.(
39fa0 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 0a 20 PRED.x).is.non-nil,.else.nil....
39fc0 20 20 20 20 20 20 20 20 20 28 2d 6c 61 73 74 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 .........(-last.'even?.'(1.2.3.4
39fe0 20 35 20 36 20 33 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 36 .5.6.3.3.3))...................6
3a000 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 27 28 31 20 33 20 37 ...........(-last.'even?.'(1.3.7
3a020 20 35 20 39 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 .5.9))...................nil....
3a040 20 20 20 20 20 20 20 28 2d 2d 6c 61 73 74 20 28 3e 20 28 6c 65 6e 67 74 68 20 69 74 29 20 33 29 .......(--last.(>.(length.it).3)
3a060 20 27 28 22 61 22 20 22 6c 6f 6f 6f 6e 67 22 20 22 77 6f 72 64 22 20 22 61 6e 64 22 20 22 73 68 .'("a"."looong"."word"."and"."sh
3a080 6f 72 74 22 20 22 6f 6e 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 ort"."one"))..................."
3a0a0 73 68 6f 72 74 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 69 72 73 74 2d 69 74 65 short"...--.Function:.-first-ite
3a0c0 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 66 69 72 73 74 20 69 m.(list)......Return.the.first.i
3a0e0 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 6e 69 6c 20 6f 6e 20 61 6e 20 65 6d 70 74 79 20 tem.of.LIST,.or.nil.on.an.empty.
3a100 6c 69 73 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 73 65 63 6f 6e 64 list........See.also:....-second
3a120 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 3a 3a 29 2c -item....(*note.-second-item::),
3a140 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 6c ....-last-item.........(*note.-l
3a160 61 73 74 2d 69 74 65 6d 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 72 73 74 2d ast-item::).............(-first-
3a180 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))..................
3a1a0 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 6e 69 6c 29 0a 20 .1...........(-first-item.nil)..
3a1c0 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 20 20 28 .................nil...........(
3a1e0 6c 65 74 20 28 28 6c 69 73 74 20 28 6c 69 73 74 20 31 20 32 20 33 29 29 29 20 28 73 65 74 66 20 let.((list.(list.1.2.3))).(setf.
3a200 28 2d 66 69 72 73 74 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 (-first-item.list).5).list).....
3a220 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 20 32 20 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 ..............(5.2.3)...--.Funct
3a240 69 6f 6e 3a 20 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 ion:.-second-item.(list)......Re
3a260 74 75 72 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 turn.the.second.item.of.LIST,.or
3a280 20 6e 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 20 20 20 20 .nil.if.LIST.is.too.short.......
3a2a0 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 74 68 69 72 64 2d 69 74 65 6d e2 80 99 20 28 2a 6e .See.also:....-third-item....(*n
3a2c0 6f 74 65 20 2d 74 68 69 72 64 2d 69 74 65 6d 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 ote.-third-item::).............(
3a2e0 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 -second-item.'(1.2.3))..........
3a300 20 20 20 20 20 e2 87 92 20 32 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 63 6f 6e 64 2d 69 74 .........2...........(-second-it
3a320 65 6d 20 6e 69 6c 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 em.nil)...................nil...
3a340 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 68 69 72 64 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a --.Function:.-third-item.(list).
3a360 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 74 68 69 72 64 20 69 74 65 6d 20 6f 66 20 4c 49 .....Return.the.third.item.of.LI
3a380 53 54 2c 20 6f 72 20 6e 69 6c 20 69 66 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e ST,.or.nil.if.LIST.is.too.short.
3a3a0 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 68 2d 69 74 65 6d .......See.also:....-fourth-item
3a3c0 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 2e 0a 0a 20 20 20 ....(*note.-fourth-item::)......
3a3e0 20 20 20 20 20 20 20 28 2d 74 68 69 72 64 2d 69 74 65 6d 20 27 28 31 20 32 20 33 29 29 0a 20 20 .......(-third-item.'(1.2.3))...
3a400 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 33 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 68 ................3...........(-th
3a420 69 72 64 2d 69 74 65 6d 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 ird-item.nil)...................
3a440 6e 69 6c 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 nil...--.Function:.-fourth-item.
3a460 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
3a480 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 20 74 6f em.of.LIST,.or.nil.if.LIST.is.to
3a4a0 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 80 98 2d 66 69 66 o.short........See.also:....-fif
3a4c0 74 68 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 69 66 74 68 2d 69 74 65 6d 3a 3a 29 th-item....(*note.-fifth-item::)
3a4e0 2e 0a 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 32 .............(-fourth-item.'(1.2
3a500 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 34 0a 20 20 20 20 20 .3.4))...................4......
3a520 20 20 20 20 20 28 2d 66 6f 75 72 74 68 2d 69 74 65 6d 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 .....(-fourth-item.nil).........
3a540 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 66 69 ..........nil...--.Function:.-fi
3a560 66 74 68 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 fth-item.(list)......Return.the.
3a580 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 20 4c 49 fifth.item.of.LIST,.or.nil.if.LI
3a5a0 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 61 6c 73 6f 3a ST.is.too.short........See.also:
3a5c0 20 e2 80 98 2d 6c 61 73 74 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 61 73 74 2d 69 ....-last-item....(*note.-last-i
3a5e0 74 65 6d 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 66 74 68 2d 69 74 65 6d 20 tem::).............(-fifth-item.
3a600 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))...................
3a620 35 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 66 74 68 2d 69 74 65 6d 20 6e 69 6c 29 0a 20 20 5...........(-fifth-item.nil)...
3a640 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 6f ................nil...--.Functio
3a660 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 6e n:.-last-item.(list)......Return
3a680 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 6e 69 6c 20 6f .the.last.item.of.LIST,.or.nil.o
3a6a0 6e 20 61 6e 20 65 6d 70 74 79 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 61 n.an.empty.list.............(-la
3a6c0 73 74 2d 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 st-item.'(1.2.3))...............
3a6e0 e2 87 92 20 33 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 6e 69 6c 29 ....3...........(-last-item.nil)
3a700 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 20 ...................nil..........
3a720 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 29 29 20 28 73 65 74 .(let.((list.(list.1.2.3))).(set
3a740 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 73 74 29 0a 20 20 20 f.(-last-item.list).5).list)....
3a760 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 2d 2d 20 46 75 6e 63 ...............(1.2.5)...--.Func
3a780 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 20 20 52 65 74 75 72 tion:.-butlast.(list)......Retur
3a7a0 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 6c 69 73 74 20 65 78 n.a.list.of.all.items.in.list.ex
3a7c0 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 20 20 20 20 20 28 2d cept.for.the.last.............(-
3a7e0 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 20 20 20 20 20 20 20 butlast.'(1.2.3))...............
3a800 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 6c 61 73 74 20 27 28 ....(1.2)...........(-butlast.'(
3a820 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 29 0a 20 20 20 20 1.2))...................(1).....
3a840 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 20 20 20 20 20 20 20 ......(-butlast.'(1))...........
3a860 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 73 6f 72 74 ........nil...--.Function:.-sort
3a880 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 6f 72 74 20 4c 49 53 .(comparator.list)......Sort.LIS
3a8a0 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 65 6e 74 73 20 75 73 T,.stably,.comparing.elements.us
3a8c0 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 68 65 0a 20 20 20 20 ing.COMPARATOR...Return.the.....
3a8e0 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 54 20 6d 6f 64 69 66 .sorted.list...LIST.is.NOT.modif
3a900 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 50 41 52 41 54 4f 52 ied.by.side.effects...COMPARATOR
3a920 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 65 6c 65 6d 65 6e 74 .is......called.with.two.element
3a940 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 72 6e 20 6e 6f 6e s.of.LIST,.and.should.return.non
3a960 2d 6e 69 6c 20 69 66 20 74 68 65 0a 20 20 20 20 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 73 -nil.if.the......first.element.s
3a980 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 0a 0a 20 hould.sort.before.the.second....
3a9a0 20 20 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 27 3c 20 27 28 33 20 31 20 32 29 29 0a 20 20 20 .........(-sort.'<.'(3.1.2))....
3a9c0 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)..........
3a9e0 20 28 2d 73 6f 72 74 20 27 3e 20 27 28 33 20 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 .(-sort.'>.'(3.1.2))............
3aa00 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 2d 2d 73 6f 72 74 .......(3.2.1)...........(--sort
3aa20 20 28 3c 20 69 74 20 6f 74 68 65 72 29 20 27 28 33 20 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 .(<.it.other).'(3.1.2)).........
3aa40 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 6e 63 74 69 6f 6e 3a ..........(1.2.3)...--.Function:
3aa60 20 2d 6c 69 73 74 20 28 61 72 67 29 0a 20 20 20 20 20 45 6e 73 75 72 65 20 41 52 47 20 69 73 20 .-list.(arg)......Ensure.ARG.is.
3aa80 61 20 6c 69 73 74 2e 20 20 49 66 20 41 52 47 20 69 73 20 61 6c 72 65 61 64 79 20 61 20 6c 69 73 a.list...If.ARG.is.already.a.lis
3aaa0 74 2c 20 72 65 74 75 72 6e 20 69 74 20 61 73 20 69 73 0a 20 20 20 20 20 28 6e 6f 74 20 61 20 63 t,.return.it.as.is......(not.a.c
3aac0 6f 70 79 29 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 20 61 20 6e 65 77 20 6c opy)...Otherwise,.return.a.new.l
3aae0 69 73 74 20 77 69 74 68 20 41 52 47 20 61 73 20 69 74 73 20 6f 6e 6c 79 0a 20 20 20 20 20 65 6c ist.with.ARG.as.its.only......el
3ab00 65 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 41 6e 6f 74 68 65 72 20 73 75 70 70 6f 72 74 65 64 20 63 ement........Another.supported.c
3ab20 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 26 72 65 73 alling.convention.is.(-list.&res
3ab40 74 20 41 52 47 53 29 2e 20 20 49 6e 0a 20 20 20 20 20 74 68 69 73 20 63 61 73 65 2c 20 69 66 20 t.ARGS)...In......this.case,.if.
3ab60 41 52 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 ARG.is.not.a.list,.a.new.list.wi
3ab80 74 68 20 61 6c 6c 20 6f 66 20 41 52 47 53 20 61 73 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 20 th.all.of.ARGS.as......elements.
3aba0 69 73 20 72 65 74 75 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 is.returned...This.use.is.suppor
3abc0 74 65 64 20 66 6f 72 20 62 61 63 6b 77 61 72 64 0a 20 20 20 20 20 63 6f 6d 70 61 74 69 62 69 6c ted.for.backward......compatibil
3abe0 69 74 79 20 61 6e 64 20 69 73 20 6f 74 68 65 72 77 69 73 65 20 64 65 70 72 65 63 61 74 65 64 2e ity.and.is.otherwise.deprecated.
3ac00 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 69 73 74 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 ............(-list.1)...........
3ac20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 69 73 74 20 28 29 29 ........(1)...........(-list.())
3ac40 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 20 ...................()...........
3ac60 28 2d 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 20 e2 (-list.'(1.2.3))................
3ac80 87 92 20 28 31 20 32 20 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 69 78 20 28 ...(1.2.3)...--.Function:.-fix.(
3aca0 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 43 6f 6d 70 75 74 65 20 74 68 65 20 28 6c 65 61 73 74 fn.list)......Compute.the.(least
3acc0 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 61 6c 20 69 6e ).fixpoint.of.FN.with.initial.in
3ace0 70 75 74 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 46 4e 20 69 73 20 63 61 6c 6c 65 64 20 61 74 20 put.LIST........FN.is.called.at.
3ad00 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
3ad20 20 77 69 74 68 20 e2 80 98 65 71 75 61 6c e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d .with....equal................(-
3ad40 66 69 78 20 28 6c 61 6d 62 64 61 20 28 6c 29 20 28 2d 6e 6f 6e 2d 6e 69 6c 20 28 2d 2d 6d 61 70 fix.(lambda.(l).(-non-nil.(--map
3ad60 63 61 74 20 28 2d 73 70 6c 69 74 2d 61 74 20 28 2f 20 28 6c 65 6e 67 74 68 20 69 74 29 20 32 29 cat.(-split-at.(/.(length.it).2)
3ad80 20 69 74 29 20 6c 29 29 29 20 27 28 28 31 20 32 20 33 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 .it).l))).'((1.2.3)))...........
3ada0 20 20 20 20 e2 87 92 20 28 28 31 29 20 28 32 29 20 28 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 ........((1).(2).(3))...........
3adc0 28 6c 65 74 20 28 28 6c 20 27 28 28 73 74 61 72 77 61 72 73 20 73 63 69 66 69 29 20 28 6a 65 64 (let.((l.'((starwars.scifi).(jed
3ade0 69 20 73 74 61 72 77 61 72 73 20 77 61 72 72 69 6f 72 29 29 29 29 20 28 2d 2d 66 69 78 20 28 2d i.starwars.warrior)))).(--fix.(-
3ae00 75 6e 69 71 20 28 2d 2d 6d 61 70 63 61 74 20 28 63 6f 6e 73 20 69 74 20 28 63 64 72 20 28 61 73 uniq.(--mapcat.(cons.it.(cdr.(as
3ae20 73 71 20 69 74 20 6c 29 29 29 20 69 74 29 29 20 27 28 6a 65 64 69 20 62 6f 6f 6b 29 29 29 0a 20 sq.it.l))).it)).'(jedi.book)))..
3ae40 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6a 65 64 69 20 73 74 61 72 77 61 72 73 20 .................(jedi.starwars.
3ae60 77 61 72 72 69 6f 72 20 73 63 69 66 69 20 62 6f 6f 6b 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 warrior.scifi.book)....File:.doc
3ae80 4b 46 41 63 52 48 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 54 72 65 65 20 6f 70 65 72 61 74 69 KFAcRH.info,..Node:.Tree.operati
3aea0 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2c 20 20 50 ons,..Next:.Threading.macros,..P
3aec0 72 65 76 3a 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 55 70 3a rev:.Other.list.operations,..Up:
3aee0 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 31 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 .Functions..2.11.Tree.operations
3af00 0a 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 69 6f 6e 73 .====================..Functions
3af20 20 70 72 65 74 65 6e 64 69 6e 67 20 6c 69 73 74 73 20 61 72 65 20 74 72 65 65 73 2e 0a 0a 20 2d .pretending.lists.are.trees....-
3af40 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 2d 73 65 71 20 28 62 72 61 6e 63 68 20 63 68 -.Function:.-tree-seq.(branch.ch
3af60 69 6c 64 72 65 6e 20 74 72 65 65 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 73 65 71 75 65 ildren.tree)......Return.a.seque
3af80 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 69 6e 20 64 65 70 nce.of.the.nodes.in.TREE,.in.dep
3afa0 74 68 2d 66 69 72 73 74 20 73 65 61 72 63 68 0a 20 20 20 20 20 6f 72 64 65 72 2e 0a 0a 20 20 20 th-first.search......order......
3afc0 20 20 42 52 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 ..BRANCH.is.a.predicate.of.one.a
3afe0 72 67 75 6d 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 rgument.that.returns.non-nil.if.
3b000 74 68 65 0a 20 20 20 20 20 70 61 73 73 65 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 62 72 the......passed.argument.is.a.br
3b020 61 6e 63 68 2c 20 74 68 61 74 20 69 73 2c 20 61 20 6e 6f 64 65 20 74 68 61 74 20 63 61 6e 20 68 anch,.that.is,.a.node.that.can.h
3b040 61 76 65 0a 20 20 20 20 20 63 68 69 6c 64 72 65 6e 2e 0a 0a 20 20 20 20 20 43 48 49 4c 44 52 45 ave......children........CHILDRE
3b060 4e 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 74 20 N.is.a.function.of.one.argument.
3b080 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 63 68 69 6c 64 72 65 6e 20 6f 66 0a 20 20 20 that.returns.the.children.of....
3b0a0 20 20 74 68 65 20 70 61 73 73 65 64 20 62 72 61 6e 63 68 20 6e 6f 64 65 2e 0a 0a 20 20 20 20 20 ..the.passed.branch.node........
3b0c0 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 6f 70 69 Non-branch.nodes.are.simply.copi
3b0e0 65 64 2e 0a 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 ed.............(-tree-seq.'listp
3b100 20 27 69 64 65 6e 74 69 74 79 20 27 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 .'identity.'(1.(2.3).4.(5.(6.7))
3b120 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 28 32 20 33 29 20 34 ))...................((1.(2.3).4
3b140 20 28 35 20 28 36 20 37 29 29 29 20 31 20 28 32 20 33 29 20 32 20 33 20 34 20 28 35 20 28 36 20 .(5.(6.7))).1.(2.3).2.3.4.(5.(6.
3b160 37 29 29 20 35 20 28 36 20 37 29 20 36 20 37 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 7)).5.(6.7).6.7)...........(-tre
3b180 65 2d 73 65 71 20 27 6c 69 73 74 70 20 27 72 65 76 65 72 73 65 20 27 28 31 20 28 32 20 33 29 20 e-seq.'listp.'reverse.'(1.(2.3).
3b1a0 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 20 e2 87 92 20 4.(5.(6.7))))...................
3b1c0 28 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 20 28 35 20 28 36 20 37 29 29 ((1.(2.3).4.(5.(6.7))).(5.(6.7))
3b1e0 20 28 36 20 37 29 20 37 20 36 20 35 20 34 20 28 32 20 33 29 20 33 20 32 20 31 29 0a 20 20 20 20 .(6.7).7.6.5.4.(2.3).3.2.1).....
3b200 20 20 20 20 20 20 28 2d 2d 74 72 65 65 2d 73 65 71 20 28 76 65 63 74 6f 72 70 20 69 74 29 20 28 ......(--tree-seq.(vectorp.it).(
3b220 61 70 70 65 6e 64 20 69 74 20 6e 69 6c 29 20 5b 31 20 5b 32 20 33 5d 20 34 20 5b 35 20 5b 36 20 append.it.nil).[1.[2.3].4.[5.[6.
3b240 37 5d 5d 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 5b 31 20 5b 32 20 33 7]]])...................([1.[2.3
3b260 5d 20 34 20 5b 35 20 5b 36 20 37 5d 5d 5d 20 31 20 5b 32 20 33 5d 20 32 20 33 20 34 20 5b 35 20 ].4.[5.[6.7]]].1.[2.3].2.3.4.[5.
3b280 5b 36 20 37 5d 5d 20 35 20 5b 36 20 37 5d 20 36 20 37 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f [6.7]].5.[6.7].6.7)...--.Functio
3b2a0 6e 3a 20 2d 74 72 65 65 2d 6d 61 70 20 28 66 6e 20 74 72 65 65 29 0a 20 20 20 20 20 41 70 70 6c n:.-tree-map.(fn.tree)......Appl
3b2c0 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 20 77 68 69 y.FN.to.each.element.of.TREE.whi
3b2e0 6c 65 20 70 72 65 73 65 72 76 69 6e 67 20 74 68 65 20 74 72 65 65 0a 20 20 20 20 20 73 74 72 75 le.preserving.the.tree......stru
3b300 63 74 75 72 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 6d 61 70 20 27 31 2b cture.............(-tree-map.'1+
3b320 20 27 28 31 20 28 32 20 33 29 20 28 34 20 28 35 20 36 29 20 37 29 29 29 0a 20 20 20 20 20 20 20 .'(1.(2.3).(4.(5.6).7)))........
3b340 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 28 33 20 34 29 20 28 35 20 28 36 20 37 29 20 38 29 29 ...........(2.(3.4).(5.(6.7).8))
3b360 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 6d 61 70 20 27 28 6c 61 6d 62 64 61 20 28 ...........(-tree-map.'(lambda.(
3b380 78 29 20 28 63 6f 6e 73 20 78 20 28 65 78 70 74 20 32 20 78 29 29 29 20 27 28 31 20 28 32 20 33 x).(cons.x.(expt.2.x))).'(1.(2.3
3b3a0 29 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 2e 20 32 29 ).4))...................((1...2)
3b3c0 20 28 28 32 20 2e 20 34 29 20 28 33 20 2e 20 38 29 29 20 28 34 20 2e 20 31 36 29 29 0a 20 20 20 .((2...4).(3...8)).(4...16))....
3b3e0 20 20 20 20 20 20 20 28 2d 2d 74 72 65 65 2d 6d 61 70 20 28 6c 65 6e 67 74 68 20 69 74 29 20 27 .......(--tree-map.(length.it).'
3b400 28 22 3c 62 6f 64 79 3e 22 20 28 22 3c 70 3e 22 20 22 74 65 78 74 22 20 22 3c 2f 70 3e 22 29 20 ("<body>".("<p>"."text"."</p>").
3b420 22 3c 2f 62 6f 64 79 3e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 36 "</body>"))...................(6
3b440 20 28 33 20 34 20 34 29 20 37 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 .(3.4.4).7)...--.Function:.-tree
3b460 2d 6d 61 70 2d 6e 6f 64 65 73 20 28 70 72 65 64 20 66 75 6e 20 74 72 65 65 29 0a 20 20 20 20 20 -map-nodes.(pred.fun.tree)......
3b480 43 61 6c 6c 20 46 55 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 Call.FUN.on.each.node.of.TREE.th
3b4a0 61 74 20 73 61 74 69 73 66 69 65 73 20 50 52 45 44 2e 0a 0a 20 20 20 20 20 49 66 20 50 52 45 44 at.satisfies.PRED........If.PRED
3b4c0 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 63 6f 6e 74 69 6e 75 65 20 64 65 73 63 65 6e 64 69 6e .returns.nil,.continue.descendin
3b4e0 67 20 64 6f 77 6e 20 74 68 69 73 20 6e 6f 64 65 2e 20 20 49 66 20 50 52 45 44 0a 20 20 20 20 20 g.down.this.node...If.PRED......
3b500 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 61 70 70 6c 79 20 46 55 4e 20 74 6f 20 74 68 returns.non-nil,.apply.FUN.to.th
3b520 69 73 20 6e 6f 64 65 20 61 6e 64 20 64 6f 20 6e 6f 74 20 64 65 73 63 65 6e 64 20 66 75 72 74 68 is.node.and.do.not.descend.furth
3b540 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 20 er.............(-tree-map-nodes.
3b560 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 65 'vectorp.(lambda.(x).(-sum.(appe
3b580 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 5d nd.x.nil))).'(1.[2.3].4.(5.[6.7]
3b5a0 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 28 .8)))...................(1.5.4.(
3b5c0 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 6f 5.13.8))...........(-tree-map-no
3b5e0 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 6f des.'keywordp.(lambda.(x).(symbo
3b600 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 72 l-name.x)).'(1.:foo.4.((5.6.:bar
3b620 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 31 ).:baz.8)))...................(1
3b640 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 38 .":foo".4.((5.6.":bar").":baz".8
3b660 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 28 ))...........(--tree-map-nodes.(
3b680 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 6f eq.(car-safe.it).'add-mode).(-co
3b6a0 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 2d ncat.it.(list.:mode.'emacs-lisp-
3b6c0 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 6f mode)).'(with-mode.emacs-lisp-mo
3b6e0 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 7a de.(foo.bar).(add-mode.a.b).(baz
3b700 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 20 .(add-mode.c.d))))..............
3b720 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 20 .....(with-mode.emacs-lisp-mode.
3b740 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 6d (foo.bar).(add-mode.a.b.:mode.em
3b760 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 20 acs-lisp-mode).(baz.(add-mode.c.
3b780 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 20 d.:mode.emacs-lisp-mode)))...--.
3b7a0 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 29 Function:.-tree-reduce.(fn.tree)
3b7c0 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 20 ......Use.FN.to.reduce.elements.
3b7e0 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 52 of.list.TREE...If.elements.of.TR
3b800 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 70 EE.are......lists.themselves,.ap
3b820 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 0a ply.the.reduction.recursively...
3b840 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 73 .....FN.is.first.applied.to.firs
3b860 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 64 t.element.of.the.list.and.second
3b880 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 75 ......element,.then.on.this.resu
3b8a0 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 69 lt.and.third.element.from.the.li
3b8c0 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 80 st.etc........See....-reduce-r..
3b8e0 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 78 ..(*note.-reduce-r::).for.how.ex
3b900 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 20 actly.are.lists.of......zero.or.
3b920 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 20 one.element.handled.............
3b940 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 29 (-tree-reduce.'+.'(1.(2.3).(4.5)
3b960 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 20 ))...................15.........
3b980 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 6e ..(-tree-reduce.'concat.'("strin
3b9a0 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 6c gs".(".on".".various").((".level
3b9c0 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 67 s"))))..................."string
3b9e0 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 28 s.on.various.levels"...........(
3ba00 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 74 --tree-reduce.(cond.((stringp.it
3ba20 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 28 ).(concat.it.".".acc)).(t.(let.(
3ba40 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 22 (sn.(symbol-name.it))).(concat."
3ba60 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 28 <".sn.">".acc."</".sn.">")))).'(
3ba80 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 65 body.(p."some.words").(div."more
3baa0 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 20 ".(b."bold")."words"))).........
3bac0 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 2f .........."<body><p>some.words</
3bae0 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 2f p>.<div>more.<b>bold</b>.words</
3bb00 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 65 div></body>"...--.Function:.-tre
3bb20 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 65 e-reduce-from.(fn.init-value.tre
3bb40 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 74 e)......Use.FN.to.reduce.element
3bb60 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 20 s.of.list.TREE...If.elements.of.
3bb80 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 20 TREE.are......lists.themselves,.
3bba0 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 2e apply.the.reduction.recursively.
3bbc0 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 4e .......FN.is.first.applied.to.IN
3bbe0 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 68 IT-VALUE.and.first.element.of.th
3bc00 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 74 e.list,......then.on.this.result
3bc20 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 73 .and.second.element.from.the.lis
3bc40 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 69 t.etc........The.initial.value.i
3bc60 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 20 s.ignored.on.cons.pairs.as.they.
3bc80 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 73 always.contain......two.elements
3bca0 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 20 .............(-tree-reduce-from.
3bcc0 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 20 '+.1.'(1.(1.1).((1))))..........
3bce0 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 64 .........8...........(--tree-red
3bd00 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 29 uce-from.(-concat.acc.(list.it))
3bd20 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 20 .nil.'(1.(2.3.(4.5)).(6.7)))....
3bd40 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 32 ...............((7.6).((5.4).3.2
3bd60 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 64 ).1)...--.Function:.-tree-mapred
3bd80 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 20 uce.(fn.folder.tree)......Apply.
3bda0 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 20 FN.to.each.element.of.TREE,.and.
3bdc0 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 20 make.a.list.of.the.results......
3bde0 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 74 .If.elements.of.TREE.are.lists.t
3be00 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 20 hemselves,.apply.FN.recursively.
3be20 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 64 to......elements.of.these.nested
3be40 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 65 .lists........Then.reduce.the.re
3be60 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 69 sulting.lists.using.FOLDER.and.i
3be80 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 53 nitial.value......INIT-VALUE...S
3bea0 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 2d ee....-reduce-r-from....(*note.-
3bec0 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 20 reduce-r-from::)........This.is.
3bee0 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 64 the.same.as.calling....-tree-red
3bf00 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 20 uce....(*note.-tree-reduce::)...
3bf20 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 20 ...after....-tree-map....(*note.
3bf40 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 73 -tree-map::).but.is.twice.as.fas
3bf60 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 73 t.as.it......only.traverse.the.s
3bf80 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 65 tructure.once.............(-tree
3bfa0 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 20 -mapreduce.'list.'append.'(1.(2.
3bfc0 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 20 (3.4).(5.6)).(7.(8.9))))........
3bfe0 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 20 ...........(1.2.3.4.5.6.7.8.9)..
3c000 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 20 .........(--tree-mapreduce.1.(+.
3c020 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 28 it.acc).'(1.(2.(4.9).(2.1)).(7.(
3c040 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 20 4.3))))...................9.....
3c060 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 61 ......(--tree-mapreduce.0.(max.a
3c080 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 20 cc.(1+.it)).'(1.(2.(4.9).(2.1)).
3c0a0 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 0a (7.(4.3))))...................3.
3c0c0 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 66 ..--.Function:.-tree-mapreduce-f
3c0e0 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 0a rom.(fn.folder.init-value.tree).
3c100 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 66 .....Apply.FN.to.each.element.of
3c120 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 65 .TREE,.and.make.a.list.of.the.re
3c140 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 20 sults.......If.elements.of.TREE.
3c160 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 72 are.lists.themselves,.apply.FN.r
3c180 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 74 ecursively.to......elements.of.t
3c1a0 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 65 hese.nested.lists........Then.re
3c1c0 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 46 duce.the.resulting.lists.using.F
3c1e0 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 49 OLDER.and.initial.value......INI
3c200 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 e2 T-VALUE...See....-reduce-r-from.
3c220 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 20 ...(*note.-reduce-r-from::).....
3c240 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 e2 ...This.is.the.same.as.calling..
3c260 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 20 ..-tree-reduce-from....(*note...
3c280 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 80 ...-tree-reduce-from::).after...
3c2a0 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 3a .-tree-map....(*note.-tree-map::
3c2c0 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 69 ).but.is......twice.as.fast.as.i
3c2e0 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 6e t.only.traverse.the.structure.on
3c300 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 2d ce.............(-tree-mapreduce-
3c320 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 29 from.'identity.'*.1.'(1.(2.(3.4)
3c340 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 20 .(5.6)).(7.(8.9)))).............
3c360 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 6d ......362880...........(--tree-m
3c380 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 74 apreduce-from.(+.it.it).(cons.it
3c3a0 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 37 .acc).nil.'(1.(2.(4.9).(2.1)).(7
3c3c0 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 28 .(4.3))))...................(2.(
3c3e0 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 20 4.(8.18).(4.2)).(14.(8.6))).....
3c400 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 64 ......(concat."{".(--tree-mapred
3c420 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 29 uce-from.(cond.((-cons-pair?.it)
3c440 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 20 .(concat.(symbol-name.(car.it)).
3c460 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 20 ".->.".(symbol-name.(cdr.it)))).
3c480 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 20 (t.(concat.(symbol-name.it).".:.
3c4a0 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 71 {"))).(concat.it.(unless.(or.(eq
3c4c0 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 69 ual.acc."}").(equal.(substring.i
3c4e0 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 20 t.(1-.(length.it)))."{")).",.").
3c500 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 72 acc)."}".'((elisp-mode.(foo.(bar
3c520 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 20 ...booze)).(baz...qux)).(c-mode.
3c540 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 20 (foo...bla).(bum...bam))))).....
3c560 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 6f .............."{elisp-mode.:.{fo
3c580 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 2c o.:.{bar.->.booze},.baz.->.qux},
3c5a0 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 61 .c-mode.:.{foo.->.bla,.bum.->.ba
3c5c0 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 74 m}}"...--.Function:.-clone.(list
3c5e0 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 53 )......Create.a.deep.copy.of.LIS
3c600 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 6c T...The.new.list.has.the.same.el
3c620 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 6c ements.and......structure.but.al
3c640 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 65 l.cons.are.replaced.with.new.one
3c660 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 75 s...This.is.useful......when.you
3c680 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 20 .need.to.clone.a.structure.such.
3c6a0 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 6c as.plist.or.alist.............(l
3c6c0 65 74 2a 20 28 28 61 20 27 28 31 20 32 20 33 29 29 20 28 62 20 28 2d 63 6c 6f 6e 65 20 61 29 29 et*.((a.'(1.2.3)).(b.(-clone.a))
3c6e0 29 20 28 6e 72 65 76 65 72 73 65 20 61 29 20 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).(nreverse.a).b)...............
3c700 e2 87 92 20 28 31 20 32 20 33 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 ....(1.2.3)....File:.docKFAcRH.i
3c720 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 72 6f 73 2c 20 20 4e nfo,..Node:.Threading.macros,..N
3c740 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 20 6f 70 65 72 61 74 ext:.Binding,..Prev:.Tree.operat
3c760 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 32 20 54 68 72 65 61 ions,..Up:.Functions..2.12.Threa
3c780 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 3d 3d 3d 3d 3d 3d 3d ding.macros.====================
3c7a0 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 6c 6c 79 20 63 6f 6d =..Macros.that.conditionally.com
3c7c0 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 20 62 72 65 76 69 74 bine.sequential.forms.for.brevit
3c7e0 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 63 72 6f 3a 20 2d 3e y.or.readability....--.Macro:.->
3c800 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 6d 6f 72 65 29 0a 20 .(x.&optional.form.&rest.more)..
3c820 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 67 68 20 74 68 65 20 ....Thread.the.expr.through.the.
3c840 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 65 63 6f 6e 64 20 69 forms...Insert.X.as.the.second.i
3c860 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 6d 2c 20 6d 61 6b 69 tem.in......the.first.form,.maki
3c880 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 20 61 20 6c ng.a.list.of.it.if.it.is.not.a.l
3c8a0 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 65 20 61 72 65 20 6d ist.already.......If.there.are.m
3c8c0 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 72 6d ore.forms,.insert.the.first.form
3c8e0 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 69 6e 20 73 65 63 6f .as.the.second.item......in.seco
3c900 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 28 2d 3e 20 27 28 32 nd.form,.etc.............(->.'(2
3c920 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 28 32 20 33 20 35 29 .3.5))...................(2.3.5)
3c940 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 61 70 70 65 6e 64 20 ...........(->.'(2.3.5).(append.
3c960 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 87 92 20 28 32 20 33 '(8.13)))...................(2.3
3c980 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 32 20 33 20 35 29 20 .5.8.13)...........(->.'(2.3.5).
3c9a0 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 31 20 2d 31 29 29 0a (append.'(8.13)).(-slice.1.-1)).
3c9c0 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 0a 0a 20 2d 2d 20 4d ..................(3.5.8)...--.M
3c9e0 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 72 6d 20 26 72 65 73 acro:.->>.(x.&optional.form.&res
3ca00 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 78 70 72 20 74 68 72 t.more)......Thread.the.expr.thr
3ca20 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 20 61 73 20 74 68 65 ough.the.forms...Insert.X.as.the
3ca40 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 72 73 74 20 66 6f 72 .last.item.in......the.first.for
3ca60 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.
3ca80 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
3caa0 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
3cac0 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 69 6e 0a 20 20 20 20 st.form.as.the.last.item.in.....
3cae0 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 28 2d .second.form,.etc.............(-
3cb00 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 29 29 0a 20 20 20 20 >>.'(1.2.3).(-map.'square)).....
3cb20 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 20 20 20 20 20 20 20 ..............(1.4.9)...........
3cb40 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 29 20 28 2d 72 (->>.'(1.2.3).(-map.'square).(-r
3cb60 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 20 20 20 20 e2 87 92 emove.'even?))..................
3cb80 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 20 32 20 33 29 20 28 .(1.9)...........(->>.'(1.2.3).(
3cba0 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 29 29 0a 20 20 20 20 -map.'square).(-reduce.'+)).....
3cbc0 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 72 6f 3a 20 2d 2d 3e ..............14...--.Macro:.-->
3cbe0 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 72 74 69 6e 67 20 77 .(x.&rest.forms)......Starting.w
3cc00 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 64 20 65 61 63 68 20 ith.the.value.of.X,.thread.each.
3cc20 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 0a 0a 20 20 20 20 20 expression.through.FORMS........
3cc40 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 73 69 67 6e 69 66 69 Insert.X.at.the.position.signifi
3cc60 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 20 69 6e 20 74 68 65 ed.by.the.symbol....it....in.the
3cc80 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 72 65 20 61 72 65 20 .first......form...If.there.are.
3cca0 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 72 more.forms,.insert.the.first.for
3ccc0 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 67 6e 69 66 69 65 64 m.at.the......position.signified
3cce0 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 20 66 6f 72 6d 2c 20 .by....it....in.in.second.form,.
3cd00 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 22 20 28 63 6f 6e 63 etc.............(-->."def".(conc
3cd20 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 20 20 at."abc".it."ghi")).............
3cd40 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 2d 3e ......"abcdefghi"...........(-->
3cd60 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 67 68 69 22 29 20 28 ."def".(concat."abc".it."ghi").(
3cd80 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 20 e2 87 92 20 22 41 upcase.it))..................."A
3cda0 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 22 64 65 66 22 20 28 BCDEFGHI"...........(-->."def".(
3cdc0 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 63 61 73 65 29 0a 20 concat."abc".it."ghi").upcase)..
3cde0 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 48 49 22 0a 0a 20 2d ................."ABCDEFGHI"...-
3ce00 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 69 61 62 6c 65 20 26 -.Macro:.-as->.(value.variable.&
3ce20 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 20 77 69 74 68 20 56 rest.forms)......Starting.with.V
3ce40 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 6f 75 67 68 20 46 4f ALUE,.thread.VARIABLE.through.FO
3ce60 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 6f 72 6d 2c 20 62 69 RMS........In.the.first.form,.bi
3ce80 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 20 74 68 65 20 73 65 nd.VARIABLE.to.VALUE...In.the.se
3cea0 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 41 42 4c 45 20 74 6f cond.form,......bind.VARIABLE.to
3cec0 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 66 6f 72 6d 2c 20 61 .the.result.of.the.first.form,.a
3cee0 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 2d 61 73 2d 3e 20 33 nd.so.forth.............(-as->.3
3cf00 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 20 6d 79 2d 76 61 72 .my-var.(1+.my-var).(list.my-var
3cf20 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 2a 20 32 20 65 6c 65 ).(mapcar.(lambda.(ele).(*.2.ele
3cf40 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 20 e2 87 92 20 28 38 )).my-var))...................(8
3cf60 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 61 72 20 31 2b 29 0a )...........(-as->.3.my-var.1+).
3cf80 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 2d ..................4...........(-
3cfa0 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 20 20 20 20 e2 87 92 as->.3.my-var)..................
3cfc0 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 20 26 6f 70 74 69 6f .3...--.Macro:.-some->.(x.&optio
3cfe0 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 20 57 68 65 6e 20 65 nal.form.&rest.more)......When.e
3d000 78 70 72 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 20 69 74 20 74 68 72 6f 75 67 xpr.is.non-nil,.thread.it.throug
3d020 68 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 28 76 69 61 20 e2 80 98 2d 3e e2 80 99 0a 20 h.the.first.form.(via....->.....
3d040 20 20 20 20 28 2a 6e 6f 74 65 20 2d 3e 3a 3a 29 29 2c 20 61 6e 64 20 77 68 65 6e 20 74 68 61 74 ....(*note.->::)),.and.when.that
3d060 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 65 20 .result.is.non-nil,.through.the.
3d080 6e 65 78 74 0a 20 20 20 20 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 next......form,.etc.............
3d0a0 28 2d 73 6f 6d 65 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 (-some->.'(2.3.5))..............
3d0c0 20 e2 87 92 20 28 32 20 33 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d 3e 20 .....(2.3.5)...........(-some->.
3d0e0 35 20 73 71 75 61 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 35 0a 20 5.square)...................25..
3d100 20 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d 3e 20 35 20 65 76 65 6e 3f 20 73 71 75 61 72 65 .........(-some->.5.even?.square
3d120 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 4d 61 63 )...................nil...--.Mac
3d140 72 6f 3a 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 6d 20 26 ro:.-some->>.(x.&optional.form.&
3d160 72 65 73 74 20 6d 6f 72 65 29 0a 20 20 20 20 20 57 68 65 6e 20 65 78 70 72 20 69 73 20 6e 6f 6e rest.more)......When.expr.is.non
3d180 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 73 -nil,.thread.it.through.the.firs
3d1a0 74 20 66 6f 72 6d 20 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 t.form.(via....->>.........(*not
3d1c0 65 20 2d 3e 3e 3a 3a 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 e.->>::)),.and.when.that.result.
3d1e0 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 74 0a 20 20 20 is.non-nil,.through.the.next....
3d200 20 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 ..form,.etc.............(-some->
3d220 3e 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 >.'(1.2.3).(-map.'square))......
3d240 20 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 .............(1.4.9)...........(
3d260 2d 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 -some->>.'(1.3.5).(-last.'even?)
3d280 20 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 .(+.100))...................nil.
3d2a0 20 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 ..........(-some->>.'(2.4.6).(-l
3d2c0 61 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 ast.'even?).(+.100))............
3d2e0 20 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 .......106...--.Macro:.-some-->.
3d300 28 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 (expr.&rest.forms)......Thread.E
3d320 58 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 XPR.through.FORMS.via....-->....
3d340 28 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 (*note.-->::),.while.the.result.
3d360 20 20 20 20 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 20 20 57 68 65 6e 20 45 58 50 52 20 65 76 61 6c .....is.non-nil...When.EXPR.eval
3d380 75 61 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 uates.to.non-nil,.thread.the.res
3d3a0 75 6c 74 0a 20 20 20 20 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 69 72 73 74 20 6f 66 20 46 4f ult......through.the.first.of.FO
3d3c0 52 4d 53 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 RMS,.and.when.that.result.is.non
3d3e0 2d 6e 69 6c 2c 20 74 68 72 65 61 64 0a 20 20 20 20 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 -nil,.thread......it.through.the
3d400 20 6e 65 78 74 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 .next.form,.etc.............(-so
3d420 6d 65 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 67 68 me-->."def".(concat."abc".it."gh
3d440 69 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 61 62 63 64 65 66 67 68 i"))..................."abcdefgh
3d460 69 22 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d 2d 3e 20 6e 69 6c 20 28 63 6f 6e 63 i"...........(-some-->.nil.(conc
3d480 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 20 20 at."abc".it."ghi")).............
3d4a0 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 6d 65 2d 2d 3e 20 27 28 ......nil...........(-some-->.'(
3d4c0 30 20 31 29 20 28 2d 72 65 6d 6f 76 65 20 23 27 6e 61 74 6e 75 6d 70 20 69 74 29 20 28 61 70 70 0.1).(-remove.#'natnump.it).(app
3d4e0 65 6e 64 20 69 74 20 69 74 29 20 28 2d 6d 61 70 20 23 27 31 2b 20 69 74 29 29 0a 20 20 20 20 20 end.it.it).(-map.#'1+.it))......
3d500 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 64 6f 74 .............()...--.Macro:.-dot
3d520 6f 20 28 69 6e 69 74 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 20 20 20 45 76 61 6c 75 61 o.(init.&rest.forms)......Evalua
3d540 74 65 20 49 4e 49 54 20 61 6e 64 20 70 61 73 73 20 69 74 20 61 73 20 61 72 67 75 6d 65 6e 74 20 te.INIT.and.pass.it.as.argument.
3d560 74 6f 20 46 4f 52 4d 53 20 77 69 74 68 20 e2 80 98 2d 3e e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 to.FORMS.with....->....(*note...
3d580 20 20 20 2d 3e 3a 3a 29 2e 20 20 54 68 65 20 52 45 53 55 4c 54 20 6f 66 20 65 76 61 6c 75 61 74 ...->::)...The.RESULT.of.evaluat
3d5a0 69 6e 67 20 49 4e 49 54 20 69 73 20 74 68 72 65 61 64 65 64 20 74 68 72 6f 75 67 68 20 65 61 63 ing.INIT.is.threaded.through.eac
3d5c0 68 20 6f 66 0a 20 20 20 20 20 46 4f 52 4d 53 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 75 73 69 h.of......FORMS.individually.usi
3d5e0 6e 67 20 e2 80 98 2d 3e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 3e 3a 3a 29 2c 20 77 68 69 63 68 20 ng....->....(*note.->::),.which.
3d600 73 65 65 2e 20 20 54 68 65 20 72 65 74 75 72 6e 0a 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 52 see...The.return......value.is.R
3d620 45 53 55 4c 54 2c 20 77 68 69 63 68 20 46 4f 52 4d 53 20 6d 61 79 20 68 61 76 65 20 6d 6f 64 69 ESULT,.which.FORMS.may.have.modi
3d640 66 69 65 64 20 62 79 20 73 69 64 65 20 65 66 66 65 63 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 fied.by.side.effect.............
3d660 28 2d 64 6f 74 6f 20 28 6c 69 73 74 20 31 20 32 20 33 29 20 70 6f 70 20 70 6f 70 29 0a 20 20 20 (-doto.(list.1.2.3).pop.pop)....
3d680 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 ...............(3)...........(-d
3d6a0 6f 74 6f 20 28 63 6f 6e 73 20 31 20 32 29 20 28 73 65 74 63 61 72 20 33 29 20 28 73 65 74 63 64 oto.(cons.1.2).(setcar.3).(setcd
3d6c0 72 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 2e 20 34 29 0a r.4))...................(3...4).
3d6e0 20 20 20 20 20 20 20 20 20 20 28 67 65 74 68 61 73 68 20 27 6b 20 28 2d 2d 64 6f 74 6f 20 28 6d ..........(gethash.'k.(--doto.(m
3d700 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 29 20 28 70 75 74 68 61 73 68 20 27 6b 20 27 76 20 69 ake-hash-table).(puthash.'k.'v.i
3d720 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 76 0a 0a 1f 0a 46 69 6c 65 t)))...................v....File
3d740 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 42 69 6e 64 69 6e 67 :.docKFAcRH.info,..Node:.Binding
3d760 2c 20 20 4e 65 78 74 3a 20 53 69 64 65 20 65 66 66 65 63 74 73 2c 20 20 50 72 65 76 3a 20 54 68 ,..Next:.Side.effects,..Prev:.Th
3d780 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a reading.macros,..Up:.Functions..
3d7a0 32 2e 31 33 20 42 69 6e 64 69 6e 67 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 4d 61 63 72 6f 2.13.Binding.============..Macro
3d7c0 73 20 74 68 61 74 20 63 6f 6d 62 69 6e 65 20 e2 80 98 6c 65 74 e2 80 99 20 61 6e 64 20 e2 80 98 s.that.combine....let....and....
3d7e0 6c 65 74 2a e2 80 99 20 77 69 74 68 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 61 6e 64 20 66 let*....with.destructuring.and.f
3d800 6c 6f 77 0a 63 6f 6e 74 72 6f 6c 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 77 68 65 6e 2d 6c low.control....--.Macro:.-when-l
3d820 65 74 20 28 28 76 61 72 20 76 61 6c 29 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 20 20 20 49 et.((var.val).&rest.body)......I
3d840 66 20 56 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 f.VAL.evaluates.to.non-nil,.bind
3d860 20 69 74 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 20 20 .it.to.VAR.and.execute.body.....
3d880 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 63 63 6f 72 64 69 ...Note:.binding.is.done.accordi
3d8a0 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 65 74 3a 3a 29 2e ng.to....-let....(*note.-let::).
3d8c0 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 77 68 65 6e 2d 6c 65 74 20 28 6d 61 74 63 68 2d 69 6e ............(-when-let.(match-in
3d8e0 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 64 22 29 29 20 28 dex.(string-match."d"."abcd")).(
3d900 2b 20 6d 61 74 63 68 2d 69 6e 64 65 78 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 +.match-index.2))...............
3d920 e2 87 92 20 35 0a 20 20 20 20 20 20 20 20 20 20 28 2d 77 68 65 6e 2d 6c 65 74 20 28 28 26 70 6c ....5...........(-when-let.((&pl
3d940 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 29 20 28 6c 69 73 74 20 3a 66 6f 6f 20 22 66 6f 6f 22 29 29 ist.:foo.foo).(list.:foo."foo"))
3d960 20 66 6f 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 66 6f 6f 22 0a 20 20 .foo)..................."foo"...
3d980 20 20 20 20 20 20 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 ........(-when-let.((&plist.:foo
3d9a0 20 66 6f 6f 29 20 28 6c 69 73 74 20 3a 62 61 72 20 22 62 61 72 22 29 29 20 66 6f 6f 29 0a 20 20 .foo).(list.:bar."bar")).foo)...
3d9c0 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 6f 3a 20 ................nil...--.Macro:.
3d9e0 2d 77 68 65 6e 2d 6c 65 74 2a 20 28 76 61 72 73 2d 76 61 6c 73 20 26 72 65 73 74 20 62 6f 64 79 -when-let*.(vars-vals.&rest.body
3da00 29 0a 20 20 20 20 20 49 66 20 61 6c 6c 20 56 41 4c 53 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 )......If.all.VALS.evaluate.to.t
3da20 72 75 65 2c 20 62 69 6e 64 20 74 68 65 6d 20 74 6f 20 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f rue,.bind.them.to.their.correspo
3da40 6e 64 69 6e 67 20 56 41 52 53 0a 20 20 20 20 20 61 6e 64 20 65 78 65 63 75 74 65 20 62 6f 64 79 nding.VARS......and.execute.body
3da60 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 6f 66 ...VARS-VALS.should.be.a.list.of
3da80 20 28 56 41 52 20 56 41 4c 29 20 70 61 69 72 73 2e 0a 0a 20 20 20 20 20 4e 6f 74 65 3a 20 62 69 .(VAR.VAL).pairs........Note:.bi
3daa0 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 e2 80 98 2d 6c nding.is.done.according.to....-l
3dac0 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 56 41 4c 53 0a 20 20 et*....(*note.-let*::)...VALS...
3dae0 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 61 6c 6c 79 2c 20 61 ...are.evaluated.sequentially,.a
3db00 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 65 20 66 69 nd.evaluation.stops.after.the.fi
3db20 72 73 74 0a 20 20 20 20 20 6e 69 6c 20 56 41 4c 20 69 73 20 65 6e 63 6f 75 6e 74 65 72 65 64 2e rst......nil.VAL.is.encountered.
3db40 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 77 68 65 6e 2d 6c 65 74 2a 20 28 28 78 20 35 29 20 28 ............(-when-let*.((x.5).(
3db60 79 20 33 29 20 28 7a 20 28 2b 20 79 20 34 29 29 29 20 28 2b 20 78 20 79 20 7a 29 29 0a 20 20 20 y.3).(z.(+.y.4))).(+.x.y.z))....
3db80 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 20 20 20 28 2d 77 68 ...............15...........(-wh
3dba0 65 6e 2d 6c 65 74 2a 20 28 28 78 20 35 29 20 28 79 20 6e 69 6c 29 20 28 7a 20 37 29 29 20 28 2b en-let*.((x.5).(y.nil).(z.7)).(+
3dbc0 20 78 20 79 20 7a 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 .x.y.z))...................nil..
3dbe0 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 69 66 2d 6c 65 74 20 28 28 76 61 72 20 76 61 6c 29 20 74 68 .--.Macro:.-if-let.((var.val).th
3dc00 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 0a 20 20 20 20 20 49 66 20 56 41 4c 20 65 76 61 6c 75 en.&rest.else)......If.VAL.evalu
3dc20 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 6f 20 56 41 52 20 ates.to.non-nil,.bind.it.to.VAR.
3dc40 61 6e 64 20 64 6f 20 54 48 45 4e 2c 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 64 6f 20 45 and.do.THEN,.otherwise......do.E
3dc60 4c 53 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 LSE........Note:.binding.is.done
3dc80 20 61 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 .according.to....-let....(*note.
3dca0 2d 6c 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 -let::).............(-if-let.(ma
3dcc0 74 63 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 tch-index.(string-match."d"."abc
3dce0 22 29 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 ")).(+.match-index.3).7)........
3dd00 20 20 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 ...........7...........(--if-let
3dd20 20 28 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 .(even?.4).it.nil)..............
3dd40 20 e2 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 .....t...--.Macro:.-if-let*.(var
3dd60 73 2d 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 s-vals.then.&rest.else)......If.
3dd80 61 6c 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 all.VALS.evaluate.to.true,.bind.
3dda0 74 68 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 them.to.their.corresponding.VARS
3ddc0 0a 20 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 ......and.do.THEN,.otherwise.do.
3dde0 45 4c 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 ELSE...VARS-VALS.should.be.a.lis
3de00 74 20 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 t.of.(VAR......VAL).pairs.......
3de20 20 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 6f 72 64 69 6e 67 .Note:.binding.is.done.according
3de40 20 74 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 .to....-let*....(*note.-let*::).
3de60 20 20 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 ..VALS......are.evaluated.sequen
3de80 74 69 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 tially,.and.evaluation.stops.aft
3dea0 65 72 20 74 68 65 20 66 69 72 73 74 0a 20 20 20 20 20 6e 69 6c 20 56 41 4c 20 69 73 20 65 6e 63 er.the.first......nil.VAL.is.enc
3dec0 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 74 2a 20 28 ountered.............(-if-let*.(
3dee0 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 20 22 66 6f (x.5).(y.3).(z.7)).(+.x.y.z)."fo
3df00 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 20 20 20 20 o")...................15........
3df20 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 28 7a 20 37 ...(-if-let*.((x.5).(y.nil).(z.7
3df40 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 20 20 20 20 )).(+.x.y.z)."foo").............
3df60 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 65 74 2a 20 ......"foo"...........(-if-let*.
3df80 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 20 20 20 20 (((_._.x).'(nil.nil.7))).x).....
3dfa0 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 2d 6c 65 74 ..............7...--.Macro:.-let
3dfc0 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 69 6e 64 20 .(varlist.&rest.body)......Bind.
3dfe0 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 53 54 20 74 variables.according.to.VARLIST.t
3e000 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 20 69 73 20 hen.eval.BODY........VARLIST.is.
3e020 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 28 50 41 54 a.list.of.lists.of.the.form.(PAT
3e040 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 54 45 52 4e TERN.SOURCE)...Each......PATTERN
3e060 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 43 45 20 22 .is.matched.against.the.SOURCE."
3e080 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 20 20 20 6f structurally"...SOURCE.is......o
3e0a0 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 50 41 54 54 nly.evaluated.once.for.each.PATT
3e0c0 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 64 0a 20 20 ERN...Each.PATTERN.is.matched...
3e0e0 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 65 66 6f 72 ...recursively,.and.can.therefor
3e100 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 20 61 72 65 e.contain.sub-patterns.which.are
3e120 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 70 6f 6e 64 ......matched.against.correspond
3e140 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 2e 0a 0a ing.sub-expressions.of.SOURCE...
3e160 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 6c 6c 65 64 .....All.the.SOURCEs.are.evalled
3e180 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 64 20 28 69 .before.any.symbols.are.bound.(i
3e1a0 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 20 20 20 20 .e..."in......parallel")........
3e1c0 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 20 28 50 41 If.VARLIST.only.contains.one.(PA
3e1e0 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 61 6e 0a 20 TTERN.SOURCE).element,.you.can..
3e200 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 69 6e 67 20 ....optionally.specify.it.using.
3e220 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 6f 75 74 65 a.vector.and.discarding.the.oute
3e240 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 20 20 20 20 r-most......parens...Thus.......
3e260 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 29 0a 0a 20 (-let.((PATTERN.SOURCE))....)...
3e280 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 54 45 52 4e ....becomes.......(-let.[PATTERN
3e2a0 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 e2 80 99 20 .SOURCE]....)...........-let....
3e2c0 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 74 69 6f 6e (*note.-let::).uses.a.convention
3e2e0 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 28 73 79 6d .of.not.binding.places......(sym
3e300 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 65 72 20 69 bols).starting.with._.whenever.i
3e320 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 20 74 68 69 t...s.possible...You.can.use.thi
3e340 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 79 6f 75 20 s......to.skip.over.entries.you.
3e360 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 2c 20 74 68 don...t.care.about...However,.th
3e380 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 69 62 6c 65 is.is.not......*always*.possible
3e3a0 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 69 6f 6e 29 .(as.a.result.of.implementation)
3e3c0 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 74 20 67 65 .and.these.symbols......might.ge
3e3e0 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 0a 0a 20 20 t.bound.to.undefined.values.....
3e400 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 20 6f 66 20 ...Following.is.the.overview.of.
3e420 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 72 20 74 68 supported.patterns...Remember.th
3e440 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 68 65 64 20 at......patterns.can.be.matched.
3e460 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 61 4b 20 69 recursively,.so.every.a,.b,.aK.i
3e480 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 61 20 6d 61 n.the......following.can.be.a.ma
3e4a0 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 61 tching.construct.and.not.necessa
3e4c0 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 0a 0a 20 20 rily.a......symbol/variable.....
3e4e0 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 65 20 53 4f ...Symbol:.......a.-.bind.the.SO
3e500 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 65 20 72 65 URCE.to.A...This.is.just.like.re
3e520 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 73 20 61 6e gular....let...........Conses.an
3e540 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 98 63 61 72 d.lists:.......(a).-.bind....car
3e560 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 28 61 20 2e ....of.cons/list.to.A.......(a..
3e580 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 20 61 6e 64 ..b).-.bind.car.of.cons.to.A.and
3e5a0 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 2d 20 62 69 ....cdr....to.B.......(a.b).-.bi
3e5c0 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 61 64 72 e2 nd.car.of.list.to.A.and....cadr.
3e5e0 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 20 2d 20 62 ...to.B.......(a1.a2.a3....).-.b
3e600 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 73 74 20 74 ind.0th.car.of.list.to.A1,.1st.t
3e620 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 20 20 28 61 o.A2,.2nd.to......A3..........(a
3e640 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 20 61 62 6f 1.a2.a3.....aN....rest).-.as.abo
3e660 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 52 45 53 54 ve,.but.bind.the.Nth.cdr.to.REST
3e680 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 20 62 69 6e ........Vectors:.......[a].-.bin
3e6a0 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 75 d.0th.element.of.a.non-list.sequ
3e6c0 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 65 63 74 6f ence.to.A.(works.with......vecto
3e6e0 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 0a 20 20 20 rs,.strings,.bit.arrays...).....
3e700 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 6d ..[a1.a2.a3....].-.bind.0th.elem
3e720 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 20 ent.of.non-list.sequence.to.A0,.
3e740 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 2e 2e 20 20 1st......to.A1,.2nd.to.A2,......
3e760 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 53 If.the.PATTERN.is.shorter.than.S
3e780 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 61 63 65 73 OURCE,.the......values.at.places
3e7a0 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 20 20 49 66 .not.in.PATTERN.are.ignored...If
3e7c0 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 74 68 61 6e .the.PATTERN.is......longer.than
3e7e0 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 68 72 6f 77 .SOURCE,.an....error....is.throw
3e800 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 20 72 65 73 n........[a1.a2.a3.....&rest.res
3e820 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 72 65 73 74 t].-.as.above,.but.bind.the.rest
3e840 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 54 2e 20 20 .of.the......sequence.to.REST...
3e860 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 65 20 61 73 This.is.conceptually.the.same.as
3e880 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 20 28 61 31 .improper.list......matching.(a1
3e8a0 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 79 2f 76 61 .a2.....aN....rest).......Key/va
3e8c0 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 79 30 20 61 lue.stores:.......(&plist.key0.a
3e8e0 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 6d 61 70 70 0.....keyN.aN).-.bind.value.mapp
3e900 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 45 20 70 6c ed.by.keyK.in.the......SOURCE.pl
3e920 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 6f 74 20 66 ist.to.aK..If.the.value.is.not.f
3e940 6f 75 6e 64 2c 20 61 4b 20 69 73 20 6e 69 6c 2e 20 20 55 73 65 73 0a 20 20 20 20 20 e2 80 98 70 ound,.aK.is.nil...Uses.........p
3e960 6c 69 73 74 2d 67 65 74 e2 80 99 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e 0a 0a 20 20 list-get....to.fetch.values.....
3e980 20 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 20 ...(&alist.key0.a0.....keyN.aN).
3e9a0 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 74 -.bind.value.mapped.by.keyK.in.t
3e9c0 68 65 0a 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 49 66 20 74 he......SOURCE.alist.to.aK..If.t
3e9e0 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 6e 69 6c he.value.is.not.found,.aK.is.nil
3ea00 2e 20 20 55 73 65 73 0a 20 20 20 20 20 e2 80 98 61 73 73 6f 63 e2 80 99 20 74 6f 20 66 65 74 63 ...Uses.........assoc....to.fetc
3ea20 68 20 76 61 6c 75 65 73 2e 0a 0a 20 20 20 20 20 28 26 68 61 73 68 20 6b 65 79 30 20 61 30 20 2e h.values........(&hash.key0.a0..
3ea40 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 6d 61 70 70 65 64 20 ...keyN.aN).-.bind.value.mapped.
3ea60 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 45 20 68 61 73 68 20 by.keyK.in.the......SOURCE.hash.
3ea80 74 61 62 6c 65 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 6f 74 table.to.aK..If.the.value.is.not
3eaa0 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 6e 69 6c 2e 0a 20 20 20 20 20 55 73 65 73 20 e2 80 98 .found,.aK.is.nil.......Uses....
3eac0 67 65 74 68 61 73 68 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 gethash....to.fetch.values......
3eae0 20 20 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 73 ..Further,.special.keyword.&keys
3eb00 20 73 75 70 70 6f 72 74 73 20 22 69 6e 6c 69 6e 65 22 20 6d 61 74 63 68 69 6e 67 20 6f 66 0a 20 .supports."inline".matching.of..
3eb20 20 20 20 20 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 ....plist-like.key-value.pairs,.
3eb40 73 69 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 20 20 similarly.to.&keys.keyword.of...
3eb60 20 20 20 e2 80 98 63 6c 2d 64 65 66 75 6e e2 80 99 2e 0a 0a 20 20 20 20 20 28 61 31 20 61 32 20 ......cl-defun...........(a1.a2.
3eb80 2e 2e 2e 20 61 4e 20 26 6b 65 79 73 20 6b 65 79 31 20 62 31 20 2e 2e 2e 20 6b 65 79 4e 20 62 4b ....aN.&keys.key1.b1.....keyN.bK
3eba0 29 0a 0a 20 20 20 20 20 54 68 69 73 20 62 69 6e 64 73 20 4e 20 76 61 6c 75 65 73 20 66 72 6f 6d ).......This.binds.N.values.from
3ebc0 20 74 68 65 20 6c 69 73 74 20 74 6f 20 61 31 20 2e 2e 2e 20 61 4e 2c 20 74 68 65 6e 20 69 6e 74 .the.list.to.a1.....aN,.then.int
3ebe0 65 72 70 72 65 74 73 20 74 68 65 0a 20 20 20 20 20 63 64 72 20 61 73 20 61 20 70 6c 69 73 74 20 erprets.the......cdr.as.a.plist.
3ec00 28 73 65 65 20 6b 65 79 2f 76 61 6c 75 65 20 6d 61 74 63 68 69 6e 67 20 61 62 6f 76 65 29 2e 0a (see.key/value.matching.above)..
3ec20 0a 20 20 20 20 20 41 20 73 68 6f 72 74 68 61 6e 64 20 6e 6f 74 61 74 69 6f 6e 20 66 6f 72 20 6b ......A.shorthand.notation.for.k
3ec40 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 61 6c 6c v-destructuring.exists.which.all
3ec60 6f 77 73 20 74 68 65 0a 20 20 20 20 20 70 61 74 74 65 72 6e 73 20 62 65 20 6f 70 74 69 6f 6e 61 ows.the......patterns.be.optiona
3ec80 6c 6c 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 lly.left.out.and.derived.from.th
3eca0 65 20 6b 65 79 20 6e 61 6d 65 20 69 6e 0a 20 20 20 20 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 e.key.name.in......the.following
3ecc0 20 66 61 73 68 69 6f 6e 3a 0a 0a 20 20 20 20 20 2d 20 61 20 6b 65 79 20 3a 66 6f 6f 20 69 73 20 .fashion:.......-.a.key.:foo.is.
3ece0 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 e2 80 98 66 6f 6f e2 80 99 20 70 61 74 74 65 72 6e converted.into....foo....pattern
3ed00 2c 20 2d 20 61 20 6b 65 79 20 e2 80 99 62 61 72 20 69 73 0a 20 20 20 20 20 63 6f 6e 76 65 72 74 ,.-.a.key....bar.is......convert
3ed20 65 64 20 69 6e 74 6f 20 e2 80 98 62 61 72 e2 80 99 20 70 61 74 74 65 72 6e 2c 20 2d 20 61 20 6b ed.into....bar....pattern,.-.a.k
3ed40 65 79 20 22 62 61 7a 22 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 e2 80 98 62 61 ey."baz".is.converted.into....ba
3ed60 7a e2 80 99 0a 20 20 20 20 20 70 61 74 74 65 72 6e 2e 0a 0a 20 20 20 20 20 54 68 61 74 20 69 73 z.........pattern........That.is
3ed80 2c 20 74 68 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 ,.the.entire.value.under.the.key
3eda0 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 64 65 72 69 76 65 64 0a 20 20 20 20 20 76 61 .is.bound.to.the.derived......va
3edc0 72 69 61 62 6c 65 20 77 69 74 68 6f 75 74 20 61 6e 79 20 66 75 72 74 68 65 72 20 64 65 73 74 72 riable.without.any.further.destr
3ede0 75 63 74 75 72 69 6e 67 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 70 6f 73 73 69 62 6c 65 ucturing........This.is.possible
3ee00 20 6f 6e 6c 79 20 77 68 65 6e 20 74 68 65 20 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 .only.when.the.form.following.th
3ee20 65 20 6b 65 79 20 69 73 20 6e 6f 74 20 61 0a 20 20 20 20 20 76 61 6c 69 64 20 70 61 74 74 65 72 e.key.is.not.a......valid.patter
3ee40 6e 20 28 69 2e 65 2e 20 20 6e 6f 74 20 61 20 73 79 6d 62 6f 6c 2c 20 61 20 63 6f 6e 73 20 63 65 n.(i.e...not.a.symbol,.a.cons.ce
3ee60 6c 6c 20 6f 72 20 61 20 76 65 63 74 6f 72 29 2e 0a 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 20 ll.or.a.vector).......Otherwise.
3ee80 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 75 73 75 61 6c 20 61 the.matching.proceeds.as.usual.a
3eea0 6e 64 20 69 6e 20 63 61 73 65 20 6f 66 20 61 6e 20 69 6e 76 61 6c 69 64 0a 20 20 20 20 20 73 70 nd.in.case.of.an.invalid......sp
3eec0 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 20 20 20 20 20 54 68 ec.fails.with.an.error........Th
3eee0 75 73 20 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 us.the.patterns.are.normalized.a
3ef00 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 20 20 20 20 20 3b 3b 20 64 65 72 69 76 65 20 61 6c 6c 20 74 s.follows:.......;;.derive.all.t
3ef20 68 65 20 6d 69 73 73 69 6e 67 20 70 61 74 74 65 72 6e 73 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f he.missing.patterns.(&plist.:foo
3ef40 20 e2 80 99 62 61 72 20 22 62 61 7a 22 29 20 3d 3e 0a 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a ....bar."baz").=>......(&plist.:
3ef60 66 6f 6f 20 66 6f 6f 20 e2 80 99 62 61 72 20 62 61 72 20 22 62 61 7a 22 20 62 61 7a 29 0a 0a 20 foo.foo....bar.bar."baz".baz)...
3ef80 20 20 20 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 ....;;.we.can.specify.some.but.n
3efa0 6f 74 20 6f 74 68 65 72 73 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 e2 80 99 62 61 72 0a 20 20 ot.others.(&plist.:foo....bar...
3efc0 20 20 20 65 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 ...explicit-bar).=>.(&plist.:foo
3efe0 20 66 6f 6f 20 e2 80 99 62 61 72 20 65 78 70 6c 69 63 69 74 2d 62 61 72 29 0a 0a 20 20 20 20 20 .foo....bar.explicit-bar).......
3f000 3b 3b 20 6e 6f 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 ;;.nothing.happens,.we.store.:fo
3f020 6f 20 69 6e 20 78 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 o.in.x.(&plist.:foo.x).=>.(&plis
3f040 74 0a 20 20 20 20 20 3a 66 6f 6f 20 78 29 0a 0a 20 20 20 20 20 3b 3b 20 6e 6f 74 68 69 6e 67 20 t......:foo.x).......;;.nothing.
3f060 68 61 70 70 65 6e 73 2c 20 77 65 20 6d 61 74 63 68 20 72 65 63 75 72 73 69 76 65 6c 79 20 28 26 happens,.we.match.recursively.(&
3f080 70 6c 69 73 74 20 3a 66 6f 6f 20 28 61 20 62 20 63 29 29 20 3d 3e 0a 20 20 20 20 20 28 26 70 6c plist.:foo.(a.b.c)).=>......(&pl
3f0a0 69 73 74 20 3a 66 6f 6f 20 28 61 20 62 20 63 29 29 0a 0a 20 20 20 20 20 59 6f 75 20 63 61 6e 20 ist.:foo.(a.b.c)).......You.can.
3f0c0 6e 61 6d 65 20 74 68 65 20 73 6f 75 72 63 65 20 75 73 69 6e 67 20 74 68 65 20 73 79 6e 74 61 78 name.the.source.using.the.syntax
3f0e0 20 53 59 4d 42 4f 4c 20 26 61 73 20 50 41 54 54 45 52 4e 2e 20 20 54 68 69 73 0a 20 20 20 20 20 .SYMBOL.&as.PATTERN...This......
3f100 73 79 6e 74 61 78 20 77 6f 72 6b 73 20 77 69 74 68 20 6c 69 73 74 73 20 28 70 72 6f 70 65 72 20 syntax.works.with.lists.(proper.
3f120 6f 72 20 69 6d 70 72 6f 70 65 72 29 2c 20 76 65 63 74 6f 72 73 20 61 6e 64 20 61 6c 6c 20 74 79 or.improper),.vectors.and.all.ty
3f140 70 65 73 0a 20 20 20 20 20 6f 66 20 6d 61 70 73 2e 0a 0a 20 20 20 20 20 28 6c 69 73 74 20 26 61 pes......of.maps........(list.&a
3f160 73 20 61 20 62 20 63 29 20 28 6c 69 73 74 20 31 20 32 20 33 29 0a 0a 20 20 20 20 20 62 69 6e 64 s.a.b.c).(list.1.2.3).......bind
3f180 73 20 41 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 s.A.to.1,.B.to.2,.C.to.3.and.LIS
3f1a0 54 20 74 6f 20 28 31 20 32 20 33 29 2e 0a 0a 20 20 20 20 20 53 69 6d 69 6c 61 72 6c 79 3a 0a 0a T.to.(1.2.3)........Similarly:..
3f1c0 20 20 20 20 20 28 62 6f 75 6e 64 73 20 26 61 73 20 62 65 67 20 2e 20 20 65 6e 64 29 20 28 63 6f .....(bounds.&as.beg....end).(co
3f1e0 6e 73 20 31 20 32 29 0a 0a 20 20 20 20 20 62 69 6e 64 73 20 42 45 47 20 74 6f 20 31 2c 20 45 4e ns.1.2).......binds.BEG.to.1,.EN
3f200 44 20 74 6f 20 32 20 61 6e 64 20 42 4f 55 4e 44 53 20 74 6f 20 28 31 20 2e 20 20 32 29 2e 0a 0a D.to.2.and.BOUNDS.to.(1....2)...
3f220 20 20 20 20 20 28 69 74 65 6d 73 20 26 61 73 20 66 69 72 73 74 20 2e 20 20 72 65 73 74 29 20 28 .....(items.&as.first....rest).(
3f240 6c 69 73 74 20 31 20 32 20 33 29 0a 0a 20 20 20 20 20 62 69 6e 64 73 20 46 49 52 53 54 20 74 6f list.1.2.3).......binds.FIRST.to
3f260 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 20 74 6f 20 28 .1,.REST.to.(2.3).and.ITEMS.to.(
3f280 31 20 32 20 33 29 0a 0a 20 20 20 20 20 5b 76 65 63 74 20 26 61 73 20 5f 20 62 20 63 5d 20 5b 31 1.2.3).......[vect.&as._.b.c].[1
3f2a0 20 32 20 33 5d 0a 0a 20 20 20 20 20 62 69 6e 64 73 20 42 20 74 6f 20 32 2c 20 43 20 74 6f 20 33 .2.3].......binds.B.to.2,.C.to.3
3f2c0 20 61 6e 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 .and.VECT.to.[1.2.3].(_.avoids.b
3f2e0 69 6e 64 69 6e 67 20 61 73 0a 20 20 20 20 20 75 73 75 61 6c 29 2e 0a 0a 20 20 20 20 20 28 70 6c inding.as......usual)........(pl
3f300 69 73 74 20 26 61 73 20 26 70 6c 69 73 74 20 3a 62 20 62 29 20 28 6c 69 73 74 20 3a 61 20 31 20 ist.&as.&plist.:b.b).(list.:a.1.
3f320 3a 62 20 32 20 3a 63 20 33 29 0a 0a 20 20 20 20 20 62 69 6e 64 73 20 42 20 74 6f 20 32 20 61 6e :b.2.:c.3).......binds.B.to.2.an
3f340 64 20 50 4c 49 53 54 20 74 6f 20 28 3a 61 20 31 20 3a 62 20 32 20 3a 63 20 33 29 2e 20 20 53 61 d.PLIST.to.(:a.1.:b.2.:c.3)...Sa
3f360 6d 65 20 66 6f 72 20 26 61 6c 69 73 74 20 61 6e 64 0a 20 20 20 20 20 26 68 61 73 68 2e 0a 0a 20 me.for.&alist.and......&hash....
3f380 20 20 20 20 54 68 69 73 20 69 73 20 65 73 70 65 63 69 61 6c 6c 79 20 75 73 65 66 75 6c 20 77 68 ....This.is.especially.useful.wh
3f3a0 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 72 65 73 75 6c 74 en.we.want.to.capture.the.result
3f3c0 20 6f 66 20 61 0a 20 20 20 20 20 63 6f 6d 70 75 74 61 74 69 6f 6e 20 61 6e 64 20 64 65 73 74 72 .of.a......computation.and.destr
3f3e0 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 64 ucture.at.the.same.time...Consid
3f400 65 72 20 74 68 65 20 66 6f 72 6d 0a 20 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 2d 72 65 74 75 72 er.the.form......(function-retur
3f420 6e 69 6e 67 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 ning-complex-structure).returnin
3f440 67 20 61 20 6c 69 73 74 20 6f 66 20 74 77 6f 0a 20 20 20 20 20 76 65 63 74 6f 72 73 20 77 69 74 g.a.list.of.two......vectors.wit
3f460 68 20 74 77 6f 20 69 74 65 6d 73 20 65 61 63 68 2e 20 20 57 65 20 77 61 6e 74 20 74 6f 20 63 61 h.two.items.each...We.want.to.ca
3f480 70 74 75 72 65 20 74 68 69 73 20 65 6e 74 69 72 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 61 6e pture.this.entire.result......an
3f4a0 64 20 70 61 73 73 20 69 74 20 74 6f 20 61 6e 6f 74 68 65 72 20 63 6f 6d 70 75 74 61 74 69 6f 6e d.pass.it.to.another.computation
3f4c0 2c 20 62 75 74 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 20 77 65 20 77 61 6e 74 20 74 ,.but.at.the.same.time.we.want.t
3f4e0 6f 0a 20 20 20 20 20 67 65 74 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 20 66 72 6f 6d 20 o......get.the.second.item.from.
3f500 65 61 63 68 20 76 65 63 74 6f 72 2e 20 20 57 65 20 63 61 6e 20 61 63 68 69 65 76 65 20 69 74 20 each.vector...We.can.achieve.it.
3f520 77 69 74 68 0a 20 20 20 20 20 70 61 74 74 65 72 6e 0a 0a 20 20 20 20 20 28 72 65 73 75 6c 74 20 with......pattern.......(result.
3f540 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 72 65 74 75 72 &as.[_.a].[_.b]).(function-retur
3f560 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 20 20 20 20 20 4e 6f ning-complex-structure).......No
3f580 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
3f5a0 20 74 68 69 73 20 66 65 61 74 75 72 65 20 61 73 20 74 68 65 20 22 3a 61 73 0a 20 20 20 20 20 62 .this.feature.as.the.":as......b
3f5c0 69 6e 64 69 6e 67 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 inding"...The.difference.is.that
3f5e0 20 77 65 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 20 20 20 .we.put.the.&as.at.the.front....
3f600 20 20 62 65 63 61 75 73 65 20 77 65 20 6e 65 65 64 20 74 6f 20 73 75 70 70 6f 72 74 20 69 6d 70 ..because.we.need.to.support.imp
3f620 72 6f 70 65 72 20 6c 69 73 74 20 62 69 6e 64 69 6e 67 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 roper.list.binding.............(
3f640 2d 6c 65 74 20 28 28 5b 61 20 28 62 20 63 29 20 64 5d 20 5b 31 20 28 32 20 33 29 20 34 5d 29 29 -let.(([a.(b.c).d].[1.(2.3).4]))
3f660 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 20 20 20 20 20 20 e2 .(list.a.b.c.d))................
3f680 87 92 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 20 5b 28 61 ...(1.2.3.4)...........(-let.[(a
3f6a0 20 62 20 63 20 2e 20 64 29 20 28 6c 69 73 74 20 31 20 32 20 33 20 34 20 35 20 36 29 5d 20 28 6c .b.c...d).(list.1.2.3.4.5.6)].(l
3f6c0 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 20 ist.a.b.c.d))...................
3f6e0 28 31 20 32 20 33 20 28 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74 20 (1.2.3.(4.5.6))...........(-let.
3f700 5b 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 3a 62 61 72 20 62 61 72 29 20 28 6c 69 73 [(&plist.:foo.foo.:bar.bar).(lis
3f720 74 20 3a 62 61 7a 20 33 20 3a 66 6f 6f 20 31 20 3a 71 75 78 20 34 20 3a 62 61 72 20 32 29 5d 20 t.:baz.3.:foo.1.:qux.4.:bar.2)].
3f740 28 6c 69 73 74 20 66 6f 6f 20 62 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 (list.foo.bar)).................
3f760 92 20 28 31 20 32 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 6c 65 74 2a 20 28 76 61 72 6c 69 ..(1.2)...--.Macro:.-let*.(varli
3f780 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 20 20 20 42 69 6e 64 20 76 61 72 69 61 62 6c st.&rest.body)......Bind.variabl
3f7a0 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 61 es.according.to.VARLIST.then.eva
3f7c0 6c 20 42 4f 44 59 2e 0a 0a 20 20 20 20 20 56 41 52 4c 49 53 54 20 69 73 20 61 20 6c 69 73 74 20 l.BODY........VARLIST.is.a.list.
3f7e0 6f 66 20 6c 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 of.lists.of.the.form.(PATTERN.SO
3f800 55 52 43 45 29 2e 20 20 45 61 63 68 0a 20 20 20 20 20 50 41 54 54 45 52 4e 20 69 73 20 6d 61 74 URCE)...Each......PATTERN.is.mat
3f820 63 68 65 64 20 61 67 61 69 6e 73 74 20 74 68 65 20 53 4f 55 52 43 45 20 73 74 72 75 63 74 75 72 ched.against.the.SOURCE.structur
3f840 61 6c 6c 79 2e 20 20 53 4f 55 52 43 45 20 69 73 20 6f 6e 6c 79 0a 20 20 20 20 20 65 76 61 6c 75 ally...SOURCE.is.only......evalu
3f860 61 74 65 64 20 6f 6e 63 65 20 66 6f 72 20 65 61 63 68 20 50 41 54 54 45 52 4e 2e 0a 0a 20 20 20 ated.once.for.each.PATTERN......
3f880 20 20 45 61 63 68 20 53 4f 55 52 43 45 20 63 61 6e 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 73 ..Each.SOURCE.can.refer.to.the.s
3f8a0 79 6d 62 6f 6c 73 20 61 6c 72 65 61 64 79 20 62 6f 75 6e 64 20 62 79 20 74 68 69 73 20 56 41 52 ymbols.already.bound.by.this.VAR
3f8c0 4c 49 53 54 2e 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 69 66 20 79 6f 75 LIST.......This.is.useful.if.you
3f8e0 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 45 20 72 65 63 75 .want.to.destructure.SOURCE.recu
3f900 72 73 69 76 65 6c 79 20 62 75 74 0a 20 20 20 20 20 61 6c 73 6f 20 77 61 6e 74 20 74 6f 20 6e 61 rsively.but......also.want.to.na
3f920 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 0a me.the.intermediate.structures..
3f940 0a 20 20 20 20 20 53 65 65 20 e2 80 98 2d 6c 65 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 ......See....-let....(*note.-let
3f960 3a 3a 29 20 66 6f 72 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 ::).for.the.list.of.all.possible
3f980 20 70 61 74 74 65 72 6e 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74 2a 20 28 28 28 .patterns.............(-let*.(((
3f9a0 61 20 2e 20 62 29 20 28 63 6f 6e 73 20 31 20 32 29 29 20 28 28 63 20 2e 20 64 29 20 28 63 6f 6e a...b).(cons.1.2)).((c...d).(con
3f9c0 73 20 33 20 34 29 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 s.3.4))).(list.a.b.c.d))........
3f9e0 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 20 20 28 ...........(1.2.3.4)...........(
3fa00 2d 6c 65 74 2a 20 28 28 28 61 20 2e 20 62 29 20 28 63 6f 6e 73 20 31 20 28 63 6f 6e 73 20 32 20 -let*.(((a...b).(cons.1.(cons.2.
3fa20 33 29 29 29 20 28 28 63 20 2e 20 64 29 20 62 29 29 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 3))).((c...d).b)).(list.a.b.c.d)
3fa40 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 28 32 20 2e 20 33 29 20 32 )...................(1.(2...3).2
3fa60 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 65 74 2a 20 28 28 28 26 61 6c 69 73 74 20 22 .3)...........(-let*.(((&alist."
3fa80 66 6f 6f 22 20 66 6f 6f 20 22 62 61 72 22 20 62 61 72 29 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 foo".foo."bar".bar).(list.(cons.
3faa0 22 66 6f 6f 22 20 31 29 20 28 63 6f 6e 73 20 22 62 61 72 22 20 28 6c 69 73 74 20 27 61 20 27 62 "foo".1).(cons."bar".(list.'a.'b
3fac0 20 27 63 29 29 29 29 20 28 28 61 20 62 20 63 29 20 62 61 72 29 29 20 28 6c 69 73 74 20 66 6f 6f .'c)))).((a.b.c).bar)).(list.foo
3fae0 20 61 20 62 20 63 20 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 .a.b.c.bar))...................(
3fb00 31 20 61 20 62 20 63 20 28 61 20 62 20 63 29 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 6c 61 1.a.b.c.(a.b.c))...--.Macro:.-la
3fb20 6d 62 64 61 20 28 6d 61 74 63 68 2d 66 6f 72 6d 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 20 mbda.(match-form.&rest.body)....
3fb40 20 20 52 65 74 75 72 6e 20 61 20 6c 61 6d 62 64 61 20 77 68 69 63 68 20 64 65 73 74 72 75 63 74 ..Return.a.lambda.which.destruct
3fb60 75 72 65 73 20 69 74 73 20 69 6e 70 75 74 20 61 73 20 4d 41 54 43 48 2d 46 4f 52 4d 20 61 6e 64 ures.its.input.as.MATCH-FORM.and
3fb80 0a 20 20 20 20 20 65 78 65 63 75 74 65 73 20 42 4f 44 59 2e 0a 0a 20 20 20 20 20 4e 6f 74 65 20 ......executes.BODY........Note.
3fba0 74 68 61 74 20 79 6f 75 20 68 61 76 65 20 74 6f 20 65 6e 63 6c 6f 73 65 20 74 68 65 20 4d 41 54 that.you.have.to.enclose.the.MAT
3fbc0 43 48 2d 46 4f 52 4d 20 69 6e 20 61 20 70 61 69 72 20 6f 66 20 70 61 72 65 6e 73 2c 0a 20 20 20 CH-FORM.in.a.pair.of.parens,....
3fbe0 20 20 73 75 63 68 20 74 68 61 74 3a 0a 0a 20 20 20 20 20 28 2d 6c 61 6d 62 64 61 20 28 78 29 20 ..such.that:.......(-lambda.(x).
3fc00 62 6f 64 79 29 20 28 2d 6c 61 6d 62 64 61 20 28 78 20 79 20 2e 2e 2e 29 20 62 6f 64 79 29 0a 0a body).(-lambda.(x.y....).body)..
3fc20 20 20 20 20 20 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 .....has.the.usual.semantics.of.
3fc40 e2 80 98 6c 61 6d 62 64 61 e2 80 99 2e 20 20 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 74 68 65 73 ...lambda......Furthermore,.thes
3fc60 65 20 67 65 74 0a 20 20 20 20 20 74 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 6e 6f 72 6d 61 e.get......translated.into.norma
3fc80 6c 20 e2 80 98 6c 61 6d 62 64 61 e2 80 99 2c 20 73 6f 20 74 68 65 72 65 20 69 73 20 6e 6f 20 70 l....lambda...,.so.there.is.no.p
3fca0 65 72 66 6f 72 6d 61 6e 63 65 0a 20 20 20 20 20 70 65 6e 61 6c 74 79 2e 0a 0a 20 20 20 20 20 53 erformance......penalty........S
3fcc0 65 65 20 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 ee....-let....(*note.-let::).for
3fce0 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 64 65 73 74 72 75 63 74 75 72 .a.description.of.the.destructur
3fd00 69 6e 67 0a 20 20 20 20 20 6d 65 63 68 61 6e 69 73 6d 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 ing......mechanism.............(
3fd20 2d 6d 61 70 20 28 2d 6c 61 6d 62 64 61 20 28 28 78 20 79 29 29 20 28 2b 20 78 20 79 29 29 20 27 -map.(-lambda.((x.y)).(+.x.y)).'
3fd40 28 28 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 ((1.2).(3.4).(5.6)))............
3fd60 20 20 20 e2 87 92 20 28 33 20 37 20 31 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 .......(3.7.11)...........(-map.
3fd80 28 2d 6c 61 6d 62 64 61 20 28 5b 78 20 79 5d 29 20 28 2b 20 78 20 79 29 29 20 27 28 5b 31 20 32 (-lambda.([x.y]).(+.x.y)).'([1.2
3fda0 5d 20 5b 33 20 34 5d 20 5b 35 20 36 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 ].[3.4].[5.6])).................
3fdc0 92 20 28 33 20 37 20 31 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d ..(3.7.11)...........(funcall.(-
3fde0 6c 61 6d 62 64 61 20 28 28 5f 20 2e 20 61 29 20 28 5f 20 2e 20 62 29 29 20 28 2d 63 6f 6e 63 61 lambda.((_...a).(_...b)).(-conca
3fe00 74 20 61 20 62 29 29 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 t.a.b)).'(1.2.3).'(4.5.6))......
3fe20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 33 20 35 20 36 29 0a 0a 20 2d 2d 20 4d 61 63 72 .............(2.3.5.6)...--.Macr
3fe40 6f 3a 20 2d 73 65 74 71 20 28 5b 6d 61 74 63 68 2d 66 6f 72 6d 20 76 61 6c 5d 20 2e 2e 2e 29 0a o:.-setq.([match-form.val]....).
3fe60 20 20 20 20 20 42 69 6e 64 20 65 61 63 68 20 4d 41 54 43 48 2d 46 4f 52 4d 20 74 6f 20 74 68 65 .....Bind.each.MATCH-FORM.to.the
3fe80 20 76 61 6c 75 65 20 6f 66 20 69 74 73 20 56 41 4c 2e 0a 0a 20 20 20 20 20 4d 41 54 43 48 2d 46 .value.of.its.VAL........MATCH-F
3fea0 4f 52 4d 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 ORM.destructuring.is.done.accord
3fec0 69 6e 67 20 74 6f 20 74 68 65 20 72 75 6c 65 73 20 6f 66 20 e2 80 98 2d 6c 65 74 e2 80 99 0a 20 ing.to.the.rules.of....-let.....
3fee0 20 20 20 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 6d ....(*note.-let::)........This.m
3ff00 61 63 72 6f 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 62 69 6e 64 20 6d 75 6c 74 69 70 6c 65 acro.allows.you.to.bind.multiple
3ff20 20 76 61 72 69 61 62 6c 65 73 20 62 79 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 0a 20 20 20 20 .variables.by.destructuring.....
3ff40 20 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 3a 0a 0a 20 20 20 .the.value,.so.for.example:.....
3ff60 20 20 28 2d 73 65 74 71 20 28 61 20 62 29 20 78 20 28 26 70 6c 69 73 74 20 3a 63 20 63 29 20 70 ..(-setq.(a.b).x.(&plist.:c.c).p
3ff80 6c 69 73 74 29 0a 0a 20 20 20 20 20 65 78 70 61 6e 64 73 20 72 6f 75 67 68 6c 79 20 73 70 65 61 list).......expands.roughly.spea
3ffa0 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 65 0a 0a 20 20 20 20 king.to.the.following.code......
3ffc0 20 28 73 65 74 71 20 61 20 28 63 61 72 20 78 29 20 62 20 28 63 61 64 72 20 78 29 20 63 20 28 70 .(setq.a.(car.x).b.(cadr.x).c.(p
3ffe0 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 3a 63 29 29 0a 0a 20 20 20 20 20 43 61 72 65 20 69 list-get.plist.:c)).......Care.i
40000 73 20 74 61 6b 65 6e 20 74 6f 20 6f 6e 6c 79 20 65 76 61 6c 75 61 74 65 20 65 61 63 68 20 56 41 s.taken.to.only.evaluate.each.VA
40020 4c 20 6f 6e 63 65 20 73 6f 20 74 68 61 74 20 69 6e 20 63 61 73 65 20 6f 66 0a 20 20 20 20 20 6d L.once.so.that.in.case.of......m
40040 75 6c 74 69 70 6c 65 20 61 73 73 69 67 6e 6d 65 6e 74 73 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 ultiple.assignments.it.does.not.
40060 63 61 75 73 65 20 75 6e 65 78 70 65 63 74 65 64 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a cause.unexpected.side.effects...
40080 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 61 29 20 28 2d 73 65 74 71 20 61 20 31 29 20 61 ..........(let.(a).(-setq.a.1).a
400a0 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 20 20 20 20 20 )...................1...........
400c0 28 6c 65 74 20 28 61 20 62 29 20 28 2d 73 65 74 71 20 28 61 20 62 29 20 28 6c 69 73 74 20 31 20 (let.(a.b).(-setq.(a.b).(list.1.
400e0 32 29 29 20 28 6c 69 73 74 20 61 20 62 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 2)).(list.a.b)).................
40100 92 20 28 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 63 29 20 28 2d 73 65 74 ..(1.2)...........(let.(c).(-set
40120 71 20 28 26 70 6c 69 73 74 20 3a 63 20 63 29 20 28 6c 69 73 74 20 3a 63 20 22 63 22 29 29 20 63 q.(&plist.:c.c).(list.:c."c")).c
40140 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 63 22 0a 0a 1f 0a 46 69 6c 65 3a )..................."c"....File:
40160 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 53 69 64 65 20 65 66 66 .docKFAcRH.info,..Node:.Side.eff
40180 65 63 74 73 2c 20 20 4e 65 78 74 3a 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 ects,..Next:.Destructive.operati
401a0 6f 6e 73 2c 20 20 50 72 65 76 3a 20 42 69 6e 64 69 6e 67 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 ons,..Prev:.Binding,..Up:.Functi
401c0 6f 6e 73 0a 0a 32 2e 31 34 20 53 69 64 65 20 65 66 66 65 63 74 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d ons..2.14.Side.effects.=========
401e0 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 69 74 65 72 61 74 69 6e 67 20 6f 76 ========..Functions.iterating.ov
40200 65 72 20 6c 69 73 74 73 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 20 6f 6e 6c 79 2e 0a 0a er.lists.for.side.effect.only...
40220 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 61 63 68 20 28 6c 69 73 74 20 66 6e 29 0a 20 20 .--.Function:.-each.(list.fn)...
40240 20 20 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 ...Call.FN.on.each.element.of.LI
40260 53 54 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 ST...Return.nil;.this.function.i
40280 73 0a 20 20 20 20 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 73 s......intended.for.side.effects
402a0 2e 0a 0a 20 20 20 20 20 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 ........Its.anaphoric.counterpar
402c0 74 20 69 73 20 e2 80 98 2d 2d 65 61 63 68 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 61 63 63 t.is....--each...........For.acc
402e0 65 73 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 e2 80 99 73 20 69 ess.to.the.current.element...s.i
40300 6e 64 65 78 20 69 6e 20 4c 49 53 54 2c 20 73 65 65 0a 20 20 20 20 20 e2 80 98 2d 65 61 63 68 2d ndex.in.LIST,.see.........-each-
40320 69 6e 64 65 78 65 64 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 3a indexed....(*note.-each-indexed:
40340 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 20 27 :).............(let.(l).(-each.'
40360 28 31 20 32 20 33 29 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 (1.2.3).(lambda.(x).(push.x.l)))
40380 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 31 29 0a 20 20 .l)...................(3.2.1)...
403a0 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 20 27 28 31 20 32 20 33 ........(let.(l).(--each.'(1.2.3
403c0 29 20 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 ).(push.it.l)).l)...............
403e0 e2 87 92 20 28 33 20 32 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 61 63 68 20 27 28 31 ....(3.2.1)...........(-each.'(1
40400 20 32 20 33 29 20 23 27 69 64 65 6e 74 69 74 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .2.3).#'identity)...............
40420 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 61 63 68 2d 77 68 69 ....nil...--.Function:.-each-whi
40440 6c 65 20 28 6c 69 73 74 20 70 72 65 64 20 66 6e 29 0a 20 20 20 20 20 43 61 6c 6c 20 46 4e 20 6f le.(list.pred.fn)......Call.FN.o
40460 6e 20 65 61 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 n.each.ITEM.in.LIST,.while.(PRED
40480 20 49 54 45 4d 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 20 20 4f 6e 63 65 0a 20 20 20 20 20 61 6e .ITEM).is.non-nil...Once......an
404a0 20 49 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 .ITEM.is.reached.for.which.PRED.
404c0 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 46 4e 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 0a 20 20 20 returns.nil,.FN.is.no.longer....
404e0 20 20 63 61 6c 6c 65 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 ..called...Return.nil;.this.func
40500 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
40520 73 2e 0a 0a 20 20 20 20 20 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 s........Its.anaphoric.counterpa
40540 72 74 20 69 73 20 e2 80 98 2d 2d 65 61 63 68 2d 77 68 69 6c 65 e2 80 99 2e 0a 0a 20 20 20 20 20 rt.is....--each-while...........
40560 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 77 68 69 6c 65 20 27 28 32 20 34 .....(let.(l).(-each-while.'(2.4
40580 20 35 20 36 29 20 23 27 65 76 65 6e 3f 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 70 75 73 68 20 .5.6).#'even?.(lambda.(x).(push.
405a0 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 34 20 32 x.l))).l)...................(4.2
405c0 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 68 2d 77 68 69 )...........(let.(l).(--each-whi
405e0 6c 65 20 27 28 31 20 32 20 33 20 34 29 20 28 3c 20 69 74 20 33 29 20 28 70 75 73 68 20 69 74 20 le.'(1.2.3.4).(<.it.3).(push.it.
40600 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 32 20 31 29 0a 20 l)).l)...................(2.1)..
40620 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 20 30 29 29 20 28 2d 2d 65 61 63 68 2d 77 68 .........(let.((s.0)).(--each-wh
40640 69 6c 65 20 27 28 31 20 33 20 34 20 35 29 20 28 3c 20 69 74 20 35 29 20 28 73 65 74 71 20 73 20 ile.'(1.3.4.5).(<.it.5).(setq.s.
40660 28 2b 20 73 20 69 74 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 (+.s.it))).s)...................
40680 38 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 28 8...--.Function:.-each-indexed.(
406a0 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 61 63 68 20 69 6e list.fn)......Call.FN.on.each.in
406c0 64 65 78 20 61 6e 64 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 20 20 46 6f 72 20 65 61 dex.and.element.of.LIST...For.ea
406e0 63 68 20 49 54 45 4d 20 61 74 20 49 4e 44 45 58 0a 20 20 20 20 20 69 6e 20 4c 49 53 54 2c 20 63 ch.ITEM.at.INDEX......in.LIST,.c
40700 61 6c 6c 20 28 66 75 6e 63 61 6c 6c 20 46 4e 20 49 4e 44 45 58 20 49 54 45 4d 29 2e 20 20 52 65 all.(funcall.FN.INDEX.ITEM)...Re
40720 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 69 73 20 turn.nil;.this.function......is.
40740 69 6e 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 intended.for.side.effects.......
40760 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 6d 61 70 2d 69 6e 64 65 78 65 64 e2 80 99 20 28 2a .See.also:....-map-indexed....(*
40780 6e 6f 74 65 20 2d 6d 61 70 2d 69 6e 64 65 78 65 64 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 note.-map-indexed::)............
407a0 20 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 27 28 61 20 62 20 63 .(let.(l).(-each-indexed.'(a.b.c
407c0 29 20 28 6c 61 6d 62 64 61 20 28 69 20 78 29 20 28 70 75 73 68 20 28 6c 69 73 74 20 78 20 69 29 ).(lambda.(i.x).(push.(list.x.i)
407e0 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 28 63 20 32 .l))).l)...................((c.2
40800 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 6c ).(b.1).(a.0))...........(let.(l
40820 29 20 28 2d 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 27 28 61 20 62 20 63 29 20 28 70 75 73 68 ).(--each-indexed.'(a.b.c).(push
40840 20 28 6c 69 73 74 20 69 74 20 69 74 2d 69 6e 64 65 78 29 20 6c 29 29 20 6c 29 0a 20 20 20 20 20 .(list.it.it-index).l)).l)......
40860 20 20 20 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 .............((c.2).(b.1).(a.0))
40880 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 68 2d 69 6e 64 65 ...........(let.(l).(--each-inde
408a0 78 65 64 20 28 29 20 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 xed.().(push.it.l)).l)..........
408c0 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 2d 65 61 63 68 .........()...--.Function:.-each
408e0 2d 72 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 61 63 -r.(list.fn)......Call.FN.on.eac
40900 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 69 6e 20 72 65 76 65 72 73 65 64 20 6f 72 h.element.of.LIST.in.reversed.or
40920 64 65 72 2e 20 20 52 65 74 75 72 6e 20 6e 69 6c 3b 0a 20 20 20 20 20 74 68 69 73 20 66 75 6e 63 der...Return.nil;......this.func
40940 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
40960 73 2e 0a 0a 20 20 20 20 20 49 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 s........Its.anaphoric.counterpa
40980 72 74 20 69 73 20 e2 80 98 2d 2d 65 61 63 68 2d 72 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 rt.is....--each-r...............
409a0 20 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 72 20 27 28 31 20 32 20 33 29 20 28 6c 61 6d .(let.(l).(-each-r.'(1.2.3).(lam
409c0 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 20 20 20 bda.(x).(push.x.l))).l).........
409e0 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 6c 65 74 ..........(1.2.3)...........(let
40a00 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 72 20 27 28 31 20 32 20 33 29 20 28 70 75 73 68 20 69 74 .(l).(--each-r.'(1.2.3).(push.it
40a20 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 31 20 32 20 33 .l)).l)...................(1.2.3
40a40 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 61 63 68 2d 72 20 27 28 31 20 32 20 33 29 20 23 27 )...........(-each-r.'(1.2.3).#'
40a60 69 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 identity)...................nil.
40a80 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 28 6c 69 ..--.Function:.-each-r-while.(li
40aa0 73 74 20 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 st.pred.fn)......Call.FN.on.each
40ac0 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 50 .ITEM.in.reversed.LIST,.while.(P
40ae0 52 45 44 20 49 54 45 4d 29 20 69 73 0a 20 20 20 20 20 6e 6f 6e 2d 6e 69 6c 2e 20 20 4f 6e 63 65 RED.ITEM).is......non-nil...Once
40b00 20 61 6e 20 49 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 .an.ITEM.is.reached.for.which.PR
40b20 45 44 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 46 4e 20 69 73 0a 20 20 20 20 20 6e 6f 20 6c 6f ED.returns.nil,.FN.is......no.lo
40b40 6e 67 65 72 20 63 61 6c 6c 65 64 2e 20 20 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 nger.called...Return.nil;.this.f
40b60 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 65 0a 20 20 20 unction.is.intended.for.side....
40b80 20 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 63 ..effects........Its.anaphoric.c
40ba0 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 2d 77 68 69 6c 65 e2 ounterpart.is....--each-r-while.
40bc0 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 2d 65 61 63 68 2d 72 ...............(let.(l).(-each-r
40be0 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 20 28 6c 61 6d 62 64 -while.'(2.4.5.6).#'even?.(lambd
40c00 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 20 20 20 20 20 a.(x).(push.x.l))).l)...........
40c20 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 74 20 28 6c 29 20 28 ........(6)...........(let.(l).(
40c40 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 20 28 3e 3d 20 69 74 --each-r-while.'(1.2.3.4).(>=.it
40c60 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 20 20 20 20 20 20 20 .3).(push.it.l)).l).............
40c80 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 74 20 28 28 73 20 30 ......(3.4)...........(let.((s.0
40ca0 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 33 20 35 29 20 28 3e )).(--each-r-while.'(1.2.3.5).(>
40cc0 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 20 73 29 0a 20 20 20 .it.1).(setq.s.(+.s.it))).s)....
40ce0 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 6e 63 74 69 6f 6e 3a ...............10...--.Function:
40d00 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 61 6c 6c 20 46 4e 20 .-dotimes.(num.fn)......Call.FN.
40d20 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 20 73 69 64 65 20 65 NUM.times,.presumably.for.side.e
40d40 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 68 0a 20 20 20 20 20 ffects...FN.is.called.with......
40d60 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 65 73 73 69 76 65 20 a.single.argument.on.successive.
40d80 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 69 6e 63 6c 75 73 69 integers.running.from.0,.inclusi
40da0 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 65 2e 20 20 46 4e 20 ve,......to.NUM,.exclusive...FN.
40dc0 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 65 73 73 20 74 68 61 is.not.called.if.NUM.is.less.tha
40de0 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 80 99 73 20 61 6e 61 n.1........This.function...s.ana
40e00 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 6f 74 69 6d phoric.counterpart.is....--dotim
40e20 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 29 20 28 2d 64 6f 74 es................(let.(s).(-dot
40e40 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 6e 20 73 29 29 29 20 imes.3.(lambda.(n).(push.n.s))).
40e60 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 20 30 29 0a 20 20 20 s)...................(2.1.0)....
40e80 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 20 30 20 28 6c 61 6d .......(let.(s).(-dotimes.0.(lam
40ea0 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 20 20 20 20 20 20 20 bda.(n).(push.n.s))).s).........
40ec0 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 65 74 20 28 73 29 20 ..........()...........(let.(s).
40ee0 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 20 73 29 0a 20 20 20 (--dotimes.5.(push.it.s)).s)....
40f00 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 29 0a 0a 1f 0a 46 69 ...............(4.3.2.1.0)....Fi
40f20 6c 65 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 44 65 73 74 72 le:.docKFAcRH.info,..Node:.Destr
40f40 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 74 69 uctive.operations,..Next:.Functi
40f60 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 66 65 on.combinators,..Prev:.Side.effe
40f80 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 72 75 cts,..Up:.Functions..2.15.Destru
40fa0 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 3d 3d ctive.operations.===============
40fc0 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 66 79 ============..Macros.that.modify
40fe0 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 20 4d .variables.holding.lists....--.M
41000 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 74 72 acro:.!cons.(car.cdr)......Destr
41020 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
41040 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 29 20 AR.and.CDR.............(let.(l).
41060 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 92 (!cons.5.l).l)..................
41080 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 20 28 .(5)...........(let.((l.'(3))).(
410a0 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 92 20 !cons.5.l).l)...................
410c0 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 20 20 (5.3)...--.Macro:.!cdr.(list)...
410e0 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 65 20 ...Destructive:.Set.LIST.to.the.
41100 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 28 6c cdr.of.LIST.............(let.((l
41120 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 20 20 .'(3))).(!cdr.l).l).............
41140 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 33 20 ......()...........(let.((l.'(3.
41160 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 20 e2 5))).(!cdr.l).l)................
41180 87 92 20 28 35 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 6f 2c 20 ...(5)....File:.docKFAcRH.info,.
411a0 20 4e 6f 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 .Node:.Function.combinators,..Pr
411c0 65 76 3a 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 ev:.Destructive.operations,..Up:
411e0 20 46 75 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 .Functions..2.16.Function.combin
41200 61 74 6f 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 ators.=========================.
41220 0a 46 75 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 .Functions.that.manipulate.and.c
41240 6f 6d 70 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 ompose.other.functions....--.Fun
41260 63 74 69 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 ction:.-partial.(fun.&rest.args)
41280 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 69 73 20 ......Return.a.function.that.is.
412a0 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 55 4e 20 74 6f 20 a.partial.application.of.FUN.to.
412c0 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 68 65 ARGS.......ARGS.is.a.list.of.the
412e0 20 66 69 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 .first.N.arguments.to.pass.to.FU
41300 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
41320 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 55 4e ction.which.does.the.same.as.FUN
41340 2c 20 65 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 ,.except.that.the.first......N.a
41360 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 20 76 61 6c 75 65 73 rguments.are.fixed.at.the.values
41380 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 20 77 61 73 0a 20 20 .with.which.this.function.was...
413a0 20 20 20 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 ...called.............(funcall.(
413c0 2d 70 61 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 -partial.#'+.5))................
413e0 87 92 20 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 ...5...........(funcall.(-partia
41400 6c 20 23 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 l.#'-.5).3)...................2.
41420 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 27 2b ..........(funcall.(-partial.#'+
41440 20 35 20 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 .5.2).3)...................10...
41460 2d 2d 20 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 --.Function:.-rpartial.(fn.&rest
41480 20 61 72 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 .args)......Return.a.function.th
414a0 61 74 20 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 at.is.a.partial.application.of.F
414c0 4e 20 74 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 N.to.ARGS.......ARGS.is.a.list.o
414e0 66 20 74 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 f.the.last.N.arguments.to.pass.t
41500 6f 20 46 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 o.FN...The.result......is.a.new.
41520 66 75 6e 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 function.which.does.the.same.as.
41540 46 4e 2c 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 FN,.except.that.the.last.N......
41560 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 20 76 61 6c 75 65 arguments.are.fixed.at.the.value
41580 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 20 77 61 73 0a 20 s.with.which.this.function.was..
415a0 20 20 20 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 ....called...This.is.like....-pa
415c0 72 74 69 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 rtial....(*note.-partial::),.exc
415e0 65 70 74 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 ept.the......arguments.are.fixed
41600 20 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 74 68 65 72 20 .starting.from.the.right.rather.
41620 74 68 61 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 than.the.left.............(funca
41640 6c 6c 20 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 ll.(-rpartial.#'-.5))...........
41660 20 20 20 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 ........-5...........(funcall.(-
41680 72 70 61 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 rpartial.#'-.5).8)..............
416a0 20 e2 87 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 .....3...........(funcall.(-rpar
416c0 74 69 61 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 tial.#'-.5.2).10)...............
416e0 e2 87 92 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 ....3...--.Function:.-juxt.(&res
41700 74 20 66 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 t.fns)......Return.a.function.th
41720 61 74 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 20 at.is.the.juxtaposition.of.FNS..
41740 20 54 68 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 .The.returned......function.take
41760 73 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 s.a.variable.number.of.ARGS,.app
41780 6c 69 65 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 lies.each.of.FNS.in......turn.to
417a0 20 41 52 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 .ARGS,.and.returns.the.list.of.r
417c0 65 73 75 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 esults.............(funcall.(-ju
417e0 78 74 29 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 xt).1.2)...................()...
41800 20 20 20 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 ........(funcall.(-juxt.#'+.#'-.
41820 23 27 2a 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 #'*.#'/).7.5)...................
41840 28 31 32 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 (12.2.35.1)...........(mapcar.(-
41860 6a 75 78 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 juxt.#'number-to-string.#'1+).'(
41880 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 28 22 31 22 20 32 29 1.2))...................(("1".2)
418a0 20 28 22 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 .("2".3))...--.Function:.-compos
418c0 65 20 28 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 e.(&rest.fns)......Compose.FNS.i
418e0 6e 74 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 nto.a.single.composite.function.
41900 20 20 52 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 ..Return.a.function......that.ta
41920 6b 65 73 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 kes.a.variable.number.of.ARGS,.a
41940 70 70 6c 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 pplies.the.last.function.in.....
41960 20 46 4e 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 .FNS.to.ARGS,.and.returns.the.re
41980 73 75 6c 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 sult.of.calling.each.remaining..
419a0 20 20 20 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 ....function.on.the.result.of.th
419c0 65 20 70 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 e.previous.function,.right-to-le
419e0 66 74 2e 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 ft...If......no.FNS.are.given,.r
41a00 65 74 75 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 eturn.a.variadic....identity....
41a20 66 75 6e 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 function.............(funcall.(-
41a40 63 6f 6d 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 compose.#'-.#'1+.#'+).1.2.3)....
41a60 20 20 20 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 ...............-7...........(fun
41a80 63 61 6c 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 call.(-compose.#'identity.#'1+).
41aa0 33 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 20 20 20 20 3)...................4..........
41ac0 20 28 6d 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 .(mapcar.(-compose.#'not.#'strin
41ae0 67 70 29 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 gp).'(nil.""))..................
41b00 20 28 74 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 .(t.nil)...--.Function:.-applify
41b20 20 28 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 61 .(fn)......Return.a.function.tha
41b40 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 74 20 6f 66 t.applies.FN.to.a.single.list.of
41b60 20 61 72 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 .args...This......changes.the.ar
41b80 69 74 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 ity.of.FN.from.taking.N.distinct
41ba0 20 61 72 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 .arguments.to.taking......1.argu
41bc0 6d 65 6e 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 ment.which.is.a.list.of.N.argume
41be0 6e 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 61 70 70 6c 69 nts.............(funcall.(-appli
41c00 66 79 20 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 fy.#'+).nil)...................0
41c20 0a 20 20 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 ...........(mapcar.(-applify.#'+
41c40 29 20 27 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 ).'((1.1.1).(1.2.3).(5.5.5)))...
41c60 20 20 20 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 ................(3.6.15)........
41c80 20 20 20 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 ...(funcall.(-applify.#'<).'(3.6
41ca0 29 29 0a 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 ))...................t...--.Func
41cc0 74 69 6f 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 tion:.-on.(op.trans)......Return
41ce0 20 61 20 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 .a.function.that.calls.TRANS.on.
41d00 65 61 63 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 each.arg.and.OP.on.the......resu
41d20 6c 74 73 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 lts...The.returned.function.take
41d40 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 75 s.a.variable.number.of......argu
41d60 6d 65 6e 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 ments,.calls.the.function.TRANS.
41d80 6f 6e 20 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 on.each.one.in.turn,.and.then...
41da0 20 20 20 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 ...passes.those.results.as.the.l
41dc0 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 74 68 65 20 73 ist.of.arguments.to.OP,.in.the.s
41de0 61 6d 65 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 ame......order........For.exampl
41e00 65 2c 20 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 e,.the.following.pairs.of.expres
41e20 73 69 6f 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 sions.are.morally......equivalen
41e40 74 3a 0a 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 t:.......(funcall.(-on.#...+.#..
41e60 99 31 2b 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 .1+).1.2.3).=.(+.(1+.1).(1+.2).(
41e80 31 2b 20 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 1+.3)).(funcall......(-on.#...+.
41ea0 23 e2 80 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 #...1+)).=.(+)............(-sort
41ec0 20 28 2d 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 .(-on.#'<.#'length).'((1.2.3).(1
41ee0 29 20 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 28 31 29 ).(1.2)))...................((1)
41f00 20 28 31 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 .(1.2).(1.2.3))...........(funca
41f20 6c 6c 20 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 ll.(-on.#'min.#'string-to-number
41f40 29 20 22 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 )."22"."2"."1"."12")............
41f60 20 20 20 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 .......1...........(-min-by.(-on
41f80 20 23 27 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 .#'>.#'length).'((1.2.3).(4).(1.
41fa0 32 29 29 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 2)))...................(4)...--.
41fc0 46 75 6e 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 Function:.-flip.(fn)......Return
41fe0 20 61 20 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 .a.function.that.calls.FN.with.i
42000 74 73 20 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 ts.arguments.reversed...The.....
42020 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 74 68 65 20 73 61 6d .returned.function.takes.the.sam
42040 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 46 4e 2e 0a 0a 20 20 e.number.of.arguments.as.FN.....
42060 20 20 20 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 ...For.example,.the.following.tw
42080 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 20 65 71 75 69 76 61 o.expressions.are.morally.equiva
420a0 6c 65 6e 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 lent:.......(funcall.(-flip.#...
420c0 2d 29 20 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 -).1.2).=.(-.2.1).......See.also
420e0 3a 20 e2 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 :....-rotate-args....(*note.-rot
42100 61 74 65 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 ate-args::).............(-sort.(
42120 2d 66 6c 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 -flip.#'<).'(4.3.6.1))..........
42140 20 20 20 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 .........(6.4.3.1)...........(fu
42160 6e 63 61 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 ncall.(-flip.#'-).3.2.1.10).....
42180 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 66 75 6e 63 61 ..............4...........(funca
421a0 6c 6c 20 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 ll.(-flip.#'1+).1)..............
421c0 20 e2 87 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 .....2...--.Function:.-rotate-ar
421e0 67 73 20 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 gs.(n.fn)......Return.a.function
42200 20 74 68 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 .that.calls.FN.with.args.rotated
42220 20 4e 20 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 .N.places.to.the......right...Th
42240 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 74 68 65 20 73 61 e.returned.function.takes.the.sa
42260 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 0a 20 20 20 20 20 46 me.number.of.arguments.as......F
42280 4e 2c 20 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 N,.rotates.the.list.of.arguments
422a0 20 4e 20 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 .N.places.to.the.right.(left.if.
422c0 4e 0a 20 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 N......is.negative).just.like...
422e0 98 2d 72 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 .-rotate....(*note.-rotate::),.a
42300 6e 64 20 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 nd.applies.FN......to.the.result
42320 2e 0a 0a 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 ........See.also:....-flip....(*
42340 6e 6f 74 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 note.-flip::).............(funca
42360 6c 6c 20 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 ll.(-rotate-args.-1.#'list).1.2.
42380 33 20 34 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 3.4)...................(2.3.4.1)
423a0 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 2d 61 72 67 ...........(funcall.(-rotate-arg
423c0 73 20 31 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 s.1.#'-).1.10.100)..............
423e0 20 e2 87 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 .....89...........(funcall.(-rot
42400 61 74 65 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 ate-args.2.#'list).3.4.5.1.2)...
42420 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 0a 20 2d 2d ................(1.2.3.4.5)...--
42440 20 46 75 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 .Function:.-const.(c)......Retur
42460 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 6f n.a.function.that.returns.C.igno
42480 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 0a ring.any.additional.arguments...
424a0 20 20 20 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 .....In.types:.a.->.b.->.a......
424c0 20 20 20 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 ......(funcall.(-const.2).1.3."f
424e0 6f 6f 22 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 oo")...................2........
42500 20 20 20 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 ...(mapcar.(-const.1).'("a"."b".
42520 22 63 22 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 "c"."d"))...................(1.1
42540 20 31 20 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 .1.1)...........(-sum.(mapcar.(-
42560 63 6f 6e 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 const.1).'("a"."b"."c"."d")))...
42580 20 20 20 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 ................4...--.Macro:.-c
425a0 75 74 20 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 ut.(&rest.params)......Take.n-ar
425c0 79 20 66 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 y.function.and.n.arguments.and.s
425e0 70 65 63 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 pecialize.some.of.them.......Arg
42600 75 6d 65 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 uments.denoted.by.<>.will.be.lef
42620 74 20 75 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 t.unspecialized........See.SRFI-
42640 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 0a 0a 20 20 26.for.detailed.description.....
42660 20 20 20 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 ........(funcall.(-cut.list.1.<>
42680 20 33 20 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 .3.<>.5).2.4)...................
426a0 28 31 20 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 (1.2.3.4.5)...........(-map.(-cu
426c0 74 20 66 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 t.funcall.<>.5).`(1+.1-.,(lambda
426e0 20 28 78 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 .(x).(/.1.0.x))))...............
42700 e2 87 92 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 ....(6.4.0.2)...........(-map.(-
42720 63 75 74 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 cut.<>.1.2.3).'(list.vector.stri
42740 6e 67 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 ng))...................((1.2.3).
42760 5b 31 20 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 [1.2.3]."\1\2\3")...--.Function:
42780 20 2d 6e 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 .-not.(pred)......Return.a.predi
427a0 63 61 74 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 cate.that.negates.the.result.of.
427c0 50 52 45 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 PRED...The.returned......predica
427e0 74 65 20 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 te.passes.its.arguments.to.PRED.
42800 20 20 49 66 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 74 68 65 0a 20 20 20 20 20 ..If.PRED.returns.nil,.the......
42820 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 65 20 74 68 65 result.is.non-nil;.otherwise.the
42840 20 72 65 73 75 6c 74 20 69 73 20 6e 69 6c 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 .result.is.nil........See.also:.
42860 e2 80 98 2d 61 6e 64 66 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 61 6e 64 66 6e 3a 3a 29 20 61 6e ...-andfn....(*note.-andfn::).an
42880 64 20 e2 80 98 2d 6f 72 66 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6f 72 66 6e 3a 3a 29 2e 0a 0a d....-orfn....(*note.-orfn::)...
428a0 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 6e 6f 74 20 23 27 6e 75 6d 62 65 ..........(funcall.(-not.#'numbe
428c0 72 70 29 20 22 35 22 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 rp)."5")...................t....
428e0 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 28 2d 6e 6f 74 20 23 27 3c 29 20 27 28 35 20 32 20 31 .......(-sort.(-not.#'<).'(5.2.1
42900 20 30 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 36 20 35 20 32 20 .0.6))...................(6.5.2.
42920 31 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6c 74 65 72 20 28 2d 6e 6f 74 20 28 2d 1.0)...........(-filter.(-not.(-
42940 70 61 72 74 69 61 6c 20 23 27 3c 20 34 29 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 partial.#'<.4)).'(1.2.3.4.5.6.7.
42960 38 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 29 0a 8))...................(1.2.3.4).
42980 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6f 72 66 6e 20 28 26 72 65 73 74 20 70 72 65 64 ..--.Function:.-orfn.(&rest.pred
429a0 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 61 74 20 s)......Return.a.predicate.that.
429c0 72 65 74 75 72 6e 73 20 74 68 65 20 66 69 72 73 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 returns.the.first.non-nil.result
429e0 20 6f 66 20 50 52 45 44 53 2e 0a 20 20 20 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 .of.PREDS.......The.returned.pre
42a00 64 69 63 61 74 65 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 6f dicate.takes.a.variable.number.o
42a20 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 70 61 73 73 65 73 0a 20 20 20 20 20 74 68 65 6d 20 74 6f f.arguments,.passes......them.to
42a40 20 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 .each.predicate.in.PREDS.in.turn
42a60 20 75 6e 74 69 6c 20 6f 6e 65 20 6f 66 20 74 68 65 6d 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 .until.one.of.them.returns......
42a80 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 2d 6e 69 non-nil,.and.returns.that.non-ni
42aa0 6c 20 72 65 73 75 6c 74 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 74 68 65 0a 20 20 20 l.result.without.calling.the....
42ac0 20 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 44 53 ..remaining.PREDS...If.all.PREDS
42ae0 20 72 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 .return.nil,.or.if.no.PREDS.are.
42b00 20 20 20 20 20 67 69 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 .....given,.the.returned.predica
42b20 74 65 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 te.returns.nil........See.also:.
42b40 e2 80 98 2d 61 6e 64 66 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 61 6e 64 66 6e 3a 3a 29 20 61 6e ...-andfn....(*note.-andfn::).an
42b60 64 20 e2 80 98 2d 6e 6f 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6e 6f 74 3a 3a 29 2e 0a 0a 20 20 d....-not....(*note.-not::).....
42b80 20 20 20 20 20 20 20 20 28 2d 66 69 6c 74 65 72 20 28 2d 6f 72 66 6e 20 23 27 6e 61 74 6e 75 6d ........(-filter.(-orfn.#'natnum
42ba0 70 20 23 27 62 6f 6f 6c 65 61 6e 70 29 20 27 28 31 20 6e 69 6c 20 22 61 22 20 2d 34 20 62 20 63 p.#'booleanp).'(1.nil."a".-4.b.c
42bc0 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 6e 69 6c 20 74 29 .t))...................(1.nil.t)
42be0 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 6f 72 66 6e 20 23 27 73 79 6d ...........(funcall.(-orfn.#'sym
42c00 62 6f 6c 70 20 28 2d 63 75 74 20 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 78 22 20 3c 3e bolp.(-cut.string-match-p."x".<>
42c20 29 29 20 22 61 78 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 ))."axe")...................1...
42c40 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 6f 72 66 6e 20 23 27 3d 20 23 27 2b 29 ........(funcall.(-orfn.#'=.#'+)
42c60 20 31 20 31 29 0a 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 .1.1)...................t...--.F
42c80 75 6e 63 74 69 6f 6e 3a 20 2d 61 6e 64 66 6e 20 28 26 72 65 73 74 20 70 72 65 64 73 29 0a 20 20 unction:.-andfn.(&rest.preds)...
42ca0 20 20 20 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 61 74 20 72 65 74 75 72 ...Return.a.predicate.that.retur
42cc0 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 61 6c 6c 20 50 52 45 44 53 20 64 6f 20 73 6f 2e 20 20 ns.non-nil.if.all.PREDS.do.so...
42ce0 54 68 65 0a 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 50 20 74 61 The......returned.predicate.P.ta
42d00 6b 65 73 20 61 20 76 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 kes.a.variable.number.of.argumen
42d20 74 73 20 61 6e 64 0a 20 20 20 20 20 70 61 73 73 65 73 20 74 68 65 6d 20 74 6f 20 65 61 63 68 20 ts.and......passes.them.to.each.
42d40 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 20 20 49 66 20 predicate.in.PREDS.in.turn...If.
42d60 61 6e 79 20 6f 6e 65 20 6f 66 0a 20 20 20 20 20 50 52 45 44 53 20 72 65 74 75 72 6e 73 20 6e 69 any.one.of......PREDS.returns.ni
42d80 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
42da0 6c 6c 69 6e 67 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 0a 20 20 20 20 20 50 52 45 44 53 2e 20 lling.the.remaining......PREDS..
42dc0 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 6e 69 6c 2c 20 50 20 .If.all.PREDS.return.non-nil,.P.
42de0 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 20 73 75 63 68 20 76 61 6c 75 65 2e 0a 20 20 20 returns.the.last.such.value.....
42e00 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 50 20 61 6c 77 61 79 ..If.no.PREDS.are.given,.P.alway
42e20 73 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 s.returns.non-nil........See.als
42e40 6f 3a 20 e2 80 98 2d 6f 72 66 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6f 72 66 6e 3a 3a 29 20 61 o:....-orfn....(*note.-orfn::).a
42e60 6e 64 20 e2 80 98 2d 6e 6f 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6e 6f 74 3a 3a 29 2e 0a 0a 20 nd....-not....(*note.-not::)....
42e80 20 20 20 20 20 20 20 20 20 28 2d 66 69 6c 74 65 72 20 28 2d 61 6e 64 66 6e 20 23 27 6e 75 6d 62 .........(-filter.(-andfn.#'numb
42ea0 65 72 70 20 28 2d 63 75 74 20 3c 20 3c 3e 20 35 29 29 20 27 28 61 20 31 20 62 20 36 20 63 20 32 erp.(-cut.<.<>.5)).'(a.1.b.6.c.2
42ec0 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 20 20 20 ))...................(1.2)......
42ee0 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 2d 61 6e 64 66 6e 20 23 27 6e 75 6d 62 65 72 70 20 23 .....(mapcar.(-andfn.#'numberp.#
42f00 27 31 2b 29 20 27 28 61 20 31 20 62 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 '1+).'(a.1.b.6))................
42f20 87 92 20 28 6e 69 6c 20 32 20 6e 69 6c 20 37 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 ...(nil.2.nil.7)...........(func
42f40 61 6c 6c 20 28 2d 61 6e 64 66 6e 20 23 27 3d 20 23 27 2b 29 20 31 20 31 29 0a 20 20 20 20 20 20 all.(-andfn.#'=.#'+).1.1).......
42f60 20 20 20 20 20 20 20 20 e2 87 92 20 32 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 74 ............2...--.Function:.-it
42f80 65 72 61 74 65 66 6e 20 28 66 6e 20 6e 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e eratefn.(fn.n)......Return.a.fun
42fa0 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 20 69 ction.FN.composed.N.times.with.i
42fc0 74 73 65 6c 66 2e 0a 0a 20 20 20 20 20 46 4e 20 69 73 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 tself........FN.is.a.unary.funct
42fe0 69 6f 6e 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 ion...If.you.need.to.use.a.funct
43000 69 6f 6e 20 6f 66 20 68 69 67 68 65 72 0a 20 20 20 20 20 61 72 69 74 79 2c 20 75 73 65 20 e2 80 ion.of.higher......arity,.use...
43020 98 2d 61 70 70 6c 69 66 79 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 61 70 70 6c 69 66 79 3a 3a 29 20 .-applify....(*note.-applify::).
43040 66 69 72 73 74 20 74 6f 20 74 75 72 6e 20 69 74 20 69 6e 74 6f 20 61 0a 20 20 20 20 20 75 6e 61 first.to.turn.it.into.a......una
43060 72 79 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 57 69 74 68 20 6e 20 3d 20 30 2c 20 74 ry.function........With.n.=.0,.t
43080 68 69 73 20 61 63 74 73 20 61 73 20 69 64 65 6e 74 69 74 79 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a his.acts.as.identity.function...
430a0 20 20 20 20 20 49 6e 20 74 79 70 65 73 3a 20 28 61 20 2d 3e 20 61 29 20 2d 3e 20 49 6e 74 20 2d .....In.types:.(a.->.a).->.Int.-
430c0 3e 20 61 20 2d 3e 20 61 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 61 >.a.->.a........This.function.sa
430e0 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 3a 0a 0a 20 20 20 20 tisfies.the.following.law:......
43100 20 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 66 6e 20 6e 29 20 69 6e 69 74 .(funcall.(-iteratefn.fn.n).init
43120 29 20 3d 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 28 2d 69 74 65 72 61 74 65 20 66 6e 20 69 6e 69 ).=.(-last-item.(-iterate.fn.ini
43140 74 0a 20 20 20 20 20 28 31 2b 20 6e 29 29 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e t......(1+.n))).............(fun
43160 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2a 20 call.(-iteratefn.(lambda.(x).(*.
43180 78 20 78 29 29 20 33 29 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 35 x.x)).3).2)...................25
431a0 36 0a 20 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 6...........(funcall.(-iteratefn
431c0 20 27 31 2b 20 33 29 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 34 0a 20 .'1+.3).1)...................4..
431e0 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 27 63 .........(funcall.(-iteratefn.'c
43200 64 72 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 20 20 dr.3).'(1.2.3.4.5)).............
43220 20 20 e2 87 92 20 28 34 20 35 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 69 78 66 ......(4.5)...--.Function:.-fixf
43240 6e 20 28 66 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 65 71 75 61 6c 2d 74 65 73 74 20 68 61 6c 74 2d n.(fn.&optional.equal-test.halt-
43260 74 65 73 74 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 test)......Return.a.function.tha
43280 74 20 63 6f 6d 70 75 74 65 73 20 74 68 65 20 28 6c 65 61 73 74 29 20 66 69 78 70 6f 69 6e 74 20 t.computes.the.(least).fixpoint.
432a0 6f 66 20 46 4e 2e 0a 0a 20 20 20 20 20 46 4e 20 6d 75 73 74 20 62 65 20 61 20 75 6e 61 72 79 20 of.FN........FN.must.be.a.unary.
432c0 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 6c 61 6d 62 64 61 20 74 function...The.returned.lambda.t
432e0 61 6b 65 73 20 61 20 73 69 6e 67 6c 65 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 2c 20 58 2c 20 akes.a.single......argument,.X,.
43300 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 69 78 70 6f 69 the.initial.value.for.the.fixpoi
43320 6e 74 20 69 74 65 72 61 74 69 6f 6e 2e 20 20 54 68 65 0a 20 20 20 20 20 69 74 65 72 61 74 69 6f nt.iteration...The......iteratio
43340 6e 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 n.halts.when.either.of.the.follo
43360 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 20 69 73 0a 20 20 20 20 20 73 61 74 69 73 66 69 65 wing.conditions.is......satisfie
43380 64 3a 0a 0a 20 20 20 20 20 31 2e 20 20 49 74 65 72 61 74 69 6f 6e 20 63 6f 6e 76 65 72 67 65 73 d:.......1...Iteration.converges
433a0 20 74 6f 20 74 68 65 20 66 69 78 70 6f 69 6e 74 2c 20 77 69 74 68 20 65 71 75 61 6c 69 74 79 20 .to.the.fixpoint,.with.equality.
433c0 62 65 69 6e 67 20 74 65 73 74 65 64 0a 20 20 20 20 20 75 73 69 6e 67 20 45 51 55 41 4c 2d 54 45 being.tested......using.EQUAL-TE
433e0 53 54 2e 20 20 49 66 20 45 51 55 41 4c 2d 54 45 53 54 20 69 73 20 6e 6f 74 20 73 70 65 63 69 66 ST...If.EQUAL-TEST.is.not.specif
43400 69 65 64 2c 20 e2 80 98 65 71 75 61 6c e2 80 99 20 69 73 20 75 73 65 64 2e 0a 20 20 20 20 20 46 ied,....equal....is.used.......F
43420 6f 72 20 66 75 6e 63 74 69 6f 6e 73 20 6f 76 65 72 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 or.functions.over.the.floating.p
43440 6f 69 6e 74 20 6e 75 6d 62 65 72 73 2c 20 69 74 20 6d 61 79 20 62 65 20 6e 65 63 65 73 73 61 72 oint.numbers,.it.may.be.necessar
43460 79 0a 20 20 20 20 20 74 6f 20 70 72 6f 76 69 64 65 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 y......to.provide.an.appropriate
43480 20 61 70 70 72 6f 78 69 6d 61 74 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 74 65 73 74 2e 0a 0a 20 .approximate.comparison.test....
434a0 20 20 20 20 32 2e 20 20 48 41 4c 54 2d 54 45 53 54 20 72 65 74 75 72 6e 73 20 61 20 6e 6f 6e 2d ....2...HALT-TEST.returns.a.non-
434c0 6e 69 6c 20 76 61 6c 75 65 2e 20 20 48 41 4c 54 2d 54 45 53 54 20 64 65 66 61 75 6c 74 73 20 74 nil.value...HALT-TEST.defaults.t
434e0 6f 20 61 0a 20 20 20 20 20 73 69 6d 70 6c 65 20 63 6f 75 6e 74 65 72 20 74 68 61 74 20 72 65 74 o.a......simple.counter.that.ret
43500 75 72 6e 73 20 74 20 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 urns.t.after....-fixfn-max-itera
43520 74 69 6f 6e 73 e2 80 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 tions...,.to......guard.against.
43540 69 6e 66 69 6e 69 74 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 infinite.iteration...Otherwise,.
43560 48 41 4c 54 2d 54 45 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 HALT-TEST.must.be.a......functio
43580 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 65 6e 74 n.that.accepts.a.single.argument
435a0 2c 20 74 68 65 20 63 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 ,.the.current.value.of.X,......a
435c0 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 69 74 nd.returns.non-nil.as.long.as.it
435e0 65 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 20 74 68 69 eration.should.continue...In.thi
43600 73 0a 20 20 20 20 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 s......way,.a.more.sophisticated
43620 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 70 6c 69 65 .convergence.test.may.be.supplie
43640 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 63 61 6c 6c 65 72 2e 0a 0a 20 20 20 20 20 54 68 65 20 d.by.the......caller........The.
43660 72 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 return.value.of.the.lambda.is.ei
43680 74 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 ther.the.fixpoint.or,.if......it
436a0 65 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 eration.halted.before.converging
436c0 2c 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 ,.a.cons.with.car....halted....a
436e0 6e 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 nd......cdr.the.final.output.fro
43700 6d 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 m.HALT-TEST........In.types:.(a.
43720 2d 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 ->.a).->.a.->.a.............(fun
43740 63 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 call.(-fixfn.#'cos.#'approx=).0.
43760 37 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 7)...................0.739085133
43780 32 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 2151607...........(funcall.(-fix
437a0 66 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 fn.(lambda.(x).(expt.(+.x.10).0.
437c0 32 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 25))).2.0)...................1.8
437e0 35 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 555845286409378...........(funca
43800 6c 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 ll.(-fixfn.#'sin.#'approx=).0.1)
43820 0a 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 ...................(halted...t).
43840 0a 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 ..--.Function:.-prodfn.(&rest.fn
43860 73 29 0a 20 20 20 20 20 54 61 6b 65 20 61 20 6c 69 73 74 20 6f 66 20 6e 20 66 75 6e 63 74 69 6f s)......Take.a.list.of.n.functio
43880 6e 73 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 ns.and.return.a.function.that.ta
438a0 6b 65 73 20 61 20 6c 69 73 74 0a 20 20 20 20 20 6f 66 20 6c 65 6e 67 74 68 20 6e 2c 20 61 70 70 kes.a.list......of.length.n,.app
438c0 6c 79 69 6e 67 20 69 2d 74 68 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 69 2d 74 68 20 65 6c 65 6d lying.i-th.function.to.i-th.elem
438e0 65 6e 74 20 6f 66 20 74 68 65 20 69 6e 70 75 74 0a 20 20 20 20 20 6c 69 73 74 2e 20 20 52 65 74 ent.of.the.input......list...Ret
43900 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 6e 2e 0a 0a 20 20 20 20 20 49 urns.a.list.of.length.n........I
43920 6e 20 74 79 70 65 73 20 28 66 6f 72 20 6e 3d 32 29 3a 20 28 28 61 20 2d 3e 20 62 29 2c 20 28 63 n.types.(for.n=2):.((a.->.b),.(c
43940 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 64 29 0a 0a 20 20 20 .->.d)).->.(a,.c).->.(b,.d).....
43960 20 20 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 66 6f ..This.function.satisfies.the.fo
43980 6c 6c 6f 77 69 6e 67 20 6c 61 77 73 3a 0a 0a 20 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d llowing.laws:.......(-compose.(-
439a0 70 72 6f 64 66 6e 20 66 20 67 20 2e 2e 2e 29 20 28 2d 70 72 6f 64 66 6e 20 66 e2 80 99 20 67 e2 prodfn.f.g....).(-prodfn.f....g.
439c0 80 99 20 2e 2e 2e 29 29 20 3d 20 28 2d 70 72 6f 64 66 6e 0a 20 20 20 20 20 28 2d 63 6f 6d 70 6f ......)).=.(-prodfn......(-compo
439e0 73 65 20 66 20 66 e2 80 99 29 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 67 e2 80 99 29 20 2e 2e 2e se.f.f...).(-compose.g.g...)....
43a00 29 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 2e 2e 2e 29 20 3d 20 28 2d 6a 75 78 74 0a 20 20 20 ).(-prodfn.f.g....).=.(-juxt....
43a20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 28 2d 70 61 72 74 69 61 6c 20 e2 80 99 6e 74 68 20 30 ..(-compose.f.(-partial....nth.0
43a40 29 29 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 28 2d 70 61 72 74 69 61 6c 20 e2 80 99 6e 74 68 20 )).(-compose.g.(-partial....nth.
43a60 31 29 29 20 2e 2e 2e 29 0a 20 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 72 6f 64 66 6e 1))....)......(-compose.(-prodfn
43a80 20 66 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 .f.g....).(-juxt.f....g.......))
43aa0 20 3d 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 .=.(-juxt.(-compose.f......f...)
43ac0 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 67 e2 80 99 29 20 2e 2e 2e 29 20 28 2d 63 6f 6d 70 6f 73 .(-compose.g.g...)....).(-compos
43ae0 65 20 28 2d 70 61 72 74 69 61 6c 20 e2 80 99 6e 74 68 20 6e 29 20 28 2d 70 72 6f 64 20 66 31 20 e.(-partial....nth.n).(-prod.f1.
43b00 66 32 0a 20 20 20 20 20 2e 2e 2e 29 29 20 3d 20 28 2d 63 6f 6d 70 6f 73 65 20 66 6e 20 28 2d 70 f2.........)).=.(-compose.fn.(-p
43b20 61 72 74 69 61 6c 20 e2 80 99 6e 74 68 20 6e 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 artial....nth.n))............(fu
43b40 6e 63 61 6c 6c 20 28 2d 70 72 6f 64 66 6e 20 27 31 2b 20 27 31 2d 20 27 6e 75 6d 62 65 72 2d 74 ncall.(-prodfn.'1+.'1-.'number-t
43b60 6f 2d 73 74 72 69 6e 67 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 o-string).'(1.2.3)).............
43b80 20 20 e2 87 92 20 28 32 20 31 20 22 33 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 ......(2.1."3")...........(-map.
43ba0 28 2d 70 72 6f 64 66 6e 20 27 31 2b 20 27 31 2d 29 20 27 28 28 31 20 32 29 20 28 33 20 34 29 20 (-prodfn.'1+.'1-).'((1.2).(3.4).
43bc0 28 35 20 36 29 20 28 37 20 38 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 (5.6).(7.8)))...................
43be0 28 28 32 20 31 29 20 28 34 20 33 29 20 28 36 20 35 29 20 28 38 20 37 29 29 0a 20 20 20 20 20 20 ((2.1).(4.3).(6.5).(8.7)).......
43c00 20 20 20 20 28 61 70 70 6c 79 20 27 2b 20 28 66 75 6e 63 61 6c 6c 20 28 2d 70 72 6f 64 66 6e 20 ....(apply.'+.(funcall.(-prodfn.
43c20 27 6c 65 6e 67 74 68 20 27 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 29 20 27 28 28 31 20 'length.'string-to-number).'((1.
43c40 32 20 33 29 20 22 31 35 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 2.3)."15")))...................1
43c60 38 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 8....File:.docKFAcRH.info,..Node
43c80 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 2c 20 20 4e 65 78 74 3a 20 46 44 4c 2c 20 20 50 72 65 76 :.Development,..Next:.FDL,..Prev
43ca0 3a 20 46 75 6e 63 74 69 6f 6e 73 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 33 20 44 65 76 65 6c 6f 70 :.Functions,..Up:.Top..3.Develop
43cc0 6d 65 6e 74 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 65 20 44 61 73 68 20 72 65 70 ment.*************..The.Dash.rep
43ce0 6f 73 69 74 6f 72 79 20 69 73 20 68 6f 73 74 65 64 20 6f 6e 20 47 69 74 48 75 62 20 61 74 0a 3c ository.is.hosted.on.GitHub.at.<
43d00 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 61 73 68 2e https://github.com/magnars/dash.
43d20 65 6c 3e 2e 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 43 6f 6e 74 72 69 62 75 74 65 3a 3a 20 20 20 el>...*.Menu:..*.Contribute::...
43d40 20 20 20 20 20 20 20 48 6f 77 20 74 6f 20 63 6f 6e 74 72 69 62 75 74 65 2e 0a 2a 20 43 6f 6e 74 .......How.to.contribute..*.Cont
43d60 72 69 62 75 74 6f 72 73 3a 3a 20 20 20 20 20 20 20 20 4c 69 73 74 20 6f 66 20 63 6f 6e 74 72 69 ributors::........List.of.contri
43d80 62 75 74 6f 72 73 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 6f 2c butors.....File:.docKFAcRH.info,
43da0 20 20 4e 6f 64 65 3a 20 43 6f 6e 74 72 69 62 75 74 65 2c 20 20 4e 65 78 74 3a 20 43 6f 6e 74 72 ..Node:.Contribute,..Next:.Contr
43dc0 69 62 75 74 6f 72 73 2c 20 20 55 70 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 0a 33 2e 31 20 43 ibutors,..Up:.Development..3.1.C
43de0 6f 6e 74 72 69 62 75 74 65 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 59 65 73 2c 20 70 ontribute.==============..Yes,.p
43e00 6c 65 61 73 65 20 64 6f 2e 20 20 50 75 72 65 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 lease.do...Pure.functions.in.the
43e20 20 6c 69 73 74 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 72 65 61 6c 6d 20 6f 6e 6c 79 2c 0a 70 .list.manipulation.realm.only,.p
43e40 6c 65 61 73 65 2e 20 20 54 68 65 72 65 e2 80 99 73 20 61 20 73 75 69 74 65 20 6f 66 20 65 78 61 lease...There...s.a.suite.of.exa
43e60 6d 70 6c 65 73 2f 74 65 73 74 73 20 69 6e 20 e2 80 98 64 65 76 2f 65 78 61 6d 70 6c 65 73 2e 65 mples/tests.in....dev/examples.e
43e80 6c e2 80 99 2c 20 73 6f 0a 72 65 6d 65 6d 62 65 72 20 74 6f 20 61 64 64 20 74 65 73 74 73 20 66 l...,.so.remember.to.add.tests.f
43ea0 6f 72 20 79 6f 75 72 20 61 64 64 69 74 69 6f 6e 73 2c 20 6f 72 20 74 68 65 79 20 6d 61 79 20 67 or.your.additions,.or.they.may.g
43ec0 65 74 20 62 72 6f 6b 65 6e 20 6c 61 74 65 72 2e 0a 0a 20 20 20 52 75 6e 20 74 68 65 20 74 65 73 et.broken.later......Run.the.tes
43ee0 74 73 20 77 69 74 68 20 e2 80 98 6d 61 6b 65 20 63 68 65 63 6b e2 80 99 2e 20 20 52 65 67 65 6e ts.with....make.check......Regen
43f00 65 72 61 74 65 20 74 68 65 20 64 6f 63 73 20 77 69 74 68 20 e2 80 98 6d 61 6b 65 0a 64 6f 63 73 erate.the.docs.with....make.docs
43f20 e2 80 99 2e 20 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 72 65 20 65 6e 63 6f 75 72 61 67 65 ......Contributors.are.encourage
43f40 64 20 74 6f 20 69 6e 73 74 61 6c 6c 20 74 68 65 73 65 20 63 6f 6d 6d 61 6e 64 73 20 61 73 20 61 d.to.install.these.commands.as.a
43f60 20 47 69 74 0a 70 72 65 2d 63 6f 6d 6d 69 74 20 68 6f 6f 6b 2c 20 73 6f 20 74 68 61 74 20 74 68 .Git.pre-commit.hook,.so.that.th
43f80 65 20 74 65 73 74 73 20 61 72 65 20 61 6c 77 61 79 73 20 72 75 6e 6e 69 6e 67 20 61 6e 64 20 74 e.tests.are.always.running.and.t
43fa0 68 65 20 64 6f 63 73 20 61 72 65 0a 61 6c 77 61 79 73 20 69 6e 20 73 79 6e 63 3a 0a 0a 20 20 20 he.docs.are.always.in.sync:.....
43fc0 20 20 24 20 63 70 20 64 65 76 2f 70 72 65 2d 63 6f 6d 6d 69 74 2e 73 68 20 2e 67 69 74 2f 68 6f ..$.cp.dev/pre-commit.sh..git/ho
43fe0 6f 6b 73 2f 70 72 65 2d 63 6f 6d 6d 69 74 0a 0a 20 20 20 4f 68 2c 20 61 6e 64 20 64 6f 6e e2 80 oks/pre-commit.....Oh,.and.don..
44000 99 74 20 65 64 69 74 20 e2 80 98 52 45 41 44 4d 45 2e 6d 64 e2 80 99 20 6f 72 20 e2 80 98 64 61 .t.edit....README.md....or....da
44020 73 68 2e 74 65 78 69 e2 80 99 20 64 69 72 65 63 74 6c 79 2c 20 61 73 20 74 68 65 79 20 61 72 65 sh.texi....directly,.as.they.are
44040 0a 61 75 74 6f 2d 67 65 6e 65 72 61 74 65 64 2e 20 20 49 6e 73 74 65 61 64 2c 20 63 68 61 6e 67 .auto-generated...Instead,.chang
44060 65 20 74 68 65 69 72 20 72 65 73 70 65 63 74 69 76 65 20 74 65 6d 70 6c 61 74 65 73 0a e2 80 98 e.their.respective.templates....
44080 72 65 61 64 6d 65 2d 74 65 6d 70 6c 61 74 65 2e 6d 64 e2 80 99 20 6f 72 20 e2 80 98 64 61 73 68 readme-template.md....or....dash
440a0 2d 74 65 6d 70 6c 61 74 65 2e 74 65 78 69 e2 80 99 2e 0a 0a 20 20 20 54 6f 20 65 6e 73 75 72 65 -template.texi.........To.ensure
440c0 20 74 68 61 74 20 44 61 73 68 20 63 61 6e 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 .that.Dash.can.be.distributed.wi
440e0 74 68 20 47 4e 55 20 45 4c 50 41 20 6f 72 20 45 6d 61 63 73 2c 20 77 65 0a 72 65 71 75 69 72 65 th.GNU.ELPA.or.Emacs,.we.require
44100 20 74 68 61 74 20 61 6c 6c 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 73 73 69 67 6e 20 63 6f .that.all.contributors.assign.co
44120 70 79 72 69 67 68 74 20 74 6f 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 46 6f 75 pyright.to.the.Free.Software.Fou
44140 6e 64 61 74 69 6f 6e 2e 20 20 46 6f 72 20 6d 6f 72 65 20 6f 6e 20 74 68 69 73 2c 20 2a 6e 6f 74 ndation...For.more.on.this,.*not
44160 65 20 28 65 6d 61 63 73 29 43 6f 70 79 72 69 67 68 74 20 41 73 73 69 67 6e 6d 65 6e 74 3a 3a 2e e.(emacs)Copyright.Assignment::.
44180 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a ....File:.docKFAcRH.info,..Node:
441a0 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 2c 20 20 50 72 65 76 3a 20 43 6f 6e 74 72 69 62 75 74 65 .Contributors,..Prev:.Contribute
441c0 2c 20 20 55 70 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 0a 33 2e 32 20 43 6f 6e 74 72 69 62 75 ,..Up:.Development..3.2.Contribu
441e0 74 6f 72 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 20 20 20 e2 80 a2 20 4d 61 tors.================.........Ma
44200 74 75 73 20 47 6f 6c 6a 65 72 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 46 tus.Goljer.(https://github.com/F
44220 75 63 6f 31 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 6c 6f 74 73 20 6f 66 0a 20 20 20 20 20 66 uco1).contributed.lots.of......f
44240 65 61 74 75 72 65 73 20 61 6e 64 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 e2 80 a2 20 54 61 eatures.and.functions.........Ta
44260 6b 61 66 75 6d 69 20 41 72 61 6b 61 6b 69 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 kafumi.Arakaki.(https://github.c
44280 6f 6d 2f 74 6b 66 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 67 72 6f 75 70 2d 62 79 om/tkf).contributed....-group-by
442a0 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 74 61 6c 69 37 31 33 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 ............tali713.(https://git
442c0 68 75 62 2e 63 6f 6d 2f 74 61 6c 69 37 31 33 29 20 69 73 20 74 68 65 20 61 75 74 68 6f 72 20 6f hub.com/tali713).is.the.author.o
442e0 66 20 e2 80 98 2d 61 70 70 6c 69 66 79 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 56 c3 ad 63 74 6f 72 f....-applify............V..ctor
44300 20 4d 2e 20 56 61 6c 65 6e 7a 75 65 6c 61 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 .M..Valenzuela.(https://github.c
44320 6f 6d 2f 76 65 6d 76 29 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 20 20 20 20 20 e2 80 98 2d 72 65 om/vemv).contributed.........-re
44340 70 65 61 74 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 4e 69 63 20 46 65 72 72 69 65 72 20 28 68 74 74 peat............Nic.Ferrier.(htt
44360 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6e 69 63 66 65 72 72 69 65 72 29 20 63 6f 6e 74 ps://github.com/nicferrier).cont
44380 72 69 62 75 74 65 64 20 e2 80 98 2d 63 6f 6e 73 2a e2 80 99 2e 0a 20 20 20 e2 80 a2 20 57 69 6c ributed....-cons*............Wil
443a0 66 72 65 64 20 48 75 67 68 65 73 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f fred.Hughes.(https://github.com/
443c0 57 69 6c 66 72 65 64 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 73 6c 69 63 65 e2 80 Wilfred).contributed....-slice..
443e0 99 2c 0a 20 20 20 20 20 e2 80 98 2d 66 69 72 73 74 2d 69 74 65 6d e2 80 99 2c 20 61 6e 64 20 e2 .,.........-first-item...,.and..
44400 80 98 2d 6c 61 73 74 2d 69 74 65 6d e2 80 99 2e 0a 20 20 20 e2 80 a2 20 45 6d 61 6e 75 65 6c 20 ..-last-item............Emanuel.
44420 45 76 61 6e 73 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 68 6f 73 74 69 Evans.(https://github.com/shosti
44440 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 69 66 2d 6c 65 74 e2 80 99 2c 0a 20 20 20 ).contributed....-if-let...,....
44460 20 20 e2 80 98 2d 77 68 65 6e 2d 6c 65 74 e2 80 99 2c 20 61 6e 64 20 e2 80 98 2d 69 6e 73 65 72 .....-when-let...,.and....-inser
44480 74 2d 61 74 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 20 t-at............Johan.Andersson.
444a0 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 6a 65 65 70 29 20 63 6f 6e 74 (https://github.com/rejeep).cont
444c0 72 69 62 75 74 65 64 20 e2 80 98 2d 73 75 6d e2 80 99 2c 0a 20 20 20 20 20 e2 80 98 2d 70 72 6f ributed....-sum...,.........-pro
444e0 64 75 63 74 e2 80 99 2c 20 61 6e 64 20 e2 80 98 2d 73 61 6d 65 2d 69 74 65 6d 73 3f e2 80 99 2e duct...,.and....-same-items?....
44500 0a 20 20 20 e2 80 a2 20 43 68 72 69 73 74 69 6e 61 20 57 68 79 74 65 20 28 68 74 74 70 73 3a 2f ........Christina.Whyte.(https:/
44520 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6b 75 72 69 73 75 77 68 79 74 65 29 20 63 6f 6e 74 72 69 62 /github.com/kurisuwhyte).contrib
44540 75 74 65 64 0a 20 20 20 20 20 e2 80 98 2d 63 6f 6d 70 6f 73 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 uted.........-compose...........
44560 20 53 74 65 76 65 20 4c 61 6d 62 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f .Steve.Lamb.(https://github.com/
44580 73 74 65 76 65 6e 74 6c 61 6d 62 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 63 79 63 steventlamb).contributed....-cyc
445a0 6c 65 e2 80 99 2c 0a 20 20 20 20 20 e2 80 98 2d 70 61 64 e2 80 99 2c 20 e2 80 98 2d 61 6e 6e 6f le...,.........-pad...,....-anno
445c0 74 61 74 65 e2 80 99 2c 20 e2 80 98 2d 7a 69 70 2d 66 69 6c 6c e2 80 99 2c 20 61 6e 64 20 61 20 tate...,....-zip-fill...,.and.a.
445e0 76 61 72 69 61 64 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 e2 80 98 2d 7a 69 70 e2 80 99 2e 0a variadic.version.of....-zip.....
44600 20 20 20 e2 80 a2 20 46 72 65 64 72 69 6b 20 42 65 72 67 72 6f 74 68 20 28 68 74 74 70 73 3a 2f .......Fredrik.Bergroth.(https:/
44620 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 66 62 65 72 67 72 6f 74 68 29 20 6d 61 64 65 20 74 68 65 20 /github.com/fbergroth).made.the.
44640 e2 80 98 2d 69 66 2d 6c 65 74 e2 80 99 0a 20 20 20 20 20 66 61 6d 69 6c 79 20 75 73 65 20 e2 80 ...-if-let.........family.use...
44660 98 2d 6c 65 74 e2 80 99 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 61 6e 64 20 69 6d 70 72 6f .-let....destructuring.and.impro
44680 76 65 64 20 74 68 65 20 73 63 72 69 70 74 20 66 6f 72 0a 20 20 20 20 20 67 65 6e 65 72 61 74 69 ved.the.script.for......generati
446a0 6e 67 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 e2 80 a2 20 4d 61 72 6b 20 4f 74 ng.documentation.........Mark.Ot
446c0 65 69 7a 61 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 68 6f 6c 6f 6d 6f 72 eiza.(https://github.com/holomor
446e0 70 68 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 69 6f 74 61 e2 80 99 20 61 6e 64 0a ph).contributed....-iota....and.
44700 20 20 20 20 20 74 68 65 20 73 63 72 69 70 74 20 74 6f 20 63 72 65 61 74 65 20 61 6e 20 49 6e 66 .....the.script.to.create.an.Inf
44720 6f 20 6d 61 6e 75 61 6c 2e 0a 20 20 20 e2 80 a2 20 56 61 73 69 6c 69 6a 20 53 63 68 6e 65 69 64 o.manual.........Vasilij.Schneid
44740 65 72 6d 61 6e 6e 20 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 77 61 73 61 6d ermann.(https://github.com/wasam
44760 61 73 61 29 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 20 20 20 20 20 e2 80 98 2d 73 6f 6d 65 e2 80 asa).contributed.........-some..
44780 99 2e 0a 20 20 20 e2 80 a2 20 57 69 6c 6c 69 61 6d 20 57 65 73 74 20 28 68 74 74 70 73 3a 2f 2f ..........William.West.(https://
447a0 67 69 74 68 75 62 2e 63 6f 6d 2f 6f 63 63 69 64 65 6e 73 29 20 6d 61 64 65 20 e2 80 98 2d 66 69 github.com/occidens).made....-fi
447c0 78 66 6e e2 80 99 20 6d 6f 72 65 0a 20 20 20 20 20 72 6f 62 75 73 74 20 61 74 20 68 61 6e 64 6c xfn....more......robust.at.handl
447e0 69 6e 67 20 66 6c 6f 61 74 73 2e 0a 20 20 20 e2 80 a2 20 43 61 6d 20 53 61 75 6c 20 28 68 74 74 ing.floats.........Cam.Saul.(htt
44800 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 61 6d 73 61 75 6c 29 20 63 6f 6e 74 72 69 62 ps://github.com/camsaul).contrib
44820 75 74 65 64 20 e2 80 98 2d 73 6f 6d 65 2d 3e e2 80 99 2c 0a 20 20 20 20 20 e2 80 98 2d 73 6f 6d uted....-some->...,.........-som
44840 65 2d 3e 3e e2 80 99 2c 20 61 6e 64 20 e2 80 98 2d 73 6f 6d 65 2d 2d 3e e2 80 99 2e 0a 20 20 20 e->>...,.and....-some-->........
44860 e2 80 a2 20 42 61 73 69 6c 20 4c 2e 20 43 6f 6e 74 6f 76 6f 75 6e 65 73 69 6f 73 20 28 68 74 74 ....Basil.L..Contovounesios.(htt
44880 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 61 73 69 6c 2d 63 6f 6e 74 6f 29 0a 20 20 20 ps://github.com/basil-conto)....
448a0 20 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 80 98 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 e2 ..contributed....-common-prefix.
448c0 80 99 2c 20 e2 80 98 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 e2 80 99 2c 20 61 6e 64 20 76 61 ..,....-common-suffix...,.and.va
448e0 72 69 6f 75 73 20 6f 74 68 65 72 0a 20 20 20 20 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2e 0a 20 rious.other......improvements...
44900 20 20 e2 80 a2 20 50 61 75 6c 20 50 6f 67 6f 6e 79 73 68 65 76 20 28 68 74 74 70 73 3a 2f 2f 67 ......Paul.Pogonyshev.(https://g
44920 69 74 68 75 62 2e 63 6f 6d 2f 64 6f 75 62 6c 65 70 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 e2 ithub.com/doublep).contributed..
44940 80 98 2d 65 61 63 68 2d 72 e2 80 99 0a 20 20 20 20 20 61 6e 64 20 e2 80 98 2d 65 61 63 68 2d 72 ..-each-r.........and....-each-r
44960 2d 77 68 69 6c 65 e2 80 99 2e 0a 0a 20 20 20 54 68 61 6e 6b 73 21 0a 0a 20 20 20 4e 65 77 20 63 -while.........Thanks!.....New.c
44980 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 72 65 20 76 65 72 79 20 77 65 6c 63 6f 6d 65 2e 20 20 2a ontributors.are.very.welcome...*
449a0 4e 6f 74 65 20 43 6f 6e 74 72 69 62 75 74 65 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 4b Note.Contribute::.....File:.docK
449c0 46 41 63 52 48 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 46 44 4c 2c 20 20 4e 65 78 74 3a 20 47 FAcRH.info,..Node:.FDL,..Next:.G
449e0 50 4c 2c 20 20 50 72 65 76 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 2c 20 20 55 70 3a 20 54 6f 70 PL,..Prev:.Development,..Up:.Top
44a00 0a 0a 41 70 70 65 6e 64 69 78 20 41 20 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 ..Appendix.A.GNU.Free.Documentat
44a20 69 6f 6e 20 4c 69 63 65 6e 73 65 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ion.License.********************
44a40 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 20 20 *********************...........
44a60 20 20 20 20 20 20 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 31 2e 33 2c 20 33 20 4e 6f 76 65 6d ............Version.1.3,.3.Novem
44a80 62 65 72 20 32 30 30 38 0a 0a 20 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 c2 a9 20 32 30 30 30 ber.2008.......Copyright....2000
44aa0 2c 20 32 30 30 31 2c 20 32 30 30 32 2c 20 32 30 30 37 2c 20 32 30 30 38 20 46 72 65 65 20 53 6f ,.2001,.2002,.2007,.2008.Free.So
44ac0 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 20 20 20 20 20 3c 68 74 ftware.Foundation,.Inc.......<ht
44ae0 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 65 20 69 tps://fsf.org/>.......Everyone.i
44b00 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 69 62 75 s.permitted.to.copy.and.distribu
44b20 74 65 20 76 65 72 62 61 74 69 6d 20 63 6f 70 69 65 73 0a 20 20 20 20 20 6f 66 20 74 68 69 73 20 te.verbatim.copies......of.this.
44b40 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 67 20 69 license.document,.but.changing.i
44b60 74 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 0a 0a 20 20 30 2e 20 50 52 45 41 4d 42 4c 45 t.is.not.allowed.....0..PREAMBLE
44b80 0a 0a 20 20 20 20 20 54 68 65 20 70 75 72 70 6f 73 65 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e .......The.purpose.of.this.Licen
44ba0 73 65 20 69 73 20 74 6f 20 6d 61 6b 65 20 61 20 6d 61 6e 75 61 6c 2c 20 74 65 78 74 62 6f 6f 6b se.is.to.make.a.manual,.textbook
44bc0 2c 20 6f 72 20 6f 74 68 65 72 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 61 6c 20 61 6e 64 20 75 ,.or.other......functional.and.u
44be0 73 65 66 75 6c 20 64 6f 63 75 6d 65 6e 74 20 e2 80 9c 66 72 65 65 e2 80 9d 20 69 6e 20 74 68 65 seful.document....free....in.the
44c00 20 73 65 6e 73 65 20 6f 66 20 66 72 65 65 64 6f 6d 3a 20 74 6f 0a 20 20 20 20 20 61 73 73 75 72 .sense.of.freedom:.to......assur
44c20 65 20 65 76 65 72 79 6f 6e 65 20 74 68 65 20 65 66 66 65 63 74 69 76 65 20 66 72 65 65 64 6f 6d e.everyone.the.effective.freedom
44c40 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 2c 0a 20 20 .to.copy.and.redistribute.it,...
44c60 20 20 20 77 69 74 68 20 6f 72 20 77 69 74 68 6f 75 74 20 6d 6f 64 69 66 79 69 6e 67 20 69 74 2c ...with.or.without.modifying.it,
44c80 20 65 69 74 68 65 72 20 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 20 6f 72 0a 20 20 20 20 20 6e 6f 6e .either.commercially.or......non
44ca0 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 2e 20 20 53 65 63 6f 6e 64 61 72 69 6c 79 2c 20 74 68 69 73 commercially...Secondarily,.this
44cc0 20 4c 69 63 65 6e 73 65 20 70 72 65 73 65 72 76 65 73 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 .License.preserves.for.the......
44ce0 61 75 74 68 6f 72 20 61 6e 64 20 70 75 62 6c 69 73 68 65 72 20 61 20 77 61 79 20 74 6f 20 67 65 author.and.publisher.a.way.to.ge
44d00 74 20 63 72 65 64 69 74 20 66 6f 72 20 74 68 65 69 72 20 77 6f 72 6b 2c 20 77 68 69 6c 65 20 6e t.credit.for.their.work,.while.n
44d20 6f 74 0a 20 20 20 20 20 62 65 69 6e 67 20 63 6f 6e 73 69 64 65 72 65 64 20 72 65 73 70 6f 6e 73 ot......being.considered.respons
44d40 69 62 6c 65 20 66 6f 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 6d 61 64 65 20 62 79 20 6f ible.for.modifications.made.by.o
44d60 74 68 65 72 73 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 69 73 20 61 20 6b thers........This.License.is.a.k
44d80 69 6e 64 20 6f 66 20 e2 80 9c 63 6f 70 79 6c 65 66 74 e2 80 9d 2c 20 77 68 69 63 68 20 6d 65 61 ind.of....copyleft...,.which.mea
44da0 6e 73 20 74 68 61 74 20 64 65 72 69 76 61 74 69 76 65 0a 20 20 20 20 20 77 6f 72 6b 73 20 6f 66 ns.that.derivative......works.of
44dc0 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 6d 75 73 74 20 74 68 65 6d 73 65 6c 76 65 73 20 62 65 .the.document.must.themselves.be
44de0 20 66 72 65 65 20 69 6e 20 74 68 65 20 73 61 6d 65 20 73 65 6e 73 65 2e 0a 20 20 20 20 20 49 74 .free.in.the.same.sense.......It
44e00 20 63 6f 6d 70 6c 65 6d 65 6e 74 73 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 .complements.the.GNU.General.Pub
44e20 6c 69 63 20 4c 69 63 65 6e 73 65 2c 20 77 68 69 63 68 20 69 73 20 61 20 63 6f 70 79 6c 65 66 74 lic.License,.which.is.a.copyleft
44e40 0a 20 20 20 20 20 6c 69 63 65 6e 73 65 20 64 65 73 69 67 6e 65 64 20 66 6f 72 20 66 72 65 65 20 ......license.designed.for.free.
44e60 73 6f 66 74 77 61 72 65 2e 0a 0a 20 20 20 20 20 57 65 20 68 61 76 65 20 64 65 73 69 67 6e 65 64 software........We.have.designed
44e80 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 75 73 65 20 69 74 .this.License.in.order.to.use.it
44ea0 20 66 6f 72 20 6d 61 6e 75 61 6c 73 20 66 6f 72 0a 20 20 20 20 20 66 72 65 65 20 73 6f 66 74 77 .for.manuals.for......free.softw
44ec0 61 72 65 2c 20 62 65 63 61 75 73 65 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 6e 65 65 64 73 are,.because.free.software.needs
44ee0 20 66 72 65 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3a 20 61 0a 20 20 20 20 20 66 72 65 65 .free.documentation:.a......free
44f00 20 70 72 6f 67 72 61 6d 20 73 68 6f 75 6c 64 20 63 6f 6d 65 20 77 69 74 68 20 6d 61 6e 75 61 6c .program.should.come.with.manual
44f20 73 20 70 72 6f 76 69 64 69 6e 67 20 74 68 65 20 73 61 6d 65 20 66 72 65 65 64 6f 6d 73 0a 20 20 s.providing.the.same.freedoms...
44f40 20 20 20 74 68 61 74 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 64 6f 65 73 2e 20 20 42 75 74 20 ...that.the.software.does...But.
44f60 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 73 20 6e 6f 74 20 6c 69 6d 69 74 65 64 20 74 6f 0a 20 this.License.is.not.limited.to..
44f80 20 20 20 20 73 6f 66 74 77 61 72 65 20 6d 61 6e 75 61 6c 73 3b 20 69 74 20 63 61 6e 20 62 65 20 ....software.manuals;.it.can.be.
44fa0 75 73 65 64 20 66 6f 72 20 61 6e 79 20 74 65 78 74 75 61 6c 20 77 6f 72 6b 2c 20 72 65 67 61 72 used.for.any.textual.work,.regar
44fc0 64 6c 65 73 73 0a 20 20 20 20 20 6f 66 20 73 75 62 6a 65 63 74 20 6d 61 74 74 65 72 20 6f 72 20 dless......of.subject.matter.or.
44fe0 77 68 65 74 68 65 72 20 69 74 20 69 73 20 70 75 62 6c 69 73 68 65 64 20 61 73 20 61 20 70 72 69 whether.it.is.published.as.a.pri
45000 6e 74 65 64 20 62 6f 6f 6b 2e 20 20 57 65 0a 20 20 20 20 20 72 65 63 6f 6d 6d 65 6e 64 20 74 68 nted.book...We......recommend.th
45020 69 73 20 4c 69 63 65 6e 73 65 20 70 72 69 6e 63 69 70 61 6c 6c 79 20 66 6f 72 20 77 6f 72 6b 73 is.License.principally.for.works
45040 20 77 68 6f 73 65 20 70 75 72 70 6f 73 65 20 69 73 0a 20 20 20 20 20 69 6e 73 74 72 75 63 74 69 .whose.purpose.is......instructi
45060 6f 6e 20 6f 72 20 72 65 66 65 72 65 6e 63 65 2e 0a 0a 20 20 31 2e 20 41 50 50 4c 49 43 41 42 49 on.or.reference.....1..APPLICABI
45080 4c 49 54 59 20 41 4e 44 20 44 45 46 49 4e 49 54 49 4f 4e 53 0a 0a 20 20 20 20 20 54 68 69 73 20 LITY.AND.DEFINITIONS.......This.
450a0 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 20 74 6f 20 61 6e 79 20 6d 61 6e 75 61 6c 20 6f 72 License.applies.to.any.manual.or
450c0 20 6f 74 68 65 72 20 77 6f 72 6b 2c 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c 0a 20 20 20 20 .other.work,.in.any.medium,.....
450e0 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 61 20 6e 6f 74 69 63 65 20 70 6c 61 63 65 64 20 62 .that.contains.a.notice.placed.b
45100 79 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 73 61 79 69 6e 67 20 69 74 y.the.copyright.holder.saying.it
45120 20 63 61 6e 0a 20 20 20 20 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 .can......be.distributed.under.t
45140 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 53 75 63 68 20 he.terms.of.this.License...Such.
45160 61 20 6e 6f 74 69 63 65 0a 20 20 20 20 20 67 72 61 6e 74 73 20 61 20 77 6f 72 6c 64 2d 77 69 64 a.notice......grants.a.world-wid
45180 65 2c 20 72 6f 79 61 6c 74 79 2d 66 72 65 65 20 6c 69 63 65 6e 73 65 2c 20 75 6e 6c 69 6d 69 74 e,.royalty-free.license,.unlimit
451a0 65 64 20 69 6e 20 64 75 72 61 74 69 6f 6e 2c 0a 20 20 20 20 20 74 6f 20 75 73 65 20 74 68 61 74 ed.in.duration,......to.use.that
451c0 20 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 73 74 61 74 65 .work.under.the.conditions.state
451e0 64 20 68 65 72 65 69 6e 2e 20 20 54 68 65 0a 20 20 20 20 20 e2 80 9c 44 6f 63 75 6d 65 6e 74 e2 d.herein...The.........Document.
45200 80 9d 2c 20 62 65 6c 6f 77 2c 20 72 65 66 65 72 73 20 74 6f 20 61 6e 79 20 73 75 63 68 20 6d 61 ..,.below,.refers.to.any.such.ma
45220 6e 75 61 6c 20 6f 72 20 77 6f 72 6b 2e 20 20 41 6e 79 20 6d 65 6d 62 65 72 0a 20 20 20 20 20 6f nual.or.work...Any.member......o
45240 66 20 74 68 65 20 70 75 62 6c 69 63 20 69 73 20 61 20 6c 69 63 65 6e 73 65 65 2c 20 61 6e 64 20 f.the.public.is.a.licensee,.and.
45260 69 73 20 61 64 64 72 65 73 73 65 64 20 61 73 20 e2 80 9c 79 6f 75 e2 80 9d 2e 20 20 59 6f 75 20 is.addressed.as....you......You.
45280 61 63 63 65 70 74 0a 20 20 20 20 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 66 20 79 6f 75 20 63 accept......the.license.if.you.c
452a0 6f 70 79 2c 20 6d 6f 64 69 66 79 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 77 6f opy,.modify.or.distribute.the.wo
452c0 72 6b 20 69 6e 20 61 20 77 61 79 0a 20 20 20 20 20 72 65 71 75 69 72 69 6e 67 20 70 65 72 6d 69 rk.in.a.way......requiring.permi
452e0 73 73 69 6f 6e 20 75 6e 64 65 72 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 2e 0a 0a 20 20 20 20 ssion.under.copyright.law.......
45300 20 41 20 e2 80 9c 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e e2 80 9d 20 6f 66 20 74 68 65 .A....Modified.Version....of.the
45320 20 44 6f 63 75 6d 65 6e 74 20 6d 65 61 6e 73 20 61 6e 79 20 77 6f 72 6b 20 63 6f 6e 74 61 69 6e .Document.means.any.work.contain
45340 69 6e 67 20 74 68 65 0a 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 20 6f 72 20 61 20 70 6f 72 74 69 ing.the......Document.or.a.porti
45360 6f 6e 20 6f 66 20 69 74 2c 20 65 69 74 68 65 72 20 63 6f 70 69 65 64 20 76 65 72 62 61 74 69 6d on.of.it,.either.copied.verbatim
45380 2c 20 6f 72 20 77 69 74 68 0a 20 20 20 20 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 61 6e 64 ,.or.with......modifications.and
453a0 2f 6f 72 20 74 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 61 6e 6f 74 68 65 72 20 6c 61 6e 67 /or.translated.into.another.lang
453c0 75 61 67 65 2e 0a 0a 20 20 20 20 20 41 20 e2 80 9c 53 65 63 6f 6e 64 61 72 79 20 53 65 63 74 69 uage........A....Secondary.Secti
453e0 6f 6e e2 80 9d 20 69 73 20 61 20 6e 61 6d 65 64 20 61 70 70 65 6e 64 69 78 20 6f 72 20 61 20 66 on....is.a.named.appendix.or.a.f
45400 72 6f 6e 74 2d 6d 61 74 74 65 72 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 6f 66 20 74 68 65 20 ront-matter.section......of.the.
45420 44 6f 63 75 6d 65 6e 74 20 74 68 61 74 20 64 65 61 6c 73 20 65 78 63 6c 75 73 69 76 65 6c 79 20 Document.that.deals.exclusively.
45440 77 69 74 68 20 74 68 65 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 20 6f 66 20 74 68 65 0a 20 20 20 with.the.relationship.of.the....
45460 20 20 70 75 62 6c 69 73 68 65 72 73 20 6f 72 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 20 44 ..publishers.or.authors.of.the.D
45480 6f 63 75 6d 65 6e 74 20 74 6f 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 e2 80 99 73 20 6f 76 65 72 ocument.to.the.Document...s.over
454a0 61 6c 6c 0a 20 20 20 20 20 73 75 62 6a 65 63 74 20 28 6f 72 20 74 6f 20 72 65 6c 61 74 65 64 20 all......subject.(or.to.related.
454c0 6d 61 74 74 65 72 73 29 20 61 6e 64 20 63 6f 6e 74 61 69 6e 73 20 6e 6f 74 68 69 6e 67 20 74 68 matters).and.contains.nothing.th
454e0 61 74 20 63 6f 75 6c 64 0a 20 20 20 20 20 66 61 6c 6c 20 64 69 72 65 63 74 6c 79 20 77 69 74 68 at.could......fall.directly.with
45500 69 6e 20 74 68 61 74 20 6f 76 65 72 61 6c 6c 20 73 75 62 6a 65 63 74 2e 20 20 28 54 68 75 73 2c in.that.overall.subject...(Thus,
45520 20 69 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 69 73 20 69 6e 20 70 61 72 74 .if.the.Document......is.in.part
45540 20 61 20 74 65 78 74 62 6f 6f 6b 20 6f 66 20 6d 61 74 68 65 6d 61 74 69 63 73 2c 20 61 20 53 65 .a.textbook.of.mathematics,.a.Se
45560 63 6f 6e 64 61 72 79 20 53 65 63 74 69 6f 6e 20 6d 61 79 20 6e 6f 74 0a 20 20 20 20 20 65 78 70 condary.Section.may.not......exp
45580 6c 61 69 6e 20 61 6e 79 20 6d 61 74 68 65 6d 61 74 69 63 73 2e 29 20 20 54 68 65 20 72 65 6c 61 lain.any.mathematics.)..The.rela
455a0 74 69 6f 6e 73 68 69 70 20 63 6f 75 6c 64 20 62 65 20 61 20 6d 61 74 74 65 72 20 6f 66 0a 20 20 tionship.could.be.a.matter.of...
455c0 20 20 20 68 69 73 74 6f 72 69 63 61 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 74 68 ...historical.connection.with.th
455e0 65 20 73 75 62 6a 65 63 74 20 6f 72 20 77 69 74 68 20 72 65 6c 61 74 65 64 20 6d 61 74 74 65 72 e.subject.or.with.related.matter
45600 73 2c 20 6f 72 0a 20 20 20 20 20 6f 66 20 6c 65 67 61 6c 2c 20 63 6f 6d 6d 65 72 63 69 61 6c 2c s,.or......of.legal,.commercial,
45620 20 70 68 69 6c 6f 73 6f 70 68 69 63 61 6c 2c 20 65 74 68 69 63 61 6c 20 6f 72 20 70 6f 6c 69 74 .philosophical,.ethical.or.polit
45640 69 63 61 6c 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 72 65 67 61 72 64 69 6e 67 20 74 68 65 ical.position......regarding.the
45660 6d 2e 0a 0a 20 20 20 20 20 54 68 65 20 e2 80 9c 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f m........The....Invariant.Sectio
45680 6e 73 e2 80 9d 20 61 72 65 20 63 65 72 74 61 69 6e 20 53 65 63 6f 6e 64 61 72 79 20 53 65 63 74 ns....are.certain.Secondary.Sect
456a0 69 6f 6e 73 20 77 68 6f 73 65 0a 20 20 20 20 20 74 69 74 6c 65 73 20 61 72 65 20 64 65 73 69 67 ions.whose......titles.are.desig
456c0 6e 61 74 65 64 2c 20 61 73 20 62 65 69 6e 67 20 74 68 6f 73 65 20 6f 66 20 49 6e 76 61 72 69 61 nated,.as.being.those.of.Invaria
456e0 6e 74 20 53 65 63 74 69 6f 6e 73 2c 20 69 6e 20 74 68 65 0a 20 20 20 20 20 6e 6f 74 69 63 65 20 nt.Sections,.in.the......notice.
45700 74 68 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 that.says.that.the.Document.is.r
45720 65 6c 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 0a 20 20 20 20 eleased.under.this.License......
45740 20 49 66 20 61 20 73 65 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 66 69 74 20 74 68 65 20 61 .If.a.section.does.not.fit.the.a
45760 62 6f 76 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 53 65 63 6f 6e 64 61 72 79 20 74 68 65 bove.definition.of.Secondary.the
45780 6e 20 69 74 0a 20 20 20 20 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 74 6f 20 62 65 20 64 n.it......is.not.allowed.to.be.d
457a0 65 73 69 67 6e 61 74 65 64 20 61 73 20 49 6e 76 61 72 69 61 6e 74 2e 20 20 54 68 65 20 44 6f 63 esignated.as.Invariant...The.Doc
457c0 75 6d 65 6e 74 20 6d 61 79 0a 20 20 20 20 20 63 6f 6e 74 61 69 6e 20 7a 65 72 6f 20 49 6e 76 61 ument.may......contain.zero.Inva
457e0 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 2e 20 20 49 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 riant.Sections...If.the.Document
45800 20 64 6f 65 73 20 6e 6f 74 20 69 64 65 6e 74 69 66 79 0a 20 20 20 20 20 61 6e 79 20 49 6e 76 61 .does.not.identify......any.Inva
45820 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 74 68 65 6e 20 74 68 65 72 65 20 61 72 65 20 6e 6f riant.Sections.then.there.are.no
45840 6e 65 2e 0a 0a 20 20 20 20 20 54 68 65 20 e2 80 9c 43 6f 76 65 72 20 54 65 78 74 73 e2 80 9d 20 ne........The....Cover.Texts....
45860 61 72 65 20 63 65 72 74 61 69 6e 20 73 68 6f 72 74 20 70 61 73 73 61 67 65 73 20 6f 66 20 74 65 are.certain.short.passages.of.te
45880 78 74 20 74 68 61 74 20 61 72 65 0a 20 20 20 20 20 6c 69 73 74 65 64 2c 20 61 73 20 46 72 6f 6e xt.that.are......listed,.as.Fron
458a0 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 65 72 20 54 65 78 74 t-Cover.Texts.or.Back-Cover.Text
458c0 73 2c 20 69 6e 20 74 68 65 20 6e 6f 74 69 63 65 0a 20 20 20 20 20 74 68 61 74 20 73 61 79 73 20 s,.in.the.notice......that.says.
458e0 74 68 61 74 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 72 65 6c 65 61 73 65 64 20 75 6e that.the.Document.is.released.un
45900 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 41 0a 20 20 20 20 20 46 72 6f 6e 74 2d der.this.License...A......Front-
45920 43 6f 76 65 72 20 54 65 78 74 20 6d 61 79 20 62 65 20 61 74 20 6d 6f 73 74 20 35 20 77 6f 72 64 Cover.Text.may.be.at.most.5.word
45940 73 2c 20 61 6e 64 20 61 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 20 6d 61 79 0a 20 20 20 s,.and.a.Back-Cover.Text.may....
45960 20 20 62 65 20 61 74 20 6d 6f 73 74 20 32 35 20 77 6f 72 64 73 2e 0a 0a 20 20 20 20 20 41 20 e2 ..be.at.most.25.words........A..
45980 80 9c 54 72 61 6e 73 70 61 72 65 6e 74 e2 80 9d 20 63 6f 70 79 20 6f 66 20 74 68 65 20 44 6f 63 ..Transparent....copy.of.the.Doc
459a0 75 6d 65 6e 74 20 6d 65 61 6e 73 20 61 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 20 63 ument.means.a.machine-readable.c
459c0 6f 70 79 2c 0a 20 20 20 20 20 72 65 70 72 65 73 65 6e 74 65 64 20 69 6e 20 61 20 66 6f 72 6d 61 opy,......represented.in.a.forma
459e0 74 20 77 68 6f 73 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 t.whose.specification.is.availab
45a00 6c 65 20 74 6f 20 74 68 65 0a 20 20 20 20 20 67 65 6e 65 72 61 6c 20 70 75 62 6c 69 63 2c 20 74 le.to.the......general.public,.t
45a20 68 61 74 20 69 73 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 72 65 76 69 73 69 6e 67 20 74 68 65 hat.is.suitable.for.revising.the
45a40 20 64 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 73 74 72 61 69 67 68 74 66 6f 72 77 61 72 64 6c 79 .document......straightforwardly
45a60 20 77 69 74 68 20 67 65 6e 65 72 69 63 20 74 65 78 74 20 65 64 69 74 6f 72 73 20 6f 72 20 28 66 .with.generic.text.editors.or.(f
45a80 6f 72 20 69 6d 61 67 65 73 20 63 6f 6d 70 6f 73 65 64 0a 20 20 20 20 20 6f 66 20 70 69 78 65 6c or.images.composed......of.pixel
45aa0 73 29 20 67 65 6e 65 72 69 63 20 70 61 69 6e 74 20 70 72 6f 67 72 61 6d 73 20 6f 72 20 28 66 6f s).generic.paint.programs.or.(fo
45ac0 72 20 64 72 61 77 69 6e 67 73 29 20 73 6f 6d 65 20 77 69 64 65 6c 79 0a 20 20 20 20 20 61 76 61 r.drawings).some.widely......ava
45ae0 69 6c 61 62 6c 65 20 64 72 61 77 69 6e 67 20 65 64 69 74 6f 72 2c 20 61 6e 64 20 74 68 61 74 20 ilable.drawing.editor,.and.that.
45b00 69 73 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 69 6e 70 75 74 20 74 6f 20 74 65 78 74 0a 20 20 is.suitable.for.input.to.text...
45b20 20 20 20 66 6f 72 6d 61 74 74 65 72 73 20 6f 72 20 66 6f 72 20 61 75 74 6f 6d 61 74 69 63 20 74 ...formatters.or.for.automatic.t
45b40 72 61 6e 73 6c 61 74 69 6f 6e 20 74 6f 20 61 20 76 61 72 69 65 74 79 20 6f 66 20 66 6f 72 6d 61 ranslation.to.a.variety.of.forma
45b60 74 73 0a 20 20 20 20 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 69 6e 70 75 74 20 74 6f 20 74 65 ts......suitable.for.input.to.te
45b80 78 74 20 66 6f 72 6d 61 74 74 65 72 73 2e 20 20 41 20 63 6f 70 79 20 6d 61 64 65 20 69 6e 20 61 xt.formatters...A.copy.made.in.a
45ba0 6e 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 54 72 61 6e 73 70 61 72 65 6e 74 20 66 69 6c n.otherwise......Transparent.fil
45bc0 65 20 66 6f 72 6d 61 74 20 77 68 6f 73 65 20 6d 61 72 6b 75 70 2c 20 6f 72 20 61 62 73 65 6e 63 e.format.whose.markup,.or.absenc
45be0 65 20 6f 66 20 6d 61 72 6b 75 70 2c 20 68 61 73 0a 20 20 20 20 20 62 65 65 6e 20 61 72 72 61 6e e.of.markup,.has......been.arran
45c00 67 65 64 20 74 6f 20 74 68 77 61 72 74 20 6f 72 20 64 69 73 63 6f 75 72 61 67 65 20 73 75 62 73 ged.to.thwart.or.discourage.subs
45c20 65 71 75 65 6e 74 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 62 79 0a 20 20 20 20 20 72 65 61 64 equent.modification.by......read
45c40 65 72 73 20 69 73 20 6e 6f 74 20 54 72 61 6e 73 70 61 72 65 6e 74 2e 20 20 41 6e 20 69 6d 61 67 ers.is.not.Transparent...An.imag
45c60 65 20 66 6f 72 6d 61 74 20 69 73 20 6e 6f 74 20 54 72 61 6e 73 70 61 72 65 6e 74 20 69 66 0a 20 e.format.is.not.Transparent.if..
45c80 20 20 20 20 75 73 65 64 20 66 6f 72 20 61 6e 79 20 73 75 62 73 74 61 6e 74 69 61 6c 20 61 6d 6f ....used.for.any.substantial.amo
45ca0 75 6e 74 20 6f 66 20 74 65 78 74 2e 20 20 41 20 63 6f 70 79 20 74 68 61 74 20 69 73 20 6e 6f 74 unt.of.text...A.copy.that.is.not
45cc0 0a 20 20 20 20 20 e2 80 9c 54 72 61 6e 73 70 61 72 65 6e 74 e2 80 9d 20 69 73 20 63 61 6c 6c 65 .........Transparent....is.calle
45ce0 64 20 e2 80 9c 4f 70 61 71 75 65 e2 80 9d 2e 0a 0a 20 20 20 20 20 45 78 61 6d 70 6c 65 73 20 6f d....Opaque...........Examples.o
45d00 66 20 73 75 69 74 61 62 6c 65 20 66 6f 72 6d 61 74 73 20 66 6f 72 20 54 72 61 6e 73 70 61 72 65 f.suitable.formats.for.Transpare
45d20 6e 74 20 63 6f 70 69 65 73 20 69 6e 63 6c 75 64 65 20 70 6c 61 69 6e 0a 20 20 20 20 20 41 53 43 nt.copies.include.plain......ASC
45d40 49 49 20 77 69 74 68 6f 75 74 20 6d 61 72 6b 75 70 2c 20 54 65 78 69 6e 66 6f 20 69 6e 70 75 74 II.without.markup,.Texinfo.input
45d60 20 66 6f 72 6d 61 74 2c 20 4c 61 54 65 58 20 69 6e 70 75 74 20 66 6f 72 6d 61 74 2c 0a 20 20 20 .format,.LaTeX.input.format,....
45d80 20 20 53 47 4d 4c 20 6f 72 20 58 4d 4c 20 75 73 69 6e 67 20 61 20 70 75 62 6c 69 63 6c 79 20 61 ..SGML.or.XML.using.a.publicly.a
45da0 76 61 69 6c 61 62 6c 65 20 44 54 44 2c 20 61 6e 64 20 73 74 61 6e 64 61 72 64 2d 63 6f 6e 66 6f vailable.DTD,.and.standard-confo
45dc0 72 6d 69 6e 67 0a 20 20 20 20 20 73 69 6d 70 6c 65 20 48 54 4d 4c 2c 20 50 6f 73 74 53 63 72 69 rming......simple.HTML,.PostScri
45de0 70 74 20 6f 72 20 50 44 46 20 64 65 73 69 67 6e 65 64 20 66 6f 72 20 68 75 6d 61 6e 20 6d 6f 64 pt.or.PDF.designed.for.human.mod
45e00 69 66 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 45 78 61 6d 70 6c 65 73 20 6f 66 20 74 72 61 6e ification.......Examples.of.tran
45e20 73 70 61 72 65 6e 74 20 69 6d 61 67 65 20 66 6f 72 6d 61 74 73 20 69 6e 63 6c 75 64 65 20 50 4e sparent.image.formats.include.PN
45e40 47 2c 20 58 43 46 20 61 6e 64 20 4a 50 47 2e 0a 20 20 20 20 20 4f 70 61 71 75 65 20 66 6f 72 6d G,.XCF.and.JPG.......Opaque.form
45e60 61 74 73 20 69 6e 63 6c 75 64 65 20 70 72 6f 70 72 69 65 74 61 72 79 20 66 6f 72 6d 61 74 73 20 ats.include.proprietary.formats.
45e80 74 68 61 74 20 63 61 6e 20 62 65 20 72 65 61 64 20 61 6e 64 0a 20 20 20 20 20 65 64 69 74 65 64 that.can.be.read.and......edited
45ea0 20 6f 6e 6c 79 20 62 79 20 70 72 6f 70 72 69 65 74 61 72 79 20 77 6f 72 64 20 70 72 6f 63 65 73 .only.by.proprietary.word.proces
45ec0 73 6f 72 73 2c 20 53 47 4d 4c 20 6f 72 20 58 4d 4c 20 66 6f 72 20 77 68 69 63 68 0a 20 20 20 20 sors,.SGML.or.XML.for.which.....
45ee0 20 74 68 65 20 44 54 44 20 61 6e 64 2f 6f 72 20 70 72 6f 63 65 73 73 69 6e 67 20 74 6f 6f 6c 73 .the.DTD.and/or.processing.tools
45f00 20 61 72 65 20 6e 6f 74 20 67 65 6e 65 72 61 6c 6c 79 20 61 76 61 69 6c 61 62 6c 65 2c 20 61 6e .are.not.generally.available,.an
45f20 64 0a 20 20 20 20 20 74 68 65 20 6d 61 63 68 69 6e 65 2d 67 65 6e 65 72 61 74 65 64 20 48 54 4d d......the.machine-generated.HTM
45f40 4c 2c 20 50 6f 73 74 53 63 72 69 70 74 20 6f 72 20 50 44 46 20 70 72 6f 64 75 63 65 64 20 62 79 L,.PostScript.or.PDF.produced.by
45f60 20 73 6f 6d 65 20 77 6f 72 64 0a 20 20 20 20 20 70 72 6f 63 65 73 73 6f 72 73 20 66 6f 72 20 6f .some.word......processors.for.o
45f80 75 74 70 75 74 20 70 75 72 70 6f 73 65 73 20 6f 6e 6c 79 2e 0a 0a 20 20 20 20 20 54 68 65 20 e2 utput.purposes.only........The..
45fa0 80 9c 54 69 74 6c 65 20 50 61 67 65 e2 80 9d 20 6d 65 61 6e 73 2c 20 66 6f 72 20 61 20 70 72 69 ..Title.Page....means,.for.a.pri
45fc0 6e 74 65 64 20 62 6f 6f 6b 2c 20 74 68 65 20 74 69 74 6c 65 20 70 61 67 65 20 69 74 73 65 6c 66 nted.book,.the.title.page.itself
45fe0 2c 0a 20 20 20 20 20 70 6c 75 73 20 73 75 63 68 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 67 65 73 ,......plus.such.following.pages
46000 20 61 73 20 61 72 65 20 6e 65 65 64 65 64 20 74 6f 20 68 6f 6c 64 2c 20 6c 65 67 69 62 6c 79 2c .as.are.needed.to.hold,.legibly,
46020 20 74 68 65 0a 20 20 20 20 20 6d 61 74 65 72 69 61 6c 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 .the......material.this.License.
46040 72 65 71 75 69 72 65 73 20 74 6f 20 61 70 70 65 61 72 20 69 6e 20 74 68 65 20 74 69 74 6c 65 20 requires.to.appear.in.the.title.
46060 70 61 67 65 2e 20 20 46 6f 72 0a 20 20 20 20 20 77 6f 72 6b 73 20 69 6e 20 66 6f 72 6d 61 74 73 page...For......works.in.formats
46080 20 77 68 69 63 68 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 61 6e 79 20 74 69 74 6c 65 20 70 61 67 .which.do.not.have.any.title.pag
460a0 65 20 61 73 20 73 75 63 68 2c 20 e2 80 9c 54 69 74 6c 65 0a 20 20 20 20 20 50 61 67 65 e2 80 9d e.as.such,....Title......Page...
460c0 20 6d 65 61 6e 73 20 74 68 65 20 74 65 78 74 20 6e 65 61 72 20 74 68 65 20 6d 6f 73 74 20 70 72 .means.the.text.near.the.most.pr
460e0 6f 6d 69 6e 65 6e 74 20 61 70 70 65 61 72 61 6e 63 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 77 ominent.appearance.of.the......w
46100 6f 72 6b e2 80 99 73 20 74 69 74 6c 65 2c 20 70 72 65 63 65 64 69 6e 67 20 74 68 65 20 62 65 67 ork...s.title,.preceding.the.beg
46120 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 62 6f 64 79 20 6f 66 20 74 68 65 20 74 65 78 74 2e 0a inning.of.the.body.of.the.text..
46140 0a 20 20 20 20 20 54 68 65 20 e2 80 9c 70 75 62 6c 69 73 68 65 72 e2 80 9d 20 6d 65 61 6e 73 20 ......The....publisher....means.
46160 61 6e 79 20 70 65 72 73 6f 6e 20 6f 72 20 65 6e 74 69 74 79 20 74 68 61 74 20 64 69 73 74 72 69 any.person.or.entity.that.distri
46180 62 75 74 65 73 20 63 6f 70 69 65 73 0a 20 20 20 20 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e butes.copies......of.the.Documen
461a0 74 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 2e 0a 0a 20 20 20 20 20 41 20 73 65 63 74 69 6f 6e t.to.the.public........A.section
461c0 20 e2 80 9c 45 6e 74 69 74 6c 65 64 20 58 59 5a e2 80 9d 20 6d 65 61 6e 73 20 61 20 6e 61 6d 65 ....Entitled.XYZ....means.a.name
461e0 64 20 73 75 62 75 6e 69 74 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 77 d.subunit.of.the.Document......w
46200 68 6f 73 65 20 74 69 74 6c 65 20 65 69 74 68 65 72 20 69 73 20 70 72 65 63 69 73 65 6c 79 20 58 hose.title.either.is.precisely.X
46220 59 5a 20 6f 72 20 63 6f 6e 74 61 69 6e 73 20 58 59 5a 20 69 6e 20 70 61 72 65 6e 74 68 65 73 65 YZ.or.contains.XYZ.in.parenthese
46240 73 0a 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 78 74 20 74 68 61 74 20 74 72 61 6e 73 s......following.text.that.trans
46260 6c 61 74 65 73 20 58 59 5a 20 69 6e 20 61 6e 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 2e 20 20 lates.XYZ.in.another.language...
46280 28 48 65 72 65 20 58 59 5a 0a 20 20 20 20 20 73 74 61 6e 64 73 20 66 6f 72 20 61 20 73 70 65 63 (Here.XYZ......stands.for.a.spec
462a0 69 66 69 63 20 73 65 63 74 69 6f 6e 20 6e 61 6d 65 20 6d 65 6e 74 69 6f 6e 65 64 20 62 65 6c 6f ific.section.name.mentioned.belo
462c0 77 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 e2 80 9c 41 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 w,.such.as.........Acknowledgeme
462e0 6e 74 73 e2 80 9d 2c 20 e2 80 9c 44 65 64 69 63 61 74 69 6f 6e 73 e2 80 9d 2c 20 e2 80 9c 45 6e nts...,....Dedications...,....En
46300 64 6f 72 73 65 6d 65 6e 74 73 e2 80 9d 2c 20 6f 72 20 e2 80 9c 48 69 73 74 6f 72 79 e2 80 9d 2e dorsements...,.or....History....
46320 29 0a 20 20 20 20 20 54 6f 20 e2 80 9c 50 72 65 73 65 72 76 65 20 74 68 65 20 54 69 74 6c 65 e2 )......To....Preserve.the.Title.
46340 80 9d 20 6f 66 20 73 75 63 68 20 61 20 73 65 63 74 69 6f 6e 20 77 68 65 6e 20 79 6f 75 20 6d 6f ...of.such.a.section.when.you.mo
46360 64 69 66 79 20 74 68 65 0a 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 20 6d 65 61 6e 73 20 74 68 61 dify.the......Document.means.tha
46380 74 20 69 74 20 72 65 6d 61 69 6e 73 20 61 20 73 65 63 74 69 6f 6e 20 e2 80 9c 45 6e 74 69 74 6c t.it.remains.a.section....Entitl
463a0 65 64 20 58 59 5a e2 80 9d 20 61 63 63 6f 72 64 69 6e 67 0a 20 20 20 20 20 74 6f 20 74 68 69 73 ed.XYZ....according......to.this
463c0 20 64 65 66 69 6e 69 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 54 68 65 20 44 6f 63 75 6d 65 6e 74 20 .definition........The.Document.
463e0 6d 61 79 20 69 6e 63 6c 75 64 65 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 may.include.Warranty.Disclaimers
46400 20 6e 65 78 74 20 74 6f 20 74 68 65 20 6e 6f 74 69 63 65 0a 20 20 20 20 20 77 68 69 63 68 20 73 .next.to.the.notice......which.s
46420 74 61 74 65 73 20 74 68 61 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 20 tates.that.this.License.applies.
46440 74 6f 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2e 20 20 54 68 65 73 65 0a 20 20 20 20 20 57 61 72 to.the.Document...These......War
46460 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 ranty.Disclaimers.are.considered
46480 20 74 6f 20 62 65 20 69 6e 63 6c 75 64 65 64 20 62 79 20 72 65 66 65 72 65 6e 63 65 20 69 6e 0a .to.be.included.by.reference.in.
464a0 20 20 20 20 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 62 75 74 20 6f 6e 6c 79 20 61 73 20 72 .....this.License,.but.only.as.r
464c0 65 67 61 72 64 73 20 64 69 73 63 6c 61 69 6d 69 6e 67 20 77 61 72 72 61 6e 74 69 65 73 3a 20 61 egards.disclaiming.warranties:.a
464e0 6e 79 20 6f 74 68 65 72 0a 20 20 20 20 20 69 6d 70 6c 69 63 61 74 69 6f 6e 20 74 68 61 74 20 74 ny.other......implication.that.t
46500 68 65 73 65 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 20 6d 61 79 20 68 61 hese.Warranty.Disclaimers.may.ha
46520 76 65 20 69 73 20 76 6f 69 64 20 61 6e 64 0a 20 20 20 20 20 68 61 73 20 6e 6f 20 65 66 66 65 63 ve.is.void.and......has.no.effec
46540 74 20 6f 6e 20 74 68 65 20 6d 65 61 6e 69 6e 67 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 t.on.the.meaning.of.this.License
46560 2e 0a 0a 20 20 32 2e 20 56 45 52 42 41 54 49 4d 20 43 4f 50 59 49 4e 47 0a 0a 20 20 20 20 20 59 .....2..VERBATIM.COPYING.......Y
46580 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 74 68 65 20 44 ou.may.copy.and.distribute.the.D
465a0 6f 63 75 6d 65 6e 74 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c 20 65 69 74 68 65 72 0a 20 20 ocument.in.any.medium,.either...
465c0 20 20 20 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 20 6f 72 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 6c ...commercially.or.noncommercial
465e0 6c 79 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 ly,.provided.that.this.License,.
46600 74 68 65 0a 20 20 20 20 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 73 2c 20 61 6e 64 20 the......copyright.notices,.and.
46620 74 68 65 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 20 73 61 79 69 6e 67 20 74 68 69 73 20 4c the.license.notice.saying.this.L
46640 69 63 65 6e 73 65 0a 20 20 20 20 20 61 70 70 6c 69 65 73 20 74 6f 20 74 68 65 20 44 6f 63 75 6d icense......applies.to.the.Docum
46660 65 6e 74 20 61 72 65 20 72 65 70 72 6f 64 75 63 65 64 20 69 6e 20 61 6c 6c 20 63 6f 70 69 65 73 ent.are.reproduced.in.all.copies
46680 2c 20 61 6e 64 20 74 68 61 74 20 79 6f 75 0a 20 20 20 20 20 61 64 64 20 6e 6f 20 6f 74 68 65 72 ,.and.that.you......add.no.other
466a0 20 63 6f 6e 64 69 74 69 6f 6e 73 20 77 68 61 74 73 6f 65 76 65 72 20 74 6f 20 74 68 6f 73 65 20 .conditions.whatsoever.to.those.
466c0 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 59 6f 75 0a 20 20 20 20 20 6d 61 79 20 6e of.this.License...You......may.n
466e0 6f 74 20 75 73 65 20 74 65 63 68 6e 69 63 61 6c 20 6d 65 61 73 75 72 65 73 20 74 6f 20 6f 62 73 ot.use.technical.measures.to.obs
46700 74 72 75 63 74 20 6f 72 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 72 65 61 64 69 6e 67 0a 20 20 20 truct.or.control.the.reading....
46720 20 20 6f 72 20 66 75 72 74 68 65 72 20 63 6f 70 79 69 6e 67 20 6f 66 20 74 68 65 20 63 6f 70 69 ..or.further.copying.of.the.copi
46740 65 73 20 79 6f 75 20 6d 61 6b 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 2e 20 20 48 6f 77 65 es.you.make.or.distribute...Howe
46760 76 65 72 2c 0a 20 20 20 20 20 79 6f 75 20 6d 61 79 20 61 63 63 65 70 74 20 63 6f 6d 70 65 6e 73 ver,......you.may.accept.compens
46780 61 74 69 6f 6e 20 69 6e 20 65 78 63 68 61 6e 67 65 20 66 6f 72 20 63 6f 70 69 65 73 2e 20 20 49 ation.in.exchange.for.copies...I
467a0 66 20 79 6f 75 0a 20 20 20 20 20 64 69 73 74 72 69 62 75 74 65 20 61 20 6c 61 72 67 65 20 65 6e f.you......distribute.a.large.en
467c0 6f 75 67 68 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 70 69 65 73 20 79 6f 75 20 6d 75 73 74 20 61 ough.number.of.copies.you.must.a
467e0 6c 73 6f 20 66 6f 6c 6c 6f 77 20 74 68 65 0a 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 73 20 69 lso.follow.the......conditions.i
46800 6e 20 73 65 63 74 69 6f 6e 20 33 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 61 6c 73 6f 20 n.section.3........You.may.also.
46820 6c 65 6e 64 20 63 6f 70 69 65 73 2c 20 75 6e 64 65 72 20 74 68 65 20 73 61 6d 65 20 63 6f 6e 64 lend.copies,.under.the.same.cond
46840 69 74 69 6f 6e 73 20 73 74 61 74 65 64 20 61 62 6f 76 65 2c 0a 20 20 20 20 20 61 6e 64 20 79 6f itions.stated.above,......and.yo
46860 75 20 6d 61 79 20 70 75 62 6c 69 63 6c 79 20 64 69 73 70 6c 61 79 20 63 6f 70 69 65 73 2e 0a 0a u.may.publicly.display.copies...
46880 20 20 33 2e 20 43 4f 50 59 49 4e 47 20 49 4e 20 51 55 41 4e 54 49 54 59 0a 0a 20 20 20 20 20 49 ..3..COPYING.IN.QUANTITY.......I
468a0 66 20 79 6f 75 20 70 75 62 6c 69 73 68 20 70 72 69 6e 74 65 64 20 63 6f 70 69 65 73 20 28 6f 72 f.you.publish.printed.copies.(or
468c0 20 63 6f 70 69 65 73 20 69 6e 20 6d 65 64 69 61 20 74 68 61 74 20 63 6f 6d 6d 6f 6e 6c 79 0a 20 .copies.in.media.that.commonly..
468e0 20 20 20 20 68 61 76 65 20 70 72 69 6e 74 65 64 20 63 6f 76 65 72 73 29 20 6f 66 20 74 68 65 20 ....have.printed.covers).of.the.
46900 44 6f 63 75 6d 65 6e 74 2c 20 6e 75 6d 62 65 72 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 20 31 30 Document,.numbering.more.than.10
46920 30 2c 20 61 6e 64 0a 20 20 20 20 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 e2 80 99 73 20 6c 69 63 0,.and......the.Document...s.lic
46940 65 6e 73 65 20 6e 6f 74 69 63 65 20 72 65 71 75 69 72 65 73 20 43 6f 76 65 72 20 54 65 78 74 73 ense.notice.requires.Cover.Texts
46960 2c 20 79 6f 75 20 6d 75 73 74 0a 20 20 20 20 20 65 6e 63 6c 6f 73 65 20 74 68 65 20 63 6f 70 69 ,.you.must......enclose.the.copi
46980 65 73 20 69 6e 20 63 6f 76 65 72 73 20 74 68 61 74 20 63 61 72 72 79 2c 20 63 6c 65 61 72 6c 79 es.in.covers.that.carry,.clearly
469a0 20 61 6e 64 20 6c 65 67 69 62 6c 79 2c 20 61 6c 6c 0a 20 20 20 20 20 74 68 65 73 65 20 43 6f 76 .and.legibly,.all......these.Cov
469c0 65 72 20 54 65 78 74 73 3a 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 20 6f 6e 20 74 er.Texts:.Front-Cover.Texts.on.t
469e0 68 65 20 66 72 6f 6e 74 20 63 6f 76 65 72 2c 20 61 6e 64 0a 20 20 20 20 20 42 61 63 6b 2d 43 6f he.front.cover,.and......Back-Co
46a00 76 65 72 20 54 65 78 74 73 20 6f 6e 20 74 68 65 20 62 61 63 6b 20 63 6f 76 65 72 2e 20 20 42 6f ver.Texts.on.the.back.cover...Bo
46a20 74 68 20 63 6f 76 65 72 73 20 6d 75 73 74 20 61 6c 73 6f 20 63 6c 65 61 72 6c 79 0a 20 20 20 20 th.covers.must.also.clearly.....
46a40 20 61 6e 64 20 6c 65 67 69 62 6c 79 20 69 64 65 6e 74 69 66 79 20 79 6f 75 20 61 73 20 74 68 65 .and.legibly.identify.you.as.the
46a60 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 65 73 65 20 63 6f 70 69 65 73 2e 20 20 54 68 65 .publisher.of.these.copies...The
46a80 0a 20 20 20 20 20 66 72 6f 6e 74 20 63 6f 76 65 72 20 6d 75 73 74 20 70 72 65 73 65 6e 74 20 74 ......front.cover.must.present.t
46aa0 68 65 20 66 75 6c 6c 20 74 69 74 6c 65 20 77 69 74 68 20 61 6c 6c 20 77 6f 72 64 73 20 6f 66 20 he.full.title.with.all.words.of.
46ac0 74 68 65 20 74 69 74 6c 65 0a 20 20 20 20 20 65 71 75 61 6c 6c 79 20 70 72 6f 6d 69 6e 65 6e 74 the.title......equally.prominent
46ae0 20 61 6e 64 20 76 69 73 69 62 6c 65 2e 20 20 59 6f 75 20 6d 61 79 20 61 64 64 20 6f 74 68 65 72 .and.visible...You.may.add.other
46b00 20 6d 61 74 65 72 69 61 6c 20 6f 6e 20 74 68 65 0a 20 20 20 20 20 63 6f 76 65 72 73 20 69 6e 20 .material.on.the......covers.in.
46b20 61 64 64 69 74 69 6f 6e 2e 20 20 43 6f 70 79 69 6e 67 20 77 69 74 68 20 63 68 61 6e 67 65 73 20 addition...Copying.with.changes.
46b40 6c 69 6d 69 74 65 64 20 74 6f 20 74 68 65 20 63 6f 76 65 72 73 2c 20 61 73 0a 20 20 20 20 20 6c limited.to.the.covers,.as......l
46b60 6f 6e 67 20 61 73 20 74 68 65 79 20 70 72 65 73 65 72 76 65 20 74 68 65 20 74 69 74 6c 65 20 6f ong.as.they.preserve.the.title.o
46b80 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 61 6e 64 20 73 61 74 69 73 66 79 20 74 68 65 73 65 f.the.Document.and.satisfy.these
46ba0 0a 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 63 61 6e 20 62 65 20 74 72 65 61 74 65 64 ......conditions,.can.be.treated
46bc0 20 61 73 20 76 65 72 62 61 74 69 6d 20 63 6f 70 79 69 6e 67 20 69 6e 20 6f 74 68 65 72 20 72 65 .as.verbatim.copying.in.other.re
46be0 73 70 65 63 74 73 2e 0a 0a 20 20 20 20 20 49 66 20 74 68 65 20 72 65 71 75 69 72 65 64 20 74 65 spects........If.the.required.te
46c00 78 74 73 20 66 6f 72 20 65 69 74 68 65 72 20 63 6f 76 65 72 20 61 72 65 20 74 6f 6f 20 76 6f 6c xts.for.either.cover.are.too.vol
46c20 75 6d 69 6e 6f 75 73 20 74 6f 20 66 69 74 0a 20 20 20 20 20 6c 65 67 69 62 6c 79 2c 20 79 6f 75 uminous.to.fit......legibly,.you
46c40 20 73 68 6f 75 6c 64 20 70 75 74 20 74 68 65 20 66 69 72 73 74 20 6f 6e 65 73 20 6c 69 73 74 65 .should.put.the.first.ones.liste
46c60 64 20 28 61 73 20 6d 61 6e 79 20 61 73 20 66 69 74 0a 20 20 20 20 20 72 65 61 73 6f 6e 61 62 6c d.(as.many.as.fit......reasonabl
46c80 79 29 20 6f 6e 20 74 68 65 20 61 63 74 75 61 6c 20 63 6f 76 65 72 2c 20 61 6e 64 20 63 6f 6e 74 y).on.the.actual.cover,.and.cont
46ca0 69 6e 75 65 20 74 68 65 20 72 65 73 74 20 6f 6e 74 6f 0a 20 20 20 20 20 61 64 6a 61 63 65 6e 74 inue.the.rest.onto......adjacent
46cc0 20 70 61 67 65 73 2e 0a 0a 20 20 20 20 20 49 66 20 79 6f 75 20 70 75 62 6c 69 73 68 20 6f 72 20 .pages........If.you.publish.or.
46ce0 64 69 73 74 72 69 62 75 74 65 20 4f 70 61 71 75 65 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 distribute.Opaque.copies.of.the.
46d00 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 6e 75 6d 62 65 72 69 6e 67 20 6d 6f 72 65 20 74 68 61 Document......numbering.more.tha
46d20 6e 20 31 30 30 2c 20 79 6f 75 20 6d 75 73 74 20 65 69 74 68 65 72 20 69 6e 63 6c 75 64 65 20 61 n.100,.you.must.either.include.a
46d40 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 0a 20 20 20 20 20 54 72 61 6e 73 70 61 72 65 .machine-readable......Transpare
46d60 6e 74 20 63 6f 70 79 20 61 6c 6f 6e 67 20 77 69 74 68 20 65 61 63 68 20 4f 70 61 71 75 65 20 63 nt.copy.along.with.each.Opaque.c
46d80 6f 70 79 2c 20 6f 72 20 73 74 61 74 65 20 69 6e 20 6f 72 20 77 69 74 68 0a 20 20 20 20 20 65 61 opy,.or.state.in.or.with......ea
46da0 63 68 20 4f 70 61 71 75 65 20 63 6f 70 79 20 61 20 63 6f 6d 70 75 74 65 72 2d 6e 65 74 77 6f 72 ch.Opaque.copy.a.computer-networ
46dc0 6b 20 6c 6f 63 61 74 69 6f 6e 20 66 72 6f 6d 20 77 68 69 63 68 20 74 68 65 20 67 65 6e 65 72 61 k.location.from.which.the.genera
46de0 6c 0a 20 20 20 20 20 6e 65 74 77 6f 72 6b 2d 75 73 69 6e 67 20 70 75 62 6c 69 63 20 68 61 73 20 l......network-using.public.has.
46e00 61 63 63 65 73 73 20 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 75 73 69 6e 67 20 70 75 62 6c 69 63 2d access.to.download.using.public-
46e20 73 74 61 6e 64 61 72 64 0a 20 20 20 20 20 6e 65 74 77 6f 72 6b 20 70 72 6f 74 6f 63 6f 6c 73 20 standard......network.protocols.
46e40 61 20 63 6f 6d 70 6c 65 74 65 20 54 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 79 20 6f 66 20 74 a.complete.Transparent.copy.of.t
46e60 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 66 72 65 65 0a 20 20 20 20 20 6f 66 20 61 64 64 65 64 20 he.Document,.free......of.added.
46e80 6d 61 74 65 72 69 61 6c 2e 20 20 49 66 20 79 6f 75 20 75 73 65 20 74 68 65 20 6c 61 74 74 65 72 material...If.you.use.the.latter
46ea0 20 6f 70 74 69 6f 6e 2c 20 79 6f 75 20 6d 75 73 74 20 74 61 6b 65 0a 20 20 20 20 20 72 65 61 73 .option,.you.must.take......reas
46ec0 6f 6e 61 62 6c 79 20 70 72 75 64 65 6e 74 20 73 74 65 70 73 2c 20 77 68 65 6e 20 79 6f 75 20 62 onably.prudent.steps,.when.you.b
46ee0 65 67 69 6e 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 4f 70 61 71 75 65 0a 20 20 20 20 egin.distribution.of.Opaque.....
46f00 20 63 6f 70 69 65 73 20 69 6e 20 71 75 61 6e 74 69 74 79 2c 20 74 6f 20 65 6e 73 75 72 65 20 74 .copies.in.quantity,.to.ensure.t
46f20 68 61 74 20 74 68 69 73 20 54 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 79 20 77 69 6c 6c 0a 20 hat.this.Transparent.copy.will..
46f40 20 20 20 20 72 65 6d 61 69 6e 20 74 68 75 73 20 61 63 63 65 73 73 69 62 6c 65 20 61 74 20 74 68 ....remain.thus.accessible.at.th
46f60 65 20 73 74 61 74 65 64 20 6c 6f 63 61 74 69 6f 6e 20 75 6e 74 69 6c 20 61 74 20 6c 65 61 73 74 e.stated.location.until.at.least
46f80 20 6f 6e 65 0a 20 20 20 20 20 79 65 61 72 20 61 66 74 65 72 20 74 68 65 20 6c 61 73 74 20 74 69 .one......year.after.the.last.ti
46fa0 6d 65 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 20 4f 70 61 71 75 65 20 63 6f 70 79 me.you.distribute.an.Opaque.copy
46fc0 20 28 64 69 72 65 63 74 6c 79 20 6f 72 0a 20 20 20 20 20 74 68 72 6f 75 67 68 20 79 6f 75 72 20 .(directly.or......through.your.
46fe0 61 67 65 6e 74 73 20 6f 72 20 72 65 74 61 69 6c 65 72 73 29 20 6f 66 20 74 68 61 74 20 65 64 69 agents.or.retailers).of.that.edi
47000 74 69 6f 6e 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 2e 0a 0a 20 20 20 20 20 49 74 20 69 73 20 tion.to.the.public........It.is.
47020 72 65 71 75 65 73 74 65 64 2c 20 62 75 74 20 6e 6f 74 20 72 65 71 75 69 72 65 64 2c 20 74 68 61 requested,.but.not.required,.tha
47040 74 20 79 6f 75 20 63 6f 6e 74 61 63 74 20 74 68 65 20 61 75 74 68 6f 72 73 20 6f 66 0a 20 20 20 t.you.contact.the.authors.of....
47060 20 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 77 65 6c 6c 20 62 65 66 6f 72 65 20 72 65 64 69 73 ..the.Document.well.before.redis
47080 74 72 69 62 75 74 69 6e 67 20 61 6e 79 20 6c 61 72 67 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f tributing.any.large.number.of.co
470a0 70 69 65 73 2c 0a 20 20 20 20 20 74 6f 20 67 69 76 65 20 74 68 65 6d 20 61 20 63 68 61 6e 63 65 pies,......to.give.them.a.chance
470c0 20 74 6f 20 70 72 6f 76 69 64 65 20 79 6f 75 20 77 69 74 68 20 61 6e 20 75 70 64 61 74 65 64 20 .to.provide.you.with.an.updated.
470e0 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 0a 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 2e 0a 0a 20 version.of.the......Document....
47100 20 34 2e 20 4d 4f 44 49 46 49 43 41 54 49 4f 4e 53 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 .4..MODIFICATIONS.......You.may.
47120 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 61 20 4d 6f 64 69 66 69 65 64 20 56 copy.and.distribute.a.Modified.V
47140 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 75 6e 64 65 ersion.of.the.Document......unde
47160 72 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 20 73 65 63 74 69 6f 6e 73 20 32 20 61 r.the.conditions.of.sections.2.a
47180 6e 64 20 33 20 61 62 6f 76 65 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 0a 20 20 nd.3.above,.provided.that.you...
471a0 20 20 20 72 65 6c 65 61 73 65 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 ...release.the.Modified.Version.
471c0 75 6e 64 65 72 20 70 72 65 63 69 73 65 6c 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 77 69 under.precisely.this.License,.wi
471e0 74 68 20 74 68 65 0a 20 20 20 20 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 66 69 6c th.the......Modified.Version.fil
47200 6c 69 6e 67 20 74 68 65 20 72 6f 6c 65 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 74 ling.the.role.of.the.Document,.t
47220 68 75 73 20 6c 69 63 65 6e 73 69 6e 67 0a 20 20 20 20 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 hus.licensing......distribution.
47240 61 6e 64 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 4d 6f 64 69 66 69 65 64 and.modification.of.the.Modified
47260 20 56 65 72 73 69 6f 6e 20 74 6f 20 77 68 6f 65 76 65 72 0a 20 20 20 20 20 70 6f 73 73 65 73 73 .Version.to.whoever......possess
47280 65 73 20 61 20 63 6f 70 79 20 6f 66 20 69 74 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 79 es.a.copy.of.it...In.addition,.y
472a0 6f 75 20 6d 75 73 74 20 64 6f 20 74 68 65 73 65 20 74 68 69 6e 67 73 20 69 6e 0a 20 20 20 20 20 ou.must.do.these.things.in......
472c0 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 3a 0a 0a 20 20 20 20 20 20 20 41 2e the.Modified.Version:.........A.
472e0 20 55 73 65 20 69 6e 20 74 68 65 20 54 69 74 6c 65 20 50 61 67 65 20 28 61 6e 64 20 6f 6e 20 74 .Use.in.the.Title.Page.(and.on.t
47300 68 65 20 63 6f 76 65 72 73 2c 20 69 66 20 61 6e 79 29 20 61 20 74 69 74 6c 65 0a 20 20 20 20 20 he.covers,.if.any).a.title......
47320 20 20 20 20 20 64 69 73 74 69 6e 63 74 20 66 72 6f 6d 20 74 68 61 74 20 6f 66 20 74 68 65 20 44 .....distinct.from.that.of.the.D
47340 6f 63 75 6d 65 6e 74 2c 20 61 6e 64 20 66 72 6f 6d 20 74 68 6f 73 65 20 6f 66 20 70 72 65 76 69 ocument,.and.from.those.of.previ
47360 6f 75 73 0a 20 20 20 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 73 20 28 77 68 69 63 68 20 73 68 ous...........versions.(which.sh
47380 6f 75 6c 64 2c 20 69 66 20 74 68 65 72 65 20 77 65 72 65 20 61 6e 79 2c 20 62 65 20 6c 69 73 74 ould,.if.there.were.any,.be.list
473a0 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 48 69 73 74 6f 72 79 20 73 65 63 74 ed.in.the...........History.sect
473c0 69 6f 6e 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 29 2e 20 20 59 6f 75 20 6d 61 79 20 75 ion.of.the.Document)...You.may.u
473e0 73 65 20 74 68 65 20 73 61 6d 65 20 74 69 74 6c 65 0a 20 20 20 20 20 20 20 20 20 20 61 73 20 61 se.the.same.title...........as.a
47400 20 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 20 69 66 20 74 68 65 20 6f 72 69 67 69 6e 61 .previous.version.if.the.origina
47420 6c 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 20 76 65 l.publisher.of.that...........ve
47440 72 73 69 6f 6e 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 rsion.gives.permission..........
47460 42 2e 20 4c 69 73 74 20 6f 6e 20 74 68 65 20 54 69 74 6c 65 20 50 61 67 65 2c 20 61 73 20 61 75 B..List.on.the.Title.Page,.as.au
47480 74 68 6f 72 73 2c 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 70 65 72 73 6f 6e 73 20 6f 72 0a 20 20 thors,.one.or.more.persons.or...
474a0 20 20 20 20 20 20 20 20 65 6e 74 69 74 69 65 73 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 ........entities.responsible.for
474c0 20 61 75 74 68 6f 72 73 68 69 70 20 6f 66 20 74 68 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 .authorship.of.the.modifications
474e0 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 .in...........the.Modified.Versi
47500 6f 6e 2c 20 74 6f 67 65 74 68 65 72 20 77 69 74 68 20 61 74 20 6c 65 61 73 74 20 66 69 76 65 20 on,.together.with.at.least.five.
47520 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 63 69 70 61 6c 20 61 75 74 68 6f of.the...........principal.autho
47540 72 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 28 61 6c 6c 20 6f 66 20 69 74 73 20 70 rs.of.the.Document.(all.of.its.p
47560 72 69 6e 63 69 70 61 6c 0a 20 20 20 20 20 20 20 20 20 20 61 75 74 68 6f 72 73 2c 20 69 66 20 69 rincipal...........authors,.if.i
47580 74 20 68 61 73 20 66 65 77 65 72 20 74 68 61 6e 20 66 69 76 65 29 2c 20 75 6e 6c 65 73 73 20 74 t.has.fewer.than.five),.unless.t
475a0 68 65 79 20 72 65 6c 65 61 73 65 20 79 6f 75 0a 20 20 20 20 20 20 20 20 20 20 66 72 6f 6d 20 74 hey.release.you...........from.t
475c0 68 69 73 20 72 65 71 75 69 72 65 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 20 20 43 2e 20 53 74 61 74 his.requirement..........C..Stat
475e0 65 20 6f 6e 20 74 68 65 20 54 69 74 6c 65 20 70 61 67 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 e.on.the.Title.page.the.name.of.
47600 74 68 65 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 4d the.publisher.of.the...........M
47620 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 2c 20 61 73 20 74 68 65 20 70 75 62 6c 69 73 68 65 odified.Version,.as.the.publishe
47640 72 2e 0a 0a 20 20 20 20 20 20 20 44 2e 20 50 72 65 73 65 72 76 65 20 61 6c 6c 20 74 68 65 20 63 r..........D..Preserve.all.the.c
47660 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 opyright.notices.of.the.Document
47680 2e 0a 0a 20 20 20 20 20 20 20 45 2e 20 41 64 64 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 ..........E..Add.an.appropriate.
476a0 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 66 6f 72 20 79 6f 75 72 20 6d 6f 64 69 66 69 copyright.notice.for.your.modifi
476c0 63 61 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 61 64 6a 61 63 65 6e 74 20 74 6f 20 74 68 cations...........adjacent.to.th
476e0 65 20 6f 74 68 65 72 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 73 2e 0a 0a 20 20 20 20 e.other.copyright.notices.......
47700 20 20 20 46 2e 20 49 6e 63 6c 75 64 65 2c 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 66 74 65 72 ...F..Include,.immediately.after
47720 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 73 2c 20 61 20 6c 69 63 65 6e 73 .the.copyright.notices,.a.licens
47740 65 0a 20 20 20 20 20 20 20 20 20 20 6e 6f 74 69 63 65 20 67 69 76 69 6e 67 20 74 68 65 20 70 75 e...........notice.giving.the.pu
47760 62 6c 69 63 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 75 73 65 20 74 68 65 20 4d 6f 64 69 66 blic.permission.to.use.the.Modif
47780 69 65 64 0a 20 20 20 20 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 75 6e 64 65 72 20 74 68 65 20 ied...........Version.under.the.
477a0 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 69 6e 20 74 68 65 20 66 6f terms.of.this.License,.in.the.fo
477c0 72 6d 20 73 68 6f 77 6e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 41 64 64 65 6e 64 rm.shown.in...........the.Addend
477e0 75 6d 20 62 65 6c 6f 77 2e 0a 0a 20 20 20 20 20 20 20 47 2e 20 50 72 65 73 65 72 76 65 20 69 6e um.below..........G..Preserve.in
47800 20 74 68 61 74 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 20 74 68 65 20 66 75 6c 6c 20 6c 69 .that.license.notice.the.full.li
47820 73 74 73 20 6f 66 20 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 sts.of.Invariant...........Secti
47840 6f 6e 73 20 61 6e 64 20 72 65 71 75 69 72 65 64 20 43 6f 76 65 72 20 54 65 78 74 73 20 67 69 76 ons.and.required.Cover.Texts.giv
47860 65 6e 20 69 6e 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 e2 80 99 73 0a 20 20 20 20 20 20 20 20 20 en.in.the.Document...s..........
47880 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 2e 0a 0a 20 20 20 20 20 20 20 48 2e 20 49 6e 63 6c .license.notice..........H..Incl
478a0 75 64 65 20 61 6e 20 75 6e 61 6c 74 65 72 65 64 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 ude.an.unaltered.copy.of.this.Li
478c0 63 65 6e 73 65 2e 0a 0a 20 20 20 20 20 20 20 49 2e 20 50 72 65 73 65 72 76 65 20 74 68 65 20 73 cense..........I..Preserve.the.s
478e0 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 e2 80 9c 48 69 73 74 6f 72 79 e2 80 9d 2c 20 50 ection.Entitled....History...,.P
47900 72 65 73 65 72 76 65 20 69 74 73 20 54 69 74 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 20 61 6e 64 reserve.its.Title,...........and
47920 20 61 64 64 20 74 6f 20 69 74 20 61 6e 20 69 74 65 6d 20 73 74 61 74 69 6e 67 20 61 74 20 6c 65 .add.to.it.an.item.stating.at.le
47940 61 73 74 20 74 68 65 20 74 69 74 6c 65 2c 20 79 65 61 72 2c 20 6e 65 77 0a 20 20 20 20 20 20 20 ast.the.title,.year,.new........
47960 20 20 20 61 75 74 68 6f 72 73 2c 20 61 6e 64 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 65 ...authors,.and.publisher.of.the
47980 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 61 73 20 67 69 76 65 6e 20 6f 6e 20 74 68 .Modified.Version.as.given.on.th
479a0 65 0a 20 20 20 20 20 20 20 20 20 20 54 69 74 6c 65 20 50 61 67 65 2e 20 20 49 66 20 74 68 65 72 e...........Title.Page...If.ther
479c0 65 20 69 73 20 6e 6f 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 e.is.no.section.Entitled....Hist
479e0 6f 72 79 e2 80 9d 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 ory....in.the...........Document
47a00 2c 20 63 72 65 61 74 65 20 6f 6e 65 20 73 74 61 74 69 6e 67 20 74 68 65 20 74 69 74 6c 65 2c 20 ,.create.one.stating.the.title,.
47a20 79 65 61 72 2c 20 61 75 74 68 6f 72 73 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 70 75 62 year,.authors,.and...........pub
47a40 6c 69 73 68 65 72 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 61 73 20 67 69 76 65 6e 20 lisher.of.the.Document.as.given.
47a60 6f 6e 20 69 74 73 20 54 69 74 6c 65 20 50 61 67 65 2c 20 74 68 65 6e 20 61 64 64 0a 20 20 20 20 on.its.Title.Page,.then.add.....
47a80 20 20 20 20 20 20 61 6e 20 69 74 65 6d 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 4d 6f 64 ......an.item.describing.the.Mod
47aa0 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 61 73 20 73 74 61 74 65 64 20 69 6e 20 74 68 65 0a 20 ified.Version.as.stated.in.the..
47ac0 20 20 20 20 20 20 20 20 20 70 72 65 76 69 6f 75 73 20 73 65 6e 74 65 6e 63 65 2e 0a 0a 20 20 20 .........previous.sentence......
47ae0 20 20 20 20 4a 2e 20 50 72 65 73 65 72 76 65 20 74 68 65 20 6e 65 74 77 6f 72 6b 20 6c 6f 63 61 ....J..Preserve.the.network.loca
47b00 74 69 6f 6e 2c 20 69 66 20 61 6e 79 2c 20 67 69 76 65 6e 20 69 6e 20 74 68 65 20 44 6f 63 75 6d tion,.if.any,.given.in.the.Docum
47b20 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 70 75 62 6c 69 63 20 61 63 63 65 73 73 20 ent...........for.public.access.
47b40 74 6f 20 61 20 54 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 79 20 6f 66 20 74 68 65 20 44 6f 63 to.a.Transparent.copy.of.the.Doc
47b60 75 6d 65 6e 74 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 6c 69 6b 65 77 69 73 65 20 74 68 ument,.and...........likewise.th
47b80 65 20 6e 65 74 77 6f 72 6b 20 6c 6f 63 61 74 69 6f 6e 73 20 67 69 76 65 6e 20 69 6e 20 74 68 65 e.network.locations.given.in.the
47ba0 20 44 6f 63 75 6d 65 6e 74 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 20 70 72 65 76 69 6f 75 73 .Document.for...........previous
47bc0 20 76 65 72 73 69 6f 6e 73 20 69 74 20 77 61 73 20 62 61 73 65 64 20 6f 6e 2e 20 20 54 68 65 73 .versions.it.was.based.on...Thes
47be0 65 20 6d 61 79 20 62 65 20 70 6c 61 63 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 e.may.be.placed.in.the..........
47c00 20 e2 80 9c 48 69 73 74 6f 72 79 e2 80 9d 20 73 65 63 74 69 6f 6e 2e 20 20 59 6f 75 20 6d 61 79 ....History....section...You.may
47c20 20 6f 6d 69 74 20 61 20 6e 65 74 77 6f 72 6b 20 6c 6f 63 61 74 69 6f 6e 20 66 6f 72 20 61 20 77 .omit.a.network.location.for.a.w
47c40 6f 72 6b 0a 20 20 20 20 20 20 20 20 20 20 74 68 61 74 20 77 61 73 20 70 75 62 6c 69 73 68 65 64 ork...........that.was.published
47c60 20 61 74 20 6c 65 61 73 74 20 66 6f 75 72 20 79 65 61 72 73 20 62 65 66 6f 72 65 20 74 68 65 20 .at.least.four.years.before.the.
47c80 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 69 74 73 65 6c 66 2c 20 6f 72 20 69 66 Document...........itself,.or.if
47ca0 20 74 68 65 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 65 20 76 .the.original.publisher.of.the.v
47cc0 65 72 73 69 6f 6e 20 69 74 20 72 65 66 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 74 6f 20 67 69 ersion.it.refers...........to.gi
47ce0 76 65 73 20 70 65 72 6d 69 73 73 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 4b 2e 20 46 6f 72 20 61 ves.permission..........K..For.a
47d00 6e 79 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 e2 80 9c 41 63 6b 6e 6f 77 6c 65 64 ny.section.Entitled....Acknowled
47d20 67 65 6d 65 6e 74 73 e2 80 9d 20 6f 72 20 e2 80 9c 44 65 64 69 63 61 74 69 6f 6e 73 e2 80 9d 2c gements....or....Dedications...,
47d40 0a 20 20 20 20 20 20 20 20 20 20 50 72 65 73 65 72 76 65 20 74 68 65 20 54 69 74 6c 65 20 6f 66 ...........Preserve.the.Title.of
47d60 20 74 68 65 20 73 65 63 74 69 6f 6e 2c 20 61 6e 64 20 70 72 65 73 65 72 76 65 20 69 6e 20 74 68 .the.section,.and.preserve.in.th
47d80 65 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 61 6c 6c 20 74 68 65 20 73 75 62 73 e.section...........all.the.subs
47da0 74 61 6e 63 65 20 61 6e 64 20 74 6f 6e 65 20 6f 66 20 65 61 63 68 20 6f 66 20 74 68 65 20 63 6f tance.and.tone.of.each.of.the.co
47dc0 6e 74 72 69 62 75 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 61 63 6b 6e 6f 77 6c 65 64 67 65 6d ntributor...........acknowledgem
47de0 65 6e 74 73 20 61 6e 64 2f 6f 72 20 64 65 64 69 63 61 74 69 6f 6e 73 20 67 69 76 65 6e 20 74 68 ents.and/or.dedications.given.th
47e00 65 72 65 69 6e 2e 0a 0a 20 20 20 20 20 20 20 4c 2e 20 50 72 65 73 65 72 76 65 20 61 6c 6c 20 74 erein..........L..Preserve.all.t
47e20 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 74 68 65 20 44 6f 63 he.Invariant.Sections.of.the.Doc
47e40 75 6d 65 6e 74 2c 20 75 6e 61 6c 74 65 72 65 64 0a 20 20 20 20 20 20 20 20 20 20 69 6e 20 74 68 ument,.unaltered...........in.th
47e60 65 69 72 20 74 65 78 74 20 61 6e 64 20 69 6e 20 74 68 65 69 72 20 74 69 74 6c 65 73 2e 20 20 53 eir.text.and.in.their.titles...S
47e80 65 63 74 69 6f 6e 20 6e 75 6d 62 65 72 73 20 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 ection.numbers.or.the...........
47ea0 65 71 75 69 76 61 6c 65 6e 74 20 61 72 65 20 6e 6f 74 20 63 6f 6e 73 69 64 65 72 65 64 20 70 61 equivalent.are.not.considered.pa
47ec0 72 74 20 6f 66 20 74 68 65 20 73 65 63 74 69 6f 6e 20 74 69 74 6c 65 73 2e 0a 0a 20 20 20 20 20 rt.of.the.section.titles........
47ee0 20 20 4d 2e 20 44 65 6c 65 74 65 20 61 6e 79 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 ..M..Delete.any.section.Entitled
47f00 20 e2 80 9c 45 6e 64 6f 72 73 65 6d 65 6e 74 73 e2 80 9d 2e 20 20 53 75 63 68 20 61 20 73 65 63 ....Endorsements......Such.a.sec
47f20 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 6d 61 79 20 6e 6f 74 20 62 65 20 69 6e 63 6c 75 64 tion...........may.not.be.includ
47f40 65 64 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 0a 0a 20 20 20 ed.in.the.Modified.Version......
47f60 20 20 20 20 4e 2e 20 44 6f 20 6e 6f 74 20 72 65 74 69 74 6c 65 20 61 6e 79 20 65 78 69 73 74 69 ....N..Do.not.retitle.any.existi
47f80 6e 67 20 73 65 63 74 69 6f 6e 20 74 6f 20 62 65 20 45 6e 74 69 74 6c 65 64 0a 20 20 20 20 20 20 ng.section.to.be.Entitled.......
47fa0 20 20 20 20 e2 80 9c 45 6e 64 6f 72 73 65 6d 65 6e 74 73 e2 80 9d 20 6f 72 20 74 6f 20 63 6f 6e .......Endorsements....or.to.con
47fc0 66 6c 69 63 74 20 69 6e 20 74 69 74 6c 65 20 77 69 74 68 20 61 6e 79 20 49 6e 76 61 72 69 61 6e flict.in.title.with.any.Invarian
47fe0 74 0a 20 20 20 20 20 20 20 20 20 20 53 65 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 4f 2e 20 t...........Section..........O..
48000 50 72 65 73 65 72 76 65 20 61 6e 79 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 Preserve.any.Warranty.Disclaimer
48020 73 2e 0a 0a 20 20 20 20 20 49 66 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e s........If.the.Modified.Version
48040 20 69 6e 63 6c 75 64 65 73 20 6e 65 77 20 66 72 6f 6e 74 2d 6d 61 74 74 65 72 20 73 65 63 74 69 .includes.new.front-matter.secti
48060 6f 6e 73 20 6f 72 0a 20 20 20 20 20 61 70 70 65 6e 64 69 63 65 73 20 74 68 61 74 20 71 75 61 6c ons.or......appendices.that.qual
48080 69 66 79 20 61 73 20 53 65 63 6f 6e 64 61 72 79 20 53 65 63 74 69 6f 6e 73 20 61 6e 64 20 63 6f ify.as.Secondary.Sections.and.co
480a0 6e 74 61 69 6e 20 6e 6f 0a 20 20 20 20 20 6d 61 74 65 72 69 61 6c 20 63 6f 70 69 65 64 20 66 72 ntain.no......material.copied.fr
480c0 6f 6d 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 om.the.Document,.you.may.at.your
480e0 20 6f 70 74 69 6f 6e 20 64 65 73 69 67 6e 61 74 65 0a 20 20 20 20 20 73 6f 6d 65 20 6f 72 20 61 .option.designate......some.or.a
48100 6c 6c 20 6f 66 20 74 68 65 73 65 20 73 65 63 74 69 6f 6e 73 20 61 73 20 69 6e 76 61 72 69 61 6e ll.of.these.sections.as.invarian
48120 74 2e 20 20 54 6f 20 64 6f 20 74 68 69 73 2c 20 61 64 64 20 74 68 65 69 72 0a 20 20 20 20 20 74 t...To.do.this,.add.their......t
48140 69 74 6c 65 73 20 74 6f 20 74 68 65 20 6c 69 73 74 20 6f 66 20 49 6e 76 61 72 69 61 6e 74 20 53 itles.to.the.list.of.Invariant.S
48160 65 63 74 69 6f 6e 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 e2 ections.in.the.Modified.Version.
48180 80 99 73 0a 20 20 20 20 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 2e 20 20 54 68 65 73 65 20 ..s......license.notice...These.
481a0 74 69 74 6c 65 73 20 6d 75 73 74 20 62 65 20 64 69 73 74 69 6e 63 74 20 66 72 6f 6d 20 61 6e 79 titles.must.be.distinct.from.any
481c0 20 6f 74 68 65 72 0a 20 20 20 20 20 73 65 63 74 69 6f 6e 20 74 69 74 6c 65 73 2e 0a 0a 20 20 20 .other......section.titles......
481e0 20 20 59 6f 75 20 6d 61 79 20 61 64 64 20 61 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 ..You.may.add.a.section.Entitled
48200 20 e2 80 9c 45 6e 64 6f 72 73 65 6d 65 6e 74 73 e2 80 9d 2c 20 70 72 6f 76 69 64 65 64 20 69 74 ....Endorsements...,.provided.it
48220 20 63 6f 6e 74 61 69 6e 73 0a 20 20 20 20 20 6e 6f 74 68 69 6e 67 20 62 75 74 20 65 6e 64 6f 72 .contains......nothing.but.endor
48240 73 65 6d 65 6e 74 73 20 6f 66 20 79 6f 75 72 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e sements.of.your.Modified.Version
48260 20 62 79 20 76 61 72 69 6f 75 73 0a 20 20 20 20 20 70 61 72 74 69 65 73 e2 80 94 66 6f 72 20 65 .by.various......parties...for.e
48280 78 61 6d 70 6c 65 2c 20 73 74 61 74 65 6d 65 6e 74 73 20 6f 66 20 70 65 65 72 20 72 65 76 69 65 xample,.statements.of.peer.revie
482a0 77 20 6f 72 20 74 68 61 74 20 74 68 65 20 74 65 78 74 20 68 61 73 0a 20 20 20 20 20 62 65 65 6e w.or.that.the.text.has......been
482c0 20 61 70 70 72 6f 76 65 64 20 62 79 20 61 6e 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 20 61 73 20 .approved.by.an.organization.as.
482e0 74 68 65 20 61 75 74 68 6f 72 69 74 61 74 69 76 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 0a the.authoritative.definition.of.
48300 20 20 20 20 20 61 20 73 74 61 6e 64 61 72 64 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 61 .....a.standard........You.may.a
48320 64 64 20 61 20 70 61 73 73 61 67 65 20 6f 66 20 75 70 20 74 6f 20 66 69 76 65 20 77 6f 72 64 73 dd.a.passage.of.up.to.five.words
48340 20 61 73 20 61 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 2c 0a 20 20 20 20 20 61 6e 64 .as.a.Front-Cover.Text,......and
48360 20 61 20 70 61 73 73 61 67 65 20 6f 66 20 75 70 20 74 6f 20 32 35 20 77 6f 72 64 73 20 61 73 20 .a.passage.of.up.to.25.words.as.
48380 61 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 2c 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 a.Back-Cover.Text,.to.the.end.of
483a0 0a 20 20 20 20 20 74 68 65 20 6c 69 73 74 20 6f 66 20 43 6f 76 65 72 20 54 65 78 74 73 20 69 6e ......the.list.of.Cover.Texts.in
483c0 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 2e 20 20 4f 6e 6c 79 20 6f 6e 65 .the.Modified.Version...Only.one
483e0 20 70 61 73 73 61 67 65 0a 20 20 20 20 20 6f 66 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 .passage......of.Front-Cover.Tex
48400 74 20 61 6e 64 20 6f 6e 65 20 6f 66 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 20 6d 61 79 t.and.one.of.Back-Cover.Text.may
48420 20 62 65 20 61 64 64 65 64 20 62 79 20 28 6f 72 0a 20 20 20 20 20 74 68 72 6f 75 67 68 20 61 72 .be.added.by.(or......through.ar
48440 72 61 6e 67 65 6d 65 6e 74 73 20 6d 61 64 65 20 62 79 29 20 61 6e 79 20 6f 6e 65 20 65 6e 74 69 rangements.made.by).any.one.enti
48460 74 79 2e 20 20 49 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 61 6c 72 65 61 64 ty...If.the.Document......alread
48480 79 20 69 6e 63 6c 75 64 65 73 20 61 20 63 6f 76 65 72 20 74 65 78 74 20 66 6f 72 20 74 68 65 20 y.includes.a.cover.text.for.the.
484a0 73 61 6d 65 20 63 6f 76 65 72 2c 20 70 72 65 76 69 6f 75 73 6c 79 20 61 64 64 65 64 0a 20 20 20 same.cover,.previously.added....
484c0 20 20 62 79 20 79 6f 75 20 6f 72 20 62 79 20 61 72 72 61 6e 67 65 6d 65 6e 74 20 6d 61 64 65 20 ..by.you.or.by.arrangement.made.
484e0 62 79 20 74 68 65 20 73 61 6d 65 20 65 6e 74 69 74 79 20 79 6f 75 20 61 72 65 20 61 63 74 69 6e by.the.same.entity.you.are.actin
48500 67 20 6f 6e 0a 20 20 20 20 20 62 65 68 61 6c 66 20 6f 66 2c 20 79 6f 75 20 6d 61 79 20 6e 6f 74 g.on......behalf.of,.you.may.not
48520 20 61 64 64 20 61 6e 6f 74 68 65 72 3b 20 62 75 74 20 79 6f 75 20 6d 61 79 20 72 65 70 6c 61 63 .add.another;.but.you.may.replac
48540 65 20 74 68 65 20 6f 6c 64 0a 20 20 20 20 20 6f 6e 65 2c 20 6f 6e 20 65 78 70 6c 69 63 69 74 20 e.the.old......one,.on.explicit.
48560 70 65 72 6d 69 73 73 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 70 75 62 permission.from.the.previous.pub
48580 6c 69 73 68 65 72 20 74 68 61 74 20 61 64 64 65 64 0a 20 20 20 20 20 74 68 65 20 6f 6c 64 20 6f lisher.that.added......the.old.o
485a0 6e 65 2e 0a 0a 20 20 20 20 20 54 68 65 20 61 75 74 68 6f 72 28 73 29 20 61 6e 64 20 70 75 62 6c ne........The.author(s).and.publ
485c0 69 73 68 65 72 28 73 29 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 64 6f 20 6e 6f 74 20 isher(s).of.the.Document.do.not.
485e0 62 79 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 20 67 69 76 65 20 70 65 72 6d 69 73 by.this......License.give.permis
48600 73 69 6f 6e 20 74 6f 20 75 73 65 20 74 68 65 69 72 20 6e 61 6d 65 73 20 66 6f 72 20 70 75 62 6c sion.to.use.their.names.for.publ
48620 69 63 69 74 79 20 66 6f 72 20 6f 72 20 74 6f 0a 20 20 20 20 20 61 73 73 65 72 74 20 6f 72 20 69 icity.for.or.to......assert.or.i
48640 6d 70 6c 79 20 65 6e 64 6f 72 73 65 6d 65 6e 74 20 6f 66 20 61 6e 79 20 4d 6f 64 69 66 69 65 64 mply.endorsement.of.any.Modified
48660 20 56 65 72 73 69 6f 6e 2e 0a 0a 20 20 35 2e 20 43 4f 4d 42 49 4e 49 4e 47 20 44 4f 43 55 4d 45 .Version.....5..COMBINING.DOCUME
48680 4e 54 53 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 63 6f 6d 62 69 6e 65 20 74 68 65 20 44 6f NTS.......You.may.combine.the.Do
486a0 63 75 6d 65 6e 74 20 77 69 74 68 20 6f 74 68 65 72 20 64 6f 63 75 6d 65 6e 74 73 20 72 65 6c 65 cument.with.other.documents.rele
486c0 61 73 65 64 20 75 6e 64 65 72 0a 20 20 20 20 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 75 6e ased.under......this.License,.un
486e0 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 64 65 66 69 6e 65 64 20 69 6e 20 73 65 63 74 69 6f 6e der.the.terms.defined.in.section
48700 20 34 20 61 62 6f 76 65 20 66 6f 72 0a 20 20 20 20 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 .4.above.for......modified.versi
48720 6f 6e 73 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 69 6e 63 6c 75 64 65 20 69 ons,.provided.that.you.include.i
48740 6e 20 74 68 65 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 61 6c 6c 0a 20 20 20 20 20 6f 66 20 74 68 n.the.combination.all......of.th
48760 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 6f 66 20 61 6c 6c 20 6f 66 20 74 e.Invariant.Sections.of.all.of.t
48780 68 65 20 6f 72 69 67 69 6e 61 6c 20 64 6f 63 75 6d 65 6e 74 73 2c 0a 20 20 20 20 20 75 6e 6d 6f he.original.documents,......unmo
487a0 64 69 66 69 65 64 2c 20 61 6e 64 20 6c 69 73 74 20 74 68 65 6d 20 61 6c 6c 20 61 73 20 49 6e 76 dified,.and.list.them.all.as.Inv
487c0 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 6f 66 20 79 6f 75 72 0a 20 20 20 20 20 63 6f 6d ariant.Sections.of.your......com
487e0 62 69 6e 65 64 20 77 6f 72 6b 20 69 6e 20 69 74 73 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 bined.work.in.its.license.notice
48800 2c 20 61 6e 64 20 74 68 61 74 20 79 6f 75 20 70 72 65 73 65 72 76 65 20 61 6c 6c 0a 20 20 20 20 ,.and.that.you.preserve.all.....
48820 20 74 68 65 69 72 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 2e 0a 0a 20 20 .their.Warranty.Disclaimers.....
48840 20 20 20 54 68 65 20 63 6f 6d 62 69 6e 65 64 20 77 6f 72 6b 20 6e 65 65 64 20 6f 6e 6c 79 20 63 ...The.combined.work.need.only.c
48860 6f 6e 74 61 69 6e 20 6f 6e 65 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c ontain.one.copy.of.this.License,
48880 20 61 6e 64 0a 20 20 20 20 20 6d 75 6c 74 69 70 6c 65 20 69 64 65 6e 74 69 63 61 6c 20 49 6e 76 .and......multiple.identical.Inv
488a0 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 6d 61 79 20 62 65 20 72 65 70 6c 61 63 65 64 20 ariant.Sections.may.be.replaced.
488c0 77 69 74 68 20 61 20 73 69 6e 67 6c 65 0a 20 20 20 20 20 63 6f 70 79 2e 20 20 49 66 20 74 68 65 with.a.single......copy...If.the
488e0 72 65 20 61 72 65 20 6d 75 6c 74 69 70 6c 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f re.are.multiple.Invariant.Sectio
48900 6e 73 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 0a 20 20 20 20 20 62 75 74 20 64 ns.with.the.same.name......but.d
48920 69 66 66 65 72 65 6e 74 20 63 6f 6e 74 65 6e 74 73 2c 20 6d 61 6b 65 20 74 68 65 20 74 69 74 6c ifferent.contents,.make.the.titl
48940 65 20 6f 66 20 65 61 63 68 20 73 75 63 68 20 73 65 63 74 69 6f 6e 20 75 6e 69 71 75 65 0a 20 20 e.of.each.such.section.unique...
48960 20 20 20 62 79 20 61 64 64 69 6e 67 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 69 74 2c 20 69 ...by.adding.at.the.end.of.it,.i
48980 6e 20 70 61 72 65 6e 74 68 65 73 65 73 2c 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 0a 20 n.parentheses,.the.name.of.the..
489a0 20 20 20 20 6f 72 69 67 69 6e 61 6c 20 61 75 74 68 6f 72 20 6f 72 20 70 75 62 6c 69 73 68 65 72 ....original.author.or.publisher
489c0 20 6f 66 20 74 68 61 74 20 73 65 63 74 69 6f 6e 20 69 66 20 6b 6e 6f 77 6e 2c 20 6f 72 20 65 6c .of.that.section.if.known,.or.el
489e0 73 65 20 61 0a 20 20 20 20 20 75 6e 69 71 75 65 20 6e 75 6d 62 65 72 2e 20 20 4d 61 6b 65 20 74 se.a......unique.number...Make.t
48a00 68 65 20 73 61 6d 65 20 61 64 6a 75 73 74 6d 65 6e 74 20 74 6f 20 74 68 65 20 73 65 63 74 69 6f he.same.adjustment.to.the.sectio
48a20 6e 20 74 69 74 6c 65 73 20 69 6e 0a 20 20 20 20 20 74 68 65 20 6c 69 73 74 20 6f 66 20 49 6e 76 n.titles.in......the.list.of.Inv
48a40 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6c 69 63 65 6e 73 65 20 6e ariant.Sections.in.the.license.n
48a60 6f 74 69 63 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 63 6f 6d 62 69 6e 65 64 20 77 6f 72 6b 2e otice.of.the......combined.work.
48a80 0a 0a 20 20 20 20 20 49 6e 20 74 68 65 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 2c 20 79 6f 75 20 6d .......In.the.combination,.you.m
48aa0 75 73 74 20 63 6f 6d 62 69 6e 65 20 61 6e 79 20 73 65 63 74 69 6f 6e 73 20 45 6e 74 69 74 6c 65 ust.combine.any.sections.Entitle
48ac0 64 0a 20 20 20 20 20 e2 80 9c 48 69 73 74 6f 72 79 e2 80 9d 20 69 6e 20 74 68 65 20 76 61 72 69 d.........History....in.the.vari
48ae0 6f 75 73 20 6f 72 69 67 69 6e 61 6c 20 64 6f 63 75 6d 65 6e 74 73 2c 20 66 6f 72 6d 69 6e 67 20 ous.original.documents,.forming.
48b00 6f 6e 65 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 45 6e 74 69 74 6c 65 64 20 e2 80 9c 48 69 73 one.section......Entitled....His
48b20 74 6f 72 79 e2 80 9d 3b 20 6c 69 6b 65 77 69 73 65 20 63 6f 6d 62 69 6e 65 20 61 6e 79 20 73 65 tory...;.likewise.combine.any.se
48b40 63 74 69 6f 6e 73 20 45 6e 74 69 74 6c 65 64 0a 20 20 20 20 20 e2 80 9c 41 63 6b 6e 6f 77 6c 65 ctions.Entitled.........Acknowle
48b60 64 67 65 6d 65 6e 74 73 e2 80 9d 2c 20 61 6e 64 20 61 6e 79 20 73 65 63 74 69 6f 6e 73 20 45 6e dgements...,.and.any.sections.En
48b80 74 69 74 6c 65 64 20 e2 80 9c 44 65 64 69 63 61 74 69 6f 6e 73 e2 80 9d 2e 20 20 59 6f 75 0a 20 titled....Dedications......You..
48ba0 20 20 20 20 6d 75 73 74 20 64 65 6c 65 74 65 20 61 6c 6c 20 73 65 63 74 69 6f 6e 73 20 45 6e 74 ....must.delete.all.sections.Ent
48bc0 69 74 6c 65 64 20 e2 80 9c 45 6e 64 6f 72 73 65 6d 65 6e 74 73 2e e2 80 9d 0a 0a 20 20 36 2e 20 itled....Endorsements........6..
48be0 43 4f 4c 4c 45 43 54 49 4f 4e 53 20 4f 46 20 44 4f 43 55 4d 45 4e 54 53 0a 0a 20 20 20 20 20 59 COLLECTIONS.OF.DOCUMENTS.......Y
48c00 6f 75 20 6d 61 79 20 6d 61 6b 65 20 61 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 63 6f 6e 73 69 73 74 ou.may.make.a.collection.consist
48c20 69 6e 67 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 61 6e 64 20 6f 74 68 65 72 0a 20 20 ing.of.the.Document.and.other...
48c40 20 20 20 64 6f 63 75 6d 65 6e 74 73 20 72 65 6c 65 61 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 ...documents.released.under.this
48c60 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 72 65 70 6c 61 63 65 20 74 68 65 20 69 6e 64 69 76 69 .License,.and.replace.the.indivi
48c80 64 75 61 6c 0a 20 20 20 20 20 63 6f 70 69 65 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 dual......copies.of.this.License
48ca0 20 69 6e 20 74 68 65 20 76 61 72 69 6f 75 73 20 64 6f 63 75 6d 65 6e 74 73 20 77 69 74 68 20 61 .in.the.various.documents.with.a
48cc0 20 73 69 6e 67 6c 65 20 63 6f 70 79 0a 20 20 20 20 20 74 68 61 74 20 69 73 20 69 6e 63 6c 75 64 .single.copy......that.is.includ
48ce0 65 64 20 69 6e 20 74 68 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 2c 20 70 72 6f 76 69 64 65 64 20 74 ed.in.the.collection,.provided.t
48d00 68 61 74 20 79 6f 75 20 66 6f 6c 6c 6f 77 20 74 68 65 0a 20 20 20 20 20 72 75 6c 65 73 20 6f 66 hat.you.follow.the......rules.of
48d20 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 76 65 72 62 61 74 69 6d 20 63 6f 70 79 69 .this.License.for.verbatim.copyi
48d40 6e 67 20 6f 66 20 65 61 63 68 20 6f 66 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 73 0a 20 20 20 20 ng.of.each.of.the.documents.....
48d60 20 69 6e 20 61 6c 6c 20 6f 74 68 65 72 20 72 65 73 70 65 63 74 73 2e 0a 0a 20 20 20 20 20 59 6f .in.all.other.respects........Yo
48d80 75 20 6d 61 79 20 65 78 74 72 61 63 74 20 61 20 73 69 6e 67 6c 65 20 64 6f 63 75 6d 65 6e 74 20 u.may.extract.a.single.document.
48da0 66 72 6f 6d 20 73 75 63 68 20 61 20 63 6f 6c 6c 65 63 74 69 6f 6e 2c 20 61 6e 64 0a 20 20 20 20 from.such.a.collection,.and.....
48dc0 20 64 69 73 74 72 69 62 75 74 65 20 69 74 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 75 6e 64 65 .distribute.it.individually.unde
48de0 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 70 72 6f 76 69 64 65 64 20 79 6f 75 20 69 6e 73 r.this.License,.provided.you.ins
48e00 65 72 74 0a 20 20 20 20 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 ert......a.copy.of.this.License.
48e20 69 6e 74 6f 20 74 68 65 20 65 78 74 72 61 63 74 65 64 20 64 6f 63 75 6d 65 6e 74 2c 20 61 6e 64 into.the.extracted.document,.and
48e40 20 66 6f 6c 6c 6f 77 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 20 69 6e 20 61 6c 6c .follow.this......License.in.all
48e60 20 6f 74 68 65 72 20 72 65 73 70 65 63 74 73 20 72 65 67 61 72 64 69 6e 67 20 76 65 72 62 61 74 .other.respects.regarding.verbat
48e80 69 6d 20 63 6f 70 79 69 6e 67 20 6f 66 20 74 68 61 74 0a 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 im.copying.of.that......document
48ea0 2e 0a 0a 20 20 37 2e 20 41 47 47 52 45 47 41 54 49 4f 4e 20 57 49 54 48 20 49 4e 44 45 50 45 4e .....7..AGGREGATION.WITH.INDEPEN
48ec0 44 45 4e 54 20 57 4f 52 4b 53 0a 0a 20 20 20 20 20 41 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f DENT.WORKS.......A.compilation.o
48ee0 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 6f 72 20 69 74 73 20 64 65 72 69 76 61 74 69 76 65 f.the.Document.or.its.derivative
48f00 73 20 77 69 74 68 20 6f 74 68 65 72 0a 20 20 20 20 20 73 65 70 61 72 61 74 65 20 61 6e 64 20 69 s.with.other......separate.and.i
48f20 6e 64 65 70 65 6e 64 65 6e 74 20 64 6f 63 75 6d 65 6e 74 73 20 6f 72 20 77 6f 72 6b 73 2c 20 69 ndependent.documents.or.works,.i
48f40 6e 20 6f 72 20 6f 6e 20 61 20 76 6f 6c 75 6d 65 20 6f 66 20 61 0a 20 20 20 20 20 73 74 6f 72 61 n.or.on.a.volume.of.a......stora
48f60 67 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 2c 20 69 73 20 63 61 ge.or.distribution.medium,.is.ca
48f80 6c 6c 65 64 20 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 0a 20 lled.an....aggregate....if.the..
48fa0 20 20 20 20 63 6f 70 79 72 69 67 68 74 20 72 65 73 75 6c 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 ....copyright.resulting.from.the
48fc0 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 69 73 20 6e 6f 74 20 75 73 65 64 20 74 6f 20 6c 69 6d 69 .compilation.is.not.used.to.limi
48fe0 74 20 74 68 65 0a 20 20 20 20 20 6c 65 67 61 6c 20 72 69 67 68 74 73 20 6f 66 20 74 68 65 20 63 t.the......legal.rights.of.the.c
49000 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 20 77 68 61 74 ompilation...s.users.beyond.what
49020 20 74 68 65 20 69 6e 64 69 76 69 64 75 61 6c 0a 20 20 20 20 20 77 6f 72 6b 73 20 70 65 72 6d 69 .the.individual......works.permi
49040 74 2e 20 20 57 68 65 6e 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 69 6e 63 6c 75 64 65 t...When.the.Document.is.include
49060 64 20 69 6e 20 61 6e 20 61 67 67 72 65 67 61 74 65 2c 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 d.in.an.aggregate,.this......Lic
49080 65 6e 73 65 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 6f 74 68 65 72 ense.does.not.apply.to.the.other
490a0 20 77 6f 72 6b 73 20 69 6e 20 74 68 65 20 61 67 67 72 65 67 61 74 65 20 77 68 69 63 68 0a 20 20 .works.in.the.aggregate.which...
490c0 20 20 20 61 72 65 20 6e 6f 74 20 74 68 65 6d 73 65 6c 76 65 73 20 64 65 72 69 76 61 74 69 76 65 ...are.not.themselves.derivative
490e0 20 77 6f 72 6b 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 49 66 .works.of.the.Document........If
49100 20 74 68 65 20 43 6f 76 65 72 20 54 65 78 74 20 72 65 71 75 69 72 65 6d 65 6e 74 20 6f 66 20 73 .the.Cover.Text.requirement.of.s
49120 65 63 74 69 6f 6e 20 33 20 69 73 20 61 70 70 6c 69 63 61 62 6c 65 20 74 6f 20 74 68 65 73 65 0a ection.3.is.applicable.to.these.
49140 20 20 20 20 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 74 68 65 .....copies.of.the.Document,.the
49160 6e 20 69 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 6f n.if.the.Document.is.less.than.o
49180 6e 65 20 68 61 6c 66 0a 20 20 20 20 20 6f 66 20 74 68 65 20 65 6e 74 69 72 65 20 61 67 67 72 65 ne.half......of.the.entire.aggre
491a0 67 61 74 65 2c 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 e2 80 99 73 20 43 6f 76 65 72 20 54 65 78 gate,.the.Document...s.Cover.Tex
491c0 74 73 20 6d 61 79 20 62 65 20 70 6c 61 63 65 64 0a 20 20 20 20 20 6f 6e 20 63 6f 76 65 72 73 20 ts.may.be.placed......on.covers.
491e0 74 68 61 74 20 62 72 61 63 6b 65 74 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 77 69 74 68 69 6e that.bracket.the.Document.within
49200 20 74 68 65 20 61 67 67 72 65 67 61 74 65 2c 20 6f 72 20 74 68 65 0a 20 20 20 20 20 65 6c 65 63 .the.aggregate,.or.the......elec
49220 74 72 6f 6e 69 63 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 63 6f 76 65 72 73 20 69 66 20 74 tronic.equivalent.of.covers.if.t
49240 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 69 6e 20 65 6c 65 63 74 72 6f 6e 69 63 0a 20 20 20 he.Document.is.in.electronic....
49260 20 20 66 6f 72 6d 2e 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 79 20 6d 75 73 74 20 61 70 70 ..form...Otherwise.they.must.app
49280 65 61 72 20 6f 6e 20 70 72 69 6e 74 65 64 20 63 6f 76 65 72 73 20 74 68 61 74 20 62 72 61 63 6b ear.on.printed.covers.that.brack
492a0 65 74 0a 20 20 20 20 20 74 68 65 20 77 68 6f 6c 65 20 61 67 67 72 65 67 61 74 65 2e 0a 0a 20 20 et......the.whole.aggregate.....
492c0 38 2e 20 54 52 41 4e 53 4c 41 54 49 4f 4e 0a 0a 20 20 20 20 20 54 72 61 6e 73 6c 61 74 69 6f 6e 8..TRANSLATION.......Translation
492e0 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 61 20 6b 69 6e 64 20 6f 66 20 6d 6f 64 69 66 69 63 .is.considered.a.kind.of.modific
49300 61 74 69 6f 6e 2c 20 73 6f 20 79 6f 75 20 6d 61 79 0a 20 20 20 20 20 64 69 73 74 72 69 62 75 74 ation,.so.you.may......distribut
49320 65 20 74 72 61 6e 73 6c 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 75 e.translations.of.the.Document.u
49340 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 34 nder.the.terms.of.section......4
49360 2e 20 20 52 65 70 6c 61 63 69 6e 67 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 ...Replacing.Invariant.Sections.
49380 77 69 74 68 20 74 72 61 6e 73 6c 61 74 69 6f 6e 73 20 72 65 71 75 69 72 65 73 20 73 70 65 63 69 with.translations.requires.speci
493a0 61 6c 0a 20 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 20 66 72 6f 6d 20 74 68 65 69 72 20 63 6f al......permission.from.their.co
493c0 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 73 2c 20 62 75 74 20 79 6f 75 20 6d 61 79 20 69 6e 63 pyright.holders,.but.you.may.inc
493e0 6c 75 64 65 0a 20 20 20 20 20 74 72 61 6e 73 6c 61 74 69 6f 6e 73 20 6f 66 20 73 6f 6d 65 20 6f lude......translations.of.some.o
49400 72 20 61 6c 6c 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 69 6e 20 61 64 64 69 r.all.Invariant.Sections.in.addi
49420 74 69 6f 6e 20 74 6f 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 tion.to.the......original.versio
49440 6e 73 20 6f 66 20 74 68 65 73 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 2e 20 ns.of.these.Invariant.Sections..
49460 20 59 6f 75 20 6d 61 79 20 69 6e 63 6c 75 64 65 20 61 0a 20 20 20 20 20 74 72 61 6e 73 6c 61 74 .You.may.include.a......translat
49480 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 61 6c 6c 20 74 68 65 ion.of.this.License,.and.all.the
494a0 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 73 20 69 6e 20 74 68 65 0a 20 20 20 20 20 44 6f 63 .license.notices.in.the......Doc
494c0 75 6d 65 6e 74 2c 20 61 6e 64 20 61 6e 79 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d ument,.and.any.Warranty.Disclaim
494e0 65 72 73 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 0a 20 20 20 20 ers,.provided.that.you.also.....
49500 20 69 6e 63 6c 75 64 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 45 6e 67 6c 69 73 68 20 76 65 .include.the.original.English.ve
49520 72 73 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 74 68 65 0a 20 20 rsion.of.this.License.and.the...
49540 20 20 20 6f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 6f 73 65 20 6e 6f ...original.versions.of.those.no
49560 74 69 63 65 73 20 61 6e 64 20 64 69 73 63 6c 61 69 6d 65 72 73 2e 20 20 49 6e 20 63 61 73 65 20 tices.and.disclaimers...In.case.
49580 6f 66 20 61 0a 20 20 20 20 20 64 69 73 61 67 72 65 65 6d 65 6e 74 20 62 65 74 77 65 65 6e 20 74 of.a......disagreement.between.t
495a0 68 65 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 61 6e 64 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 he.translation.and.the.original.
495c0 76 65 72 73 69 6f 6e 20 6f 66 0a 20 20 20 20 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 6f 72 20 version.of......this.License.or.
495e0 61 20 6e 6f 74 69 63 65 20 6f 72 20 64 69 73 63 6c 61 69 6d 65 72 2c 20 74 68 65 20 6f 72 69 67 a.notice.or.disclaimer,.the.orig
49600 69 6e 61 6c 20 76 65 72 73 69 6f 6e 20 77 69 6c 6c 0a 20 20 20 20 20 70 72 65 76 61 69 6c 2e 0a inal.version.will......prevail..
49620 0a 20 20 20 20 20 49 66 20 61 20 73 65 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 44 6f 63 75 6d 65 ......If.a.section.in.the.Docume
49640 6e 74 20 69 73 20 45 6e 74 69 74 6c 65 64 20 e2 80 9c 41 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e nt.is.Entitled....Acknowledgemen
49660 74 73 e2 80 9d 2c 0a 20 20 20 20 20 e2 80 9c 44 65 64 69 63 61 74 69 6f 6e 73 e2 80 9d 2c 20 6f ts...,.........Dedications...,.o
49680 72 20 e2 80 9c 48 69 73 74 6f 72 79 e2 80 9d 2c 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 r....History...,.the.requirement
496a0 20 28 73 65 63 74 69 6f 6e 20 34 29 20 74 6f 0a 20 20 20 20 20 50 72 65 73 65 72 76 65 20 69 74 .(section.4).to......Preserve.it
496c0 73 20 54 69 74 6c 65 20 28 73 65 63 74 69 6f 6e 20 31 29 20 77 69 6c 6c 20 74 79 70 69 63 61 6c s.Title.(section.1).will.typical
496e0 6c 79 20 72 65 71 75 69 72 65 20 63 68 61 6e 67 69 6e 67 20 74 68 65 0a 20 20 20 20 20 61 63 74 ly.require.changing.the......act
49700 75 61 6c 20 74 69 74 6c 65 2e 0a 0a 20 20 39 2e 20 54 45 52 4d 49 4e 41 54 49 4f 4e 0a 0a 20 20 ual.title.....9..TERMINATION....
49720 20 20 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 73 75 62 ...You.may.not.copy,.modify,.sub
49740 6c 69 63 65 6e 73 65 2c 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 44 6f 63 75 6d license,.or.distribute.the.Docum
49760 65 6e 74 0a 20 20 20 20 20 65 78 63 65 70 74 20 61 73 20 65 78 70 72 65 73 73 6c 79 20 70 72 6f ent......except.as.expressly.pro
49780 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 6e 79 20 61 vided.under.this.License...Any.a
497a0 74 74 65 6d 70 74 0a 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 74 6f 20 63 6f 70 79 2c 20 6d ttempt......otherwise.to.copy,.m
497c0 6f 64 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 odify,.sublicense,.or.distribute
497e0 20 69 74 20 69 73 20 76 6f 69 64 2c 0a 20 20 20 20 20 61 6e 64 20 77 69 6c 6c 20 61 75 74 6f 6d .it.is.void,......and.will.autom
49800 61 74 69 63 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 20 79 6f 75 72 20 72 69 67 68 74 73 20 75 atically.terminate.your.rights.u
49820 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 20 48 6f 77 65 76 65 72 nder.this.License........However
49840 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 6e 20 6f 66 20 ,.if.you.cease.all.violation.of.
49860 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 20 20 6c 69 63 this.License,.then.your......lic
49880 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 74 ense.from.a.particular.copyright
498a0 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 20 20 20 20 70 .holder.is.reinstated.(a)......p
498c0 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 74 69 6c 20 74 rovisionally,.unless.and.until.t
498e0 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 74 6c 79 20 61 he.copyright.holder.explicitly.a
49900 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 79 6f 75 72 20 nd......finally.terminates.your.
49920 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 79 2c 20 69 66 license,.and.(b).permanently,.if
49940 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 66 61 69 6c 73 .the......copyright.holder.fails
49960 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 74 69 6f 6e 20 .to.notify.you.of.the.violation.
49980 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 6e 73 20 70 72 by.some......reasonable.means.pr
499a0 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 73 73 61 74 69 ior.to.60.days.after.the.cessati
499c0 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 63 65 6e 73 65 on........Moreover,.your.license
499e0 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 74 20 68 6f 6c .from.a.particular.copyright.hol
49a00 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 61 6e 65 6e 74 der.is......reinstated.permanent
49a20 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 6e 6f 74 69 66 ly.if.the.copyright.holder.notif
49a40 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 6f 6e 20 62 79 ies.you.of.the......violation.by
49a60 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 73 20 69 73 20 .some.reasonable.means,.this.is.
49a80 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 20 20 72 65 63 the.first.time.you.have......rec
49aa0 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 66 20 74 68 69 eived.notice.of.violation.of.thi
49ac0 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 6f 6d 0a 20 20 s.License.(for.any.work).from...
49ae0 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 6e 64 20 79 6f ...that.copyright.holder,.and.yo
49b00 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 74 6f 20 33 30 u.cure.the.violation.prior.to.30
49b20 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 70 74 20 6f 66 .days......after.your.receipt.of
49b40 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 69 6f 6e 20 6f .the.notice........Termination.o
49b60 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 63 74 69 6f 6e f.your.rights.under.this.section
49b80 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 65 20 6c 69 63 .does.not.terminate......the.lic
49ba0 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 65 63 65 69 76 enses.of.parties.who.have.receiv
49bc0 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 75 0a 20 20 20 ed.copies.or.rights.from.you....
49be0 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 6f 75 72 20 72 ..under.this.License...If.your.r
49c00 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 61 6e 64 20 6e ights.have.been.terminated.and.n
49c20 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 74 65 64 2c 20 ot......permanently.reinstated,.
49c40 72 65 63 65 69 70 74 20 6f 66 20 61 20 63 6f 70 79 20 6f 66 20 73 6f 6d 65 20 6f 72 20 61 6c 6c receipt.of.a.copy.of.some.or.all
49c60 20 6f 66 20 74 68 65 0a 20 20 20 20 20 73 61 6d 65 20 6d 61 74 65 72 69 61 6c 20 64 6f 65 73 20 .of.the......same.material.does.
49c80 6e 6f 74 20 67 69 76 65 20 79 6f 75 20 61 6e 79 20 72 69 67 68 74 73 20 74 6f 20 75 73 65 20 69 not.give.you.any.rights.to.use.i
49ca0 74 2e 0a 0a 20 20 31 30 2e 20 46 55 54 55 52 45 20 52 45 56 49 53 49 4f 4e 53 20 4f 46 20 54 48 t.....10..FUTURE.REVISIONS.OF.TH
49cc0 49 53 20 4c 49 43 45 4e 53 45 0a 0a 20 20 20 20 20 54 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 IS.LICENSE.......The.Free.Softwa
49ce0 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 20 6d 61 79 20 70 75 62 6c 69 73 68 20 6e 65 77 2c 20 72 re.Foundation.may.publish.new,.r
49d00 65 76 69 73 65 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 0a 20 20 20 20 20 74 68 65 20 47 4e 55 20 evised.versions.of......the.GNU.
49d20 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 20 66 72 6f 6d 20 Free.Documentation.License.from.
49d40 74 69 6d 65 20 74 6f 20 74 69 6d 65 2e 20 20 53 75 63 68 20 6e 65 77 0a 20 20 20 20 20 76 65 72 time.to.time...Such.new......ver
49d60 73 69 6f 6e 73 20 77 69 6c 6c 20 62 65 20 73 69 6d 69 6c 61 72 20 69 6e 20 73 70 69 72 69 74 20 sions.will.be.similar.in.spirit.
49d80 74 6f 20 74 68 65 20 70 72 65 73 65 6e 74 20 76 65 72 73 69 6f 6e 2c 20 62 75 74 20 6d 61 79 0a to.the.present.version,.but.may.
49da0 20 20 20 20 20 64 69 66 66 65 72 20 69 6e 20 64 65 74 61 69 6c 20 74 6f 20 61 64 64 72 65 73 73 .....differ.in.detail.to.address
49dc0 20 6e 65 77 20 70 72 6f 62 6c 65 6d 73 20 6f 72 20 63 6f 6e 63 65 72 6e 73 2e 20 20 53 65 65 0a .new.problems.or.concerns...See.
49de0 20 20 20 20 20 3c 68 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 .....<https://www.gnu.org/licens
49e00 65 73 2f 3e 2e 0a 0a 20 20 20 20 20 45 61 63 68 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 es/>........Each.version.of.the.
49e20 4c 69 63 65 6e 73 65 20 69 73 20 67 69 76 65 6e 20 61 20 64 69 73 74 69 6e 67 75 69 73 68 69 6e License.is.given.a.distinguishin
49e40 67 20 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 6e 75 6d 62 65 72 2e 20 20 49 66 20 74 68 65 20 44 g.version......number...If.the.D
49e60 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 61 72 74 69 63 75 ocument.specifies.that.a.particu
49e80 6c 61 72 20 6e 75 6d 62 65 72 65 64 0a 20 20 20 20 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 69 lar.numbered......version.of.thi
49ea0 73 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 69 6f s.License....or.any.later.versio
49ec0 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 61 76 n....applies.to.it,.you......hav
49ee0 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 74 65 e.the.option.of.following.the.te
49f00 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 20 20 rms.and.conditions.either.of....
49f20 20 20 74 68 61 74 20 73 70 65 63 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 6f 72 20 6f 66 20 61 ..that.specified.version.or.of.a
49f40 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 74 68 61 74 20 68 61 73 20 62 65 65 6e 0a 20 ny.later.version.that.has.been..
49f60 20 20 20 20 70 75 62 6c 69 73 68 65 64 20 28 6e 6f 74 20 61 73 20 61 20 64 72 61 66 74 29 20 62 ....published.(not.as.a.draft).b
49f80 79 20 74 68 65 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 2e 20 y.the.Free.Software.Foundation..
49fa0 20 49 66 20 74 68 65 0a 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 73 .If.the......Document.does.not.s
49fc0 70 65 63 69 66 79 20 61 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 69 73 20 pecify.a.version.number.of.this.
49fe0 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 6d 61 79 0a 20 20 20 20 20 63 68 6f 6f 73 65 20 61 6e 79 License,.you.may......choose.any
4a000 20 76 65 72 73 69 6f 6e 20 65 76 65 72 20 70 75 62 6c 69 73 68 65 64 20 28 6e 6f 74 20 61 73 20 .version.ever.published.(not.as.
4a020 61 20 64 72 61 66 74 29 20 62 79 20 74 68 65 20 46 72 65 65 0a 20 20 20 20 20 53 6f 66 74 77 61 a.draft).by.the.Free......Softwa
4a040 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 re.Foundation...If.the.Document.
4a060 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 0a 20 20 20 20 20 specifies.that.a.proxy.can......
4a080 64 65 63 69 64 65 20 77 68 69 63 68 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 decide.which.future.versions.of.
4a0a0 74 68 69 73 20 4c 69 63 65 6e 73 65 20 63 61 6e 20 62 65 20 75 73 65 64 2c 20 74 68 61 74 0a 20 this.License.can.be.used,.that..
4a0c0 20 20 20 20 70 72 6f 78 79 e2 80 99 73 20 70 75 62 6c 69 63 20 73 74 61 74 65 6d 65 6e 74 20 6f ....proxy...s.public.statement.o
4a0e0 66 20 61 63 63 65 70 74 61 6e 63 65 20 6f 66 20 61 20 76 65 72 73 69 6f 6e 20 70 65 72 6d 61 6e f.acceptance.of.a.version.perman
4a100 65 6e 74 6c 79 0a 20 20 20 20 20 61 75 74 68 6f 72 69 7a 65 73 20 79 6f 75 20 74 6f 20 63 68 6f ently......authorizes.you.to.cho
4a120 6f 73 65 20 74 68 61 74 20 76 65 72 73 69 6f 6e 20 66 6f 72 20 74 68 65 20 44 6f 63 75 6d 65 6e ose.that.version.for.the.Documen
4a140 74 2e 0a 0a 20 20 31 31 2e 20 52 45 4c 49 43 45 4e 53 49 4e 47 0a 0a 20 20 20 20 20 e2 80 9c 4d t.....11..RELICENSING..........M
4a160 61 73 73 69 76 65 20 4d 75 6c 74 69 61 75 74 68 6f 72 20 43 6f 6c 6c 61 62 6f 72 61 74 69 6f 6e assive.Multiauthor.Collaboration
4a180 20 53 69 74 65 e2 80 9d 20 28 6f 72 20 e2 80 9c 4d 4d 43 20 53 69 74 65 e2 80 9d 29 20 6d 65 61 .Site....(or....MMC.Site...).mea
4a1a0 6e 73 20 61 6e 79 0a 20 20 20 20 20 57 6f 72 6c 64 20 57 69 64 65 20 57 65 62 20 73 65 72 76 65 ns.any......World.Wide.Web.serve
4a1c0 72 20 74 68 61 74 20 70 75 62 6c 69 73 68 65 73 20 63 6f 70 79 72 69 67 68 74 61 62 6c 65 20 77 r.that.publishes.copyrightable.w
4a1e0 6f 72 6b 73 20 61 6e 64 20 61 6c 73 6f 0a 20 20 20 20 20 70 72 6f 76 69 64 65 73 20 70 72 6f 6d orks.and.also......provides.prom
4a200 69 6e 65 6e 74 20 66 61 63 69 6c 69 74 69 65 73 20 66 6f 72 20 61 6e 79 62 6f 64 79 20 74 6f 20 inent.facilities.for.anybody.to.
4a220 65 64 69 74 20 74 68 6f 73 65 20 77 6f 72 6b 73 2e 20 20 41 0a 20 20 20 20 20 70 75 62 6c 69 63 edit.those.works...A......public
4a240 20 77 69 6b 69 20 74 68 61 74 20 61 6e 79 62 6f 64 79 20 63 61 6e 20 65 64 69 74 20 69 73 20 61 .wiki.that.anybody.can.edit.is.a
4a260 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 73 75 63 68 20 61 20 73 65 72 76 65 72 2e 0a 20 20 20 20 n.example.of.such.a.server......
4a280 20 41 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 62 .A....Massive.Multiauthor.Collab
4a2a0 6f 72 61 74 69 6f 6e e2 80 9d 20 28 6f 72 20 e2 80 9c 4d 4d 43 e2 80 9d 29 20 63 6f 6e 74 61 69 oration....(or....MMC...).contai
4a2c0 6e 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 73 69 74 65 20 6d 65 61 6e 73 20 61 6e 79 20 73 ned.in.the......site.means.any.s
4a2e0 65 74 20 6f 66 20 63 6f 70 79 72 69 67 68 74 61 62 6c 65 20 77 6f 72 6b 73 20 74 68 75 73 20 70 et.of.copyrightable.works.thus.p
4a300 75 62 6c 69 73 68 65 64 20 6f 6e 20 74 68 65 20 4d 4d 43 0a 20 20 20 20 20 73 69 74 65 2e 0a 0a ublished.on.the.MMC......site...
4a320 20 20 20 20 20 e2 80 9c 43 43 2d 42 59 2d 53 41 e2 80 9d 20 6d 65 61 6e 73 20 74 68 65 20 43 72 ........CC-BY-SA....means.the.Cr
4a340 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 2d 53 68 61 72 65 eative.Commons.Attribution-Share
4a360 20 41 6c 69 6b 65 20 33 2e 30 0a 20 20 20 20 20 6c 69 63 65 6e 73 65 20 70 75 62 6c 69 73 68 65 .Alike.3.0......license.publishe
4a380 64 20 62 79 20 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 43 6f 72 70 6f 72 61 74 69 6f d.by.Creative.Commons.Corporatio
4a3a0 6e 2c 20 61 20 6e 6f 74 2d 66 6f 72 2d 70 72 6f 66 69 74 0a 20 20 20 20 20 63 6f 72 70 6f 72 61 n,.a.not-for-profit......corpora
4a3c0 74 69 6f 6e 20 77 69 74 68 20 61 20 70 72 69 6e 63 69 70 61 6c 20 70 6c 61 63 65 20 6f 66 20 62 tion.with.a.principal.place.of.b
4a3e0 75 73 69 6e 65 73 73 20 69 6e 20 53 61 6e 20 46 72 61 6e 63 69 73 63 6f 2c 0a 20 20 20 20 20 43 usiness.in.San.Francisco,......C
4a400 61 6c 69 66 6f 72 6e 69 61 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 66 75 74 75 72 65 20 63 6f 70 alifornia,.as.well.as.future.cop
4a420 79 6c 65 66 74 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 61 74 20 6c 69 63 65 6e 73 65 0a 20 yleft.versions.of.that.license..
4a440 20 20 20 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 61 74 20 73 61 6d 65 20 6f 72 67 61 6e ....published.by.that.same.organ
4a460 69 7a 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 e2 80 9c 49 6e 63 6f 72 70 6f 72 61 74 65 e2 80 9d ization...........Incorporate...
4a480 20 6d 65 61 6e 73 20 74 6f 20 70 75 62 6c 69 73 68 20 6f 72 20 72 65 70 75 62 6c 69 73 68 20 61 .means.to.publish.or.republish.a
4a4a0 20 44 6f 63 75 6d 65 6e 74 2c 20 69 6e 20 77 68 6f 6c 65 20 6f 72 0a 20 20 20 20 20 69 6e 20 70 .Document,.in.whole.or......in.p
4a4c0 61 72 74 2c 20 61 73 20 70 61 72 74 20 6f 66 20 61 6e 6f 74 68 65 72 20 44 6f 63 75 6d 65 6e 74 art,.as.part.of.another.Document
4a4e0 2e 0a 0a 20 20 20 20 20 41 6e 20 4d 4d 43 20 69 73 20 e2 80 9c 65 6c 69 67 69 62 6c 65 20 66 6f ........An.MMC.is....eligible.fo
4a500 72 20 72 65 6c 69 63 65 6e 73 69 6e 67 e2 80 9d 20 69 66 20 69 74 20 69 73 20 6c 69 63 65 6e 73 r.relicensing....if.it.is.licens
4a520 65 64 20 75 6e 64 65 72 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 ed.under.this......License,.and.
4a540 69 66 20 61 6c 6c 20 77 6f 72 6b 73 20 74 68 61 74 20 77 65 72 65 20 66 69 72 73 74 20 70 75 62 if.all.works.that.were.first.pub
4a560 6c 69 73 68 65 64 20 75 6e 64 65 72 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 20 73 lished.under.this......License.s
4a580 6f 6d 65 77 68 65 72 65 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 69 73 20 4d 4d 43 2c 20 61 6e omewhere.other.than.this.MMC,.an
4a5a0 64 20 73 75 62 73 65 71 75 65 6e 74 6c 79 0a 20 20 20 20 20 69 6e 63 6f 72 70 6f 72 61 74 65 64 d.subsequently......incorporated
4a5c0 20 69 6e 20 77 68 6f 6c 65 20 6f 72 20 69 6e 20 70 61 72 74 20 69 6e 74 6f 20 74 68 65 20 4d 4d .in.whole.or.in.part.into.the.MM
4a5e0 43 2c 20 28 31 29 20 68 61 64 20 6e 6f 20 63 6f 76 65 72 0a 20 20 20 20 20 74 65 78 74 73 20 6f C,.(1).had.no.cover......texts.o
4a600 72 20 69 6e 76 61 72 69 61 6e 74 20 73 65 63 74 69 6f 6e 73 2c 20 61 6e 64 20 28 32 29 20 77 65 r.invariant.sections,.and.(2).we
4a620 72 65 20 74 68 75 73 20 69 6e 63 6f 72 70 6f 72 61 74 65 64 20 70 72 69 6f 72 0a 20 20 20 20 20 re.thus.incorporated.prior......
4a640 74 6f 20 4e 6f 76 65 6d 62 65 72 20 31 2c 20 32 30 30 38 2e 0a 0a 20 20 20 20 20 54 68 65 20 6f to.November.1,.2008........The.o
4a660 70 65 72 61 74 6f 72 20 6f 66 20 61 6e 20 4d 4d 43 20 53 69 74 65 20 6d 61 79 20 72 65 70 75 62 perator.of.an.MMC.Site.may.repub
4a680 6c 69 73 68 20 61 6e 20 4d 4d 43 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 74 68 65 0a 20 20 20 lish.an.MMC.contained.in.the....
4a6a0 20 20 73 69 74 65 20 75 6e 64 65 72 20 43 43 2d 42 59 2d 53 41 20 6f 6e 20 74 68 65 20 73 61 6d ..site.under.CC-BY-SA.on.the.sam
4a6c0 65 20 73 69 74 65 20 61 74 20 61 6e 79 20 74 69 6d 65 20 62 65 66 6f 72 65 20 41 75 67 75 73 74 e.site.at.any.time.before.August
4a6e0 20 31 2c 0a 20 20 20 20 20 32 30 30 39 2c 20 70 72 6f 76 69 64 65 64 20 74 68 65 20 4d 4d 43 20 .1,......2009,.provided.the.MMC.
4a700 69 73 20 65 6c 69 67 69 62 6c 65 20 66 6f 72 20 72 65 6c 69 63 65 6e 73 69 6e 67 2e 0a 0a 41 44 is.eligible.for.relicensing...AD
4a720 44 45 4e 44 55 4d 3a 20 48 6f 77 20 74 6f 20 75 73 65 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 DENDUM:.How.to.use.this.License.
4a740 66 6f 72 20 79 6f 75 72 20 64 6f 63 75 6d 65 6e 74 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d for.your.documents.=============
4a760 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 ================================
4a780 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 6f 20 75 73 65 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 =======..To.use.this.License.in.
4a7a0 61 20 64 6f 63 75 6d 65 6e 74 20 79 6f 75 20 68 61 76 65 20 77 72 69 74 74 65 6e 2c 20 69 6e 63 a.document.you.have.written,.inc
4a7c0 6c 75 64 65 20 61 20 63 6f 70 79 20 6f 66 0a 74 68 65 20 4c 69 63 65 6e 73 65 20 69 6e 20 74 68 lude.a.copy.of.the.License.in.th
4a7e0 65 20 64 6f 63 75 6d 65 6e 74 20 61 6e 64 20 70 75 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 e.document.and.put.the.following
4a800 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 0a 6e 6f 74 69 63 65 73 20 6a .copyright.and.license.notices.j
4a820 75 73 74 20 61 66 74 65 72 20 74 68 65 20 74 69 74 6c 65 20 70 61 67 65 3a 0a 0a 20 20 20 20 20 ust.after.the.title.page:.......
4a840 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 20 59 45 41 52 20 20 59 4f 55 52 20 4e 41 4d 45 ..Copyright.(C)..YEAR..YOUR.NAME
4a860 2e 0a 20 20 20 20 20 20 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 67 72 61 6e 74 65 64 20 74 .........Permission.is.granted.t
4a880 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 6d 6f 64 69 66 79 o.copy,.distribute.and/or.modify
4a8a0 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 75 6e 64 65 72 20 74 68 65 20 .this.document........under.the.
4a8c0 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 6e 74 61 74 terms.of.the.GNU.Free.Documentat
4a8e0 69 6f 6e 20 4c 69 63 65 6e 73 65 2c 20 56 65 72 73 69 6f 6e 20 31 2e 33 0a 20 20 20 20 20 20 20 ion.License,.Version.1.3........
4a900 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 20 62 or.any.later.version.published.b
4a920 79 20 74 68 65 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 3b 0a y.the.Free.Software.Foundation;.
4a940 20 20 20 20 20 20 20 77 69 74 68 20 6e 6f 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e .......with.no.Invariant.Section
4a960 73 2c 20 6e 6f 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 2c 20 61 6e 64 20 6e 6f 20 s,.no.Front-Cover.Texts,.and.no.
4a980 42 61 63 6b 2d 43 6f 76 65 72 0a 20 20 20 20 20 20 20 54 65 78 74 73 2e 20 20 41 20 63 6f 70 79 Back-Cover........Texts...A.copy
4a9a0 20 6f 66 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 .of.the.license.is.included.in.t
4a9c0 68 65 20 73 65 63 74 69 6f 6e 20 65 6e 74 69 74 6c 65 64 20 60 60 47 4e 55 0a 20 20 20 20 20 20 he.section.entitled.``GNU.......
4a9e0 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 27 27 2e 0a 0a .Free.Documentation.License''...
4aa00 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 65 63 74 69 6f 6e ...If.you.have.Invariant.Section
4aa20 73 2c 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 20 61 6e 64 20 42 61 63 6b 2d 43 6f s,.Front-Cover.Texts.and.Back-Co
4aa40 76 65 72 0a 54 65 78 74 73 2c 20 72 65 70 6c 61 63 65 20 74 68 65 20 e2 80 9c 77 69 74 68 2e 2e ver.Texts,.replace.the....with..
4aa60 2e 54 65 78 74 73 2e e2 80 9d 20 6c 69 6e 65 20 77 69 74 68 20 74 68 69 73 3a 0a 0a 20 20 20 20 .Texts.....line.with.this:......
4aa80 20 20 20 20 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 6e 73 .....with.the.Invariant.Sections
4aaa0 20 62 65 69 6e 67 20 4c 49 53 54 20 54 48 45 49 52 20 54 49 54 4c 45 53 2c 20 77 69 74 68 0a 20 .being.LIST.THEIR.TITLES,.with..
4aac0 20 20 20 20 20 20 20 20 74 68 65 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 20 62 65 ........the.Front-Cover.Texts.be
4aae0 69 6e 67 20 4c 49 53 54 2c 20 61 6e 64 20 77 69 74 68 20 74 68 65 20 42 61 63 6b 2d 43 6f 76 65 ing.LIST,.and.with.the.Back-Cove
4ab00 72 20 54 65 78 74 73 0a 20 20 20 20 20 20 20 20 20 62 65 69 6e 67 20 4c 49 53 54 2e 0a 0a 20 20 r.Texts..........being.LIST.....
4ab20 20 49 66 20 79 6f 75 20 68 61 76 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 .If.you.have.Invariant.Sections.
4ab40 77 69 74 68 6f 75 74 20 43 6f 76 65 72 20 54 65 78 74 73 2c 20 6f 72 20 73 6f 6d 65 20 6f 74 68 without.Cover.Texts,.or.some.oth
4ab60 65 72 0a 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 74 68 72 65 65 2c 20 6d 65 72 er.combination.of.the.three,.mer
4ab80 67 65 20 74 68 6f 73 65 20 74 77 6f 20 61 6c 74 65 72 6e 61 74 69 76 65 73 20 74 6f 20 73 75 69 ge.those.two.alternatives.to.sui
4aba0 74 20 74 68 65 0a 73 69 74 75 61 74 69 6f 6e 2e 0a 0a 20 20 20 49 66 20 79 6f 75 72 20 64 6f 63 t.the.situation......If.your.doc
4abc0 75 6d 65 6e 74 20 63 6f 6e 74 61 69 6e 73 20 6e 6f 6e 74 72 69 76 69 61 6c 20 65 78 61 6d 70 6c ument.contains.nontrivial.exampl
4abe0 65 73 20 6f 66 20 70 72 6f 67 72 61 6d 20 63 6f 64 65 2c 20 77 65 0a 72 65 63 6f 6d 6d 65 6e 64 es.of.program.code,.we.recommend
4ac00 20 72 65 6c 65 61 73 69 6e 67 20 74 68 65 73 65 20 65 78 61 6d 70 6c 65 73 20 69 6e 20 70 61 72 .releasing.these.examples.in.par
4ac20 61 6c 6c 65 6c 20 75 6e 64 65 72 20 79 6f 75 72 20 63 68 6f 69 63 65 20 6f 66 20 66 72 65 65 0a allel.under.your.choice.of.free.
4ac40 73 6f 66 74 77 61 72 65 20 6c 69 63 65 6e 73 65 2c 20 73 75 63 68 20 61 73 20 74 68 65 20 47 4e software.license,.such.as.the.GN
4ac60 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 74 6f 20 70 65 72 U.General.Public.License,.to.per
4ac80 6d 69 74 0a 74 68 65 69 72 20 75 73 65 20 69 6e 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2e 0a mit.their.use.in.free.software..
4aca0 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 ...File:.docKFAcRH.info,..Node:.
4acc0 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 2c 20 20 GPL,..Next:.Index,..Prev:.FDL,..
4ace0 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 61 6c 20 Up:.Top..Appendix.B.GNU.General.
4ad00 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 2a 2a 2a Public.License.*****************
4ad20 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 20 20 20 ********************............
4ad40 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 75 6e 65 ..............Version.3,.29.June
4ad60 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 20 46 72 .2007.......Copyright....2007.Fr
4ad80 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 3c 68 74 ee.Software.Foundation,.Inc..<ht
4ada0 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 65 20 69 tps://fsf.org/>.......Everyone.i
4adc0 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 69 62 75 s.permitted.to.copy.and.distribu
4ade0 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 20 20 20 te.verbatim.copies.of.this......
4ae00 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 67 20 69 license.document,.but.changing.i
4ae20 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 3d 3d 3d t.is.not.allowed...Preamble.====
4ae40 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 4c 69 63 ====..The.GNU.General.Public.Lic
4ae60 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 6e 73 65 ense.is.a.free,.copyleft.license
4ae80 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 20 6f 66 .for.software.and.other.kinds.of
4aea0 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 6d 6f 73 .works......The.licenses.for.mos
4aec0 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 6c 20 77 t.software.and.other.practical.w
4aee0 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 79 20 79 orks.are.designed.to.take.away.y
4af00 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 67 65 20 our.freedom.to.share.and.change.
4af20 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 47 4e 55 the.works...By.contrast,.the.GNU
4af40 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 74 65 6e .General.Public.License.is.inten
4af60 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 20 74 6f ded.to.guarantee.your.freedom.to
4af80 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 73 20 6f .share.and.change.all.versions.o
4afa0 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 20 72 65 f.a.program...to.make.sure.it.re
4afc0 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 74 73 20 mains.free.software.for.all.its.
4afe0 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 20 46 6f users...We,.the.Free.Software.Fo
4b000 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 20 50 75 undation,.use.the.GNU.General.Pu
4b020 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 73 6f 66 blic.License.for.most.of.our.sof
4b040 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 20 6f 74 tware;.it.applies.also.to.any.ot
4b060 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 20 69 74 her.work.released.this.way.by.it
4b080 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 74 6f 0a s.authors...You.can.apply.it.to.
4b0a0 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 77 65 20 your.programs,.too......When.we.
4b0c0 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 65 20 72 speak.of.free.software,.we.are.r
4b0e0 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 65 2e 20 eferring.to.freedom,.not.price..
4b100 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 61 72 65 .Our.General.Public.Licenses.are
4b120 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 6f 75 0a .designed.to.make.sure.that.you.
4b140 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 65 20 63 have.the.freedom.to.distribute.c
4b160 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 68 61 72 opies.of.free.software.(and.char
4b180 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 74 20 79 ge.for.them.if.you.wish),.that.y
4b1a0 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 20 67 65 ou.receive.source.code.or.can.ge
4b1c0 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 20 63 61 t.it.if.you.want.it,.that.you.ca
4b1e0 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 70 69 65 n.change.the.software.or.use.pie
4b200 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 73 2c 20 ces.of.it.in.new.free.programs,.
4b220 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 74 68 65 and.that.you.know.you.can.do.the
4b240 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 72 20 72 se.things......To.protect.your.r
4b260 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 65 72 73 ights,.we.need.to.prevent.others
4b280 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 73 20 6f .from.denying.you.these.rights.o
4b2a0 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 20 72 69 r.asking.you.to.surrender.the.ri
4b2c0 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 72 74 61 ghts...Therefore,.you.have.certa
4b2e0 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 73 74 72 in.responsibilities.if.you.distr
4b300 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 20 6f 72 ibute.copies.of.the.software,.or
4b320 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 6c 69 74 .if.you.modify.it:.responsibilit
4b340 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 20 6f 74 ies.to.respect.the.freedom.of.ot
4b360 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 20 64 69 hers......For.example,.if.you.di
4b380 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 67 72 61 stribute.copies.of.such.a.progra
4b3a0 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 65 2c 20 m,.whether.gratis.or.for.a.fee,.
4b3c0 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 69 65 6e you.must.pass.on.to.the.recipien
4b3e0 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 20 72 65 ts.the.same.freedoms.that.you.re
4b400 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 68 61 74 ceived...You.must.make.sure.that
4b420 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 74 20 74 .they,.too,.receive.or.can.get.t
4b440 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 20 73 68 he.source.code...And.you.must.sh
4b460 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 6e 6f 77 ow.them.these.terms.so.they.know
4b480 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 20 74 68 .their.rights......Developers.th
4b4a0 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 75 72 20 at.use.the.GNU.GPL.protect.your.
4b4c0 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 73 65 72 rights.with.two.steps:.(1).asser
4b4e0 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 61 6e 64 t.copyright.on.the.software,.and
4b500 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 69 76 69 .(2).offer.you.this.License.givi
4b520 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 70 79 2c ng.you.legal.permission.to.copy,
4b540 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 0a 0a 20 .distribute.and/or.modify.it....
4b560 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 75 74 68 ..For.the.developers....and.auth
4b580 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 65 61 72 ors....protection,.the.GPL.clear
4b5a0 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 77 61 72 ly.explains.that.there.is.no.war
4b5c0 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 20 20 46 ranty.for.this.free.software...F
4b5e0 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 80 99 20 or.both.users....and.authors....
4b600 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 6f 64 69 sake,.the.GPL.requires.that.modi
4b620 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 61 6e 67 fied.versions.be.marked.as.chang
4b640 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 6c 6c 20 ed,.so.that.their.problems.will.
4b660 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 20 74 6f not.be.attributed.erroneously.to
4b680 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 2e 0a 0a .authors.of.previous.versions...
4b6a0 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 74 6f 20 ...Some.devices.are.designed.to.
4b6c0 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 6f 72 20 deny.users.access.to.install.or.
4b6e0 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 73 6f 66 run.modified.versions.of.the.sof
4b700 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 68 65 20 tware.inside.them,.although.the.
4b720 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 20 69 73 manufacturer.can.do.so...This.is
4b740 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 69 74 68 .fundamentally.incompatible.with
4b760 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 80 99 20 .the.aim.of.protecting.users....
4b780 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 65 2e 20 freedom.to.change.the.software..
4b7a0 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 63 68 20 .The.systematic.pattern.of.such.
4b7c0 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 72 6f 64 abuse.occurs.in.the.area.of.prod
4b7e0 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 77 68 69 ucts.for.individuals.to.use,.whi
4b800 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 6f 73 74 ch.is.precisely.where.it.is.most
4b820 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 0a 68 61 .unacceptable...Therefore,.we.ha
4b840 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 68 65 20 ve.designed.this.version.of.the.
4b860 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 66 6f 72 GPL.to.prohibit.the.practice.for
4b880 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 62 6c 65 .those.products...If.such.proble
4b8a0 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 65 72 20 ms.arise.substantially.in.other.
4b8c0 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 74 65 6e domains,.we.stand.ready.to.exten
4b8e0 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 61 69 6e d.this.provision.to.those.domain
4b900 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 50 4c 2c s.in.future.versions.of.the.GPL,
4b920 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 65 64 6f .as.needed.to.protect.the.freedo
4b940 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 79 20 70 m.of.users......Finally,.every.p
4b960 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 6c 79 20 rogram.is.threatened.constantly.
4b980 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 68 6f 75 by.software.patents..States.shou
4b9a0 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 69 63 74 ld.not.allow.patents.to.restrict
4b9c0 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 61 72 65 .development.and.use.of.software
4b9e0 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 2c 20 62 .on.general-purpose.computers,.b
4ba00 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 74 6f 0a ut.in.those.that.do,.we.wish.to.
4ba20 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 20 70 61 avoid.the.special.danger.that.pa
4ba40 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 61 6d 20 tents.applied.to.a.free.program.
4ba60 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 70 72 69 could.make.it.effectively.propri
4ba80 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 47 50 4c etary...To.prevent.this,.the.GPL
4baa0 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 62 65 20 .assures.that.patents.cannot.be.
4bac0 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 6e 2d 66 used.to.render.the.program.non-f
4bae0 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 64 20 63 ree......The.precise.terms.and.c
4bb00 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 62 75 74 onditions.for.copying,.distribut
4bb20 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 0a 54 45 ion.and.modification.follow...TE
4bb40 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 3d 3d 3d RMS.AND.CONDITIONS.=============
4bb60 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 20 20 20 =======....0..Definitions.......
4bb80 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 20 76 65 ....This.License....refers.to.ve
4bba0 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 62 6c 69 rsion.3.of.the.GNU.General.Publi
4bbc0 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 72 69 67 c......License...........Copyrig
4bbe0 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 6b 65 20 ht....also.means.copyright-like.
4bc00 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 20 6b 69 laws.that.apply.to.other......ki
4bc20 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 64 75 63 nds.of.works,.such.as.semiconduc
4bc40 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 61 6d e2 tor.masks...........The.Program.
4bc60 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 65 20 77 ...refers.to.any.copyrightable.w
4bc80 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 4c 69 63 ork.licensed.under.this......Lic
4bca0 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 73 73 65 ense...Each.licensee.is.addresse
4bcc0 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 e2 80 9d d.as....you.........Licensees...
4bce0 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 79 20 62 .and.........recipients....may.b
4bd00 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 73 2e 0a e.individuals.or.organizations..
4bd20 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 6d 65 61 ......To....modify....a.work.mea
4bd40 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 6f 72 20 ns.to.copy.from.or.adapt.all.or.
4bd60 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 73 68 69 part.of.the......work.in.a.fashi
4bd80 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 73 69 6f on.requiring.copyright.permissio
4bda0 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 20 6f 66 n,.other.than.the......making.of
4bdc0 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 67 20 77 .an.exact.copy...The.resulting.w
4bde0 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 20 20 20 ork.is.called.a....modified.....
4be00 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 72 6b 20 .version....of.the.earlier.work.
4be20 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 65 61 72 or.a.work....based.on....the.ear
4be40 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 20 77 6f lier.work........A....covered.wo
4be60 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 66 69 65 rk....means.either.the.unmodifie
4be80 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 64 20 6f d.Program.or.a.work......based.o
4bea0 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 6f 70 61 n.the.Program........To....propa
4bec0 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 79 74 68 gate....a.work.means.to.do.anyth
4bee0 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 20 20 70 ing.with.it.that,.without......p
4bf00 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 65 63 74 ermission,.would.make.you.direct
4bf20 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 20 20 20 ly.or.secondarily.liable.for....
4bf40 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 6c 65 20 ..infringement.under.applicable.
4bf60 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 6e 67 20 copyright.law,.except.executing.
4bf80 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 66 79 69 it.on......a.computer.or.modifyi
4bfa0 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 6f 6e 20 ng.a.private.copy...Propagation.
4bfc0 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 62 75 74 includes......copying,.distribut
4bfe0 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 74 69 6f ion.(with.or.without.modificatio
4c000 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 74 68 65 n),.making......available.to.the
4c020 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 73 20 6f .public,.and.in.some.countries.o
4c040 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 0a 0a 20 ther.activities.as......well....
4c060 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 61 6e 73 ....To....convey....a.work.means
4c080 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 20 65 6e .any.kind.of.propagation.that.en
4c0a0 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 61 6b 65 ables.other......parties.to.make
4c0c0 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 65 72 61 .or.receive.copies...Mere.intera
4c0e0 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 68 20 61 ction.with.a.user......through.a
4c100 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 61 6e 73 .computer.network,.with.no.trans
4c120 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 6e 76 65 fer.of.a.copy,.is.not......conve
4c140 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 65 72 20 ying........An.interactive.user.
4c160 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 69 61 74 interface.displays....Appropriat
4c180 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 65 20 65 e.Legal.Notices.........to.the.e
4c1a0 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 65 6e 69 xtent.that.it.includes.a.conveni
4c1c0 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 20 20 20 ent.and.prominently.visible.....
4c1e0 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 20 61 70 .feature.that.(1).displays.an.ap
4c200 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 6e 64 20 propriate.copyright.notice,.and.
4c220 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 74 68 65 (2)......tells.the.user.that.the
4c240 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 6b 20 28 re.is.no.warranty.for.the.work.(
4c260 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 74 20 77 except.to......the.extent.that.w
4c280 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 20 6c 69 arranties.are.provided),.that.li
4c2a0 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 6f 72 6b censees.may.convey......the.work
4c2c0 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 74 6f 20 .under.this.License,.and.how.to.
4c2e0 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 6e 73 65 view.a.copy.of.this......License
4c300 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 61 20 6c ...If.the.interface.presents.a.l
4c320 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 6f 70 74 ist.of.user.commands.or......opt
4c340 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 6e 65 6e ions,.such.as.a.menu,.a.prominen
4c360 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 0a 20 20 t.item.in.the.list.meets.this...
4c380 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 64 65 2e ...criterion.....1..Source.Code.
4c3a0 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 66 6f 72 .......The....source.code....for
4c3c0 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 6f 72 6d .a.work.means.the.preferred.form
4c3e0 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 6d 6f 64 .of.the.work......for.making.mod
4c400 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 63 6f 64 ifications.to.it......Object.cod
4c420 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 20 20 66 e....means.any.non-source......f
4c440 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 6e 64 61 orm.of.a.work........A....Standa
4c460 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 72 66 61 rd.Interface....means.an.interfa
4c480 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 69 63 69 ce.that.either.is.an......offici
4c4a0 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 67 6e 69 al.standard.defined.by.a.recogni
4c4c0 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 20 20 20 zed.standards.body,.or,.in......
4c4e0 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 69 65 64 the.case.of.interfaces.specified
4c500 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 0a 20 20 .for.a.particular.programming...
4c520 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 6c 79 20 ...language,.one.that.is.widely.
4c540 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 20 69 6e used.among.developers.working.in
4c560 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 65 20 e2 .that......language........The..
4c580 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 78 65 63 ..System.Libraries....of.an.exec
4c5a0 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 0a 20 20 utable.work.include.anything,...
4c5c0 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 68 6f 6c ...other.than.the.work.as.a.whol
4c5e0 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 65 20 6e e,.that.(a).is.included.in.the.n
4c600 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 61 20 4d ormal......form.of.packaging.a.M
4c620 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 6e 6f 74 ajor.Component,.but.which.is.not
4c640 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 6f 6e 65 .part.of.that......Major.Compone
4c660 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 61 62 6c nt,.and.(b).serves.only.to.enabl
4c680 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 68 61 74 e.use.of.the.work.with......that
4c6a0 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 6d 65 6e .Major.Component,.or.to.implemen
4c6c0 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 20 20 20 t.a.Standard.Interface.for......
4c6e0 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 61 69 6c which.an.implementation.is.avail
4c700 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 63 6f 64 able.to.the.public.in.source.cod
4c720 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 6f 6e 65 e......form...A....Major.Compone
4c740 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 20 61 20 nt...,.in.this.context,.means.a.
4c760 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 74 20 28 major......essential.component.(
4c780 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 20 6f 6e kernel,.window.system,.and.so.on
4c7a0 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 69 6e 67 ).of.the......specific.operating
4c7c0 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 20 65 78 .system.(if.any).on.which.the.ex
4c7e0 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 20 63 6f ecutable.work......runs,.or.a.co
4c800 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 72 6b 2c mpiler.used.to.produce.the.work,
4c820 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 70 72 65 .or.an.object.code......interpre
4c840 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 20 e2 80 ter.used.to.run.it........The...
4c860 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 61 20 77 .Corresponding.Source....for.a.w
4c880 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 20 61 6c ork.in.object.code.form.means.al
4c8a0 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 20 74 6f l......the.source.code.needed.to
4c8c0 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 61 6e 20 .generate,.install,.and.(for.an.
4c8e0 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 20 6f 62 executable......work).run.the.ob
4c900 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 6f 72 6b ject.code.and.to.modify.the.work
4c920 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 6f 6e 74 ,.including.scripts......to.cont
4c940 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 72 2c 20 rol.those.activities...However,.
4c960 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 77 6f 72 it.does.not.include.the......wor
4c980 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 6e 65 72 k...s.System.Libraries,.or.gener
4c9a0 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 0a 20 20 al-purpose.tools.or.generally...
4c9c0 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 69 63 68 ...available.free.programs.which
4c9e0 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 72 6d 69 .are.used.unmodified.in.performi
4ca00 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 77 68 69 ng......those.activities.but.whi
4ca20 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 20 46 6f ch.are.not.part.of.the.work...Fo
4ca40 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 20 53 6f r.example,......Corresponding.So
4ca60 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 69 74 69 urce.includes.interface.definiti
4ca80 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 20 73 6f on.files.associated......with.so
4caa0 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 74 68 65 urce.files.for.the.work,.and.the
4cac0 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 6c 69 62 .source.code.for.shared......lib
4cae0 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 20 73 75 raries.and.dynamically.linked.su
4cb00 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 20 20 20 bprograms.that.the.work.is......
4cb20 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 69 72 65 specifically.designed.to.require
4cb40 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 20 20 20 ,.such.as.by.intimate.data......
4cb60 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 20 62 65 communication.or.control.flow.be
4cb80 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 74 68 65 tween.those.subprograms.and.othe
4cba0 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 20 20 20 r......parts.of.the.work........
4cbc0 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 20 6e 6f The.Corresponding.Source.need.no
4cbe0 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 20 63 61 t.include.anything.that.users.ca
4cc00 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 6c 79 20 n......regenerate.automatically.
4cc20 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 73 70 6f from.other.parts.of.the.Correspo
4cc40 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 43 6f 72 nding......Source........The.Cor
4cc60 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 69 6e 20 responding.Source.for.a.work.in.
4cc80 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 20 73 61 source.code.form.is.that......sa
4cca0 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 6f 6e 73 me.work.....2..Basic.Permissions
4ccc0 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 64 65 72 ........All.rights.granted.under
4cce0 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 20 74 68 .this.License.are.granted.for.th
4cd00 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 68 65 20 e.term.of......copyright.on.the.
4cd20 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 70 72 6f Program,.and.are.irrevocable.pro
4cd40 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 6f 6e 73 vided.the.stated......conditions
4cd60 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 63 69 74 .are.met...This.License.explicit
4cd80 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 20 20 70 ly.affirms.your.unlimited......p
4cda0 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 65 64 20 ermission.to.run.the.unmodified.
4cdc0 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 6e 69 6e Program...The.output.from.runnin
4cde0 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 72 65 64 g......a.covered.work.is.covered
4ce00 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 6f 75 74 .by.this.License.only.if.the.out
4ce20 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 63 6f 6e put,.given......its.content,.con
4ce40 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 73 20 4c stitutes.a.covered.work...This.L
4ce60 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 20 72 69 icense.acknowledges......your.ri
4ce80 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 69 76 61 ghts.of.fair.use.or.other.equiva
4cea0 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 79 72 69 lent,.as.provided.by......copyri
4cec0 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 72 75 6e ght.law........You.may.make,.run
4cee0 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 74 68 61 .and.propagate.covered.works.tha
4cf00 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 68 6f 75 t.you.do.not......convey,.withou
4cf20 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 6c 69 63 t.conditions.so.long.as.your.lic
4cf40 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 6e 20 66 ense.otherwise......remains.in.f
4cf60 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 20 77 6f orce...You.may.convey.covered.wo
4cf80 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 6c 65 20 rks.to.others.for.the......sole.
4cfa0 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 6f 64 69 purpose.of.having.them.make.modi
4cfc0 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 2c 0a 20 fications.exclusively.for.you,..
4cfe0 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 69 74 69 ....or.provide.you.with.faciliti
4d000 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 72 6f 76 es.for.running.those.works,.prov
4d020 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 68 20 74 ided......that.you.comply.with.t
4d040 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 6f 6e 76 he.terms.of.this.License.in.conv
4d060 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 68 69 63 eying.all......material.for.whic
4d080 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 74 2e 20 h.you.do.not.control.copyright..
4d0a0 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 6e 6e 69 .Those.thus.making......or.runni
4d0c0 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 6d 75 73 ng.the.covered.works.for.you.mus
4d0e0 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 20 20 20 t.do.so.exclusively.on.your.....
4d100 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 20 61 6e .behalf,.under.your.direction.an
4d120 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 69 62 69 d.control,.on.terms.that.prohibi
4d140 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 6f 70 69 t......them.from.making.any.copi
4d160 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 61 6c 20 es.of.your.copyrighted.material.
4d180 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 69 70 20 outside......their.relationship.
4d1a0 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 65 72 20 with.you........Conveying.under.
4d1c0 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 72 6d 69 any.other.circumstances.is.permi
4d1e0 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 6e 64 69 tted.solely.under......the.condi
4d200 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 73 69 6e tions.stated.below...Sublicensin
4d220 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 20 20 31 g.is.not.allowed;.section......1
4d240 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 20 50 72 0.makes.it.unnecessary.....3..Pr
4d260 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 73 20 46 otecting.Users....Legal.Rights.F
4d280 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 20 20 20 rom.Anti-Circumvention.Law......
4d2a0 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 65 6d 65 ..No.covered.work.shall.be.deeme
4d2c0 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 6c 6f 67 d.part.of.an.effective.technolog
4d2e0 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 70 70 6c ical......measure.under.any.appl
4d300 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 69 6f 6e icable.law.fulfilling.obligation
4d320 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 65 20 57 s.under......article.11.of.the.W
4d340 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 6f 6e 20 IPO.copyright.treaty.adopted.on.
4d360 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 69 6c 61 20.December......1996,.or.simila
4d380 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 74 69 6e r.laws.prohibiting.or.restrictin
4d3a0 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 6d 65 61 g.circumvention.of......such.mea
4d3c0 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 61 20 63 sures........When.you.convey.a.c
4d3e0 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 67 61 6c overed.work,.you.waive.any.legal
4d400 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 65 6e 74 .power.to.forbid......circumvent
4d420 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 20 74 6f ion.of.technological.measures.to
4d440 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 65 6e 74 .the.extent.such......circumvent
4d460 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 20 72 69 ion.is.effected.by.exercising.ri
4d480 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 77 69 74 ghts.under.this.License......wit
4d4a0 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 2c 20 61 h.respect.to.the.covered.work,.a
4d4c0 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 20 74 6f nd.you.disclaim.any.intention.to
4d4e0 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 66 69 63 ......limit.operation.or.modific
4d500 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 6f 66 0a ation.of.the.work.as.a.means.of.
4d520 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 6f 72 6b .....enforcing,.against.the.work
4d540 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 74 69 65 ...s.users,.your.or.third.partie
4d560 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 62 69 64 s....legal......rights.to.forbid
4d580 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 61 6c 20 .circumvention.of.technological.
4d5a0 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 62 61 74 measures.....4..Conveying.Verbat
4d5c0 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 65 79 20 im.Copies........You.may.convey.
4d5e0 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 6d e2 80 verbatim.copies.of.the.Program..
4d600 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 63 65 69 .s.source.code.as.you......recei
4d620 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 64 20 74 ve.it,.in.any.medium,.provided.t
4d640 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 20 20 61 hat.you.conspicuously.and......a
4d660 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 63 6f 70 ppropriately.publish.on.each.cop
4d680 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 74 69 63 y.an.appropriate.copyright.notic
4d6a0 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 65 73 20 e;......keep.intact.all.notices.
4d6c0 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 20 61 6e stating.that.this.License.and.an
4d6e0 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 64 64 65 y......non-permissive.terms.adde
4d700 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 70 6c 79 d.in.accord.with.section.7.apply
4d720 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 74 20 61 .to.the......code;.keep.intact.a
4d740 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 61 6e 79 ll.notices.of.the.absence.of.any
4d760 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 72 65 63 .warranty;.and......give.all.rec
4d780 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 65 20 61 ipients.a.copy.of.this.License.a
4d7a0 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 59 6f 75 long.with.the.Program........You
4d7c0 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 72 69 63 .may.charge.any.price.or.no.pric
4d7e0 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 65 79 2c e.for.each.copy.that.you.convey,
4d800 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 72 74 20 ......and.you.may.offer.support.
4d820 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 66 65 65 or.warranty.protection.for.a.fee
4d840 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 75 72 63 .....5..Conveying.Modified.Sourc
4d860 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 76 65 79 e.Versions........You.may.convey
4d880 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 20 6f 72 .a.work.based.on.the.Program,.or
4d8a0 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 6f 64 75 .the.modifications.to......produ
4d8c0 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 65 20 66 ce.it.from.the.Program,.in.the.f
4d8e0 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 20 20 20 orm.of.source.code.under.the....
4d900 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 64 20 74 ..terms.of.section.4,.provided.t
4d920 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 65 0a 20 hat.you.also.meet.all.of.these..
4d940 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 65 20 77 ....conditions:.........a..The.w
4d960 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 63 65 73 ork.must.carry.prominent.notices
4d980 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 6f 64 69 .stating.that.you...........modi
4d9a0 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 74 20 64 fied.it,.and.giving.a.relevant.d
4d9c0 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 20 63 61 ate..........b..The.work.must.ca
4d9e0 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 20 74 68 rry.prominent.notices.stating.th
4da00 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 6e 64 65 at.it.is...........released.unde
4da20 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 69 6f 6e r.this.License.and.any.condition
4da40 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 6f 6e 20 s.added.under...........section.
4da60 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 20 74 68 7...This.requirement.modifies.th
4da80 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 63 74 69 e.requirement.in...........secti
4daa0 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 74 69 63 on.4.to....keep.intact.all.notic
4dac0 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 63 65 6e es.............c..You.must.licen
4dae0 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 65 2c 20 se.the.entire.work,.as.a.whole,.
4db00 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 74 6f 20 under.this...........License.to.
4db20 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 69 6f 6e anyone.who.comes.into.possession
4db40 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 69 63 65 .of.a.copy...This...........Lice
4db60 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 6e 67 20 nse.will.therefore.apply,.along.
4db80 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 20 73 65 with.any.applicable...........se
4dba0 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 74 68 65 ction.7.additional.terms,.to.the
4dbc0 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 20 20 20 .whole.of.the.work,.and.all.....
4dbe0 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 66 20 68 ......its.parts,.regardless.of.h
4dc00 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 69 63 65 ow.they.are.packaged...This.Lice
4dc20 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 73 69 6f nse...........gives.no.permissio
4dc40 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 6f 74 68 n.to.license.the.work.in.any.oth
4dc60 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 20 6e 6f er.way,.but...........it.does.no
4dc80 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 69 66 20 t.invalidate.such.permission.if.
4dca0 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 20 72 65 you.have.separately...........re
4dcc0 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 77 6f 72 ceived.it..........d..If.the.wor
4dce0 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 61 63 65 k.has.interactive.user.interface
4dd00 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 20 20 41 s,.each.must.display...........A
4dd20 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 65 76 65 ppropriate.Legal.Notices;.howeve
4dd40 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 20 20 20 r,.if.the.Program.has...........
4dd60 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 6f 20 6e interactive.interfaces.that.do.n
4dd80 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 20 20 20 ot.display.Appropriate.Legal....
4dda0 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 64 20 6e .......Notices,.your.work.need.n
4ddc0 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 6f 6d 70 ot.make.them.do.so........A.comp
4dde0 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 68 20 6f ilation.of.a.covered.work.with.o
4de00 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 0a 20 20 ther.separate.and.independent...
4de20 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 65 69 72 ...works,.which.are.not.by.their
4de40 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 65 72 65 .nature.extensions.of.the.covere
4de60 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 74 20 63 d......work,.and.which.are.not.c
4de80 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 72 6d 20 ombined.with.it.such.as.to.form.
4dea0 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 6f 6e 20 a.larger......program,.in.or.on.
4dec0 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 72 69 62 a.volume.of.a.storage.or.distrib
4dee0 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 61 6e 20 ution.medium,.is......called.an.
4df00 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 61 74 69 ...aggregate....if.the.compilati
4df20 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 79 72 69 on.and.its.resulting......copyri
4df40 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 20 61 63 ght.are.not.used.to.limit.the.ac
4df60 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 20 20 20 cess.or.legal.rights.of.the.....
4df80 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 20 77 68 .compilation...s.users.beyond.wh
4dfa0 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 74 2e 0a at.the.individual.works.permit..
4dfc0 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 6f 72 6b .....Inclusion.of.a.covered.work
4dfe0 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 73 65 20 .in.an.aggregate.does.not.cause.
4e000 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 20 74 68 this......License.to.apply.to.th
4e020 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 65 2e 0a e.other.parts.of.the.aggregate..
4e040 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 72 6d 73 ...6..Conveying.Non-Source.Forms
4e060 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 72 65 64 ........You.may.convey.a.covered
4e080 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 65 72 20 .work.in.object.code.form.under.
4e0a0 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 61 6e 64 the.terms......of.sections.4.and
4e0c0 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 6e 76 65 .5,.provided.that.you.also.conve
4e0e0 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 6f 72 72 y.the......machine-readable.Corr
4e100 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 72 6d 73 esponding.Source.under.the.terms
4e120 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 20 6f 66 .of.this......License,.in.one.of
4e140 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 79 20 74 .these.ways:.........a..Convey.t
4e160 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 64 20 69 he.object.code.in,.or.embodied.i
4e180 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 20 20 20 n,.a.physical.product...........
4e1a0 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 75 74 69 (including.a.physical.distributi
4e1c0 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 65 0a 20 on.medium),.accompanied.by.the..
4e1e0 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 66 69 .........Corresponding.Source.fi
4e200 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 69 75 6d xed.on.a.durable.physical.medium
4e220 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 6f 72 20 ...........customarily.used.for.
4e240 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 20 62 2e software.interchange..........b.
4e260 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 72 20 65 .Convey.the.object.code.in,.or.e
4e280 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 74 0a 20 mbodied.in,.a.physical.product..
4e2a0 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 6c 20 64 .........(including.a.physical.d
4e2c0 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 69 65 64 istribution.medium),.accompanied
4e2e0 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 2c 20 76 .by.a...........written.offer,.v
4e300 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 20 61 6e alid.for.at.least.three.years.an
4e320 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 20 61 73 d.valid.for.as...........long.as
4e340 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 74 6f 6d .you.offer.spare.parts.or.custom
4e360 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 20 70 72 er.support.for.that...........pr
4e380 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 68 6f 20 oduct.model,.to.give.anyone.who.
4e3a0 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 20 20 20 possesses.the.object.code.......
4e3c0 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 43 6f 72 ....either.(1).a.copy.of.the.Cor
4e3e0 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 0a 20 20 responding.Source.for.all.the...
4e400 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 63 74 20 ........software.in.the.product.
4e420 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 73 65 2c that.is.covered.by.this.License,
4e440 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 63 61 6c .on.a...........durable.physical
4e460 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 73 6f 66 .medium.customarily.used.for.sof
4e480 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 66 6f 72 tware...........interchange,.for
4e4a0 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 61 73 6f .a.price.no.more.than.your.reaso
4e4c0 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 63 61 6c nable.cost.of...........physical
4e4e0 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 6f 66 20 ly.performing.this.conveying.of.
4e500 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 20 20 20 source,.or.(2).access...........
4e520 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 72 63 65 to.copy.the.Corresponding.Source
4e540 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 20 20 20 .from.a.network.server.at.no....
4e560 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 76 65 79 .......charge..........c..Convey
4e580 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 65 63 74 .individual.copies.of.the.object
4e5a0 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 20 20 20 .code.with.a.copy.of.the........
4e5c0 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 68 65 20 ...written.offer.to.provide.the.
4e5e0 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 20 20 20 Corresponding.Source...This.....
4e600 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 6f 6e 6c ......alternative.is.allowed.onl
4e620 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 69 61 6c y.occasionally.and.noncommercial
4e640 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 20 72 65 ly,...........and.only.if.you.re
4e660 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 75 63 68 ceived.the.object.code.with.such
4e680 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 64 20 77 .an.offer,...........in.accord.w
4e6a0 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 20 43 6f ith.subsection.6b..........d..Co
4e6c0 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 69 6e 67 nvey.the.object.code.by.offering
4e6e0 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 20 20 20 .access.from.a.designated.......
4e700 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 61 72 67 ....place.(gratis.or.for.a.charg
4e720 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 73 73 20 e),.and.offer.equivalent.access.
4e740 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 67 20 53 to...........the.Corresponding.S
4e760 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 20 74 68 ource.in.the.same.way.through.th
4e780 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 66 75 72 e.same...........place.at.no.fur
4e7a0 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 71 75 69 ther.charge...You.need.not.requi
4e7c0 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 70 79 20 re.recipients...........to.copy.
4e7e0 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 67 20 77 the.Corresponding.Source.along.w
4e800 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 20 20 49 ith.the.object.code............I
4e820 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 74 20 63 f.the.place.to.copy.the.object.c
4e840 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 20 20 20 ode.is.a.network.server,.the....
4e860 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 61 79 20 .......Corresponding.Source.may.
4e880 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 72 61 74 be.on.a.different.server.(operat
4e8a0 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 64 20 70 ed.by...........you.or.a.third.p
4e8c0 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 74 20 63 arty).that.supports.equivalent.c
4e8e0 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 70 72 6f opying...........facilities,.pro
4e900 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 63 74 69 vided.you.maintain.clear.directi
4e920 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 65 63 74 ons.next.to.the...........object
4e940 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 65 20 43 .code.saying.where.to.find.the.C
4e960 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 20 20 52 orresponding.Source............R
4e980 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 73 20 74 egardless.of.what.server.hosts.t
4e9a0 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 20 20 20 he.Corresponding.Source,.you....
4e9c0 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 73 75 72 .......remain.obligated.to.ensur
4e9e0 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 20 6c 6f e.that.it.is.available.for.as.lo
4ea00 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 69 73 66 ng.as...........needed.to.satisf
4ea20 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 20 65 2e y.these.requirements..........e.
4ea40 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 20 70 65 .Convey.the.object.code.using.pe
4ea60 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 20 20 20 er-to-peer.transmission,........
4ea80 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 70 65 65 ...provided.you.inform.other.pee
4eaa0 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 20 20 20 rs.where.the.object.code.and....
4eac0 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 66 20 74 .......Corresponding.Source.of.t
4eae0 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 74 68 65 he.work.are.being.offered.to.the
4eb00 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 6e 6f 20 ...........general.public.at.no.
4eb20 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 20 20 20 charge.under.subsection.6d......
4eb40 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 6f 62 6a ..A.separable.portion.of.the.obj
4eb60 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 73 0a 20 ect.code,.whose.source.code.is..
4eb80 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 6f 6e 64 ....excluded.from.the.Correspond
4eba0 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 79 2c 20 ing.Source.as.a.System.Library,.
4ebc0 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 63 6f 6e need......not.be.included.in.con
4ebe0 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 0a 20 20 veying.the.object.code.work.....
4ec00 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 74 68 65 ...A....User.Product....is.eithe
4ec20 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 9d 2c 20 r.(1).a....consumer.product...,.
4ec40 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 20 70 65 which.means......any.tangible.pe
4ec60 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 61 6c 6c rsonal.property.which.is.normall
4ec80 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 69 6c 79 y.used.for.personal,......family
4eca0 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 32 29 20 ,.or.household.purposes,.or.(2).
4ecc0 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 0a 20 20 anything.designed.or.sold.for...
4ece0 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 69 6e 67 ...incorporation.into.a.dwelling
4ed00 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 72 6f 64 ...In.determining.whether.a.prod
4ed20 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 74 2c 20 uct.is......a.consumer.product,.
4ed40 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 76 65 64 doubtful.cases.shall.be.resolved
4ed60 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 46 6f 72 .in.favor.of......coverage...For
4ed80 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 64 20 62 .a.particular.product.received.b
4eda0 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 6e 6f 72 y.a.particular.user,.........nor
4edc0 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 69 63 61 mally.used....refers.to.a.typica
4ede0 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 20 6f 66 l.or.common.use.of.that.class.of
4ee00 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 74 68 65 ......product,.regardless.of.the
4ee20 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 72 20 6f .status.of.the.particular.user.o
4ee40 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 65 20 70 r.of.the......way.in.which.the.p
4ee60 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 20 6f 72 articular.user.actually.uses,.or
4ee80 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 74 6f 20 .expects.or.is......expected.to.
4eea0 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 69 73 20 use,.the.product...A.product.is.
4eec0 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 64 6c 65 a.consumer.product......regardle
4eee0 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 20 73 75 ss.of.whether.the.product.has.su
4ef00 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 64 75 73 bstantial.commercial,......indus
4ef20 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 6e 6c 65 trial.or.non-consumer.uses,.unle
4ef40 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 20 20 20 ss.such.uses.represent.the......
4ef60 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 6f 66 20 only.significant.mode.of.use.of.
4ef80 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 61 74 69 the.product...........Installati
4efa0 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 50 72 6f on.Information....for.a.User.Pro
4efc0 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 70 72 6f duct.means.any.methods,......pro
4efe0 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 6f 72 20 cedures,.authorization.keys,.or.
4f000 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 0a 20 20 other.information.required.to...
4f020 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 65 64 20 ...install.and.execute.modified.
4f040 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 20 74 68 versions.of.a.covered.work.in.th
4f060 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 6f 64 69 at......User.Product.from.a.modi
4f080 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 64 69 6e fied.version.of.its.Correspondin
4f0a0 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 6e 20 6d g.Source.......The.information.m
4f0c0 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 65 20 63 ust.suffice.to.ensure.that.the.c
4f0e0 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 74 68 65 ontinued......functioning.of.the
4f100 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 6f 20 63 .modified.object.code.is.in.no.c
4f120 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 72 65 64 ase.prevented.or......interfered
4f140 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 74 69 6f .with.solely.because.modificatio
4f160 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 20 63 6f n.has.been.made........If.you.co
4f180 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 72 20 74 nvey.an.object.code.work.under.t
4f1a0 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 20 6f 72 his.section.in,.or.with,......or
4f1c0 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 73 65 72 .specifically.for.use.in,.a.User
4f1e0 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 20 20 20 .Product,.and.the.conveying.....
4f200 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 69 6f 6e .occurs.as.part.of.a.transaction
4f220 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 73 69 6f .in.which.the.right.of.possessio
4f240 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 6f 64 75 n......and.use.of.the.User.Produ
4f260 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 70 69 65 ct.is.transferred.to.the.recipie
4f280 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 61 20 66 nt.in......perpetuity.or.for.a.f
4f2a0 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 74 68 65 ixed.term.(regardless.of.how.the
4f2c0 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 72 69 7a .transaction......is.characteriz
4f2e0 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 20 63 6f ed),.the.Corresponding.Source.co
4f300 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 6e 20 6d nveyed.under.this......section.m
4f320 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 74 61 6c ust.be.accompanied.by.the.Instal
4f340 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 20 74 68 lation.Information...But......th
4f360 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 20 69 66 is.requirement.does.not.apply.if
4f380 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 72 74 79 .neither.you.nor.any.third.party
4f3a0 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 69 6e 73 ......retains.the.ability.to.ins
4f3c0 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 74 68 65 tall.modified.object.code.on.the
4f3e0 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 6c 65 2c .User......Product.(for.example,
4f400 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 69 6e 20 .the.work.has.been.installed.in.
4f420 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 6f 20 70 ROM)........The.requirement.to.p
4f440 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 6f 6e 20 rovide.Installation.Information.
4f460 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 72 65 6d does.not......include.a.requirem
4f480 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 70 70 6f ent.to.continue.to.provide.suppo
4f4a0 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 20 75 70 rt.service,......warranty,.or.up
4f4c0 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 6e 20 6d dates.for.a.work.that.has.been.m
4f4e0 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 74 68 65 odified.or.installed......by.the
4f500 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 72 6f 64 .recipient,.or.for.the.User.Prod
4f520 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 20 6d 6f uct.in.which.it.has.been......mo
4f540 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 74 6f 20 dified.or.installed...Access.to.
4f560 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 74 68 65 a.network.may.be.denied.when.the
4f580 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 65 72 69 ......modification.itself.materi
4f5a0 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 65 20 6f ally.and.adversely.affects.the.o
4f5c0 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 6f 72 20 peration......of.the.network.or.
4f5e0 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 6f 6c 73 violates.the.rules.and.protocols
4f600 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 73 20 74 .for......communication.across.t
4f620 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 6e 67 20 he.network........Corresponding.
4f640 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 74 69 6f Source.conveyed,.and.Installatio
4f660 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 69 6e 20 n.Information......provided,.in.
4f680 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 20 62 65 accord.with.this.section.must.be
4f6a0 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 6c 69 63 .in.a.format.that.is......public
4f6c0 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 70 6c 65 ly.documented.(and.with.an.imple
4f6e0 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 20 20 20 mentation.available.to.the......
4f700 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 61 6e 64 public.in.source.code.form),.and
4f720 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 77 6f 72 .must.require.no.special.passwor
4f740 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 72 65 61 d......or.key.for.unpacking,.rea
4f760 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 6f 6e 61 ding.or.copying.....7..Additiona
4f780 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 70 65 72 l.Terms...........Additional.per
4f7a0 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 70 70 6c missions....are.terms.that.suppl
4f7c0 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 4c 69 63 ement.the.terms.of......this.Lic
4f7e0 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 6d 20 6f ense.by.making.exceptions.from.o
4f800 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 69 6f 6e ne.or.more.of.its......condition
4f820 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 61 74 20 s...Additional.permissions.that.
4f840 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 74 69 72 are.applicable.to.the......entir
4f860 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 20 74 68 e.Program.shall.be.treated.as.th
4f880 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 20 20 20 ough.they.were.included.in......
4f8a0 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 68 61 74 this.License,.to.the.extent.that
4f8c0 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 62 6c 65 .they.are.valid.under.applicable
4f8e0 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 6d 69 73 ......law...If.additional.permis
4f900 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 68 65 20 sions.apply.only.to.part.of.the.
4f920 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 65 20 75 Program,......that.part.may.be.u
4f940 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 72 6d 69 sed.separately.under.those.permi
4f960 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 72 6f 67 ssions,.but.the......entire.Prog
4f980 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 4c 69 63 ram.remains.governed.by.this.Lic
4f9a0 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 68 65 20 ense.without.regard.to......the.
4f9c0 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 20 57 68 additional.permissions........Wh
4f9e0 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 65 72 65 en.you.convey.a.copy.of.a.covere
4fa00 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 6e 0a 20 d.work,.you.may.at.your.option..
4fa20 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 6d 69 73 ....remove.any.additional.permis
4fa40 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 20 61 6e sions.from.that.copy,.or.from.an
4fa60 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 61 6c 20 y.part......of.it...(Additional.
4fa80 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 20 72 65 permissions.may.be.written.to.re
4faa0 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 69 6e 20 quire.their.own......removal.in.
4fac0 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 20 74 68 certain.cases.when.you.modify.th
4fae0 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 61 64 64 e.work.)..You.may.place......add
4fb00 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 61 6c 2c itional.permissions.on.material,
4fb20 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 72 6b 2c .added.by.you.to.a.covered.work,
4fb40 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 61 6e 20 ......for.which.you.have.or.can.
4fb60 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 72 6d 69 give.appropriate.copyright.permi
4fb80 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 61 6e 79 ssion........Notwithstanding.any
4fba0 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 6e 73 65 .other.provision.of.this.License
4fbc0 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 6f 20 61 ,.for.material......you.add.to.a
4fbe0 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 74 68 6f .covered.work,.you.may.(if.autho
4fc00 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 6f 6c 64 rized.by.the.copyright......hold
4fc20 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 65 6e 74 ers.of.that.material).supplement
4fc40 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 74 68 0a .the.terms.of.this.License.with.
4fc60 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 69 6d 69 .....terms:.........a..Disclaimi
4fc80 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 6c 69 74 ng.warranty.or.limiting.liabilit
4fca0 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 74 68 65 y.differently.from...........the
4fcc0 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 6f 66 20 .terms.of.sections.15.and.16.of.
4fce0 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 65 71 75 this.License;.or.........b..Requ
4fd00 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 65 64 20 iring.preservation.of.specified.
4fd20 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 20 20 20 reasonable.legal.notices........
4fd40 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 74 68 61 ...or.author.attributions.in.tha
4fd60 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 61 74 65 t.material.or.in.the.Appropriate
4fd80 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 6c 61 79 ...........Legal.Notices.display
4fda0 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 0a 0a 20 ed.by.works.containing.it;.or...
4fdc0 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 73 65 6e ......c..Prohibiting.misrepresen
4fde0 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 6d 61 74 tation.of.the.origin.of.that.mat
4fe00 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 20 74 68 erial,...........or.requiring.th
4fe20 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 6d 61 74 at.modified.versions.of.such.mat
4fe40 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 72 65 61 erial.be.marked...........in.rea
4fe60 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 6d 20 74 sonable.ways.as.different.from.t
4fe80 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 20 20 20 he.original.version;.or.........
4fea0 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 63 69 74 d..Limiting.the.use.for.publicit
4fec0 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 6f 72 73 y.purposes.of.names.of.licensors
4fee0 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 6d 61 74 ...........or.authors.of.the.mat
4ff00 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 67 20 74 erial;.or.........e..Declining.t
4ff20 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 6b 20 6c o.grant.rights.under.trademark.l
4ff40 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 74 72 61 aw.for.use.of.some...........tra
4ff60 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 69 63 65 de.names,.trademarks,.or.service
4ff80 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 6e 67 20 .marks;.or.........f..Requiring.
4ffa0 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 61 6e 64 indemnification.of.licensors.and
4ffc0 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 74 65 72 .authors.of.that...........mater
4ffe0 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 20 6d 61 ial.by.anyone.who.conveys.the.ma
50000 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 20 76 65 terial.(or.modified...........ve
50020 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 6c 20 61 rsions.of.it).with.contractual.a
50040 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 20 20 20 ssumptions.of.liability.to......
50060 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 69 61 62 .....the.recipient,.for.any.liab
50080 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 20 20 20 ility.that.these.contractual....
500a0 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 6d 70 6f .......assumptions.directly.impo
500c0 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 68 6f 72 se.on.those.licensors.and.author
500e0 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 73 69 76 s........All.other.non-permissiv
50100 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 65 72 65 e.additional.terms.are.considere
50120 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 73 e2 80 d....further......restrictions..
50140 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 6f 6e 20 ..within.the.meaning.of.section.
50160 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 6f 75 20 10...If.the.Program.as......you.
50180 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 74 2c 20 received.it,.or.any.part.of.it,.
501a0 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 74 0a 20 contains.a.notice.stating.that..
501c0 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 63 65 6e ....it.is.governed.by.this.Licen
501e0 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 61 20 66 se.along.with.a.term.that.is.a.f
50200 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 6d 61 79 urther......restriction,.you.may
50220 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 6e 73 65 .remove.that.term...If.a.license
50240 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 74 68 65 .document......contains.a.furthe
50260 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 69 63 65 r.restriction.but.permits.relice
50280 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 20 74 68 nsing.or.conveying......under.th
502a0 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 63 6f 76 is.License,.you.may.add.to.a.cov
502c0 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 20 20 20 ered.work.material.governed.....
502e0 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 20 64 6f .by.the.terms.of.that.license.do
50300 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 74 68 65 cument,.provided.that.the.furthe
50320 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 75 72 76 r......restriction.does.not.surv
50340 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 79 69 6e ive.such.relicensing.or.conveyin
50360 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 61 20 63 g........If.you.add.terms.to.a.c
50380 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 69 73 20 overed.work.in.accord.with.this.
503a0 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 20 69 6e section,.you......must.place,.in
503c0 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 20 73 74 .the.relevant.source.files,.a.st
503e0 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 6c 20 74 atement.of.the......additional.t
50400 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 73 2c 20 erms.that.apply.to.those.files,.
50420 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 68 65 72 or.a.notice.indicating......wher
50440 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 73 2e 0a e.to.find.the.applicable.terms..
50460 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 73 73 69 ......Additional.terms,.permissi
50480 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 73 74 61 ve.or.non-permissive,.may.be.sta
504a0 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 61 72 61 ted.in......the.form.of.a.separa
504c0 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 65 64 20 tely.written.license,.or.stated.
504e0 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 20 72 65 as.exceptions;......the.above.re
50500 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 0a 20 20 quirements.apply.either.way.....
50520 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 20 6e 6f 8..Termination........You.may.no
50540 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 65 64 20 t.propagate.or.modify.a.covered.
50560 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 20 70 72 work.except.as.expressly......pr
50580 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 6e 79 20 ovided.under.this.License...Any.
505a0 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 65 20 6f attempt.otherwise.to.propagate.o
505c0 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 20 77 69 r......modify.it.is.void,.and.wi
505e0 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.
50600 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 65 20 28 rights......under.this.License.(
50620 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 20 67 72 including.any.patent.licenses.gr
50640 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 72 61 67 anted.under.the......third.parag
50660 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 77 65 76 raph.of.section.11)........Howev
50680 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 6e 20 6f er,.if.you.cease.all.violation.o
506a0 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 20 20 6c f.this.License,.then.your......l
506c0 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 69 67 icense.from.a.particular.copyrig
506e0 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 20 20 20 ht.holder.is.reinstated.(a).....
50700 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 74 69 6c .provisionally,.unless.and.until
50720 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 74 6c 79 .the.copyright.holder.explicitly
50740 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 79 6f 75 .and......finally.terminates.you
50760 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 79 2c 20 r.license,.and.(b).permanently,.
50780 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 66 61 69 if.the......copyright.holder.fai
507a0 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 74 69 6f ls.to.notify.you.of.the.violatio
507c0 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 6e 73 20 n.by.some......reasonable.means.
507e0 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 73 73 61 prior.to.60.days.after.the.cessa
50800 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 63 65 6e tion........Moreover,.your.licen
50820 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 74 20 68 se.from.a.particular.copyright.h
50840 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 61 6e 65 older.is......reinstated.permane
50860 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 6e 6f 74 ntly.if.the.copyright.holder.not
50880 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 6f 6e 20 ifies.you.of.the......violation.
508a0 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 73 20 69 by.some.reasonable.means,.this.i
508c0 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 20 20 72 s.the.first.time.you.have......r
508e0 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 66 20 74 eceived.notice.of.violation.of.t
50900 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 6f 6d 0a his.License.(for.any.work).from.
50920 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 6e 64 20 .....that.copyright.holder,.and.
50940 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 74 6f 20 you.cure.the.violation.prior.to.
50960 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 70 74 20 30.days......after.your.receipt.
50980 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 69 6f 6e of.the.notice........Termination
509a0 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 63 74 69 .of.your.rights.under.this.secti
509c0 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 65 20 6c on.does.not.terminate......the.l
509e0 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 65 63 65 icenses.of.parties.who.have.rece
50a00 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 75 0a 20 ived.copies.or.rights.from.you..
50a20 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 6f 75 72 ....under.this.License...If.your
50a40 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 61 6e 64 .rights.have.been.terminated.and
50a60 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 74 65 64 .not......permanently.reinstated
50a80 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 76 65 20 ,.you.do.not.qualify.to.receive.
50aa0 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 65 20 6d new.licenses......for.the.same.m
50ac0 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 39 2e 20 aterial.under.section.10.....9..
50ae0 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 61 76 69 Acceptance.Not.Required.for.Havi
50b00 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 72 65 71 ng.Copies........You.are.not.req
50b20 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 69 6e 20 uired.to.accept.this.License.in.
50b40 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 61 20 63 order.to.receive.or......run.a.c
50b60 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 79 20 70 opy.of.the.Program...Ancillary.p
50b80 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 20 20 20 ropagation.of.a.covered.work....
50ba0 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 71 75 65 ..occurring.solely.as.a.conseque
50bc0 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 20 20 74 nce.of.using.peer-to-peer......t
50be0 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 20 6c 69 ransmission.to.receive.a.copy.li
50c00 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 61 63 63 kewise.does.not.require......acc
50c20 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 68 65 72 eptance...However,.nothing.other
50c40 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 0a 20 20 .than.this.License.grants.you...
50c60 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 20 6d 6f ...permission.to.propagate.or.mo
50c80 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 20 61 63 dify.any.covered.work...These.ac
50ca0 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 20 69 66 tions......infringe.copyright.if
50cc0 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 73 65 2e .you.do.not.accept.this.License.
50ce0 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 67 20 6f ..Therefore,......by.modifying.o
50d00 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 20 79 6f r.propagating.a.covered.work,.yo
50d20 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 63 65 20 u.indicate.your......acceptance.
50d40 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 31 30 2e of.this.License.to.do.so.....10.
50d60 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 74 72 65 .Automatic.Licensing.of.Downstre
50d80 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 65 20 79 am.Recipients........Each.time.y
50da0 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 20 72 65 ou.convey.a.covered.work,.the.re
50dc0 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 63 65 69 cipient.automatically......recei
50de0 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 61 6c 20 ves.a.license.from.the.original.
50e00 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 0a 20 20 licensors,.to.run,.modify.and...
50e20 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 63 74 20 ...propagate.that.work,.subject.
50e40 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 0a 20 20 to.this.License...You.are.not...
50e60 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 63 6f 6d ...responsible.for.enforcing.com
50e80 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 20 74 68 pliance.by.third.parties.with.th
50ea0 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 65 6e 74 is......License........An....ent
50ec0 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 61 63 74 ity.transaction....is.a.transact
50ee0 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 6e 0a 20 ion.transferring.control.of.an..
50f00 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 69 61 6c ....organization,.or.substantial
50f20 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 69 76 69 ly.all.assets.of.one,.or.subdivi
50f40 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 20 6d 65 ding.an......organization,.or.me
50f60 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 61 67 61 rging.organizations...If.propaga
50f80 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 65 73 75 tion.of.a......covered.work.resu
50fa0 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 6e 2c 20 lts.from.an.entity.transaction,.
50fc0 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 61 63 74 each.party.to.that......transact
50fe0 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 65 20 77 ion.who.receives.a.copy.of.the.w
51000 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 20 20 20 ork.also.receives.whatever......
51020 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 79 e2 80 licenses.to.the.work.the.party..
51040 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 64 20 6f .s.predecessor.in.interest.had.o
51060 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 72 65 76 r......could.give.under.the.prev
51080 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 74 6f 20 ious.paragraph,.plus.a.right.to.
510a0 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 70 6f 6e possession......of.the.Correspon
510c0 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 74 68 65 ding.Source.of.the.work.from.the
510e0 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 2c 20 69 .predecessor.in......interest,.i
51100 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 61 6e 20 f.the.predecessor.has.it.or.can.
51120 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 66 66 6f get.it.with.reasonable......effo
51140 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 20 61 6e rts........You.may.not.impose.an
51160 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 20 65 78 y.further.restrictions.on.the.ex
51180 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 6e 74 65 ercise.of.the......rights.grante
511a0 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 6e 73 65 d.or.affirmed.under.this.License
511c0 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 6e 6f 74 ...For.example,.you......may.not
511e0 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 79 2c 20 .impose.a.license.fee,.royalty,.
51200 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 20 20 20 or.other.charge.for.exercise....
51220 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 73 20 4c ..of.rights.granted.under.this.L
51240 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 61 74 65 icense,.and.you.may.not.initiate
51260 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 20 63 72 ......litigation.(including.a.cr
51280 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 61 20 6c oss-claim.or.counterclaim.in.a.l
512a0 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 79 20 70 awsuit)......alleging.that.any.p
512c0 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 61 6b 69 atent.claim.is.infringed.by.maki
512e0 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 72 69 6e ng,.using,......selling,.offerin
51300 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 50 72 6f g.for.sale,.or.importing.the.Pro
51320 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 74 2e 0a gram.or.any.portion......of.it..
51340 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 6e 74 72 ...11..Patents........A....contr
51360 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 65 72 20 ibutor....is.a.copyright.holder.
51380 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 0a 20 20 who.authorizes.use.under.this...
513a0 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 61 20 77 ...License.of.the.Program.or.a.w
513c0 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 61 73 65 ork.on.which.the.Program.is.base
513e0 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 64 20 69 d.......The.work.thus.licensed.i
51400 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 e2 80 9c s.called.the.contributor...s....
51420 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 0a 20 20 contributor......version........
51440 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 74 69 61 ...A.contributor...s....essentia
51460 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 74 65 6e l.patent.claims....are.all.paten
51480 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 6c 6c 65 t.claims......owned.or.controlle
514a0 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 20 61 6c d.by.the.contributor,.whether.al
514c0 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 74 65 72 ready.acquired.or......hereafter
514e0 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 69 6e 67 .acquired,.that.would.be.infring
51500 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 74 74 65 ed.by.some.manner,......permitte
51520 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 20 75 73 d.by.this.License,.of.making,.us
51540 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 72 69 62 ing,.or.selling.its......contrib
51560 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 75 64 65 utor.version,.but.do.not.include
51580 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 66 72 69 .claims.that.would.be......infri
515a0 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 20 66 75 nged.only.as.a.consequence.of.fu
515c0 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 20 20 63 rther.modification.of.the......c
515e0 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 6f 73 65 ontributor.version...For.purpose
51600 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 72 6f 6c s.of.this.definition,....control
51620 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 6f 20 67 .........includes.the.right.to.g
51640 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 6d 61 6e rant.patent.sublicenses.in.a.man
51660 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 72 65 71 ner......consistent.with.the.req
51680 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 20 20 20 uirements.of.this.License.......
516a0 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 61 20 6e .Each.contributor.grants.you.a.n
516c0 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 20 72 6f on-exclusive,.worldwide,......ro
516e0 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 65 72 20 yalty-free.patent.license.under.
51700 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 0a 20 20 the.contributor...s.essential...
51720 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 65 2c 20 ...patent.claims,.to.make,.use,.
51740 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 61 6e 64 sell,.offer.for.sale,.import.and
51760 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 6e 64 20 ......otherwise.run,.modify.and.
51780 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 20 63 6f propagate.the.contents.of.its.co
517a0 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 20 49 6e ntributor......version........In
517c0 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 68 73 2c .the.following.three.paragraphs,
517e0 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 79 0a 20 .a....patent.license....is.any..
51800 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 69 74 6d ....express.agreement.or.commitm
51820 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 20 74 6f ent,.however.denominated,.not.to
51840 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 61 73 20 ......enforce.a.patent.(such.as.
51860 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 74 69 63 an.express.permission.to.practic
51880 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 6f 74 20 e.a......patent.or.covenant.not.
518a0 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 74 29 2e to.sue.for.patent.infringement).
518c0 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 70 61 74 ..To....grant.........such.a.pat
518e0 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 74 6f 20 ent.license.to.a.party.means.to.
51900 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 20 20 63 make.such.an.agreement.or......c
51920 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 74 65 6e ommitment.not.to.enforce.a.paten
51940 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 20 79 6f t.against.the.party........If.yo
51960 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 69 6e 67 u.convey.a.covered.work,.knowing
51980 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 69 63 65 ly.relying.on.a.patent......lice
519a0 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 75 72 63 nse,.and.the.Corresponding.Sourc
519c0 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 65 0a 20 e.of.the.work.is.not.available..
519e0 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 6f 66 20 ....for.anyone.to.copy,.free.of.
51a00 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 20 74 68 charge.and.under.the.terms.of.th
51a20 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 62 6c 69 is......License,.through.a.publi
51a40 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 6f 72 20 cly.available.network.server.or.
51a60 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 20 6d 65 other......readily.accessible.me
51a80 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 20 63 61 ans,.then.you.must.either.(1).ca
51aa0 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 75 72 63 use.the......Corresponding.Sourc
51ac0 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 61 72 72 e.to.be.so.available,.or.(2).arr
51ae0 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 20 6f 66 ange.to.deprive......yourself.of
51b00 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 63 65 6e .the.benefit.of.the.patent.licen
51b20 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 6f 72 6b se.for.this.particular......work
51b40 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 20 63 6f ,.or.(3).arrange,.in.a.manner.co
51b60 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 73 0a 20 nsistent.with.the.requirements..
51b80 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 64 20 74 ....of.this.License,.to.extend.t
51ba0 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 61 6d 0a he.patent.license.to.downstream.
51bc0 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 79 20 72 .....recipients......Knowingly.r
51be0 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 61 6c 20 elying....means.you.have.actual.
51c00 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 74 68 65 knowledge......that,.but.for.the
51c20 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 6e 67 20 .patent.license,.your.conveying.
51c40 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 75 6e 74 the.covered.work......in.a.count
51c60 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 20 6f 66 ry,.or.your.recipient...s.use.of
51c80 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 6f 75 6e .the.covered.work.in.a......coun
51ca0 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 72 65 20 try,.would.infringe.one.or.more.
51cc0 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 20 20 20 identifiable.patents.in.that....
51ce0 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 6e 20 74 ..country.that.you.have.reason.t
51d00 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 2c 20 70 o.believe.are.valid........If,.p
51d20 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 69 74 68 ursuant.to.or.in.connection.with
51d40 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 20 61 72 .a.single.transaction.or......ar
51d60 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 70 61 67 rangement,.you.convey,.or.propag
51d80 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 66 2c 20 ate.by.procuring.conveyance.of,.
51da0 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 74 20 61 a......covered.work,.and.grant.a
51dc0 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 65 20 70 .patent.license.to.some.of.the.p
51de0 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 65 72 65 arties......receiving.the.covere
51e00 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 65 2c 20 d.work.authorizing.them.to.use,.
51e20 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 76 65 79 propagate,......modify.or.convey
51e40 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 65 64 20 .a.specific.copy.of.the.covered.
51e60 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 63 65 6e work,.then.the......patent.licen
51e80 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 20 65 78 se.you.grant.is.automatically.ex
51ea0 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 20 6f 66 tended.to.all......recipients.of
51ec0 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 61 73 65 .the.covered.work.and.works.base
51ee0 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 73 65 20 d.on.it........A.patent.license.
51f00 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 20 64 6f is....discriminatory....if.it.do
51f20 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 65 20 73 es.not.include.within......the.s
51f40 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 74 73 20 cope.of.its.coverage,.prohibits.
51f60 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 6f 6e 64 the.exercise.of,.or.is......cond
51f80 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 66 20 6f itioned.on.the.non-exercise.of.o
51fa0 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 0a 20 20 ne.or.more.of.the.rights.that...
51fc0 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 6e 64 65 ...are.specifically.granted.unde
51fe0 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 63 6f 6e r.this.License...You.may.not.con
52000 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 75 20 61 vey.a......covered.work.if.you.a
52020 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 77 69 74 re.a.party.to.an.arrangement.wit
52040 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 69 6e 20 h.a.third......party.that.is.in.
52060 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 73 6f 66 the.business.of.distributing.sof
52080 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 61 6b 65 tware,.under.which......you.make
520a0 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 61 73 65 .payment.to.the.third.party.base
520c0 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 61 63 74 d.on.the.extent.of.your......act
520e0 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 61 6e 64 ivity.of.conveying.the.work,.and
52100 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 20 20 20 .under.which.the.third.party....
52120 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 65 73 20 ..grants,.to.any.of.the.parties.
52140 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 20 77 6f who.would.receive.the.covered.wo
52160 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 61 74 6f rk......from.you,.a.discriminato
52180 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 65 63 74 ry.patent.license.(a).in.connect
521a0 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 6f 76 65 ion.with......copies.of.the.cove
521c0 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 63 6f 70 red.work.conveyed.by.you.(or.cop
521e0 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 65 73 29 ies.made.from......those.copies)
52200 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 20 63 6f ,.or.(b).primarily.for.and.in.co
52220 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 72 6f 64 nnection.with.specific......prod
52240 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 74 61 69 ucts.or.compilations.that.contai
52260 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 75 0a 20 n.the.covered.work,.unless.you..
52280 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 6d 65 6e ....entered.into.that.arrangemen
522a0 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 20 67 72 t,.or.that.patent.license.was.gr
522c0 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 20 32 30 anted,......prior.to.28.March.20
522e0 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 65 6e 73 07........Nothing.in.this.Licens
52300 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 64 69 6e e.shall.be.construed.as.excludin
52320 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 64 20 6c g.or.limiting......any.implied.l
52340 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 6e 66 72 icense.or.other.defenses.to.infr
52360 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 69 73 65 ingement.that.may......otherwise
52380 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 70 6c 69 .be.available.to.you.under.appli
523a0 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 75 72 72 cable.patent.law.....12..No.Surr
523c0 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 20 20 20 ender.of.Others....Freedom......
523e0 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 6e 20 79 ..If.conditions.are.imposed.on.y
52400 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 67 72 65 ou.(whether.by.court.order,.agre
52420 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 20 63 6f ement......or.otherwise).that.co
52440 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 69 73 20 ntradict.the.conditions.of.this.
52460 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 75 73 65 License,.they......do.not.excuse
52480 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 68 69 73 .you.from.the.conditions.of.this
524a0 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 20 63 6f .License...If.you......cannot.co
524c0 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 73 61 74 nvey.a.covered.work.so.as.to.sat
524e0 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 20 6f 62 isfy.simultaneously.your......ob
52500 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 61 6e 64 ligations.under.this.License.and
52520 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 6f 6e 73 .any.other.pertinent.obligations
52540 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 79 6f 75 ,......then.as.a.consequence.you
52560 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 6f 72 20 .may.not.convey.it.at.all...For.
52580 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 20 74 65 example,......if.you.agree.to.te
525a0 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 65 63 74 rms.that.obligate.you.to.collect
525c0 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 6f 6e 76 .a.royalty.for......further.conv
525e0 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 63 6f 6e eying.from.those.to.whom.you.con
52600 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 79 20 77 vey.the.Program,.the......only.w
52620 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 73 65 20 ay.you.could.satisfy.both.those.
52640 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 20 20 20 terms.and.this.License.would....
52660 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 20 63 6f ..be.to.refrain.entirely.from.co
52680 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 73 65 20 nveying.the.Program.....13..Use.
526a0 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 75 62 6c with.the.GNU.Affero.General.Publ
526c0 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 64 69 6e ic.License........Notwithstandin
526e0 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 20 4c 69 g.any.other.provision.of.this.Li
52700 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 6f 6e 20 cense,.you.have......permission.
52720 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 64 20 77 to.link.or.combine.any.covered.w
52740 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 20 75 6e ork.with.a.work.licensed......un
52760 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 72 6f 20 der.version.3.of.the.GNU.Affero.
52780 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 0a 20 20 General.Public.License.into.a...
527a0 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 74 6f 20 ...single.combined.work,.and.to.
527c0 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 68 65 20 convey.the.resulting.work...The.
527e0 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 6c 6c 20 terms......of.this.License.will.
52800 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 20 77 68 continue.to.apply.to.the.part.wh
52820 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 20 62 75 ich.is.the......covered.work,.bu
52840 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 20 74 68 t.the.special.requirements.of.th
52860 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 6c 69 63 e.GNU.Affero......General.Public
52880 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 69 6e 67 .License,.section.13,.concerning
528a0 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 65 74 77 .interaction.through......a.netw
528c0 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 74 69 6f ork.will.apply.to.the.combinatio
528e0 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 73 69 6f n.as.such.....14..Revised.Versio
52900 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 20 46 72 ns.of.this.License........The.Fr
52920 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 62 6c 69 ee.Software.Foundation.may.publi
52940 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 72 73 69 sh.revised.and/or.new......versi
52960 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 20 4c 69 ons.of.the.GNU.General.Public.Li
52980 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 68 0a 20 cense.from.time.to.time...Such..
529a0 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 6c 61 72 ....new.versions.will.be.similar
529c0 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 73 69 6f .in.spirit.to.the.present.versio
529e0 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 61 69 6c n,.but......may.differ.in.detail
52a00 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 6f 6e 63 .to.address.new.problems.or.conc
52a20 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 69 76 65 erns........Each.version.is.give
52a40 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 6d 62 65 n.a.distinguishing.version.numbe
52a60 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 66 69 65 r...If.the......Program.specifie
52a80 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 73 69 6f s.that.a.certain.numbered.versio
52aa0 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 6c 69 63 n.of.the.GNU......General.Public
52ac0 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 69 6f 6e .License....or.any.later.version
52ae0 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 61 76 65 ....applies.to.it,.you......have
52b00 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 74 65 72 .the.option.of.following.the.ter
52b20 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 20 20 20 ms.and.conditions.either.of.....
52b40 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 61 6e 79 .that.numbered.version.or.of.any
52b60 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 68 65 20 .later.version.published.by.the.
52b80 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 2e 20 20 Free......Software.Foundation...
52ba0 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 66 79 20 If.the.Program.does.not.specify.
52bc0 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 47 4e 55 a.version......number.of.the.GNU
52be0 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 6d 61 79 .General.Public.License,.you.may
52c00 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 20 70 75 .choose.any......version.ever.pu
52c20 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 46 6f 75 blished.by.the.Free.Software.Fou
52c40 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 20 73 70 ndation........If.the.Program.sp
52c60 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 64 65 20 ecifies.that.a.proxy.can.decide.
52c80 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 20 74 68 which.future......versions.of.th
52ca0 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 63 61 6e e.GNU.General.Public.License.can
52cc0 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 20 70 75 .be.used,.that......proxy...s.pu
52ce0 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 6f 66 20 blic.statement.of.acceptance.of.
52d00 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 74 68 6f a.version.permanently......autho
52d20 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 69 6f 6e rizes.you.to.choose.that.version
52d40 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 20 6c 69 .for.the.Program........Later.li
52d60 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 64 64 69 cense.versions.may.give.you.addi
52d80 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 69 73 73 tional.or.different......permiss
52da0 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 20 6f 62 ions...However,.no.additional.ob
52dc0 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 20 20 20 ligations.are.imposed.on.any....
52de0 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 61 73 20 ..author.or.copyright.holder.as.
52e00 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 66 6f 6c a.result.of.your.choosing.to.fol
52e20 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 31 35 2e low.a......later.version.....15.
52e40 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 20 20 54 .Disclaimer.of.Warranty........T
52e60 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 52 4f 47 HERE.IS.NO.WARRANTY.FOR.THE.PROG
52e80 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 42 59 0a RAM,.TO.THE.EXTENT.PERMITTED.BY.
52ea0 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 57 48 45 .....APPLICABLE.LAW...EXCEPT.WHE
52ec0 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 20 54 48 N.OTHERWISE.STATED.IN.WRITING.TH
52ee0 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 4f 52 20 E......COPYRIGHT.HOLDERS.AND/OR.
52f00 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 47 52 41 OTHER.PARTIES.PROVIDE.THE.PROGRA
52f20 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 52 52 41 M....AS.IS.........WITHOUT.WARRA
52f40 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 53 53 45 NTY.OF.ANY.KIND,.EITHER.EXPRESSE
52f60 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 20 42 55 D.OR.IMPLIED,......INCLUDING,.BU
52f80 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 20 57 41 T.NOT.LIMITED.TO,.THE.IMPLIED.WA
52fa0 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 49 54 59 RRANTIES.OF......MERCHANTABILITY
52fc0 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 20 50 55 .AND.FITNESS.FOR.A.PARTICULAR.PU
52fe0 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 41 53 20 RPOSE...THE.ENTIRE......RISK.AS.
53000 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 45 20 4f TO.THE.QUALITY.AND.PERFORMANCE.O
53020 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 20 20 20 F.THE.PROGRAM.IS.WITH.YOU.......
53040 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 43 54 49 SHOULD.THE.PROGRAM.PROVE.DEFECTI
53060 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 4c 0a 20 VE,.YOU.ASSUME.THE.COST.OF.ALL..
53080 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 49 52 20 ....NECESSARY.SERVICING,.REPAIR.
530a0 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 69 6f 6e OR.CORRECTION.....16..Limitation
530c0 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 45 4e 54 .of.Liability........IN.NO.EVENT
530e0 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 45 20 4c .UNLESS.REQUIRED.BY.APPLICABLE.L
53100 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 4e 47 20 AW.OR.AGREED.TO.IN......WRITING.
53120 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 20 41 4e WILL.ANY.COPYRIGHT.HOLDER,.OR.AN
53140 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 20 20 20 Y.OTHER.PARTY.WHO.MODIFIES......
53160 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 20 50 45 AND/OR.CONVEYS.THE.PROGRAM.AS.PE
53180 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 4f 55 20 RMITTED.ABOVE,.BE.LIABLE.TO.YOU.
531a0 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 4e 59 20 FOR......DAMAGES,.INCLUDING.ANY.
531c0 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 4f 52 0a GENERAL,.SPECIAL,.INCIDENTAL.OR.
531e0 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 49 53 49 .....CONSEQUENTIAL.DAMAGES.ARISI
53200 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 59 20 54 NG.OUT.OF.THE.USE.OR.INABILITY.T
53220 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 44 49 4e O.USE......THE.PROGRAM.(INCLUDIN
53240 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 44 41 54 G.BUT.NOT.LIMITED.TO.LOSS.OF.DAT
53260 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 20 49 4e A.OR.DATA......BEING.RENDERED.IN
53280 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 42 59 20 ACCURATE.OR.LOSSES.SUSTAINED.BY.
532a0 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 41 20 46 YOU.OR.THIRD......PARTIES.OR.A.F
532c0 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 41 54 45 AILURE.OF.THE.PROGRAM.TO.OPERATE
532e0 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 29 2c 20 .WITH.ANY.OTHER......PROGRAMS),.
53300 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 50 41 52 EVEN.IF.SUCH.HOLDER.OR.OTHER.PAR
53320 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 48 45 20 TY.HAS.BEEN.ADVISED.OF......THE.
53340 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 0a 20 20 POSSIBILITY.OF.SUCH.DAMAGES.....
53360 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 73 20 31 17..Interpretation.of.Sections.1
53380 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 69 6d 65 5.and.16........If.the.disclaime
533a0 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 6f 66 20 r.of.warranty.and.limitation.of.
533c0 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 20 63 61 liability.provided......above.ca
533e0 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 65 63 74 nnot.be.given.local.legal.effect
53400 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 20 20 20 .according.to.their.terms,......
53420 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 6c 6f 63 reviewing.courts.shall.apply.loc
53440 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 20 61 70 al.law.that.most.closely......ap
53460 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 20 6f 66 proximates.an.absolute.waiver.of
53480 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 63 6f 6e .all.civil.liability.in......con
534a0 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 65 73 73 nection.with.the.Program,.unless
534c0 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 20 20 20 .a.warranty.or.assumption.of....
534e0 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 79 20 6f ..liability.accompanies.a.copy.o
53500 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 20 66 65 f.the.Program.in.return.for.a.fe
53520 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 4e 53 0a e...END.OF.TERMS.AND.CONDITIONS.
53540 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 48 6f 77 ===========================..How
53560 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 20 4e 65 .to.Apply.These.Terms.to.Your.Ne
53580 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 3d 3d 3d w.Programs.=====================
535a0 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 79 6f 75 ========================..If.you
535c0 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 6f 75 20 .develop.a.new.program,.and.you.
535e0 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 0a 70 6f want.it.to.be.of.the.greatest.po
53600 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 20 62 65 ssible.use.to.the.public,.the.be
53620 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 6d 61 6b st.way.to.achieve.this.is.to.mak
53640 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 79 6f 6e e.it.free.software.which.everyon
53660 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 20 75 6e e.can.redistribute.and.change.un
53680 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 2c 20 61 der.these.terms......To.do.so,.a
536a0 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 6f 20 74 ttach.the.following.notices.to.t
536c0 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 61 74 74 he.program...It.is.safest.to.att
536e0 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 20 73 6f ach.them.to.the.start.of.each.so
53700 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 0a 73 74 urce.file.to.most.effectively.st
53720 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 3b 20 61 ate.the.exclusion.of.warranty;.a
53740 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 65 61 73 nd.each.file.should.have.at.leas
53760 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 64 20 61 t.the....copyright....line.and.a
53780 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 74 69 63 .pointer.to.where.the.full.notic
537a0 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 20 47 49 e.is.found........ONE.LINE.TO.GI
537c0 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 52 49 45 VE.THE.PROGRAM'S.NAME.AND.A.BRIE
537e0 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 43 6f 70 F.IDEA.OF.WHAT.IT.DOES.......Cop
53800 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 52 0a 0a yright.(C).YEAR.NAME.OF.AUTHOR..
53820 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 74 77 61 .....This.program.is.free.softwa
53840 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 6e 64 2f re:.you.can.redistribute.it.and/
53860 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 65 72 6d or.modify......it.under.the.term
53880 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 69 63 65 s.of.the.GNU.General.Public.Lice
538a0 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 46 72 65 nse.as.published.by......the.Fre
538c0 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 20 76 65 e.Software.Foundation,.either.ve
538e0 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 74 0a 20 rsion.3.of.the.License,.or.(at..
53900 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 72 73 69 ....your.option).any.later.versi
53920 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 74 72 69 on........This.program.is.distri
53940 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 6c 20 62 buted.in.the.hope.that.it.will.b
53960 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 59 20 57 e.useful,.but......WITHOUT.ANY.W
53980 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 6c 69 65 ARRANTY;.without.even.the.implie
539a0 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 49 4c 49 d.warranty.of......MERCHANTABILI
539c0 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 52 20 50 TY.or.FITNESS.FOR.A.PARTICULAR.P
539e0 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 65 72 61 URPOSE...See.the.GNU......Genera
53a00 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 61 69 6c l.Public.License.for.more.detail
53a20 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 69 76 65 s........You.should.have.receive
53a40 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 75 62 6c d.a.copy.of.the.GNU.General.Publ
53a60 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 69 73 20 ic.License......along.with.this.
53a80 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 2f 2f 77 program...If.not,.see.<https://w
53aa0 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 73 6f 20 ww.gnu.org/licenses/>......Also.
53ac0 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 74 61 63 add.information.on.how.to.contac
53ae0 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 0a 6d 61 t.you.by.electronic.and.paper.ma
53b00 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 65 72 6d il......If.the.program.does.term
53b20 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 70 75 74 inal.interaction,.make.it.output
53b40 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 6e 20 69 .a.short.notice.like.this.when.i
53b60 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 64 65 3a t.starts.in.an.interactive.mode:
53b80 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 59 45 41 .......PROGRAM.Copyright.(C).YEA
53ba0 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 6f 67 72 R.NAME.OF.AUTHOR......This.progr
53bc0 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 41 52 52 am.comes.with.ABSOLUTELY.NO.WARR
53be0 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 77 20 77 ANTY;.for.details.type....show.w
53c00 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 72 65 2c ..........This.is.free.software,
53c20 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 74 72 69 .and.you.are.welcome.to.redistri
53c40 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 6e 64 69 bute.it......under.certain.condi
53c60 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 64 65 74 tions;.type....show.c....for.det
53c80 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 6d 6d 61 ails......The.hypothetical.comma
53ca0 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 63 e2 80 nds....show.w....and....show.c..
53cc0 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 20 70 61 ..should.show.the.appropriate.pa
53ce0 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 65 6e 73 rts.of.the.General.Public.Licens
53d00 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 99 73 20 e...Of.course,.your.program...s.
53d20 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 66 6f 72 commands.might.be.different;.for
53d40 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 73 65 20 .a.GUI.interface,.you.would.use.
53d60 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 68 6f 75 an....about.box.........You.shou
53d80 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 20 79 6f ld.also.get.your.employer.(if.yo
53da0 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 68 6f 6f u.work.as.a.programmer).or.schoo
53dc0 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 69 67 68 l,.if.any,.to.sign.a....copyrigh
53de0 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 61 6d 2c t.disclaimer....for.the.program,
53e00 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 72 6d 61 .if.necessary...For.more.informa
53e20 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 79 20 61 tion.on.this,.and.how.to.apply.a
53e40 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 74 74 70 nd.follow.the.GNU.GPL,.see.<http
53e60 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 20 20 20 s://www.gnu.org/licenses/>......
53e80 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 65 20 64 The.GNU.General.Public.License.d
53ea0 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 79 6f 75 oes.not.permit.incorporating.you
53ec0 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 6f 67 72 r.program.into.proprietary.progr
53ee0 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 62 72 6f ams...If.your.program.is.a.subro
53f00 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 65 72 20 utine.library,.you.may.consider.
53f20 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 69 6e 67 it.more.useful.to.permit.linking
53f40 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 68 20 74 .proprietary.applications.with.t
53f60 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 79 6f 75 he.library...If.this.is.what.you
53f80 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 65 72 20 .want.to.do,.use.the.GNU.Lesser.
53fa0 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 64 20 6f General.Public.License.instead.o
53fc0 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 6c 65 61 f.this.License...But.first,.plea
53fe0 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 6c 69 63 se.read.<https://www.gnu.org/lic
54000 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 46 69 6c enses/why-not-lgpl.html>.....Fil
54020 65 3a 20 64 6f 63 4b 46 41 63 52 48 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 49 6e 64 65 78 2c e:.docKFAcRH.info,..Node:.Index,
54040 20 20 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 ..Prev:.GPL,..Up:.Top..Index.***
54060 2a 2a 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 **....[index..].*.Menu:..*.!cdr:
54080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
540a0 20 20 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 ..Destructive.operations........
540c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
540e0 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 31 ........................(line..1
54100 36 29 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 6).*.!cons:.....................
54120 20 20 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 ............Destructive.operatio
54140 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 20 ns..............................
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 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 ..(line...8).*.-->:.............
541a0 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 6e 67 20 ......................Threading.
541c0 6d 61 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 macros.....(line..35).*.->:.....
541e0 20 20 20 20 20 20 20 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 ...............................T
54200 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 20 39 29 0a 2a hreading.macros.....(line...9).*
54220 20 2d 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 .->>:...........................
54240 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 28 6c 69 ........Threading.macros.....(li
54260 6e 65 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 ne..22).*.-all?:................
54280 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 20 .................Predicates.....
542a0 20 20 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 ......(line..53).*.-andfn:......
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 46 75 6e 63 74 69 ..........................Functi
542e0 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 20 20 on.combinators..................
54300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
54320 20 20 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 ..............(line.184).*.-anno
54340 74 61 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 tate:...........................
54360 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 20 38 34 ..Maps.................(line..84
54380 29 0a 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 ).*.-any?:......................
543a0 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 20 20 ...........Predicates...........
543c0 28 6c 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 (line..41).*.-applify:..........
543e0 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 20 63 6f 6d ....................Function.com
54400 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 20 20 20 20 binators........................
54420 20 20 20 20 20 20 20 20 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 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 ........(line..63).*.-as->:.....
54460 20 20 20 20 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 ............................Thre
54480 61 64 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 ading.macros.....(line..49).*.-b
544a0 75 74 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 utlast:.........................
544c0 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......
544e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
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 28 6c 69 6e 65 20 ..........................(line.
54520 33 33 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 335).*.-clone:..................
54540 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 2e 20 20 ..............Tree.operations...
54560 20 20 20 28 6c 69 6e 65 20 31 32 32 29 0a 2a 20 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 3a 20 ...(line.122).*.-common-prefix:.
54580 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
545a0 73 2e 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 s...........(line.242).*.-common
545c0 2d 73 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 -suffix:........................
545e0 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 32 35 32 29 0a Reductions...........(line.252).
54600 2a 20 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 *.-compose:.....................
54620 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 20 .........Function.combinators...
54640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
54660 20 20 20 20 20 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 .............................(li
54680 6e 65 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 ne..49).*.-concat:..............
546a0 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 2e 20 20 .................List.to.list...
546c0 20 20 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 ......(line..23).*.-cons*:......
546e0 20 20 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 ..........................Other.
54700 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 20 list.operations.................
54720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
54740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 30 29 0a 2a 20 2d 63 6f 6e ...............(line..30).*.-con
54760 73 2d 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 s-pair?:........................
54780 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 36 ...Predicates...........(line.16
547a0 37 29 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 7).*.-const:....................
547c0 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 73 ............Function.combinators
547e0 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 ................................
54800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
54820 28 6c 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 (line.128).*.-contains?:........
54840 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 2e 20 ....................Predicates..
54860 20 20 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 .........(line.100).*.-copy:....
54880 20 20 20 20 20 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 .............................Map
548a0 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 33 39 29 0a 2a 20 2d s.................(line.139).*.-
548c0 63 6f 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 count:..........................
548e0 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 6e 65 ......Reductions...........(line
54900 20 31 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 .172).*.-cut:...................
54920 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 74 ...............Function.combinat
54940 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 20 ors.............................
54960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
54980 20 20 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 ...(line.140).*.-cycle:.........
549a0 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 73 .......................Other.lis
549c0 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 20 t.operations....................
549e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
54a00 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 38 30 29 0a 2a 20 2d 64 69 66 66 65 72 ............(line.180).*.-differ
54a20 65 6e 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 ence:...........................
54a40 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 65 20 20 32 30 29 0a Set.operations.......(line..20).
54a60 2a 20 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 *.-distinct:....................
54a80 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 20 28 6c .........Set.operations.......(l
54aa0 69 6e 65 20 20 36 32 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 ine..62).*.-dotimes:............
54ac0 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 65 63 74 73 2e 20 ..................Side.effects..
54ae0 20 20 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 .......(line..80).*.-doto:......
54b00 20 20 20 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 ...........................Threa
54b20 64 69 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 ding.macros.....(line..99).*.-dr
54b40 6f 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 20 20 20 op:.............................
54b60 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 65 20 31 ....Sublist.selection....(line.1
54b80 34 37 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 47).*.-drop-last:...............
54ba0 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 20 .............Sublist.selection..
54bc0 20 20 28 6c 69 6e 65 20 31 36 31 29 0a 2a 20 2d 64 72 6f 70 2d 77 68 69 6c 65 3a 20 20 20 20 20 ..(line.161).*.-drop-while:.....
54be0 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 74 20 73 65 ......................Sublist.se
54c00 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 31 39 32 29 0a 2a 20 2d 65 61 63 68 3a 20 20 lection....(line.192).*.-each:..
54c20 20 20 20 20 20 20 20 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 ...............................S
54c40 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 20 38 29 0a 2a ide.effects.........(line...8).*
54c60 20 2d 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 .-each-indexed:.................
54c80 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 20 20 20 20 28 6c 69 ........Side.effects.........(li
54ca0 6e 65 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 ne..38).*.-each-r:..............
54cc0 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 65 63 74 73 2e 20 20 .................Side.effects...
54ce0 20 20 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 ......(line..52).*.-each-r-while
54d00 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 53 69 64 65 20 65 :.........................Side.e
54d20 66 66 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 ffects.........(line..65).*.-eac
54d40 68 2d 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 h-while:........................
54d60 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 20 20 32 ...Side.effects.........(line..2
54d80 34 29 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 4).*.-elem-index:...............
54da0 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 20 20 20 20 20 20 20 ............Indexing............
54dc0 20 28 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 .(line...9).*.-elem-indices:....
54de0 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 20 20 .....................Indexing...
54e00 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 31 29 0a 2a 20 2d 65 76 65 72 79 3a 20 20 ..........(line..21).*.-every:..
54e20 20 20 20 20 20 20 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 ..............................Pr
54e40 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 20 32 33 29 0a 2a 20 edicates...........(line..23).*.
54e60 2d 66 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 -fifth-item:....................
54e80 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 20 20 .......Other.list.operations....
54ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
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 28 6c 69 6e ............................(lin
54ee0 65 20 33 31 35 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 e.315).*.-filter:...............
54f00 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 6f ................Sublist.selectio
54f20 6e 2e 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 n....(line...8).*.-find-index:..
54f40 20 20 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 .........................Indexin
54f60 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 32 29 0a 2a 20 2d 66 69 6e 64 g.............(line..32).*.-find
54f80 2d 69 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 -indices:.......................
54fa0 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 69 6e 65 20 20 36 30 ..Indexing.............(line..60
54fc0 29 0a 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 ).*.-find-last-index:...........
54fe0 20 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 ...........Indexing.............
55000 28 6c 69 6e 65 20 20 34 36 29 0a 2a 20 2d 66 69 72 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 (line..46).*.-first:............
55020 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
55040 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.......................
55060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
55080 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 34 36 29 0a 2a 20 2d 66 69 72 73 74 2d 69 74 65 .........(line.246).*.-first-ite
550a0 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 20 4f 74 68 m:...........................Oth
550c0 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..............
550e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
55100 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 37 32 29 0a 2a 20 2d ..................(line.272).*.-
55120 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 20 20 20 20 fix:............................
55140 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.....
55160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
55180 20 20 20 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
551a0 20 33 37 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 .375).*.-fixfn:.................
551c0 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 74 ...............Function.combinat
551e0 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 20 ors.............................
55200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
55220 20 20 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 ...(line.224).*.-flatten:.......
55240 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
55260 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 34 29 0a 2a 20 2d 66 6c 61 74 74 65 ist.........(line..34).*.-flatte
55280 6e 2d 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 n-n:............................
552a0 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 20 35 36 29 0a List.to.list.........(line..56).
552c0 2a 20 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 *.-flip:........................
552e0 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 20 .........Function.combinators...
55300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
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 28 6c 69 .............................(li
55340 6e 65 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 ne..95).*.-fourth-item:.........
55360 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
55380 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..........................
553a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
553c0 20 20 20 20 20 20 28 6c 69 6e 65 20 33 30 35 29 0a 2a 20 2d 67 72 61 64 65 2d 64 6f 77 6e 3a 20 ......(line.305).*.-grade-down:.
553e0 20 20 20 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 ..........................Indexi
55400 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 38 31 29 0a 2a 20 2d 67 72 61 ng.............(line..81).*.-gra
55420 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 20 20 20 20 20 20 20 de-up:..........................
55440 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 69 6e 65 20 20 37 ...Indexing.............(line..7
55460 31 29 0a 2a 20 2d 67 72 6f 75 70 2d 62 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1).*.-group-by:.................
55480 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 20 20 20 20 ............Partitioning........
554a0 20 28 6c 69 6e 65 20 31 39 34 29 0a 2a 20 2d 69 66 2d 6c 65 74 3a 20 20 20 20 20 20 20 20 20 20 .(line.194).*.-if-let:..........
554c0 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 2e 20 20 20 .....................Binding....
554e0 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 66 2d 6c 65 74 2a 3a ..........(line..34).*.-if-let*:
55500 20 20 20 20 20 20 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
55520 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 20 34 35 29 0a 2a 20 nding..............(line..45).*.
55540 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 20 20 20 20 20 20 20 -inits:.........................
55560 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 6e .......Reductions...........(lin
55580 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 20 20 20 20 20 20 20 e.222).*.-insert-at:............
555a0 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 2e 20 20 20 ................List.to.list....
555c0 20 20 20 20 20 28 6c 69 6e 65 20 31 31 30 29 0a 2a 20 2d 69 6e 74 65 72 6c 65 61 76 65 3a 20 20 .....(line.110).*.-interleave:..
555e0 20 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 .........................Other.l
55600 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 20 20 ist.operations..................
55620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
55640 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 6e 74 65 ..............(line..67).*.-inte
55660 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 20 20 20 20 20 20 20 rpose:..........................
55680 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.........
556a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
556c0 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 35 37 .......................(line..57
556e0 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 20 20 20 20 20 20 20 ).*.-intersection:..............
55700 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 20 ...........Set.operations.......
55720 28 6c 69 6e 65 20 20 33 32 29 0a 2a 20 2d 69 6f 74 61 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 (line..32).*.-iota:.............
55740 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
55760 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.......................
55780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
557a0 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 38 29 0a 2a 20 2d 69 73 2d 69 6e 66 69 78 3f .........(line..78).*.-is-infix?
557c0 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 50 72 65 :............................Pre
557e0 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 33 29 0a 2a 20 2d dicates...........(line.153).*.-
55800 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 20 20 20 20 20 20 20 is-prefix?:.....................
55820 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 69 6e 65 ......Predicates...........(line
55840 20 31 32 39 29 0a 2a 20 2d 69 73 2d 73 75 66 66 69 78 3f 3a 20 20 20 20 20 20 20 20 20 20 20 20 .129).*.-is-suffix?:............
55860 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.......
55880 20 20 20 20 28 6c 69 6e 65 20 31 34 31 29 0a 2a 20 2d 69 74 65 72 61 74 65 3a 20 20 20 20 20 20 ....(line.141).*.-iterate:......
558a0 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 6e 66 6f 6c 64 69 6e ........................Unfoldin
558c0 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 20 2d 69 74 65 72 61 g............(line...9).*.-itera
558e0 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 20 20 20 20 20 20 20 tefn:...........................
55900 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...........
55920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
55940 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 30 31 29 0a .....................(line.201).
55960 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 20 20 20 20 20 20 20 *.-juxt:........................
55980 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 20 .........Function.combinators...
559a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
559c0 20 20 20 20 20 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 .............................(li
559e0 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 20 20 20 20 20 20 20 ne..37).*.-keep:................
55a00 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 2e 20 20 .................List.to.list...
55a20 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 61 3a 20 20 20 20 20 ......(line...8).*.-lambda:.....
55a40 20 20 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 ..........................Bindin
55a60 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 0a 2a 20 2d 6c 61 73 g..............(line.247).*.-las
55a80 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 20 20 t:..............................
55aa0 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........
55ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
55ae0 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 36 ........................(line.26
55b00 32 29 0a 2a 20 2d 6c 61 73 74 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2).*.-last-item:................
55b20 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 6f 6e ............Other.list.operation
55b40 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...............................
55b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
55b80 20 28 6c 69 6e 65 20 33 32 35 29 0a 2a 20 2d 6c 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 .(line.325).*.-let:.............
55ba0 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 2e 20 20 20 .....................Binding....
55bc0 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 65 74 2a 3a 20 20 20 ..........(line..61).*.-let*:...
55be0 20 20 20 20 20 20 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
55c00 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 32 37 29 0a 2a 20 nding..............(line.227).*.
55c20 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 20 20 20 20 20 20 20 -list:..........................
55c40 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 20 20 .......Other.list.operations....
55c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
55c80 20 20 20 20 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
55ca0 65 20 33 35 38 29 0a 2a 20 2d 6d 61 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.358).*.-map:..................
55cc0 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 20 20 ................Maps............
55ce0 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 72 73 74 3a 20 20 20 .....(line..10).*.-map-first:...
55d00 20 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 20 20 .........................Maps...
55d20 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 2a 20 2d 6d 61 70 2d ..............(line..38).*.-map-
55d40 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 20 20 20 20 20 indexed:........................
55d60 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 20 36 36 ..Maps.................(line..66
55d80 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 20 20 20 20 20 20 20 ).*.-map-last:..................
55da0 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 20 20 20 20 ...........Maps.................
55dc0 28 6c 69 6e 65 20 20 35 32 29 0a 2a 20 2d 6d 61 70 2d 77 68 65 6e 3a 20 20 20 20 20 20 20 20 20 (line..52).*.-map-when:.........
55de0 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 20 20 20 ....................Maps........
55e00 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 70 63 61 74 3a 20 20 .........(line..22).*.-mapcat:..
55e20 20 20 20 20 20 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 .............................Map
55e40 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 32 38 29 0a 2a 20 2d s.................(line.128).*.-
55e60 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 20 20 20 20 20 20 20 max:............................
55e80 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 6e 65 ......Reductions...........(line
55ea0 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 20 20 20 20 20 20 20 .286).*.-max-by:................
55ec0 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 20 20 ...............Reductions.......
55ee0 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 20 20 20 20 20 20 20 ....(line.296).*.-min:..........
55f00 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
55f20 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 20 2d 6d 69 6e 2d 62 ns...........(line.262).*.-min-b
55f40 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 20 20 20 20 20 20 20 y:..............................
55f60 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 32 37 32 29 .Reductions...........(line.272)
55f80 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 20 20 20 20 20 20 20 .*.-non-nil:....................
55fa0 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 28 ..........Sublist.selection....(
55fc0 6c 69 6e 65 20 20 39 34 29 0a 2a 20 2d 6e 6f 6e 65 3f 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 line..94).*.-none?:.............
55fe0 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...
56000 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 3a 20 20 20 20 20 20 ........(line..73).*.-not:......
56020 20 20 20 20 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
56040 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................
56060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
56080 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 29 0a 2a 20 2d 6f 6e ................(line.153).*.-on
560a0 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 :...............................
560c0 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 20 20 ....Function.combinators........
560e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
56100 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 37 ........................(line..7
56120 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 20 20 20 20 20 20 20 5).*.-only-some?:...............
56140 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 20 ............Predicates..........
56160 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 20 20 20 20 20 20 20 .(line..85).*.-orfn:............
56180 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 20 63 6f .....................Function.co
561a0 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 20 20 20 mbinators.......................
561c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
561e0 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 64 3a 20 20 20 20 20 .........(line.167).*.-pad:.....
56200 20 20 20 20 20 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
56220 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..............
56240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
56260 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 31 29 0a 2a 20 2d ..................(line.191).*.-
56280 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 20 20 20 20 20 20 20 partial:........................
562a0 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......
562c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
562e0 20 20 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.
56300 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 20 20 20 20 20 20 20 ..8).*.-partition:..............
56320 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 20 20 ..............Partitioning......
56340 20 20 20 28 6c 69 6e 65 20 20 38 30 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 ...(line..80).*.-partition-after
56360 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 72 74 69 74 69 6f 6e -item:.................Partition
56380 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 38 34 29 0a 2a 20 2d 70 61 72 74 69 74 ing.........(line.184).*.-partit
563a0 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 20 20 20 20 20 20 20 ion-after-pred:.................
563c0 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 35 31 29 0a Partitioning.........(line.151).
563e0 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 20 20 20 20 20 20 20 *.-partition-all:...............
56400 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 6c .........Partitioning.........(l
56420 69 6e 65 20 20 39 32 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 ine..92).*.-partition-all-in-ste
56440 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 6f 6e 69 6e 67 2e 20 ps:...............Partitioning..
56460 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 31 35 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 .......(line.115).*.-partition-b
56480 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 20 20 50 61 72 74 69 efore-item:................Parti
564a0 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 37 34 29 0a 2a 20 2d 70 61 tioning.........(line.174).*.-pa
564c0 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 20 20 20 20 20 20 20 rtition-before-pred:............
564e0 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 20 31 ....Partitioning.........(line.1
56500 36 33 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 63).*.-partition-by:............
56520 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 20 20 20 .............Partitioning.......
56540 20 20 28 6c 69 6e 65 20 31 32 37 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 ..(line.127).*.-partition-by-hea
56560 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 74 69 74 69 6f 6e 69 der:..................Partitioni
56580 6e 67 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 ng.........(line.138).*.-partiti
565a0 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 20 20 20 20 20 20 50 on-in-steps:...................P
565c0 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 30 33 29 0a 2a artitioning.........(line.103).*
565e0 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 20 20 20 20 20 20 20 .-permutations:.................
56600 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
56620 6e 65 20 20 35 32 29 0a 2a 20 2d 70 6f 77 65 72 73 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 ne..52).*.-powerset:............
56640 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 2e .................Set.operations.
56660 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 34 29 0a 2a 20 2d 70 72 6f 64 66 6e 3a 20 20 20 20 20 ......(line..44).*.-prodfn:.....
56680 20 20 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 ..........................Functi
566a0 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 20 20 on.combinators..................
566c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
566e0 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 2a 20 2d 70 72 6f 64 ..............(line.258).*.-prod
56700 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 20 20 20 20 20 20 20 uct:............................
56720 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 32 30 31 ..Reductions...........(line.201
56740 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 20 20 20 20 20 20 20 ).*.-reduce:....................
56760 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 20 20 ...........Reductions...........
56780 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 3a 20 20 20 20 20 20 (line..53).*.-reduce-from:......
567a0 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 20 ....................Reductions..
567c0 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 64 75 63 65 2d 72 3a .........(line...8).*.-reduce-r:
567e0 20 20 20 20 20 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 .............................Red
56800 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 37 32 29 0a 2a 20 2d uctions...........(line..72).*.-
56820 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 20 20 20 20 20 20 20 reduce-r-from:..................
56840 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 6e 65 ......Reductions...........(line
56860 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 20 20 20 20 20 20 20 ..26).*.-reductions:............
56880 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 20 20 ...............Reductions.......
568a0 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 6f 6e 73 2d 66 72 6f ....(line.136).*.-reductions-fro
568c0 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 65 64 75 63 74 69 6f m:......................Reductio
568e0 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 20 2d 72 65 64 75 63 ns...........(line.100).*.-reduc
56900 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 20 20 20 20 20 20 20 tions-r:........................
56920 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 35 34 29 .Reductions...........(line.154)
56940 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 20 20 20 20 20 20 20 .*.-reductions-r-from:..........
56960 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 20 20 28 ..........Reductions...........(
56980 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 20 20 20 20 20 20 20 line.118).*.-remove:............
569a0 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 63 ...................Sublist.selec
569c0 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 6f 76 65 2d 61 74 3a tion....(line..26).*.-remove-at:
569e0 20 20 20 20 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 ............................List
56a00 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 34 36 29 0a 2a 20 2d 72 .to.list.........(line.146).*.-r
56a20 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 20 20 20 20 20 20 20 emove-at-indices:...............
56a40 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 65 20 .....List.to.list.........(line.
56a60 31 35 39 29 0a 2a 20 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 159).*.-remove-first:...........
56a80 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.
56aa0 20 20 20 28 6c 69 6e 65 20 20 34 33 29 0a 2a 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 3a 20 20 20 ...(line..43).*.-remove-item:...
56ac0 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 74 20 73 .......................Sublist.s
56ae0 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 20 38 33 29 0a 2a 20 2d 72 65 6d 6f 76 65 election....(line..83).*.-remove
56b00 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 20 20 20 -last:..........................
56b20 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 20 36 34 29 0a Sublist.selection....(line..64).
56b40 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 20 20 20 20 20 20 20 *.-repeat:......................
56b60 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..
56b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
56ba0 20 20 20 20 20 20 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
56bc0 69 6e 65 20 20 31 39 29 0a 2a 20 2d 72 65 70 6c 61 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 ine..19).*.-replace:............
56be0 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 2e 20 ..................List.to.list..
56c00 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 38 29 0a 2a 20 2d 72 65 70 6c 61 63 65 2d 61 74 3a .......(line..68).*.-replace-at:
56c20 20 20 20 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 ...........................List.
56c40 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 32 31 29 0a 2a 20 2d 72 65 to.list.........(line.121).*.-re
56c60 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 20 20 20 20 20 20 20 place-first:....................
56c80 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 65 20 20 ....List.to.list.........(line..
56ca0 38 32 29 0a 2a 20 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 82).*.-replace-last:............
56cc0 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 20 20 .............List.to.list.......
56ce0 20 20 28 6c 69 6e 65 20 20 39 36 29 0a 2a 20 2d 72 6f 74 61 74 65 3a 20 20 20 20 20 20 20 20 20 ..(line..96).*.-rotate:.........
56d00 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 73 74 ......................Other.list
56d20 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 20 20 .operations.....................
56d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
56d60 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 72 6f 74 61 74 65 2d ...........(line...8).*.-rotate-
56d80 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 20 20 20 20 20 20 46 args:..........................F
56da0 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 20 20 unction.combinators.............
56dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
56de0 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 31 32 29 0a 2a 20 ...................(line.112).*.
56e00 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 20 20 20 20 20 20 20 -rpartial:......................
56e20 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.....
56e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
56e60 20 20 20 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
56e80 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 20 20 20 20 20 20 20 ..22).*.-running-product:.......
56ea0 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 20 20 ...............Reductions.......
56ec0 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 2d 73 75 6d 3a 20 20 ....(line.211).*.-running-sum:..
56ee0 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
56f00 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 20 2d 73 61 6d 65 2d ns...........(line.190).*.-same-
56f20 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 20 20 20 20 20 20 20 items?:.........................
56f40 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 31 35 29 .Predicates...........(line.115)
56f60 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 20 20 20 20 20 20 20 .*.-second-item:................
56f80 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.
56fa0 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 ................................
56fc0 20 20 20 20 20 20 20 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 ...............................(
56fe0 6c 69 6e 65 20 32 38 35 29 0a 2a 20 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 3a 20 line.285).*.-select-by-indices:.
57000 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 63 ...................Sublist.selec
57020 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 32 30 38 29 0a 2a 20 2d 73 65 6c 65 63 74 2d 63 6f 6c tion....(line.208).*.-select-col
57040 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 20 20 20 53 75 62 6c umn:........................Subl
57060 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 32 33 38 29 0a 2a 20 2d 73 ist.selection....(line.238).*.-s
57080 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 20 20 20 20 20 20 20 elect-columns:..................
570a0 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 65 20 .....Sublist.selection....(line.
570c0 32 31 39 29 0a 2a 20 2d 73 65 70 61 72 61 74 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 219).*.-separate:...............
570e0 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 20 20 ..............Partitioning......
57100 20 20 20 28 6c 69 6e 65 20 20 36 39 29 0a 2a 20 2d 73 65 74 71 3a 20 20 20 20 20 20 20 20 20 20 ...(line..69).*.-setq:..........
57120 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 2e 20 .......................Binding..
57140 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 2d 73 6c 69 63 65 3a ............(line.270).*.-slice:
57160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
57180 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 30 34 29 0a Sublist.selection....(line.104).
571a0 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 20 20 20 20 20 20 20 *.-snoc:........................
571c0 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..
571e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
57200 20 20 20 20 20 20 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
57220 69 6e 65 20 20 34 33 29 0a 2a 20 2d 73 6f 6d 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ine..43).*.-some:...............
57240 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....
57260 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 2d 2d 3e 3a 20 20 20 .......(line...8).*.-some-->:...
57280 20 20 20 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 ...........................Threa
572a0 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 29 0a 2a 20 2d 73 6f ding.macros.....(line..86).*.-so
572c0 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 20 20 20 20 20 20 20 me->:...........................
572e0 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 20 20 ....Threading.macros.....(line..
57300 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 20 20 20 20 20 20 20 62).*.-some->>:.................
57320 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 63 72 6f 73 2e 20 20 .............Threading.macros...
57340 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 20 20 20 20 20 20 20 ..(line..74).*.-sort:...........
57360 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 73 74 ......................Other.list
57380 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 20 20 .operations.....................
573a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
573c0 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 34 35 29 0a 2a 20 2d 73 70 6c 69 63 65 3a ...........(line.345).*.-splice:
573e0 20 20 20 20 20 20 20 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 ...............................M
57400 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 39 35 29 0a 2a aps.................(line..95).*
57420 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 20 20 20 20 20 20 20 .-splice-list:..................
57440 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 69 ........Maps.................(li
57460 6e 65 20 31 31 35 29 0a 2a 20 2d 73 70 6c 69 74 2d 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 ne.115).*.-split-at:............
57480 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 20 20 .................Partitioning...
574a0 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 2d 6f 6e 3a 20 20 20 ......(line...8).*.-split-on:...
574c0 20 20 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 ..........................Partit
574e0 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 34 29 0a 2a 20 2d 73 70 6c ioning.........(line..34).*.-spl
57500 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 20 20 20 20 20 20 20 it-when:........................
57520 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 20 20 35 ...Partitioning.........(line..5
57540 32 29 0a 2a 20 2d 73 70 6c 69 74 2d 77 69 74 68 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2).*.-split-with:...............
57560 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 20 20 20 20 ............Partitioning........
57580 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 20 20 20 20 20 20 20 .(line..23).*.-sum:.............
575a0 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.
575c0 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 61 62 6c 65 3a 20 20 ..........(line.180).*.-table:..
575e0 20 20 20 20 20 20 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 ..............................Ot
57600 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.............
57620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
57640 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 30 32 29 0a 2a 20 ...................(line.202).*.
57660 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 20 20 20 20 20 20 20 -table-flat:....................
57680 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 20 20 .......Other.list.operations....
576a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
576c0 20 20 20 20 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
576e0 65 20 32 32 31 29 0a 2a 20 2d 74 61 69 6c 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.221).*.-tails:................
57700 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 20 ................Reductions......
57720 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 20 20 20 20 20 20 20 .....(line.232).*.-take:........
57740 20 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 74 .........................Sublist
57760 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 31 32 30 29 0a 2a 20 2d 74 61 6b 65 .selection....(line.120).*.-take
57780 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 20 20 20 -last:..........................
577a0 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 33 33 ..Sublist.selection....(line.133
577c0 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 20 20 20 20 20 20 20 ).*.-take-while:................
577e0 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....
57800 28 6c 69 6e 65 20 31 37 35 29 0a 2a 20 2d 74 68 69 72 64 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 (line.175).*.-third-item:.......
57820 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
57840 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.......................
57860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
57880 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 39 35 29 0a 2a 20 2d 74 72 65 65 2d 6d 61 70 3a .........(line.295).*.-tree-map:
578a0 20 20 20 20 20 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 .............................Tre
578c0 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 32 38 29 0a 2a 20 2d e.operations......(line..28).*.-
578e0 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 20 20 20 20 20 20 20 tree-map-nodes:.................
57900 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 6e 65 ......Tree.operations......(line
57920 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 20 20 20 20 20 20 20 ..39).*.-tree-mapreduce:........
57940 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 2e 20 ...............Tree.operations..
57960 20 20 20 20 28 6c 69 6e 65 20 20 38 34 29 0a 2a 20 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 ....(line..84).*.-tree-mapreduce
57980 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 72 65 65 20 6f 70 65 -from:..................Tree.ope
579a0 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 6e 65 20 31 30 33 29 0a 2a 20 2d 74 72 65 65 2d rations......(line.103).*.-tree-
579c0 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 20 20 20 20 20 20 20 reduce:.........................
579e0 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 35 32 29 .Tree.operations......(line..52)
57a00 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 20 20 20 20 20 20 20 .*.-tree-reduce-from:...........
57a20 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 20 28 ..........Tree.operations......(
57a40 6c 69 6e 65 20 20 36 39 29 0a 2a 20 2d 74 72 65 65 2d 73 65 71 3a 20 20 20 20 20 20 20 20 20 20 line..69).*.-tree-seq:..........
57a60 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 74 69 6f ...................Tree.operatio
57a80 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 6f 6c 64 3a 20 20 20 ns......(line...8).*.-unfold:...
57aa0 20 20 20 20 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 6e 66 6f ............................Unfo
57ac0 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 35 29 0a 2a 20 2d 75 lding............(line..25).*.-u
57ae0 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 20 20 20 20 20 20 20 nion:...........................
57b00 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 65 20 .....Set.operations.......(line.
57b20 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 20 20 20 20 20 20 20 ..8).*.-unzip:..................
57b40 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
57b60 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.............................
57b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
57ba0 20 20 20 28 6c 69 6e 65 20 31 35 38 29 0a 2a 20 2d 75 70 64 61 74 65 2d 61 74 3a 20 20 20 20 20 ...(line.158).*.-update-at:.....
57bc0 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
57be0 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 33 33 29 0a 2a 20 2d 77 68 65 6e 2d 6c ist.........(line.133).*.-when-l
57c00 65 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 20 et:.............................
57c20 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 20 20 39 29 0a Binding..............(line...9).
57c40 2a 20 2d 77 68 65 6e 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 *.-when-let*:...................
57c60 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 20 20 20 20 20 28 6c .........Binding..............(l
57c80 69 6e 65 20 20 32 31 29 0a 2a 20 2d 7a 69 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ine..21).*.-zip:................
57ca0 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
57cc0 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.........................
57ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
57d00 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 30 37 29 0a 2a 20 2d 7a 69 70 2d 66 69 6c 6c 3a 20 20 .......(line.107).*.-zip-fill:..
57d20 20 20 20 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
57d40 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................
57d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
57d80 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 29 0a 2a 20 2d 7a 69 ................(line.150).*.-zi
57da0 70 2d 6c 69 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 p-lists:........................
57dc0 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.......
57de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
57e00 20 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 31 .........................(line.1
57e20 33 31 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 20 20 31).*.-zip-with:................
57e40 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 6f .............Other.list.operatio
57e60 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 20 ns..............................
57e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
57ea0 20 20 28 6c 69 6e 65 20 20 39 31 29 0a 2a 20 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 ..(line..91).*.dash-fontify-mode
57ec0 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 61 74 :.....................Fontificat
57ee0 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 20 ion.of.special.variables........
57f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
57f20 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 20 ........................(line...
57f40 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 3a 20 6).*.dash-register-info-lookup:.
57f60 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 2e 20 ............Info.symbol.lookup..
57f80 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 69 66 .(line...6).*.global-dash-fontif
57fa0 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 74 69 y-mode:..............Fontificati
57fc0 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 20 20 on.of.special.variables.........
57fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
58000 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 31 32 .......................(line..12
58020 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 37 0a 4e ).....Tag.Table:.Node:.Top.747.N
58040 6f 64 65 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 7f 32 34 30 37 0a 4e 6f 64 65 3a 20 55 73 69 ode:.Installation.2407.Node:.Usi
58060 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 7f 33 31 37 34 0a 4e 6f 64 65 3a 20 46 6f 6e 74 69 ng.in.a.package.3174.Node:.Fonti
58080 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 33 35 fication.of.special.variables.35
580a0 32 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 33 31 39 24.Node:.Info.symbol.lookup.4319
580c0 0a 4e 6f 64 65 3a 20 46 75 6e 63 74 69 6f 6e 73 7f 34 39 30 37 0a 4e 6f 64 65 3a 20 4d 61 70 73 .Node:.Functions.4907.Node:.Maps
580e0 7f 36 33 39 36 0a 52 65 66 3a 20 2d 6d 61 70 7f 36 36 39 38 0a 52 65 66 3a 20 2d 6d 61 70 2d 77 .6396.Ref:.-map.6698.Ref:.-map-w
58100 68 65 6e 7f 37 30 37 31 0a 52 65 66 3a 20 2d 6d 61 70 2d 66 69 72 73 74 7f 37 36 34 36 0a 52 65 hen.7071.Ref:.-map-first.7646.Re
58120 66 3a 20 2d 6d 61 70 2d 6c 61 73 74 7f 38 31 32 31 0a 52 65 66 3a 20 2d 6d 61 70 2d 69 6e 64 65 f:.-map-last.8121.Ref:.-map-inde
58140 78 65 64 7f 38 35 39 31 0a 52 65 66 3a 20 2d 61 6e 6e 6f 74 61 74 65 7f 39 32 37 37 0a 52 65 66 xed.8591.Ref:.-annotate.9277.Ref
58160 3a 20 2d 73 70 6c 69 63 65 7f 39 37 36 34 0a 52 65 66 3a 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 :.-splice.9764.Ref:.-splice-list
58180 7f 31 30 35 34 32 0a 52 65 66 3a 20 2d 6d 61 70 63 61 74 7f 31 31 30 30 31 0a 52 65 66 3a 20 2d .10542.Ref:.-mapcat.11001.Ref:.-
581a0 63 6f 70 79 7f 31 31 33 37 34 0a 4e 6f 64 65 3a 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 copy.11374.Node:.Sublist.selecti
581c0 6f 6e 7f 31 31 35 36 32 0a 52 65 66 3a 20 2d 66 69 6c 74 65 72 7f 31 31 37 36 30 0a 52 65 66 3a on.11562.Ref:.-filter.11760.Ref:
581e0 20 2d 72 65 6d 6f 76 65 7f 31 32 33 30 37 0a 52 65 66 3a 20 2d 72 65 6d 6f 76 65 2d 66 69 72 73 .-remove.12307.Ref:.-remove-firs
58200 74 7f 31 32 38 34 35 0a 52 65 66 3a 20 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 7f 31 33 36 38 37 0a t.12845.Ref:.-remove-last.13687.
58220 52 65 66 3a 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 7f 31 34 34 31 32 0a 52 65 66 3a 20 2d 6e 6f Ref:.-remove-item.14412.Ref:.-no
58240 6e 2d 6e 69 6c 7f 31 34 38 31 32 0a 52 65 66 3a 20 2d 73 6c 69 63 65 7f 31 35 30 38 38 0a 52 65 n-nil.14812.Ref:.-slice.15088.Re
58260 66 3a 20 2d 74 61 6b 65 7f 31 35 36 31 37 0a 52 65 66 3a 20 2d 74 61 6b 65 2d 6c 61 73 74 7f 31 f:.-take.15617.Ref:.-take-last.1
58280 36 30 32 34 0a 52 65 66 3a 20 2d 64 72 6f 70 7f 31 36 34 35 35 0a 52 65 66 3a 20 2d 64 72 6f 70 6024.Ref:.-drop.16455.Ref:.-drop
582a0 2d 6c 61 73 74 7f 31 36 38 39 36 0a 52 65 66 3a 20 2d 74 61 6b 65 2d 77 68 69 6c 65 7f 31 37 33 -last.16896.Ref:.-take-while.173
582c0 32 32 0a 52 65 66 3a 20 2d 64 72 6f 70 2d 77 68 69 6c 65 7f 31 37 39 33 37 0a 52 65 66 3a 20 2d 22.Ref:.-drop-while.17937.Ref:.-
582e0 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 7f 31 38 35 35 33 0a 52 65 66 3a 20 2d 73 65 select-by-indices.18553.Ref:.-se
58300 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 7f 31 39 30 36 34 0a 52 65 66 3a 20 2d 73 65 6c 65 63 74 2d lect-columns.19064.Ref:.-select-
58320 63 6f 6c 75 6d 6e 7f 31 39 37 36 37 0a 4e 6f 64 65 3a 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 7f column.19767.Node:.List.to.list.
58340 32 30 32 33 30 0a 52 65 66 3a 20 2d 6b 65 65 70 7f 32 30 34 32 37 0a 52 65 66 3a 20 2d 63 6f 6e 20230.Ref:.-keep.20427.Ref:.-con
58360 63 61 74 7f 32 30 39 39 31 0a 52 65 66 3a 20 2d 66 6c 61 74 74 65 6e 7f 32 31 32 38 35 0a 52 65 cat.20991.Ref:.-flatten.21285.Re
58380 66 3a 20 2d 66 6c 61 74 74 65 6e 2d 6e 7f 32 32 30 34 31 0a 52 65 66 3a 20 2d 72 65 70 6c 61 63 f:.-flatten-n.22041.Ref:.-replac
583a0 65 7f 32 32 34 32 35 0a 52 65 66 3a 20 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 7f 32 32 38 38 e.22425.Ref:.-replace-first.2288
583c0 36 0a 52 65 66 3a 20 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 7f 32 33 33 38 31 0a 52 65 66 3a 20 6.Ref:.-replace-last.23381.Ref:.
583e0 2d 69 6e 73 65 72 74 2d 61 74 7f 32 33 38 36 39 0a 52 65 66 3a 20 2d 72 65 70 6c 61 63 65 2d 61 -insert-at.23869.Ref:.-replace-a
58400 74 7f 32 34 31 39 34 0a 52 65 66 3a 20 2d 75 70 64 61 74 65 2d 61 74 7f 32 34 35 38 31 0a 52 65 t.24194.Ref:.-update-at.24581.Re
58420 66 3a 20 2d 72 65 6d 6f 76 65 2d 61 74 7f 32 35 30 36 39 0a 52 65 66 3a 20 2d 72 65 6d 6f 76 65 f:.-remove-at.25069.Ref:.-remove
58440 2d 61 74 2d 69 6e 64 69 63 65 73 7f 32 35 35 35 34 0a 4e 6f 64 65 3a 20 52 65 64 75 63 74 69 6f -at-indices.25554.Node:.Reductio
58460 6e 73 7f 32 36 31 33 33 0a 52 65 66 3a 20 2d 72 65 64 75 63 65 2d 66 72 6f 6d 7f 32 36 33 33 34 ns.26133.Ref:.-reduce-from.26334
58480 0a 52 65 66 3a 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 7f 32 37 30 35 38 0a 52 65 66 3a 20 .Ref:.-reduce-r-from.27058.Ref:.
584a0 2d 72 65 64 75 63 65 7f 32 38 33 32 31 0a 52 65 66 3a 20 2d 72 65 64 75 63 65 2d 72 7f 32 39 30 -reduce.28321.Ref:.-reduce-r.290
584c0 37 32 0a 52 65 66 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 7f 33 30 33 35 30 0a 52 72.Ref:.-reductions-from.30350.R
584e0 65 66 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 7f 33 31 31 35 36 0a 52 65 66 ef:.-reductions-r-from.31156.Ref
58500 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 7f 33 31 39 38 36 0a 52 65 66 3a 20 2d 72 65 64 75 63 74 :.-reductions.31986.Ref:.-reduct
58520 69 6f 6e 73 2d 72 7f 33 32 36 39 37 0a 52 65 66 3a 20 2d 63 6f 75 6e 74 7f 33 33 34 34 32 0a 52 ions-r.32697.Ref:.-count.33442.R
58540 65 66 3a 20 2d 73 75 6d 7f 33 33 36 36 36 0a 52 65 66 3a 20 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d ef:.-sum.33666.Ref:.-running-sum
58560 7f 33 33 38 35 34 0a 52 65 66 3a 20 2d 70 72 6f 64 75 63 74 7f 33 34 31 37 35 0a 52 65 66 3a 20 .33854.Ref:.-product.34175.Ref:.
58580 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 7f 33 34 33 38 33 0a 52 65 66 3a 20 2d 69 6e 69 -running-product.34383.Ref:.-ini
585a0 74 73 7f 33 34 37 32 34 0a 52 65 66 3a 20 2d 74 61 69 6c 73 7f 33 34 39 36 39 0a 52 65 66 3a 20 ts.34724.Ref:.-tails.34969.Ref:.
585c0 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 7f 33 35 32 31 33 0a 52 65 66 3a 20 2d 63 6f 6d 6d 6f -common-prefix.35213.Ref:.-commo
585e0 6e 2d 73 75 66 66 69 78 7f 33 35 35 30 37 0a 52 65 66 3a 20 2d 6d 69 6e 7f 33 35 38 30 31 0a 52 n-suffix.35507.Ref:.-min.35801.R
58600 65 66 3a 20 2d 6d 69 6e 2d 62 79 7f 33 36 30 32 37 0a 52 65 66 3a 20 2d 6d 61 78 7f 33 36 35 34 ef:.-min-by.36027.Ref:.-max.3654
58620 38 0a 52 65 66 3a 20 2d 6d 61 78 2d 62 79 7f 33 36 37 37 33 0a 4e 6f 64 65 3a 20 55 6e 66 6f 6c 8.Ref:.-max-by.36773.Node:.Unfol
58640 64 69 6e 67 7f 33 37 32 39 39 0a 52 65 66 3a 20 2d 69 74 65 72 61 74 65 7f 33 37 35 34 35 0a 52 ding.37299.Ref:.-iterate.37545.R
58660 65 66 3a 20 2d 75 6e 66 6f 6c 64 7f 33 37 39 39 32 0a 4e 6f 64 65 3a 20 50 72 65 64 69 63 61 74 ef:.-unfold.37992.Node:.Predicat
58680 65 73 7f 33 38 37 39 37 0a 52 65 66 3a 20 2d 73 6f 6d 65 7f 33 38 39 37 39 0a 52 65 66 3a 20 2d es.38797.Ref:.-some.38979.Ref:.-
586a0 65 76 65 72 79 7f 33 39 33 39 36 0a 52 65 66 3a 20 2d 61 6e 79 3f 7f 34 30 30 37 35 0a 52 65 66 every.39396.Ref:.-any?.40075.Ref
586c0 3a 20 2d 61 6c 6c 3f 7f 34 30 34 30 36 0a 52 65 66 3a 20 2d 6e 6f 6e 65 3f 7f 34 31 31 31 33 0a :.-all?.40406.Ref:.-none?.41113.
586e0 52 65 66 3a 20 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 7f 34 31 34 31 35 0a 52 65 66 3a 20 2d 63 6f 6e Ref:.-only-some?.41415.Ref:.-con
58700 74 61 69 6e 73 3f 7f 34 31 39 30 30 0a 52 65 66 3a 20 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 7f 34 tains?.41900.Ref:.-same-items?.4
58720 32 32 38 39 0a 52 65 66 3a 20 2d 69 73 2d 70 72 65 66 69 78 3f 7f 34 32 36 37 34 0a 52 65 66 3a 2289.Ref:.-is-prefix?.42674.Ref:
58740 20 2d 69 73 2d 73 75 66 66 69 78 3f 7f 34 33 30 30 30 0a 52 65 66 3a 20 2d 69 73 2d 69 6e 66 69 .-is-suffix?.43000.Ref:.-is-infi
58760 78 3f 7f 34 33 33 32 36 0a 52 65 66 3a 20 2d 63 6f 6e 73 2d 70 61 69 72 3f 7f 34 33 36 38 30 0a x?.43326.Ref:.-cons-pair?.43680.
58780 4e 6f 64 65 3a 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 7f 34 34 30 30 35 0a 52 65 66 3a 20 2d 73 Node:.Partitioning.44005.Ref:.-s
587a0 70 6c 69 74 2d 61 74 7f 34 34 31 39 38 0a 52 65 66 3a 20 2d 73 70 6c 69 74 2d 77 69 74 68 7f 34 plit-at.44198.Ref:.-split-with.4
587c0 34 38 36 32 0a 52 65 66 3a 20 2d 73 70 6c 69 74 2d 6f 6e 7f 34 35 32 36 32 0a 52 65 66 3a 20 2d 4862.Ref:.-split-on.45262.Ref:.-
587e0 73 70 6c 69 74 2d 77 68 65 6e 7f 34 35 39 33 33 0a 52 65 66 3a 20 2d 73 65 70 61 72 61 74 65 7f split-when.45933.Ref:.-separate.
58800 34 36 35 37 30 0a 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 7f 34 37 30 30 39 0a 52 65 66 3a 46570.Ref:.-partition.47009.Ref:
58820 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 7f 34 37 34 35 38 0a 52 65 66 3a 20 2d 70 61 72 74 .-partition-all.47458.Ref:.-part
58840 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 7f 34 37 38 38 33 0a 52 65 66 3a 20 2d 70 61 72 74 69 ition-in-steps.47883.Ref:.-parti
58860 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 7f 34 38 33 37 37 0a 52 65 66 3a 20 2d 70 61 tion-all-in-steps.48377.Ref:.-pa
58880 72 74 69 74 69 6f 6e 2d 62 79 7f 34 38 38 35 39 0a 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e rtition-by.48859.Ref:.-partition
588a0 2d 62 79 2d 68 65 61 64 65 72 7f 34 39 32 33 37 0a 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e -by-header.49237.Ref:.-partition
588c0 2d 61 66 74 65 72 2d 70 72 65 64 7f 34 39 38 33 38 0a 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f -after-pred.49838.Ref:.-partitio
588e0 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 7f 35 30 32 38 35 0a 52 65 66 3a 20 2d 70 61 72 74 69 74 n-before-pred.50285.Ref:.-partit
58900 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 7f 35 30 36 37 30 0a 52 65 66 3a 20 2d 70 61 72 74 ion-before-item.50670.Ref:.-part
58920 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 7f 35 30 39 37 37 0a 52 65 66 3a 20 2d 67 72 6f ition-after-item.50977.Ref:.-gro
58940 75 70 2d 62 79 7f 35 31 32 37 39 0a 4e 6f 64 65 3a 20 49 6e 64 65 78 69 6e 67 7f 35 31 37 31 32 up-by.51279.Node:.Indexing.51712
58960 0a 52 65 66 3a 20 2d 65 6c 65 6d 2d 69 6e 64 65 78 7f 35 31 39 31 39 0a 52 65 66 3a 20 2d 65 6c .Ref:.-elem-index.51919.Ref:.-el
58980 65 6d 2d 69 6e 64 69 63 65 73 7f 35 32 33 31 34 0a 52 65 66 3a 20 2d 66 69 6e 64 2d 69 6e 64 65 em-indices.52314.Ref:.-find-inde
589a0 78 7f 35 32 36 39 34 0a 52 65 66 3a 20 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 7f 35 33 x.52694.Ref:.-find-last-index.53
589c0 31 38 33 0a 52 65 66 3a 20 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 7f 35 33 36 38 37 0a 52 65 66 183.Ref:.-find-indices.53687.Ref
589e0 3a 20 2d 67 72 61 64 65 2d 75 70 7f 35 34 30 39 32 0a 52 65 66 3a 20 2d 67 72 61 64 65 2d 64 6f :.-grade-up.54092.Ref:.-grade-do
58a00 77 6e 7f 35 34 34 39 39 0a 4e 6f 64 65 3a 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 7f 35 34 wn.54499.Node:.Set.operations.54
58a20 39 31 33 0a 52 65 66 3a 20 2d 75 6e 69 6f 6e 7f 35 35 31 30 31 0a 52 65 66 3a 20 2d 64 69 66 66 913.Ref:.-union.55101.Ref:.-diff
58a40 65 72 65 6e 63 65 7f 35 35 35 33 39 0a 52 65 66 3a 20 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 7f erence.55539.Ref:.-intersection.
58a60 35 35 39 35 31 0a 52 65 66 3a 20 2d 70 6f 77 65 72 73 65 74 7f 35 36 33 38 33 0a 52 65 66 3a 20 55951.Ref:.-powerset.56383.Ref:.
58a80 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 7f 35 36 35 39 33 0a 52 65 66 3a 20 2d 64 69 73 74 69 6e -permutations.56593.Ref:.-distin
58aa0 63 74 7f 35 36 38 38 39 0a 4e 6f 64 65 3a 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 ct.56889.Node:.Other.list.operat
58ac0 69 6f 6e 73 7f 35 37 32 36 33 0a 52 65 66 3a 20 2d 72 6f 74 61 74 65 7f 35 37 34 39 33 0a 52 65 ions.57263.Ref:.-rotate.57493.Re
58ae0 66 3a 20 2d 72 65 70 65 61 74 7f 35 37 38 34 36 0a 52 65 66 3a 20 2d 63 6f 6e 73 2a 7f 35 38 31 f:.-repeat.57846.Ref:.-cons*.581
58b00 32 35 0a 52 65 66 3a 20 2d 73 6e 6f 63 7f 35 38 35 34 31 0a 52 65 66 3a 20 2d 69 6e 74 65 72 70 25.Ref:.-snoc.58541.Ref:.-interp
58b20 6f 73 65 7f 35 38 39 35 31 0a 52 65 66 3a 20 2d 69 6e 74 65 72 6c 65 61 76 65 7f 35 39 32 34 35 ose.58951.Ref:.-interleave.59245
58b40 0a 52 65 66 3a 20 2d 69 6f 74 61 7f 35 39 36 31 31 0a 52 65 66 3a 20 2d 7a 69 70 2d 77 69 74 68 .Ref:.-iota.59611.Ref:.-zip-with
58b60 7f 36 30 30 39 34 0a 52 65 66 3a 20 2d 7a 69 70 7f 36 30 38 30 38 0a 52 65 66 3a 20 2d 7a 69 70 .60094.Ref:.-zip.60808.Ref:.-zip
58b80 2d 6c 69 73 74 73 7f 36 31 36 33 37 0a 52 65 66 3a 20 2d 7a 69 70 2d 66 69 6c 6c 7f 36 32 33 33 -lists.61637.Ref:.-zip-fill.6233
58ba0 35 0a 52 65 66 3a 20 2d 75 6e 7a 69 70 7f 36 32 36 35 37 0a 52 65 66 3a 20 2d 63 79 63 6c 65 7f 5.Ref:.-unzip.62657.Ref:.-cycle.
58bc0 36 33 33 39 39 0a 52 65 66 3a 20 2d 70 61 64 7f 36 33 37 39 38 0a 52 65 66 3a 20 2d 74 61 62 6c 63399.Ref:.-pad.63798.Ref:.-tabl
58be0 65 7f 36 34 31 31 37 0a 52 65 66 3a 20 2d 74 61 62 6c 65 2d 66 6c 61 74 7f 36 34 39 30 33 0a 52 e.64117.Ref:.-table-flat.64903.R
58c00 65 66 3a 20 2d 66 69 72 73 74 7f 36 35 39 30 38 0a 52 65 66 3a 20 2d 6c 61 73 74 7f 36 36 33 39 ef:.-first.65908.Ref:.-last.6639
58c20 34 0a 52 65 66 3a 20 2d 66 69 72 73 74 2d 69 74 65 6d 7f 36 36 37 32 38 0a 52 65 66 3a 20 2d 73 4.Ref:.-first-item.66728.Ref:.-s
58c40 65 63 6f 6e 64 2d 69 74 65 6d 7f 36 37 31 32 37 0a 52 65 66 3a 20 2d 74 68 69 72 64 2d 69 74 65 econd-item.67127.Ref:.-third-ite
58c60 6d 7f 36 37 33 39 31 0a 52 65 66 3a 20 2d 66 6f 75 72 74 68 2d 69 74 65 6d 7f 36 37 36 35 33 0a m.67391.Ref:.-fourth-item.67653.
58c80 52 65 66 3a 20 2d 66 69 66 74 68 2d 69 74 65 6d 7f 36 37 39 31 39 0a 52 65 66 3a 20 2d 6c 61 73 Ref:.-fifth-item.67919.Ref:.-las
58ca0 74 2d 69 74 65 6d 7f 36 38 31 38 31 0a 52 65 66 3a 20 2d 62 75 74 6c 61 73 74 7f 36 38 34 37 32 t-item.68181.Ref:.-butlast.68472
58cc0 0a 52 65 66 3a 20 2d 73 6f 72 74 7f 36 38 37 31 37 0a 52 65 66 3a 20 2d 6c 69 73 74 7f 36 39 32 .Ref:.-sort.68717.Ref:.-list.692
58ce0 30 33 0a 52 65 66 3a 20 2d 66 69 78 7f 36 39 37 37 32 0a 4e 6f 64 65 3a 20 54 72 65 65 20 6f 70 03.Ref:.-fix.69772.Node:.Tree.op
58d00 65 72 61 74 69 6f 6e 73 7f 37 30 32 36 31 0a 52 65 66 3a 20 2d 74 72 65 65 2d 73 65 71 7f 37 30 erations.70261.Ref:.-tree-seq.70
58d20 34 36 32 0a 52 65 66 3a 20 2d 74 72 65 65 2d 6d 61 70 7f 37 31 33 31 37 0a 52 65 66 3a 20 2d 74 462.Ref:.-tree-map.71317.Ref:.-t
58d40 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 7f 37 31 37 35 37 0a 52 65 66 3a 20 2d 74 72 65 65 2d 72 ree-map-nodes.71757.Ref:.-tree-r
58d60 65 64 75 63 65 7f 37 32 36 30 34 0a 52 65 66 3a 20 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 educe.72604.Ref:.-tree-reduce-fr
58d80 6f 6d 7f 37 33 34 38 36 0a 52 65 66 3a 20 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 7f 37 34 om.73486.Ref:.-tree-mapreduce.74
58da0 30 38 36 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 7f 37 34 086.Ref:.-tree-mapreduce-from.74
58dc0 39 34 35 0a 52 65 66 3a 20 2d 63 6c 6f 6e 65 7f 37 36 32 33 30 0a 4e 6f 64 65 3a 20 54 68 72 65 945.Ref:.-clone.76230.Node:.Thre
58de0 61 64 69 6e 67 20 6d 61 63 72 6f 73 7f 37 36 35 35 37 0a 52 65 66 3a 20 2d 3e 7f 37 36 37 38 37 ading.macros.76557.Ref:.->.76787
58e00 0a 52 65 66 3a 20 2d 3e 3e 7f 37 37 32 37 35 0a 52 65 66 3a 20 2d 2d 3e 7f 37 37 37 37 38 0a 52 .Ref:.->>.77275.Ref:.-->.77778.R
58e20 65 66 3a 20 2d 61 73 2d 3e 7f 37 38 33 33 34 0a 52 65 66 3a 20 2d 73 6f 6d 65 2d 3e 7f 37 38 37 ef:.-as->.78334.Ref:.-some->.787
58e40 38 38 0a 52 65 66 3a 20 2d 73 6f 6d 65 2d 3e 3e 7f 37 39 31 36 31 0a 52 65 66 3a 20 2d 73 6f 6d 88.Ref:.-some->>.79161.Ref:.-som
58e60 65 2d 2d 3e 7f 37 39 35 39 36 0a 52 65 66 3a 20 2d 64 6f 74 6f 7f 38 30 31 34 35 0a 4e 6f 64 65 e-->.79596.Ref:.-doto.80145.Node
58e80 3a 20 42 69 6e 64 69 6e 67 7f 38 30 36 39 38 0a 52 65 66 3a 20 2d 77 68 65 6e 2d 6c 65 74 7f 38 :.Binding.80698.Ref:.-when-let.8
58ea0 30 39 31 30 0a 52 65 66 3a 20 2d 77 68 65 6e 2d 6c 65 74 2a 7f 38 31 33 36 35 0a 52 65 66 3a 20 0910.Ref:.-when-let*.81365.Ref:.
58ec0 2d 69 66 2d 6c 65 74 7f 38 31 38 38 38 0a 52 65 66 3a 20 2d 69 66 2d 6c 65 74 2a 7f 38 32 32 34 -if-let.81888.Ref:.-if-let*.8224
58ee0 38 0a 52 65 66 3a 20 2d 6c 65 74 7f 38 32 38 36 35 0a 52 65 66 3a 20 2d 6c 65 74 2a 7f 38 38 39 8.Ref:.-let.82865.Ref:.-let*.889
58f00 33 37 0a 52 65 66 3a 20 2d 6c 61 6d 62 64 61 7f 38 39 38 37 34 0a 52 65 66 3a 20 2d 73 65 74 71 37.Ref:.-lambda.89874.Ref:.-setq
58f20 7f 39 30 36 38 30 0a 4e 6f 64 65 3a 20 53 69 64 65 20 65 66 66 65 63 74 73 7f 39 31 34 38 31 0a .90680.Node:.Side.effects.91481.
58f40 52 65 66 3a 20 2d 65 61 63 68 7f 39 31 36 38 30 0a 52 65 66 3a 20 2d 65 61 63 68 2d 77 68 69 6c Ref:.-each.91680.Ref:.-each-whil
58f60 65 7f 39 32 32 30 31 0a 52 65 66 3a 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 7f 39 32 38 30 33 e.92201.Ref:.-each-indexed.92803
58f80 0a 52 65 66 3a 20 2d 65 61 63 68 2d 72 7f 39 33 33 38 39 0a 52 65 66 3a 20 2d 65 61 63 68 2d 72 .Ref:.-each-r.93389.Ref:.-each-r
58fa0 2d 77 68 69 6c 65 7f 39 33 38 32 35 0a 52 65 66 3a 20 2d 64 6f 74 69 6d 65 73 7f 39 34 34 35 31 -while.93825.Ref:.-dotimes.94451
58fc0 0a 4e 6f 64 65 3a 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 7f 39 35 .Node:.Destructive.operations.95
58fe0 30 30 34 0a 52 65 66 3a 20 21 63 6f 6e 73 7f 39 35 32 32 37 0a 52 65 66 3a 20 21 63 64 72 7f 39 004.Ref:.!cons.95227.Ref:.!cdr.9
59000 35 34 33 31 0a 4e 6f 64 65 3a 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 7f 5431.Node:.Function.combinators.
59020 39 35 36 32 34 0a 52 65 66 3a 20 2d 70 61 72 74 69 61 6c 7f 39 35 38 33 33 0a 52 65 66 3a 20 2d 95624.Ref:.-partial.95833.Ref:.-
59040 72 70 61 72 74 69 61 6c 7f 39 36 33 35 31 0a 52 65 66 3a 20 2d 6a 75 78 74 7f 39 36 39 39 39 0a rpartial.96351.Ref:.-juxt.96999.
59060 52 65 66 3a 20 2d 63 6f 6d 70 6f 73 65 7f 39 37 34 35 31 0a 52 65 66 3a 20 2d 61 70 70 6c 69 66 Ref:.-compose.97451.Ref:.-applif
59080 79 7f 39 38 30 35 38 0a 52 65 66 3a 20 2d 6f 6e 7f 39 38 34 38 38 0a 52 65 66 3a 20 2d 66 6c 69 y.98058.Ref:.-on.98488.Ref:.-fli
590a0 70 7f 39 39 32 36 30 0a 52 65 66 3a 20 2d 72 6f 74 61 74 65 2d 61 72 67 73 7f 39 39 37 38 34 0a p.99260.Ref:.-rotate-args.99784.
590c0 52 65 66 3a 20 2d 63 6f 6e 73 74 7f 31 30 30 34 31 33 0a 52 65 66 3a 20 2d 63 75 74 7f 31 30 30 Ref:.-const.100413.Ref:.-cut.100
590e0 37 35 35 0a 52 65 66 3a 20 2d 6e 6f 74 7f 31 30 31 32 33 35 0a 52 65 66 3a 20 2d 6f 72 66 6e 7f 755.Ref:.-not.101235.Ref:.-orfn.
59100 31 30 31 37 36 31 0a 52 65 66 3a 20 2d 61 6e 64 66 6e 7f 31 30 32 35 32 33 0a 52 65 66 3a 20 2d 101761.Ref:.-andfn.102523.Ref:.-
59120 69 74 65 72 61 74 65 66 6e 7f 31 30 33 32 37 39 0a 52 65 66 3a 20 2d 66 69 78 66 6e 7f 31 30 33 iteratefn.103279.Ref:.-fixfn.103
59140 39 38 31 0a 52 65 66 3a 20 2d 70 72 6f 64 66 6e 7f 31 30 35 35 33 37 0a 4e 6f 64 65 3a 20 44 65 981.Ref:.-prodfn.105537.Node:.De
59160 76 65 6c 6f 70 6d 65 6e 74 7f 31 30 36 35 39 35 0a 4e 6f 64 65 3a 20 43 6f 6e 74 72 69 62 75 74 velopment.106595.Node:.Contribut
59180 65 7f 31 30 36 38 38 39 0a 4e 6f 64 65 3a 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 7f 31 30 37 39 e.106889.Node:.Contributors.1079
591a0 30 36 0a 4e 6f 64 65 3a 20 46 44 4c 7f 31 31 30 30 30 34 0a 4e 6f 64 65 3a 20 47 50 4c 7f 31 33 06.Node:.FDL.110004.Node:.GPL.13
591c0 35 33 32 39 0a 4e 6f 64 65 3a 20 49 6e 64 65 78 7f 31 37 33 30 38 33 0a 1f 0a 45 6e 64 20 54 61 5329.Node:.Index.173083...End.Ta
591e0 67 20 54 61 62 6c 65 0a 0a 1f 0a 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a 63 6f 64 69 g.Table....Local.Variables:.codi
59200 6e 67 3a 20 75 74 66 2d 38 0a 45 6e 64 3a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ng:.utf-8.End:..................
59220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
592a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
592c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
592e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
593a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
593c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
593e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59400 64 61 73 68 2d 32 2e 31 39 2e 31 2f 4e 45 57 53 2e 6d 64 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/NEWS.md.............
59420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59460 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
59480 30 30 32 33 37 32 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 32 37 32 00 20 30 00 00 00 0023726.00000000000.012272..0...
594a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
594c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
594e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59500 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...................
59520 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...................
59540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
595a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
595c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
595e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59600 23 20 44 61 73 68 20 4e 45 57 53 20 2d 2d 20 68 69 73 74 6f 72 79 20 6f 66 20 75 73 65 72 2d 76 #.Dash.NEWS.--.history.of.user-v
59620 69 73 69 62 6c 65 20 63 68 61 6e 67 65 73 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 isible.changes..Copyright.(C).20
59640 31 32 2d 32 30 32 31 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-2021.Free.Software.Foundation
59660 2c 20 49 6e 63 2e 0a 0a 53 65 65 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 66 69 6c 65 20 ,.Inc...See.the.end.of.the.file.
59680 66 6f 72 20 6c 69 63 65 6e 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a 0a 23 23 20 43 68 61 6e for.license.conditions...##.Chan
596a0 67 65 20 6c 6f 67 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 31 39 2e 30 20 74 6f 20 32 2e 31 39 2e ge.log..###.From.2.19.0.to.2.19.
596c0 31 0a 0a 23 23 23 23 20 46 69 78 65 73 0a 0a 2d 20 46 69 78 65 64 20 61 20 72 65 67 72 65 73 73 1..####.Fixes..-.Fixed.a.regress
596e0 69 6f 6e 20 66 72 6f 6d 20 60 32 2e 31 38 60 20 69 6e 20 60 2d 69 73 2d 73 75 66 66 69 78 2d 70 ion.from.`2.18`.in.`-is-suffix-p
59700 60 20 77 68 69 63 68 20 6c 65 64 20 74 6f 20 66 61 6c 73 65 0a 20 20 6e 65 67 61 74 69 76 65 73 `.which.led.to.false...negatives
59720 20 77 68 65 6e 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 73 75 66 66 69 78 20 61 70 70 65 61 72 .when.parts.of.the.suffix.appear
59740 65 64 20 6d 75 6c 74 69 70 6c 65 20 74 69 6d 65 73 20 69 6e 20 74 68 65 0a 20 20 6c 69 73 74 20 ed.multiple.times.in.the...list.
59760 62 65 69 6e 67 20 73 65 61 72 63 68 65 64 20 28 42 65 6e 6e 65 74 74 20 52 65 6e 6e 69 65 72 2c being.searched.(Bennett.Rennier,
59780 20 23 33 38 34 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 31 38 2e 31 20 74 6f 20 32 2e 31 39 .#384)...###.From.2.18.1.to.2.19
597a0 2e 30 0a 0a 23 23 23 23 20 46 69 78 65 73 0a 0a 2d 20 52 65 76 65 72 74 65 64 20 61 20 62 72 65 .0..####.Fixes..-.Reverted.a.bre
597c0 61 6b 69 6e 67 20 63 68 61 6e 67 65 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 60 32 2e 31 38 aking.change.introduced.in.`2.18
597e0 2e 30 60 20 74 68 61 74 20 63 61 75 73 65 64 20 74 68 65 0a 20 20 74 68 72 65 61 64 69 6e 67 20 .0`.that.caused.the...threading.
59800 6d 61 63 72 6f 20 60 2d 2d 3e 60 20 74 6f 20 62 65 20 69 6e 64 65 6e 74 65 64 20 64 69 66 66 65 macro.`-->`.to.be.indented.diffe
59820 72 65 6e 74 6c 79 20 66 72 6f 6d 20 60 2d 3e 60 20 61 6e 64 20 60 2d 3e 3e 60 0a 20 20 28 23 33 rently.from.`->`.and.`->>`...(#3
59840 37 35 29 2e 0a 2d 20 41 64 64 65 64 20 61 6e 64 20 66 69 78 65 64 20 45 64 65 62 75 67 20 73 70 75)..-.Added.and.fixed.Edebug.sp
59860 65 63 69 66 69 63 61 74 69 6f 6e 73 20 66 6f 72 20 6d 61 6e 79 20 44 61 73 68 20 6d 61 63 72 6f ecifications.for.many.Dash.macro
59880 73 20 28 50 68 69 6c 69 70 70 0a 20 20 53 74 65 70 68 61 6e 69 2c 20 23 33 38 30 2c 20 23 33 38 s.(Philipp...Stephani,.#380,.#38
598a0 31 29 2e 0a 0a 23 23 23 23 20 4e 65 77 20 66 65 61 74 75 72 65 73 0a 0a 2d 20 54 68 65 20 63 6f 1)...####.New.features..-.The.co
598c0 6d 62 69 6e 61 74 6f 72 73 20 60 2d 6f 6e 60 2c 20 60 2d 66 6c 69 70 60 2c 20 60 2d 6e 6f 74 60 mbinators.`-on`,.`-flip`,.`-not`
598e0 2c 20 60 2d 61 6e 64 66 6e 60 2c 20 61 6e 64 20 60 2d 6f 72 66 6e 60 20 6e 6f 77 0a 20 20 72 65 ,.`-andfn`,.and.`-orfn`.now...re
59900 74 75 72 6e 20 76 61 72 69 61 64 69 63 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 74 61 6b turn.variadic.functions.that.tak
59920 65 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 28 23 33 30 38 29 e.any.number.of.arguments.(#308)
59940 2e 0a 2d 20 4e 65 77 20 63 6f 6d 62 69 6e 61 74 6f 72 20 60 2d 72 6f 74 61 74 65 2d 61 72 67 73 ..-.New.combinator.`-rotate-args
59960 60 20 73 69 6d 69 6c 61 72 20 74 6f 20 60 2d 66 6c 69 70 60 2c 20 62 75 74 20 66 6f 72 20 61 72 `.similar.to.`-flip`,.but.for.ar
59980 62 69 74 72 61 72 79 0a 20 20 61 72 67 6c 69 73 74 20 72 6f 74 61 74 69 6f 6e 73 20 28 73 75 67 bitrary...arglist.rotations.(sug
599a0 67 65 73 74 65 64 20 62 79 20 40 76 61 70 6e 69 6b 73 2c 20 23 37 32 29 2e 0a 2d 20 4e 65 77 20 gested.by.@vapniks,.#72)..-.New.
599c0 66 75 6e 63 74 69 6f 6e 20 60 2d 65 76 65 72 79 60 20 61 6e 64 20 69 74 73 20 61 6e 61 70 68 6f function.`-every`.and.its.anapho
599e0 72 69 63 20 6d 61 63 72 6f 20 63 6f 75 6e 74 65 72 70 61 72 74 20 60 2d 2d 65 76 65 72 79 60 2e ric.macro.counterpart.`--every`.
59a00 0a 20 20 54 68 65 79 20 61 72 65 20 6c 69 6b 65 20 74 68 65 20 65 78 69 73 74 69 6e 67 20 60 2d ...They.are.like.the.existing.`-
59a20 65 76 65 72 79 2d 70 60 20 61 6e 64 20 60 2d 2d 65 76 65 72 79 2d 70 60 2c 20 72 65 73 70 65 63 every-p`.and.`--every-p`,.respec
59a40 74 69 76 65 6c 79 2c 0a 20 20 62 75 74 20 72 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 6e 6f tively,...but.return.the.last.no
59a60 6e 2d 60 6e 69 6c 60 20 72 65 73 75 6c 74 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 60 n-`nil`.result.instead.of.just.`
59a80 74 60 2e 0a 2d 20 4e 65 77 20 6d 61 63 72 6f 20 60 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 t`..-.New.macro.`--partition-aft
59aa0 65 72 2d 70 72 65 64 60 20 77 68 69 63 68 20 61 66 66 6f 72 64 73 0a 20 20 60 2d 70 61 72 74 69 er-pred`.which.affords...`-parti
59ac0 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 60 20 62 65 74 74 65 72 20 70 65 72 66 6f 72 6d 61 tion-after-pred`.better.performa
59ae0 6e 63 65 20 28 50 65 72 20 57 65 69 6a 6e 69 74 7a 2c 20 23 33 36 32 29 2e 0a 0a 23 23 23 20 46 nce.(Per.Weijnitz,.#362)...###.F
59b00 72 6f 6d 20 32 2e 31 38 2e 30 20 74 6f 20 32 2e 31 38 2e 31 0a 0a 2d 20 46 69 78 65 64 20 61 20 rom.2.18.0.to.2.18.1..-.Fixed.a.
59b20 72 65 67 72 65 73 73 69 6f 6e 20 66 72 6f 6d 20 60 32 2e 31 37 60 20 61 73 20 77 65 6c 6c 20 61 regression.from.`2.17`.as.well.a
59b40 73 20 61 20 6c 6f 6e 67 2d 73 74 61 6e 64 69 6e 67 20 62 75 67 20 69 6e 0a 20 20 60 2d 2d 69 74 s.a.long-standing.bug.in...`--it
59b60 65 72 61 74 65 60 2c 20 77 68 69 63 68 20 65 76 61 6c 75 61 74 65 64 20 69 74 73 20 61 72 67 75 erate`,.which.evaluated.its.argu
59b80 6d 65 6e 74 73 20 6f 6e 65 20 74 6f 6f 20 6d 61 6e 79 20 74 69 6d 65 73 2e 20 20 54 68 69 73 0a ments.one.too.many.times...This.
59ba0 20 20 69 6e 20 74 75 72 6e 20 63 6f 75 6c 64 20 6c 65 61 64 20 74 6f 20 65 72 72 6f 72 73 20 69 ..in.turn.could.lead.to.errors.i
59bc0 6e 20 60 2d 66 6c 61 74 74 65 6e 2d 6e 60 20 77 68 65 6e 20 69 74 20 74 72 69 65 64 0a 20 20 66 n.`-flatten-n`.when.it.tried...f
59be0 6c 61 74 74 65 6e 69 6e 67 20 63 65 72 74 61 69 6e 20 73 74 72 75 63 74 75 72 65 73 20 74 6f 6f lattening.certain.structures.too
59c00 20 66 61 72 20 28 23 33 37 33 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 31 37 20 74 6f 20 32 .far.(#373)...###.From.2.17.to.2
59c20 2e 31 38 0a 0a 54 68 69 73 20 72 65 6c 65 61 73 65 20 61 62 73 6f 72 62 73 20 74 68 65 20 6e 6f .18..This.release.absorbs.the.no
59c40 77 20 6f 62 73 6f 6c 65 74 65 20 60 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 60 20 76 65 72 w.obsolete.`dash-functional`.ver
59c60 73 69 6f 6e 0a 60 31 2e 33 2e 30 60 20 69 6e 74 6f 20 60 64 61 73 68 60 2c 20 61 6e 64 20 62 72 sion.`1.3.0`.into.`dash`,.and.br
59c80 69 6e 67 73 20 74 68 65 20 76 65 72 79 20 6f 6c 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 64 61 ings.the.very.old.version.of.`da
59ca0 73 68 60 20 6f 6e 20 47 4e 55 0a 45 4c 50 41 20 75 70 20 74 6f 20 64 61 74 65 2e 0a 0a 50 61 63 sh`.on.GNU.ELPA.up.to.date...Pac
59cc0 6b 61 67 65 20 6d 61 69 6e 74 61 69 6e 65 72 73 20 73 68 6f 75 6c 64 20 72 65 70 6c 61 63 65 20 kage.maintainers.should.replace.
59ce0 61 6c 6c 20 75 73 65 73 20 6f 66 20 60 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 60 2c 0a 77 all.uses.of.`dash-functional`,.w
59d00 68 69 63 68 20 77 69 6c 6c 20 65 76 65 6e 74 75 61 6c 6c 79 20 62 65 20 64 65 6c 65 74 65 64 2c hich.will.eventually.be.deleted,
59d20 20 77 69 74 68 20 60 64 61 73 68 60 20 76 65 72 73 69 6f 6e 20 60 32 2e 31 38 2e 30 60 2e 20 20 .with.`dash`.version.`2.18.0`...
59d40 46 6f 72 0a 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 2c 20 73 65 For.more.information.on.this,.se
59d60 65 3a 0a 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 61 e:.https://github.com/magnars/da
59d80 73 68 2e 65 6c 2f 77 69 6b 69 2f 4f 62 73 6f 6c 65 74 69 6f 6e 2d 6f 66 2d 64 61 73 68 2d 66 75 sh.el/wiki/Obsoletion-of-dash-fu
59da0 6e 63 74 69 6f 6e 61 6c 2e 65 6c 0a 0a 2d 20 4e 65 77 20 66 75 6e 63 74 69 6f 6e 20 60 2d 69 6f nctional.el..-.New.function.`-io
59dc0 74 61 60 20 66 6f 72 20 67 65 6e 65 72 61 74 69 6e 67 20 61 72 69 74 68 6d 65 74 69 63 20 73 65 ta`.for.generating.arithmetic.se
59de0 71 75 65 6e 63 65 73 0a 20 20 28 40 68 6f 6c 6f 6d 6f 72 70 68 2c 20 23 32 31 35 29 2e 0a 0a 2d quences...(@holomorph,.#215)...-
59e00 20 43 61 6c 6c 69 6e 67 20 60 2d 6c 69 73 74 60 20 77 69 74 68 20 6d 6f 72 65 20 74 68 61 6e 20 .Calling.`-list`.with.more.than.
59e20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 77 20 64 65 70 72 65 63 61 74 65 64 2e 0a one.argument.is.now.deprecated..
59e40 0a 2d 20 60 2d 6c 61 6d 62 64 61 60 20 6e 6f 77 20 61 63 63 65 70 74 73 20 61 6e 20 65 6d 70 74 .-.`-lambda`.now.accepts.an.empt
59e60 79 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 2e 0a 0a 2d 20 4e 65 77 20 61 6e 61 70 68 6f 72 69 y.argument.list...-.New.anaphori
59e80 63 20 6d 61 63 72 6f 73 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 60 2c 20 60 2d c.macros.`--reductions-from`,.`-
59ea0 2d 72 65 64 75 63 74 69 6f 6e 73 60 2c 0a 20 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d -reductions`,...`--reductions-r-
59ec0 66 72 6f 6d 60 2c 20 61 6e 64 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 60 20 63 6f 72 72 from`,.and.`--reductions-r`.corr
59ee0 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 0a 20 20 61 6e 61 6c 6f 67 6f 75 73 20 6e 6f 6e esponding.to.the...analogous.non
59f00 2d 61 6e 61 70 68 6f 72 69 63 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 2d 20 60 2d 64 6f 74 6f 60 -anaphoric.functions...-.`-doto`
59f20 20 74 68 72 65 61 64 69 6e 67 20 6e 6f 77 20 77 6f 72 6b 73 20 61 73 20 77 69 74 68 20 60 2d 3e .threading.now.works.as.with.`->
59f40 60 2e 0a 0a 2d 20 4e 65 77 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 6d 69 6e 6f 72 20 6d 6f 64 `...-.New.buffer-local.minor.mod
59f60 65 20 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 60 20 61 6e 64 20 67 6c 6f 62 61 6c e.`dash-fontify-mode`.and.global
59f80 69 7a 65 64 0a 20 20 63 6f 75 6e 74 65 72 70 61 72 74 20 60 67 6c 6f 62 61 6c 2d 64 61 73 68 2d ized...counterpart.`global-dash-
59fa0 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 60 20 66 6f 72 20 66 6f 6e 74 69 66 79 69 6e 67 20 73 70 65 fontify-mode`.for.fontifying.spe
59fc0 63 69 61 6c 20 44 61 73 68 0a 20 20 76 61 72 69 61 62 6c 65 73 20 73 75 63 68 20 61 73 20 60 69 cial.Dash...variables.such.as.`i
59fe0 74 60 2c 20 60 69 74 2d 69 6e 64 65 78 60 2c 20 60 61 63 63 60 2c 20 65 74 63 2e 20 20 54 68 65 t`,.`it-index`,.`acc`,.etc...The
5a000 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 61 6c 73 6f 0a 20 20 66 6f 6e 74 69 66 69 65 73 20 63 61 6c .minor.mode.also...fontifies.cal
5a020 6c 73 20 74 6f 20 44 61 73 68 20 6d 61 63 72 6f 73 20 69 6e 20 6f 6c 64 65 72 20 45 6d 61 63 73 ls.to.Dash.macros.in.older.Emacs
5a040 20 76 65 72 73 69 6f 6e 73 20 77 68 69 63 68 20 64 69 64 20 6e 6f 74 0a 20 20 64 79 6e 61 6d 69 .versions.which.did.not...dynami
5a060 63 61 6c 6c 79 20 64 65 74 65 63 74 20 6d 61 63 72 6f 20 63 61 6c 6c 73 2e 0a 0a 20 20 54 68 69 cally.detect.macro.calls.....Thi
5a080 73 20 6f 62 73 6f 6c 65 74 65 73 20 74 68 65 20 75 73 65 72 20 6f 70 74 69 6f 6e 20 60 64 61 73 s.obsoletes.the.user.option.`das
5a0a0 68 2d 65 6e 61 62 6c 65 2d 66 6f 6e 74 6c 6f 63 6b 60 20 61 6e 64 20 74 68 65 0a 20 20 66 75 6e h-enable-fontlock`.and.the...fun
5a0c0 63 74 69 6f 6e 20 60 64 61 73 68 2d 65 6e 61 62 6c 65 2d 66 6f 6e 74 2d 6c 6f 63 6b 60 2c 20 77 ction.`dash-enable-font-lock`,.w
5a0e0 68 69 63 68 20 69 73 20 6e 6f 77 20 61 6e 20 61 6c 69 61 73 20 6f 66 0a 20 20 60 67 6c 6f 62 61 hich.is.now.an.alias.of...`globa
5a100 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 60 2e 0a 0a 2d 20 4e 65 77 20 63 6f 6d l-dash-fontify-mode`...-.New.com
5a120 6d 61 6e 64 20 60 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 60 mand.`dash-register-info-lookup`
5a140 20 66 6f 72 20 69 6e 74 65 67 72 61 74 69 6f 6e 20 77 69 74 68 20 60 43 2d 68 20 53 60 0a 20 20 .for.integration.with.`C-h.S`...
5a160 28 60 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 73 79 6d 62 6f 6c 60 29 2e 20 20 54 68 69 73 20 63 6f (`info-lookup-symbol`)...This.co
5a180 6d 6d 61 6e 64 20 61 6c 6c 6f 77 73 20 44 61 73 68 20 73 79 6d 62 6f 6c 73 20 74 6f 20 62 65 0a mmand.allows.Dash.symbols.to.be.
5a1a0 20 20 6c 6f 6f 6b 65 64 20 75 70 20 69 6e 20 74 68 65 20 44 61 73 68 20 6d 61 6e 75 61 6c 20 6a ..looked.up.in.the.Dash.manual.j
5a1c0 75 73 74 20 6c 69 6b 65 20 45 6c 69 73 70 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 6c 6f 6f 6b 65 ust.like.Elisp.symbols.are.looke
5a1e0 64 20 75 70 0a 20 20 69 6e 20 74 68 65 20 45 6c 69 73 70 20 6d 61 6e 75 61 6c 2e 20 20 54 68 65 d.up...in.the.Elisp.manual...The
5a200 20 63 6f 6d 6d 61 6e 64 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 64 69 72 65 63 74 6c 79 20 .command.can.be.called.directly.
5a220 77 68 65 6e 0a 20 20 6e 65 65 64 65 64 2c 20 6f 72 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 when...needed,.or.automatically.
5a240 66 72 6f 6d 20 79 6f 75 72 20 60 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 60 2e 20 20 46 6f 72 from.your.`user-init-file`...For
5a260 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 60 60 60 65 6c 0a 20 20 28 77 69 74 68 2d 65 76 61 6c 2d .example:....```el...(with-eval-
5a280 61 66 74 65 72 2d 6c 6f 61 64 20 27 69 6e 66 6f 2d 6c 6f 6f 6b 0a 20 20 20 20 28 64 61 73 68 2d after-load.'info-look.....(dash-
5a2a0 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 29 29 0a 20 20 60 60 60 0a 0a 2d 20 register-info-lookup))...```..-.
5a2c0 44 61 73 68 20 69 73 20 6e 6f 77 20 6c 69 73 74 65 64 20 75 6e 64 65 72 20 74 68 65 20 73 74 61 Dash.is.now.listed.under.the.sta
5a2e0 6e 64 61 72 64 20 5b 43 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 0a 20 20 67 72 6f 75 70 73 5d 28 68 ndard.[Customization...groups](h
5a300 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 ttps://gnu.org/software/emacs/ma
5a320 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6d 61 63 73 2f 43 75 73 74 6f 6d 69 7a 61 74 69 nual/html_node/emacs/Customizati
5a340 6f 6e 2d 47 72 6f 75 70 73 2e 68 74 6d 6c 29 0a 20 20 61 6e 64 20 5b 46 69 6e 64 65 72 0a 20 20 on-Groups.html)...and.[Finder...
5a360 6b 65 79 77 6f 72 64 73 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 keywords](https://gnu.org/softwa
5a380 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6d 61 63 73 2f re/emacs/manual/html_node/emacs/
5a3a0 50 61 63 6b 61 67 65 2d 4b 65 79 77 6f 72 64 73 2e 68 74 6d 6c 29 0a 20 20 60 65 78 74 65 6e 73 Package-Keywords.html)...`extens
5a3c0 69 6f 6e 73 60 20 61 6e 64 20 60 6c 69 73 70 60 2e 0a 0a 2d 20 54 68 65 20 44 61 73 68 20 6d 61 ions`.and.`lisp`...-.The.Dash.ma
5a3e0 6e 75 61 6c 20 69 73 20 6e 6f 77 20 6c 69 63 65 6e 73 65 64 20 75 6e 64 65 72 20 74 68 65 20 47 nual.is.now.licensed.under.the.G
5a400 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 0a 20 20 4c 69 63 65 6e 73 65 20 NU.Free.Documentation...License.
5a420 76 65 72 73 69 6f 6e 20 31 2e 33 2e 0a 0a 2d 20 56 61 72 69 6f 75 73 20 6f 74 68 65 72 20 62 75 version.1.3...-.Various.other.bu
5a440 67 20 66 69 78 2c 20 70 65 72 66 6f 72 6d 61 6e 63 65 2c 20 62 79 74 65 2d 63 6f 6d 70 69 6c 61 g.fix,.performance,.byte-compila
5a460 74 69 6f 6e 2c 20 61 6e 64 0a 20 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 69 6d 70 72 6f 76 tion,.and...documentation.improv
5a480 65 6d 65 6e 74 73 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 31 36 20 74 6f 20 32 2e 31 37 0a 0a ements...###.From.2.16.to.2.17..
5a4a0 2d 20 53 70 65 64 20 75 70 20 60 2d 75 6e 69 71 60 20 62 79 20 75 73 69 6e 67 20 68 61 73 68 2d -.Sped.up.`-uniq`.by.using.hash-
5a4c0 74 61 62 6c 65 73 20 77 68 65 6e 20 70 6f 73 73 69 62 6c 65 20 28 40 63 69 72 65 75 2c 20 23 33 tables.when.possible.(@cireu,.#3
5a4e0 30 35 29 2e 0a 2d 20 46 69 78 65 64 20 60 2d 69 6e 69 74 73 60 20 74 6f 20 62 65 20 6e 6f 6e 2d 05)..-.Fixed.`-inits`.to.be.non-
5a500 64 65 73 74 72 75 63 74 69 76 65 20 28 40 53 77 69 66 74 4c 61 77 6e 47 6e 6f 6d 65 2c 20 23 33 destructive.(@SwiftLawnGnome,.#3
5a520 31 33 29 2e 0a 2d 20 46 69 78 65 64 20 69 6e 64 65 6e 74 20 72 75 6c 65 73 20 66 6f 72 20 60 2d 13)..-.Fixed.indent.rules.for.`-
5a540 73 6f 6d 65 2d 3e 60 20 61 6e 64 20 66 61 6d 69 6c 79 20 28 40 77 62 6f 6c 73 74 65 72 2c 20 23 some->`.and.family.(@wbolster,.#
5a560 33 32 31 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 7a 69 70 2d 6c 69 73 74 73 60 20 77 68 69 63 68 321)..-.Added.`-zip-lists`.which
5a580 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 70 72 6f 70 65 72 .always.returns.a.list.of.proper
5a5a0 20 6c 69 73 74 73 2c 20 65 76 65 6e 20 66 6f 72 20 74 77 6f 0a 20 20 69 6e 70 75 74 20 6c 69 73 .lists,.even.for.two...input.lis
5a5c0 74 73 20 28 73 65 65 20 69 73 73 75 65 20 23 31 33 35 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 ts.(see.issue.#135)...###.From.2
5a5e0 2e 31 35 20 74 6f 20 32 2e 31 36 0a 0a 2d 20 41 64 64 65 64 20 60 2d 2d 64 6f 74 6f 60 2c 20 61 .15.to.2.16..-.Added.`--doto`,.a
5a600 6e 61 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 2d 64 6f 74 6f 60 20 28 23 32 38 naphoric.version.of.`-doto`.(#28
5a620 32 29 2e 0a 2d 20 41 6c 69 61 73 65 64 20 60 2d 63 6f 6e 73 2d 70 61 69 72 2d 70 60 20 74 6f 20 2)..-.Aliased.`-cons-pair-p`.to.
5a640 60 2d 63 6f 6e 73 2d 70 61 69 72 3f 60 20 28 23 32 38 38 29 2e 0a 2d 20 47 65 6e 65 72 61 6c 69 `-cons-pair?`.(#288)..-.Generali
5a660 7a 65 64 20 60 2d 72 6f 74 61 74 65 60 20 66 6f 72 20 60 7c 4e 7c 60 20 67 72 65 61 74 65 72 20 zed.`-rotate`.for.`|N|`.greater.
5a680 74 68 61 6e 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 6c 69 73 74 20 28 40 6c 65 than.the.length.of.the.list.(@le
5a6a0 75 6e 67 62 6b 2c 0a 20 20 23 32 39 30 29 2e 0a 2d 20 41 64 64 65 64 20 61 20 6d 65 63 68 61 6e ungbk,...#290)..-.Added.a.mechan
5a6c0 69 73 6d 20 74 6f 20 65 78 74 65 6e 64 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 77 69 74 68 ism.to.extend.destructuring.with
5a6e0 20 63 75 73 74 6f 6d 20 6d 61 74 63 68 65 72 73 20 28 40 79 79 6f 6e 63 68 6f 2c 0a 20 20 23 32 .custom.matchers.(@yyoncho,...#2
5a700 37 37 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 31 34 20 74 6f 20 32 2e 31 35 0a 0a 54 68 69 77)...###.From.2.14.to.2.15..Thi
5a720 73 20 72 65 6c 65 61 73 65 20 62 72 69 6e 67 73 20 6e 65 77 20 64 65 73 74 72 75 63 74 75 72 69 s.release.brings.new.destructuri
5a740 6e 67 20 66 65 61 74 75 72 65 73 2c 20 73 6f 6d 65 20 6e 65 77 20 63 6f 6e 74 72 6f 6c 20 66 6c ng.features,.some.new.control.fl
5a760 6f 77 0a 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 6f 70 74 ow.functions.and.performance.opt
5a780 69 6d 69 7a 61 74 69 6f 6e 73 2e 0a 0a 2d 20 41 64 64 65 64 20 60 2d 73 65 74 71 60 20 77 69 74 imizations...-.Added.`-setq`.wit
5a7a0 68 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 62 69 6e 64 69 6e 67 20 73 75 70 70 6f 72 74 20 h.destructuring.binding.support.
5a7c0 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 60 2d 6c 65 74 60 20 66 61 6d 69 6c 79 0a 20 20 28 similar.to.the.`-let`.family...(
5a7e0 23 31 31 36 29 2e 0a 2d 20 41 64 64 65 64 20 73 6d 61 72 74 65 72 20 6b 65 79 20 64 65 73 74 72 #116)..-.Added.smarter.key.destr
5a800 75 63 74 75 72 69 6e 67 20 69 6e 20 60 2d 6c 65 74 60 20 61 6e 64 20 66 72 69 65 6e 64 73 20 77 ucturing.in.`-let`.and.friends.w
5a820 68 65 72 65 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 0a 20 20 61 75 74 6f 2d 64 65 72 69 76 65 here.variables.are...auto-derive
5a840 64 20 66 72 6f 6d 20 6b 65 79 73 20 28 23 31 31 31 29 2e 0a 2d 20 41 6c 6c 6f 77 65 64 20 60 2d d.from.keys.(#111)..-.Allowed.`-
5a860 6c 65 74 60 20 62 69 6e 64 69 6e 67 73 20 77 69 74 68 6f 75 74 20 61 20 73 6f 75 72 63 65 20 76 let`.bindings.without.a.source.v
5a880 61 6c 75 65 20 66 6f 72 6d 20 28 23 32 35 36 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 65 61 63 68 alue.form.(#256)..-.Added.`-each
5a8a0 2d 72 60 20 61 6e 64 20 60 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 60 20 28 40 64 6f 75 62 6c 65 -r`.and.`-each-r-while`.(@double
5a8c0 70 2c 20 23 31 35 39 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 p,.#159)..-.Added.`-common-suffi
5a8e0 78 60 20 28 40 62 61 73 69 6c 2d 63 6f 6e 74 6f 2c 20 23 32 36 33 29 2e 0a 2d 20 49 6d 70 72 6f x`.(@basil-conto,.#263)..-.Impro
5a900 76 65 64 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 6f 66 20 66 6f 6c 64 73 20 28 60 2d 72 65 64 75 ved.performance.of.folds.(`-redu
5a920 63 65 60 20 61 6e 64 20 66 72 69 65 6e 64 73 29 20 28 40 62 61 73 69 6c 2d 63 6f 6e 74 6f 2c 20 ce`.and.friends).(@basil-conto,.
5a940 23 32 36 34 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 31 33 20 74 6f 20 32 2e 31 34 0a 0a 54 #264)...###.From.2.13.to.2.14..T
5a960 68 69 73 20 72 65 6c 65 61 73 65 20 72 65 74 69 72 65 64 20 45 6d 61 63 73 20 32 33 20 73 75 70 his.release.retired.Emacs.23.sup
5a980 70 6f 72 74 2e 0a 0a 2d 20 41 64 64 65 64 20 45 64 65 62 75 67 20 73 75 70 70 6f 72 74 20 66 6f port...-.Added.Edebug.support.fo
5a9a0 72 20 74 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 20 28 40 57 69 6c 66 72 65 64 29 2e 0a 2d r.threading.macros.(@Wilfred)..-
5a9c0 20 41 64 64 65 64 20 60 2d 75 6e 7a 69 70 60 2e 0a 2d 20 41 64 64 65 64 20 73 75 70 70 6f 72 74 .Added.`-unzip`..-.Added.support
5a9e0 20 66 6f 72 20 60 2d 66 69 72 73 74 2d 69 74 65 6d 60 20 61 6e 64 20 60 2d 6c 61 73 74 2d 69 74 .for.`-first-item`.and.`-last-it
5aa00 65 6d 60 20 61 73 20 5b 70 6c 61 63 65 0a 20 20 66 6f 72 6d 73 5d 28 68 74 74 70 73 3a 2f 2f 67 em`.as.[place...forms](https://g
5aa20 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d nu.org/software/emacs/manual/htm
5aa40 6c 5f 6e 6f 64 65 2f 65 6c 69 73 70 2f 47 65 6e 65 72 61 6c 69 7a 65 64 2d 56 61 72 69 61 62 6c l_node/elisp/Generalized-Variabl
5aa60 65 73 2e 68 74 6d 6c 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 70 6f 77 65 72 73 65 74 60 20 61 6e es.html)..-.Added.`-powerset`.an
5aa80 64 20 60 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 60 20 28 40 68 6f 6c 6f 6d 6f 72 70 68 29 2e 0a d.`-permutations`.(@holomorph)..
5aaa0 2d 20 41 64 64 65 64 20 60 2d 61 73 2d 3e 60 20 66 6f 72 20 74 68 72 65 61 64 69 6e 67 20 61 20 -.Added.`-as->`.for.threading.a.
5aac0 6e 61 6d 65 64 20 76 61 72 69 61 62 6c 65 20 28 40 7a 63 6b 29 2e 0a 2d 20 41 64 64 65 64 20 60 named.variable.(@zck)..-.Added.`
5aae0 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 60 2c 20 60 2d 70 61 72 74 69 74 -partition-after-pred`,.`-partit
5ab00 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 60 2c 0a 20 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d ion-before-pred`,...`-partition-
5ab20 61 66 74 65 72 2d 69 74 65 6d 60 2c 20 61 6e 64 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 after-item`,.and.`-partition-bef
5ab40 6f 72 65 2d 69 74 65 6d 60 20 28 40 7a 63 6b 29 2e 0a 2d 20 46 69 78 65 64 20 61 20 62 75 67 20 ore-item`.(@zck)..-.Fixed.a.bug.
5ab60 69 6e 20 60 2d 61 6e 79 2d 70 60 20 61 6e 64 20 66 72 69 65 6e 64 73 20 74 65 73 74 69 6e 67 20 in.`-any-p`.and.friends.testing.
5ab80 66 6f 72 20 60 6e 75 6c 6c 60 20 6f 6e 20 6c 69 73 74 73 20 63 6f 6e 74 61 69 6e 69 6e 67 0a 20 for.`null`.on.lists.containing..
5aba0 20 60 6e 69 6c 60 20 28 23 32 33 39 29 2e 0a 2d 20 46 69 78 65 64 20 69 6e 66 69 6e 69 74 65 20 .`nil`.(#239)..-.Fixed.infinite.
5abc0 6c 6f 6f 70 20 62 75 67 20 69 6e 20 60 2d 7a 69 70 60 20 61 6e 64 20 60 2d 69 6e 74 65 72 6c 65 loop.bug.in.`-zip`.and.`-interle
5abe0 61 76 65 60 20 77 68 65 6e 20 63 61 6c 6c 65 64 20 77 69 74 68 20 65 6d 70 74 79 0a 20 20 69 6e ave`.when.called.with.empty...in
5ac00 70 75 74 2e 0a 2d 20 41 64 64 65 64 20 60 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 60 20 74 68 72 6f put..-.Added.`-second-item`.thro
5ac20 75 67 68 20 60 2d 66 69 66 74 68 2d 69 74 65 6d 60 20 61 73 20 61 6c 74 65 72 6e 61 74 69 76 65 ugh.`-fifth-item`.as.alternative
5ac40 73 20 74 6f 20 60 6e 74 68 60 0a 20 20 28 40 57 69 6c 66 72 65 64 29 2e 0a 2d 20 41 64 64 65 64 s.to.`nth`...(@Wilfred)..-.Added
5ac60 20 60 2d 74 61 69 6c 73 60 20 61 6e 64 20 60 2d 69 6e 69 74 73 60 2e 0a 2d 20 41 64 64 65 64 20 .`-tails`.and.`-inits`..-.Added.
5ac80 60 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 60 20 61 6e 64 20 60 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f `-running-sum`.and.`-running-pro
5aca0 64 75 63 74 60 2e 0a 2d 20 41 64 64 65 64 20 74 68 65 20 60 2d 72 65 64 75 63 74 69 6f 6e 73 5b duct`..-.Added.the.`-reductions[
5acc0 2d 72 5d 5b 2d 66 72 6f 6d 5d 60 20 66 61 6d 69 6c 79 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 20 -r][-from]`.family.of.functions.
5ace0 28 6c 69 6b 65 20 60 2d 72 65 64 75 63 65 60 20 62 75 74 0a 20 20 63 6f 6c 6c 65 63 74 69 6e 67 (like.`-reduce`.but...collecting
5ad00 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 73 75 6c 74 73 29 2e 0a 2d 20 41 64 64 65 64 20 .intermediate.results)..-.Added.
5ad20 60 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 60 20 28 40 62 61 73 69 6c 2d 63 6f 6e 74 6f 29 2e `-common-prefix`.(@basil-conto).
5ad40 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 31 32 20 74 6f 20 32 2e 31 33 0a 0a 2d 20 60 2d 6c 65 74 ..###.From.2.12.to.2.13..-.`-let
5ad60 60 20 6e 6f 77 20 73 75 70 70 6f 72 74 73 20 60 26 61 6c 69 73 74 60 20 64 65 73 74 72 75 63 74 `.now.supports.`&alist`.destruct
5ad80 75 72 69 6e 67 2e 0a 2d 20 56 61 72 69 6f 75 73 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 69 6d 70 uring..-.Various.performance.imp
5ada0 72 6f 76 65 6d 65 6e 74 73 2e 0a 2d 20 60 2d 7a 69 70 60 20 6d 69 67 68 74 20 63 68 61 6e 67 65 rovements..-.`-zip`.might.change
5adc0 20 69 6e 20 61 20 66 75 74 75 72 65 20 72 65 6c 65 61 73 65 20 74 6f 20 61 6c 77 61 79 73 20 72 .in.a.future.release.to.always.r
5ade0 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 70 72 6f 70 65 72 0a 20 20 6c 69 73 74 73 2e 20 eturn.a.list.of.proper...lists..
5ae00 20 41 64 64 65 64 20 60 2d 7a 69 70 2d 70 61 69 72 60 20 66 6f 72 20 75 73 65 72 73 20 77 68 6f .Added.`-zip-pair`.for.users.who
5ae20 20 65 78 70 6c 69 63 69 74 6c 79 20 77 61 6e 74 20 74 68 65 20 6f 6c 64 20 62 65 68 61 76 69 6f .explicitly.want.the.old.behavio
5ae40 72 2e 0a 2d 20 45 6e 61 62 6c 65 64 20 6c 65 78 69 63 61 6c 20 62 69 6e 64 69 6e 67 20 69 6e 20 r..-.Enabled.lexical.binding.in.
5ae60 60 64 61 73 68 2e 65 6c 60 20 66 6f 72 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 20 32 34 20 `dash.el`.for.Emacs.versions.24.
5ae80 6f 72 20 6e 65 77 65 72 20 28 23 31 33 30 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 73 65 6c 65 63 or.newer.(#130)..-.Added.`-selec
5aea0 74 2d 63 6f 6c 75 6d 6e 60 20 61 6e 64 20 60 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 60 2e t-column`.and.`-select-columns`.
5aec0 0a 2d 20 46 69 78 65 64 20 60 2d 6d 61 70 2d 6c 61 73 74 60 20 61 6e 64 20 60 2d 2d 72 65 6d 6f .-.Fixed.`-map-last`.and.`--remo
5aee0 76 65 2d 6c 61 73 74 60 20 74 6f 20 62 65 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 20 28 ve-last`.to.be.non-destructive.(
5af00 23 31 35 38 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 60 20 61 #158)..-.Added.`-each-indexed`.a
5af20 6e 64 20 60 2d 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 60 2e 0a 2d 20 41 64 64 65 64 20 60 2d 74 nd.`--each-indexed`..-.Added.`-t
5af40 61 6b 65 2d 6c 61 73 74 60 20 61 6e 64 20 60 2d 64 72 6f 70 2d 6c 61 73 74 60 2e 0a 2d 20 41 64 ake-last`.and.`-drop-last`..-.Ad
5af60 64 65 64 20 74 68 65 20 60 2d 64 6f 74 6f 60 20 6d 61 63 72 6f 2e 0a 2d 20 60 2d 63 75 74 20 3c ded.the.`-doto`.macro..-.`-cut.<
5af80 3e 60 20 69 73 20 6e 6f 77 20 74 72 65 61 74 65 64 20 61 73 20 61 20 66 75 6e 63 74 69 6f 6e 2c >`.is.now.treated.as.a.function,
5afa0 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 74 68 20 5b 53 52 46 49 0a 20 20 32 36 5d 28 68 74 74 .consistent.with.[SRFI...26](htt
5afc0 70 73 3a 2f 2f 73 72 66 69 2e 73 63 68 65 6d 65 72 73 2e 6f 72 67 2f 73 72 66 69 2d 32 36 2f 73 ps://srfi.schemers.org/srfi-26/s
5afe0 72 66 69 2d 32 36 2e 68 74 6d 6c 29 20 28 23 31 38 35 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 rfi-26.html).(#185)...###.From.2
5b000 2e 31 31 20 74 6f 20 32 2e 31 32 0a 0a 2d 20 41 64 64 65 64 20 47 4e 55 20 45 4c 50 41 20 73 75 .11.to.2.12..-.Added.GNU.ELPA.su
5b020 70 70 6f 72 74 20 28 50 68 69 6c 6c 69 70 20 4c 6f 72 64 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d pport.(Phillip.Lord)..-.Added.`-
5b040 73 6f 6d 65 2d 3e 60 2c 20 60 2d 73 6f 6d 65 2d 3e 3e 60 2c 20 61 6e 64 20 60 2d 73 6f 6d 65 2d some->`,.`-some->>`,.and.`-some-
5b060 2d 3e 60 20 6d 61 63 72 6f 73 20 28 43 61 6d 20 53 61 75 6c 29 2e 0a 2d 20 60 2d 69 73 2d 73 75 ->`.macros.(Cam.Saul)..-.`-is-su
5b080 66 66 69 78 3f 60 20 69 73 20 6e 6f 77 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 76 65 2e 0a 2d ffix?`.is.now.non-destructive..-
5b0a0 20 46 61 73 74 65 72 20 68 61 73 68 20 74 61 62 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f .Faster.hash.table.implementatio
5b0c0 6e 20 66 6f 72 20 60 2d 75 6e 69 6f 6e 60 2e 0a 2d 20 49 6d 70 72 6f 76 65 6d 65 6e 74 73 20 74 n.for.`-union`..-.Improvements.t
5b0e0 6f 20 64 6f 63 73 74 72 69 6e 67 73 20 61 6e 64 20 65 78 61 6d 70 6c 65 73 2e 0a 0a 23 23 23 20 o.docstrings.and.examples...###.
5b100 46 72 6f 6d 20 32 2e 31 30 20 74 6f 20 32 2e 31 31 0a 0a 2d 20 4c 6f 74 73 20 6f 66 20 63 6c 65 From.2.10.to.2.11..-.Lots.of.cle
5b120 61 6e 20 75 70 20 77 2e 72 2e 74 2e 20 62 79 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2c 20 64 an.up.w.r.t..byte.compilation,.d
5b140 65 62 75 67 20 6d 61 63 72 6f 73 2c 20 61 6e 64 20 74 65 73 74 73 2e 0a 0a 23 23 23 20 46 72 6f ebug.macros,.and.tests...###.Fro
5b160 6d 20 32 2e 39 20 74 6f 20 32 2e 31 30 0a 0a 2d 20 41 64 64 65 64 20 60 2d 6c 65 74 60 20 64 65 m.2.9.to.2.10..-.Added.`-let`.de
5b180 73 74 72 75 63 74 75 72 69 6e 67 20 74 6f 20 60 2d 69 66 2d 6c 65 74 60 20 61 6e 64 20 60 2d 77 structuring.to.`-if-let`.and.`-w
5b1a0 68 65 6e 2d 6c 65 74 60 20 28 46 72 65 64 72 69 6b 20 42 65 72 67 72 6f 74 68 29 2e 0a 0a 23 23 hen-let`.(Fredrik.Bergroth)...##
5b1c0 23 20 46 72 6f 6d 20 32 2e 38 20 74 6f 20 32 2e 39 0a 0a 2d 20 41 64 64 65 64 20 60 2d 6c 65 74 #.From.2.8.to.2.9..-.Added.`-let
5b1e0 60 2c 20 60 2d 6c 65 74 2a 60 2c 20 61 6e 64 20 60 2d 6c 61 6d 62 64 61 60 20 77 69 74 68 20 64 `,.`-let*`,.and.`-lambda`.with.d
5b200 65 73 74 72 75 63 74 75 72 69 6e 67 2e 0a 2d 20 41 64 64 65 64 20 60 2d 74 72 65 65 2d 73 65 71 estructuring..-.Added.`-tree-seq
5b220 60 20 61 6e 64 20 60 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 60 2e 0a 2d 20 41 64 64 65 64 `.and.`-tree-map-nodes`..-.Added
5b240 20 60 2d 6e 6f 6e 2d 6e 69 6c 60 2e 0a 2d 20 41 64 64 65 64 20 60 2d 66 69 78 60 2e 0a 2d 20 41 .`-non-nil`..-.Added.`-fix`..-.A
5b260 64 64 65 64 20 60 2d 66 69 78 66 6e 60 20 28 60 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 60 dded.`-fixfn`.(`dash-functional`
5b280 20 76 65 72 73 69 6f 6e 20 60 31 2e 32 60 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 63 6f 70 79 60 .version.`1.2`)..-.Added.`-copy`
5b2a0 20 28 57 69 6c 66 72 65 64 20 48 75 67 68 65 73 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 37 .(Wilfred.Hughes)...###.From.2.7
5b2c0 20 74 6f 20 32 2e 38 0a 0a 2d 20 41 64 64 65 64 20 60 2d 62 75 74 6c 61 73 74 60 2e 0a 0a 23 23 .to.2.8..-.Added.`-butlast`...##
5b2e0 23 20 46 72 6f 6d 20 32 2e 36 20 74 6f 20 32 2e 37 0a 0a 2d 20 60 2d 7a 69 70 60 20 6e 6f 77 20 #.From.2.6.to.2.7..-.`-zip`.now.
5b300 73 75 70 70 6f 72 74 73 20 6d 6f 72 65 20 74 68 61 6e 20 74 77 6f 20 6c 69 73 74 73 20 28 53 74 supports.more.than.two.lists.(St
5b320 65 76 65 20 4c 61 6d 62 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 63 79 63 6c 65 60 2c 20 60 2d 70 eve.Lamb)..-.Added.`-cycle`,.`-p
5b340 61 64 60 2c 20 60 2d 61 6e 6e 6f 74 61 74 65 60 2c 20 61 6e 64 20 60 2d 7a 69 70 2d 66 69 6c 6c ad`,.`-annotate`,.and.`-zip-fill
5b360 60 20 28 53 74 65 76 65 20 4c 61 6d 62 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 74 61 62 6c 65 60 `.(Steve.Lamb)..-.Added.`-table`
5b380 2c 20 60 2d 74 61 62 6c 65 2d 66 6c 61 74 60 20 28 66 69 6e 69 74 65 20 43 61 72 74 65 73 69 61 ,.`-table-flat`.(finite.Cartesia
5b3a0 6e 20 70 72 6f 64 75 63 74 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 66 6c 61 74 74 65 6e 2d 6e 60 n.product)..-.Added.`-flatten-n`
5b3c0 2e 0a 2d 20 60 2d 73 6c 69 63 65 60 20 6e 6f 77 20 73 75 70 70 6f 72 74 73 20 61 20 22 73 74 65 ..-.`-slice`.now.supports.a."ste
5b3e0 70 22 20 61 72 67 75 6d 65 6e 74 2e 0a 2d 20 41 64 64 65 64 20 66 75 6e 63 74 69 6f 6e 61 6c 20 p".argument..-.Added.functional.
5b400 63 6f 6d 62 69 6e 61 74 6f 72 73 20 60 2d 69 74 65 72 61 74 65 66 6e 60 20 61 6e 64 20 60 2d 70 combinators.`-iteratefn`.and.`-p
5b420 72 6f 64 66 6e 60 2e 0a 2d 20 41 64 64 65 64 20 60 2d 72 65 70 6c 61 63 65 60 2c 20 60 2d 73 70 rodfn`..-.Added.`-replace`,.`-sp
5b440 6c 69 63 65 60 2c 20 61 6e 64 20 60 2d 73 70 6c 69 63 65 2d 6c 69 73 74 60 20 77 68 69 63 68 20 lice`,.and.`-splice-list`.which.
5b460 67 65 6e 65 72 61 6c 69 7a 65 20 60 2d 72 65 70 6c 61 63 65 2d 61 74 60 0a 20 20 61 6e 64 20 60 generalize.`-replace-at`...and.`
5b480 2d 69 6e 73 65 72 74 2d 61 74 60 2e 0a 2d 20 41 64 64 65 64 20 60 2d 63 6f 6d 70 6f 73 65 60 2c -insert-at`..-.Added.`-compose`,
5b4a0 20 60 2d 69 74 65 72 61 74 65 66 6e 60 2c 20 61 6e 64 20 60 2d 70 72 6f 64 66 6e 60 20 28 60 64 .`-iteratefn`,.and.`-prodfn`.(`d
5b4c0 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 60 20 76 65 72 73 69 6f 6e 0a 20 20 60 31 2e 31 60 29 ash-functional`.version...`1.1`)
5b4e0 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 35 20 74 6f 20 32 2e 36 0a 0a 2d 20 41 64 64 65 64 20 ...###.From.2.5.to.2.6..-.Added.
5b500 60 2d 69 73 2d 70 72 65 66 69 78 2d 70 60 2c 20 60 2d 69 73 2d 73 75 66 66 69 78 2d 70 60 2c 20 `-is-prefix-p`,.`-is-suffix-p`,.
5b520 61 6e 64 20 60 2d 69 73 2d 69 6e 66 69 78 2d 70 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 and.`-is-infix-p`.(Matus.Goljer)
5b540 2e 0a 2d 20 41 64 64 65 64 20 60 2d 69 74 65 72 61 74 65 60 20 61 6e 64 20 60 2d 75 6e 66 6f 6c ..-.Added.`-iterate`.and.`-unfol
5b560 64 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 73 70 6c d`.(Matus.Goljer)..-.Added.`-spl
5b580 69 74 2d 6f 6e 60 20 61 6e 64 20 60 2d 73 70 6c 69 74 2d 77 68 65 6e 60 20 28 4d 61 74 75 73 20 it-on`.and.`-split-when`.(Matus.
5b5a0 47 6f 6c 6a 65 72 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 Goljer)..-.Added.`-find-last-ind
5b5c0 65 78 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 6c 69 ex`.(Matus.Goljer)..-.Added.`-li
5b5e0 73 74 60 20 28 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 29 2e 0a 0a 23 23 23 20 46 72 6f 6d st`.(Johan.Andersson)...###.From
5b600 20 32 2e 34 20 74 6f 20 32 2e 35 0a 0a 2d 20 41 64 64 65 64 20 60 2d 73 61 6d 65 2d 69 74 65 6d .2.4.to.2.5..-.Added.`-same-item
5b620 73 3f 60 20 28 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 29 2e 0a 2d 20 56 61 72 69 6f 75 73 s?`.(Johan.Andersson)..-.Various
5b640 20 62 75 67 66 69 78 65 73 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e 33 20 74 6f 20 32 2e 34 0a .bugfixes...###.From.2.3.to.2.4.
5b660 0a 2d 20 41 64 64 65 64 20 60 2d 73 6e 6f 63 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e .-.Added.`-snoc`.(Matus.Goljer).
5b680 0a 2d 20 41 64 64 65 64 20 60 2d 72 65 70 6c 61 63 65 2d 61 74 60 2c 20 60 2d 75 70 64 61 74 65 .-.Added.`-replace-at`,.`-update
5b6a0 2d 61 74 60 2c 20 60 2d 72 65 6d 6f 76 65 2d 61 74 60 2c 20 61 6e 64 20 60 2d 72 65 6d 6f 76 65 -at`,.`-remove-at`,.and.`-remove
5b6c0 2d 61 74 2d 69 6e 64 69 63 65 73 60 0a 20 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 0a -at-indices`...(Matus.Goljer)...
5b6e0 23 23 23 20 46 72 6f 6d 20 32 2e 32 20 74 6f 20 32 2e 33 0a 0a 2d 20 41 64 64 65 64 20 74 72 65 ###.From.2.2.to.2.3..-.Added.tre
5b700 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 2d 20 4d e.operations.(Matus.Goljer)..-.M
5b720 61 64 65 20 46 6f 6e 74 20 4c 6f 63 6b 20 6f 70 74 69 6f 6e 61 6c 2e 0a 0a 23 23 23 20 46 72 6f ade.Font.Lock.optional...###.Fro
5b740 6d 20 32 2e 31 20 74 6f 20 32 2e 32 0a 0a 2d 20 41 64 64 65 64 20 60 2d 63 6f 6d 70 6f 73 65 60 m.2.1.to.2.2..-.Added.`-compose`
5b760 20 28 43 68 72 69 73 74 69 6e 61 20 57 68 79 74 65 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 32 2e .(Christina.Whyte)...###.From.2.
5b780 30 20 74 6f 20 32 2e 31 0a 0a 2d 20 41 64 64 65 64 20 69 6e 64 65 78 69 6e 67 20 6f 70 65 72 61 0.to.2.1..-.Added.indexing.opera
5b7a0 74 69 6f 6e 73 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 tions.(Matus.Goljer)...###.From.
5b7c0 31 2e 38 20 74 6f 20 32 2e 30 0a 0a 2d 20 53 70 6c 69 74 20 6f 75 74 20 60 64 61 73 68 2d 66 75 1.8.to.2.0..-.Split.out.`dash-fu
5b7e0 6e 63 74 69 6f 6e 61 6c 2e 65 6c 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 2d 20 41 nctional.el`.(Matus.Goljer)..-.A
5b800 64 64 65 64 20 60 2d 61 6e 64 66 6e 60 2c 20 60 2d 6f 72 66 6e 60 2c 20 60 2d 6e 6f 74 60 2c 20 dded.`-andfn`,.`-orfn`,.`-not`,.
5b820 60 2d 63 75 74 60 2c 20 60 2d 63 6f 6e 73 74 60 2c 20 60 2d 66 6c 69 70 60 2c 20 61 6e 64 20 60 `-cut`,.`-const`,.`-flip`,.and.`
5b840 2d 6f 6e 60 20 28 4d 61 74 75 73 0a 20 20 47 6f 6c 6a 65 72 29 2e 0a 2d 20 46 69 78 65 64 20 60 -on`.(Matus...Goljer)..-.Fixed.`
5b860 2d 6d 69 6e 60 2c 20 60 2d 6d 61 78 60 2c 20 60 2d 6d 69 6e 2d 62 79 60 2c 20 61 6e 64 20 60 2d -min`,.`-max`,.`-min-by`,.and.`-
5b880 6d 61 78 2d 62 79 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 0a 23 23 23 20 46 72 6f max-by`.(Matus.Goljer)...###.Fro
5b8a0 6d 20 31 2e 37 20 74 6f 20 31 2e 38 0a 0a 2d 20 41 64 64 65 64 20 60 2d 66 69 72 73 74 2d 69 74 m.1.7.to.1.8..-.Added.`-first-it
5b8c0 65 6d 60 20 61 6e 64 20 60 2d 6c 61 73 74 2d 69 74 65 6d 60 20 28 57 69 6c 66 72 65 64 20 48 75 em`.and.`-last-item`.(Wilfred.Hu
5b8e0 67 68 65 73 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 31 2e 36 20 74 6f 20 31 2e 37 0a 0a 2d 20 41 ghes)...###.From.1.6.to.1.7..-.A
5b900 64 64 65 64 20 60 2d 72 6f 74 61 74 65 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 0a dded.`-rotate`.(Matus.Goljer)...
5b920 23 23 23 20 46 72 6f 6d 20 31 2e 35 20 74 6f 20 31 2e 36 0a 0a 2d 20 41 64 64 65 64 20 60 2d 6d ###.From.1.5.to.1.6..-.Added.`-m
5b940 69 6e 60 2c 20 60 2d 6d 61 78 60 2c 20 60 2d 6d 69 6e 2d 62 79 60 2c 20 61 6e 64 20 60 2d 6d 61 in`,.`-max`,.`-min-by`,.and.`-ma
5b960 78 2d 62 79 60 20 28 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 29 2e 0a 0a 23 23 23 20 46 72 x-by`.(Johan.Andersson)...###.Fr
5b980 6f 6d 20 31 2e 34 20 74 6f 20 31 2e 35 0a 0a 2d 20 41 64 64 65 64 20 60 2d 73 75 6d 60 20 61 6e om.1.4.to.1.5..-.Added.`-sum`.an
5b9a0 64 20 60 2d 70 72 6f 64 75 63 74 60 20 28 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 29 2e 0a d.`-product`.(Johan.Andersson)..
5b9c0 0a 23 23 23 20 46 72 6f 6d 20 31 2e 33 20 74 6f 20 31 2e 34 0a 0a 2d 20 41 64 64 65 64 20 60 2d .###.From.1.3.to.1.4..-.Added.`-
5b9e0 73 6f 72 74 60 2e 0a 2d 20 41 64 64 65 64 20 60 2d 72 65 64 75 63 65 2d 72 60 20 28 4d 61 74 75 sort`..-.Added.`-reduce-r`.(Matu
5ba00 73 20 47 6f 6c 6a 65 72 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 s.Goljer)..-.Added.`-reduce-r-fr
5ba20 6f 6d 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 31 2e om`.(Matus.Goljer)...###.From.1.
5ba40 32 20 74 6f 20 31 2e 33 0a 0a 2d 20 41 64 64 65 64 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2.to.1.3..-.Added.`-partition-in
5ba60 2d 73 74 65 70 73 60 2e 0a 2d 20 41 64 64 65 64 20 60 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c -steps`..-.Added.`-partition-all
5ba80 2d 69 6e 2d 73 74 65 70 73 60 2e 0a 0a 23 23 23 20 46 72 6f 6d 20 31 2e 31 20 74 6f 20 31 2e 32 -in-steps`...###.From.1.1.to.1.2
5baa0 0a 0a 2d 20 41 64 64 65 64 20 60 2d 6c 61 73 74 60 20 28 4d 61 74 75 73 20 47 6f 6c 6a 65 72 29 ..-.Added.`-last`.(Matus.Goljer)
5bac0 2e 0a 2d 20 41 64 64 65 64 20 60 2d 69 6e 73 65 72 74 2d 61 74 60 20 28 45 6d 61 6e 75 65 6c 20 ..-.Added.`-insert-at`.(Emanuel.
5bae0 45 76 61 6e 73 29 2e 0a 2d 20 41 64 64 65 64 20 60 2d 77 68 65 6e 2d 6c 65 74 60 20 61 6e 64 20 Evans)..-.Added.`-when-let`.and.
5bb00 60 2d 69 66 2d 6c 65 74 60 20 28 45 6d 61 6e 75 65 6c 20 45 76 61 6e 73 29 2e 0a 2d 20 41 64 64 `-if-let`.(Emanuel.Evans)..-.Add
5bb20 65 64 20 60 2d 77 68 65 6e 2d 6c 65 74 2a 60 20 61 6e 64 20 60 2d 69 66 2d 6c 65 74 2a 60 20 28 ed.`-when-let*`.and.`-if-let*`.(
5bb40 45 6d 61 6e 75 65 6c 20 45 76 61 6e 73 29 2e 0a 2d 20 56 61 72 69 6f 75 73 20 62 75 67 66 69 78 Emanuel.Evans)..-.Various.bugfix
5bb60 65 73 2e 0a 0a 23 23 20 4c 69 63 65 6e 73 65 0a 0a 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 es...##.License..This.program.is
5bb80 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 .free.software:.you.can.redistri
5bba0 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 69 74 20 75 6e 64 65 72 20 74 bute.it.and/or.modify.it.under.t
5bbc0 68 65 20 74 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 he.terms.of.the.GNU.General.Publ
5bbe0 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 74 68 65 20 46 ic.License.as.published.by.the.F
5bc00 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 20 ree.Software.Foundation,.either.
5bc20 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 0a 28 61 74 version.3.of.the.License,.or.(at
5bc40 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 72 73 69 6f 6e 2e .your.option).any.later.version.
5bc60 0a 0a 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e ..This.program.is.distributed.in
5bc80 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c .the.hope.that.it.will.be.useful
5bca0 2c 0a 62 75 74 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 ,.but.WITHOUT.ANY.WARRANTY;.with
5bcc0 6f 75 74 20 65 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 out.even.the.implied.warranty.of
5bce0 0a 4d 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 .MERCHANTABILITY.or.FITNESS.FOR.
5bd00 41 20 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 47 A.PARTICULAR.PURPOSE...See.the.G
5bd20 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 6f NU.General.Public.License.for.mo
5bd40 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 re.details...You.should.have.rec
5bd60 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 72 61 6c 20 eived.a.copy.of.the.GNU.General.
5bd80 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 Public.License.along.with.this.p
5bda0 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 2f 2f 77 77 rogram...If.not,.see.<https://ww
5bdc0 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 00 00 00 00 00 00 00 00 00 00 w.gnu.org/licenses/>............
5bde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5be00 64 61 73 68 2d 32 2e 31 39 2e 31 2f 52 45 41 44 4d 45 2e 6d 64 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/README.md...........
5be20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5be40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5be60 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
5be80 30 33 31 33 31 34 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 34 35 32 00 20 30 00 00 00 0313147.00000000000.012452..0...
5bea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bf00 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...................
5bf20 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...................
5bf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c000 5b 21 5b 43 49 5d 28 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 [![CI](https://github.com/magnar
5c020 73 2f 64 61 73 68 2e 65 6c 2f 61 63 74 69 6f 6e 73 2f 77 6f 72 6b 66 6c 6f 77 73 2f 74 65 73 74 s/dash.el/actions/workflows/test
5c040 2e 79 6d 6c 2f 62 61 64 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e .yml/badge.svg)](https://github.
5c060 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 2f 61 63 74 69 6f 6e 73 2f 77 6f 72 6b com/magnars/dash.el/actions/work
5c080 66 6c 6f 77 73 2f 74 65 73 74 2e 79 6d 6c 29 0a 5b 21 5b 47 4e 55 20 45 4c 50 41 5d 28 68 74 74 flows/test.yml).[![GNU.ELPA](htt
5c0a0 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f 64 61 73 68 2e ps://elpa.gnu.org/packages/dash.
5c0c0 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 70 61 63 6b 61 svg)](https://elpa.gnu.org/packa
5c0e0 67 65 73 2f 64 61 73 68 2e 68 74 6d 6c 29 0a 5b 21 5b 47 4e 55 2d 64 65 76 65 6c 20 45 4c 50 41 ges/dash.html).[![GNU-devel.ELPA
5c100 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 64 61 73 ](https://elpa.gnu.org/devel/das
5c120 68 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 h.svg)](https://elpa.gnu.org/dev
5c140 65 6c 2f 64 61 73 68 2e 68 74 6d 6c 29 0a 5b 21 5b 4d 45 4c 50 41 20 53 74 61 62 6c 65 5d 28 68 el/dash.html).[![MELPA.Stable](h
5c160 74 74 70 73 3a 2f 2f 73 74 61 62 6c 65 2e 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 ttps://stable.melpa.org/packages
5c180 2f 64 61 73 68 2d 62 61 64 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 73 74 61 62 6c 65 /dash-badge.svg)](https://stable
5c1a0 2e 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 64 61 73 68 29 0a 5b 21 5b 4d 45 4c 50 41 5d 28 68 74 74 .melpa.org/#/dash).[![MELPA](htt
5c1c0 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f 64 61 73 68 2d 62 61 64 ps://melpa.org/packages/dash-bad
5c1e0 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 64 61 73 ge.svg)](https://melpa.org/#/das
5c200 68 29 0a 0a 23 20 3c 69 6d 67 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 20 73 72 63 3d 22 72 61 h)..#.<img.align="right".src="ra
5c220 69 6e 62 6f 77 2d 64 61 73 68 2e 70 6e 67 22 3e 20 64 61 73 68 2e 65 6c 0a 0a 41 20 6d 6f 64 65 inbow-dash.png">.dash.el..A.mode
5c240 72 6e 20 6c 69 73 74 20 41 50 49 20 66 6f 72 20 45 6d 61 63 73 2e 20 20 4e 6f 0a 5b 60 27 63 6c rn.list.API.for.Emacs...No.[`'cl
5c260 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 `](https://gnu.org/software/emac
5c280 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 63 6c 2f 29 20 72 65 71 75 69 72 65 64 s/manual/html_node/cl/).required
5c2a0 2e 0a 0a 53 65 65 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 66 69 6c 65 20 66 6f 72 20 6c ...See.the.end.of.the.file.for.l
5c2c0 69 63 65 6e 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a 0a 23 23 20 43 6f 6e 74 65 6e 74 73 0a icense.conditions...##.Contents.
5c2e0 0a 2a 20 5b 43 68 61 6e 67 65 20 6c 6f 67 5d 28 23 63 68 61 6e 67 65 2d 6c 6f 67 29 0a 20 20 2a .*.[Change.log](#change-log)...*
5c300 20 5b 55 70 63 6f 6d 69 6e 67 20 62 72 65 61 6b 69 6e 67 20 63 68 61 6e 67 65 21 5d 28 23 75 70 .[Upcoming.breaking.change!](#up
5c320 63 6f 6d 69 6e 67 2d 62 72 65 61 6b 69 6e 67 2d 63 68 61 6e 67 65 29 0a 2a 20 5b 49 6e 73 74 61 coming-breaking-change).*.[Insta
5c340 6c 6c 61 74 69 6f 6e 5d 28 23 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 29 0a 2a 20 5b 46 75 6e 63 74 llation](#installation).*.[Funct
5c360 69 6f 6e 73 5d 28 23 66 75 6e 63 74 69 6f 6e 73 29 0a 2a 20 5b 43 6f 6e 74 72 69 62 75 74 65 5d ions](#functions).*.[Contribute]
5c380 28 23 63 6f 6e 74 72 69 62 75 74 65 29 0a 2a 20 5b 43 6f 6e 74 72 69 62 75 74 6f 72 73 5d 28 23 (#contribute).*.[Contributors](#
5c3a0 63 6f 6e 74 72 69 62 75 74 6f 72 73 29 0a 2a 20 5b 4c 69 63 65 6e 73 65 5d 28 23 6c 69 63 65 6e contributors).*.[License](#licen
5c3c0 73 65 29 0a 0a 23 23 20 43 68 61 6e 67 65 20 6c 6f 67 0a 0a 53 65 65 20 74 68 65 20 5b 60 4e 45 se)..##.Change.log..See.the.[`NE
5c3e0 57 53 2e 6d 64 60 5d 28 4e 45 57 53 2e 6d 64 29 20 66 69 6c 65 2e 0a 0a 23 23 23 20 55 70 63 6f WS.md`](NEWS.md).file...###.Upco
5c400 6d 69 6e 67 20 62 72 65 61 6b 69 6e 67 20 63 68 61 6e 67 65 21 0a 0a 2d 20 46 6f 72 20 62 61 63 ming.breaking.change!..-.For.bac
5c420 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 72 65 61 73 6f 6e 73 2c 20 60 2d 7a kward.compatibility.reasons,.`-z
5c440 69 70 60 20 77 68 65 6e 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 77 6f 0a 20 20 6c 69 73 74 73 ip`.when.called.with.two...lists
5c460 20 72 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 2c 20 72 .returns.a.list.of.cons.cells,.r
5c480 61 74 68 65 72 20 74 68 61 6e 20 61 20 6c 69 73 74 20 6f 66 20 70 72 6f 70 65 72 0a 20 20 6c 69 ather.than.a.list.of.proper...li
5c4a0 73 74 73 2e 20 20 54 68 69 73 20 69 73 20 61 20 63 6c 75 6e 6b 79 20 41 50 49 2c 20 61 6e 64 20 sts...This.is.a.clunky.API,.and.
5c4c0 6d 61 79 20 62 65 20 63 68 61 6e 67 65 64 20 69 6e 20 61 20 66 75 74 75 72 65 20 72 65 6c 65 61 may.be.changed.in.a.future.relea
5c4e0 73 65 0a 20 20 74 6f 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 se...to.always.return.a.list.of.
5c500 70 72 6f 70 65 72 20 6c 69 73 74 73 2c 20 61 73 20 60 2d 7a 69 70 2d 6c 69 73 74 73 60 20 63 75 proper.lists,.as.`-zip-lists`.cu
5c520 72 72 65 6e 74 6c 79 0a 20 20 64 6f 65 73 2e 0a 0a 20 20 2a 2a 4e 2e 42 2e 3a 2a 2a 20 44 6f 20 rrently...does.....**N.B.:**.Do.
5c540 6e 6f 74 20 72 65 6c 79 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 65 68 61 76 69 6f 72 not.rely.on.the.current.behavior
5c560 20 6f 66 20 60 2d 7a 69 70 60 20 66 6f 72 20 74 77 6f 0a 20 20 6c 69 73 74 73 2e 20 20 49 6e 73 .of.`-zip`.for.two...lists...Ins
5c580 74 65 61 64 2c 20 75 73 65 20 60 2d 7a 69 70 2d 70 61 69 72 60 20 66 6f 72 20 61 20 6c 69 73 74 tead,.use.`-zip-pair`.for.a.list
5c5a0 20 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 2c 20 61 6e 64 0a 20 20 60 2d 7a 69 70 2d 6c 69 73 74 .of.cons.cells,.and...`-zip-list
5c5c0 73 60 20 66 6f 72 20 61 20 6c 69 73 74 20 6f 66 20 70 72 6f 70 65 72 20 6c 69 73 74 73 2e 0a 0a s`.for.a.list.of.proper.lists...
5c5e0 23 23 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 44 61 73 68 20 69 73 20 61 76 61 69 6c 61 62 ##.Installation..Dash.is.availab
5c600 6c 65 20 6f 6e 20 5b 47 4e 55 20 45 4c 50 41 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e le.on.[GNU.ELPA](https://elpa.gn
5c620 75 2e 6f 72 67 2f 29 2c 20 5b 47 4e 55 2d 64 65 76 65 6c 0a 45 4c 50 41 5d 28 68 74 74 70 73 3a u.org/),.[GNU-devel.ELPA](https:
5c640 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 29 2c 20 61 6e 64 20 5b 4d 45 4c //elpa.gnu.org/devel/),.and.[MEL
5c660 50 41 5d 28 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 29 2c 0a 61 6e 64 20 63 61 6e PA](https://melpa.org/),.and.can
5c680 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 .be.installed.with.the.standard.
5c6a0 63 6f 6d 6d 61 6e 64 20 60 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 60 3a 0a 0a 20 20 20 20 command.`package-install`:......
5c6c0 4d 2d 78 20 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 20 52 45 54 20 64 61 73 68 20 52 45 54 M-x.package-install.RET.dash.RET
5c6e0 0a 0a 53 65 65 20 5b 60 28 69 6e 66 6f 20 22 28 65 6d 61 63 73 29 20 50 61 63 6b 61 67 65 0a 49 ..See.[`(info."(emacs).Package.I
5c700 6e 73 74 61 6c 6c 61 74 69 6f 6e 22 29 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f nstallation")`](https://gnu.org/
5c720 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f software/emacs/manual/html_node/
5c740 65 6d 61 63 73 2f 50 61 63 6b 61 67 65 2d 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2e 68 74 6d 6c 29 emacs/Package-Installation.html)
5c760 2e 0a 0a 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 2c 20 79 6f 75 20 63 61 6e 20 6a 75 73 74 20 64 ...Alternatively,.you.can.just.d
5c780 75 6d 70 20 60 64 61 73 68 2e 65 6c 60 20 69 6e 20 79 6f 75 72 20 60 6c 6f 61 64 2d 70 61 74 68 ump.`dash.el`.in.your.`load-path
5c7a0 60 0a 73 6f 6d 65 77 68 65 72 65 2e 20 20 53 65 65 20 5b 60 28 69 6e 66 6f 20 22 28 65 6d 61 63 `.somewhere...See.[`(info."(emac
5c7c0 73 29 20 4c 69 73 70 0a 4c 69 62 72 61 72 69 65 73 22 29 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e s).Lisp.Libraries")`](https://gn
5c7e0 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c u.org/software/emacs/manual/html
5c800 5f 6e 6f 64 65 2f 65 6d 61 63 73 2f 4c 69 73 70 2d 4c 69 62 72 61 72 69 65 73 2e 68 74 6d 6c 29 _node/emacs/Lisp-Libraries.html)
5c820 2e 0a 0a 23 23 23 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 0a 0a 41 64 64 20 73 ...###.Using.in.a.package..Add.s
5c840 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 74 68 69 73 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72 omething.like.this.to.the.librar
5c860 79 27 73 20 68 65 61 64 65 72 73 3a 0a 0a 20 20 20 20 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 y's.headers:......;;.Package-Req
5c880 75 69 72 65 73 3a 20 28 28 64 61 73 68 20 22 32 2e 31 39 2e 31 22 29 29 0a 0a 53 65 65 20 5b 60 uires:.((dash."2.19.1"))..See.[`
5c8a0 28 69 6e 66 6f 20 22 28 65 6c 69 73 70 29 20 4c 69 62 72 61 72 79 0a 48 65 61 64 65 72 73 22 29 (info."(elisp).Library.Headers")
5c8c0 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 `](https://gnu.org/software/emac
5c8e0 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6c 69 73 70 2f 4c 69 62 72 61 72 79 s/manual/html_node/elisp/Library
5c900 2d 48 65 61 64 65 72 73 2e 68 74 6d 6c 29 2e 0a 0a 23 23 23 20 46 6f 6e 74 69 66 69 63 61 74 69 -Headers.html)...###.Fontificati
5c920 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 0a 46 6f 6e 74 20 6c 6f on.of.special.variables..Font.lo
5c940 63 6b 20 6f 66 20 73 70 65 63 69 61 6c 20 44 61 73 68 20 76 61 72 69 61 62 6c 65 73 20 28 60 69 ck.of.special.Dash.variables.(`i
5c960 74 60 2c 20 60 61 63 63 60 2c 20 65 74 63 2e 29 20 69 6e 20 45 6d 61 63 73 20 4c 69 73 70 0a 62 t`,.`acc`,.etc.).in.Emacs.Lisp.b
5c980 75 66 66 65 72 73 20 63 61 6e 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 62 65 20 65 6e 61 62 6c 65 64 uffers.can.optionally.be.enabled
5c9a0 20 77 69 74 68 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 64 20 6d 69 6e 6f 72 20 6d 6f 64 65 0a .with.the.autoloaded.minor.mode.
5c9c0 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 60 2e 20 20 49 6e 20 6f 6c 64 65 72 20 45 `dash-fontify-mode`...In.older.E
5c9e0 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 20 77 68 69 63 68 20 64 6f 20 6e 6f 74 20 64 79 6e 61 6d macs.versions.which.do.not.dynam
5ca00 69 63 61 6c 6c 79 0a 64 65 74 65 63 74 20 6d 61 63 72 6f 73 2c 20 74 68 65 20 6d 69 6e 6f 72 20 ically.detect.macros,.the.minor.
5ca20 6d 6f 64 65 20 61 6c 73 6f 20 66 6f 6e 74 69 66 69 65 73 20 44 61 73 68 20 6d 61 63 72 6f 20 63 mode.also.fontifies.Dash.macro.c
5ca40 61 6c 6c 73 2e 0a 0a 54 6f 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 6e 61 62 6c 65 20 74 alls...To.automatically.enable.t
5ca60 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 69 6e 20 61 6c 6c 20 45 6d 61 63 73 20 4c 69 73 70 20 he.minor.mode.in.all.Emacs.Lisp.
5ca80 62 75 66 66 65 72 73 2c 20 6a 75 73 74 0a 63 61 6c 6c 20 69 74 73 20 61 75 74 6f 6c 6f 61 64 65 buffers,.just.call.its.autoloade
5caa0 64 20 67 6c 6f 62 61 6c 20 63 6f 75 6e 74 65 72 70 61 72 74 20 60 67 6c 6f 62 61 6c 2d 64 61 73 d.global.counterpart.`global-das
5cac0 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 60 2c 0a 65 69 74 68 65 72 20 69 6e 74 65 72 61 63 74 h-fontify-mode`,.either.interact
5cae0 69 76 65 6c 79 20 6f 72 20 66 72 6f 6d 20 79 6f 75 72 20 60 75 73 65 72 2d 69 6e 69 74 2d 66 69 ively.or.from.your.`user-init-fi
5cb00 6c 65 60 3a 0a 0a 60 60 60 65 6c 0a 28 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 le`:..```el.(global-dash-fontify
5cb20 2d 6d 6f 64 65 29 0a 60 60 60 0a 0a 23 23 23 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b -mode).```..###.Info.symbol.look
5cb40 75 70 0a 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 up..While.editing.Elisp.files,.y
5cb60 6f 75 20 63 61 6e 20 75 73 65 20 60 43 2d 68 20 53 60 20 28 60 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 ou.can.use.`C-h.S`.(`info-lookup
5cb80 2d 73 79 6d 62 6f 6c 60 29 0a 74 6f 20 6c 6f 6f 6b 20 75 70 20 45 6c 69 73 70 20 73 79 6d 62 6f -symbol`).to.look.up.Elisp.symbo
5cba0 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 75 61 6c 73 20 ls.in.the.relevant.Info.manuals.
5cbc0 28 73 65 65 20 5b 60 28 65 6d 61 63 73 29 0a 49 6e 66 6f 0a 4c 6f 6f 6b 75 70 60 5d 28 68 74 74 (see.[`(emacs).Info.Lookup`](htt
5cbe0 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 ps://gnu.org/software/emacs/manu
5cc00 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6d 61 63 73 2f 49 6e 66 6f 2d 4c 6f 6f 6b 75 70 2e 68 al/html_node/emacs/Info-Lookup.h
5cc20 74 6d 6c 29 29 2e 0a 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 tml))..To.enable.the.same.for.Da
5cc40 73 68 20 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 60 64 61 73 sh.symbols,.use.the.command.`das
5cc60 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 60 2e 20 20 49 74 20 63 61 6e h-register-info-lookup`...It.can
5cc80 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 2c .be.called.directly.when.needed,
5cca0 0a 6f 72 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 79 6f 75 72 20 60 75 73 65 .or.automatically.from.your.`use
5ccc0 72 2d 69 6e 69 74 2d 66 69 6c 65 60 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 60 60 60 r-init-file`...For.example:..```
5cce0 65 6c 0a 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 66 6f 2d 6c el.(with-eval-after-load.'info-l
5cd00 6f 6f 6b 0a 20 20 28 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 ook...(dash-register-info-lookup
5cd20 29 29 0a 60 60 60 0a 0a 23 23 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 41 6c 6c 20 66 75 6e 63 74 69 )).```..##.Functions..All.functi
5cd40 6f 6e 73 20 61 6e 64 20 63 6f 6e 73 74 72 75 63 74 73 20 69 6e 20 74 68 65 20 6c 69 62 72 61 72 ons.and.constructs.in.the.librar
5cd60 79 20 75 73 65 20 61 20 64 61 73 68 20 28 60 2d 60 29 20 70 72 65 66 69 78 2e 0a 0a 54 68 65 20 y.use.a.dash.(`-`).prefix...The.
5cd80 6c 69 62 72 61 72 79 20 61 6c 73 6f 20 70 72 6f 76 69 64 65 73 20 61 6e 61 70 68 6f 72 69 63 20 library.also.provides.anaphoric.
5cda0 6d 61 63 72 6f 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 65 72 macro.versions.of.functions.wher
5cdc0 65 0a 74 68 61 74 20 6d 61 6b 65 73 20 73 65 6e 73 65 2e 20 20 54 68 65 20 6e 61 6d 65 73 20 6f e.that.makes.sense...The.names.o
5cde0 66 20 74 68 65 73 65 20 6d 61 63 72 6f 73 20 61 72 65 20 70 72 65 66 69 78 65 64 20 77 69 74 68 f.these.macros.are.prefixed.with
5ce00 20 74 77 6f 0a 64 61 73 68 65 73 20 28 60 2d 2d 60 29 20 69 6e 73 74 65 61 64 20 6f 66 20 6f 6e .two.dashes.(`--`).instead.of.on
5ce20 65 2e 0a 0a 57 68 69 6c 65 20 60 2d 6d 61 70 60 20 61 70 70 6c 69 65 73 20 61 20 66 75 6e 63 74 e...While.`-map`.applies.a.funct
5ce40 69 6f 6e 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 61 20 6c 69 73 74 2c 20 69 ion.to.each.element.of.a.list,.i
5ce60 74 73 0a 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 60 2d 2d 6d 61 70 60 ts.anaphoric.counterpart.`--map`
5ce80 20 65 76 61 6c 75 61 74 65 73 20 61 20 66 6f 72 6d 20 77 69 74 68 20 74 68 65 20 6c 6f 63 61 6c .evaluates.a.form.with.the.local
5cea0 20 76 61 72 69 61 62 6c 65 0a 60 69 74 60 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 62 6f 75 6e 64 .variable.`it`.temporarily.bound
5cec0 20 74 6f 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 20 69 6e 73 .to.the.current.list.element.ins
5cee0 74 65 61 64 2e 20 20 46 6f 72 0a 65 78 61 6d 70 6c 65 3a 0a 0a 60 60 60 65 6c 0a 28 2d 6d 61 70 tead...For.example:..```el.(-map
5cf00 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 2a 20 6e 20 6e 29 29 20 27 28 31 20 32 20 33 20 34 29 .(lambda.(n).(*.n.n)).'(1.2.3.4)
5cf20 29 20 3b 20 4e 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e 2e 0a 28 2d 2d 6d 61 70 20 28 2a 20 69 74 ).;.Normal.version..(--map.(*.it
5cf40 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 20 20 20 20 20 20 20 20 20 20 20 3b 20 41 6e 61 .it).'(1.2.3.4))...........;.Ana
5cf60 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 2e 0a 60 60 60 0a 0a 54 68 65 20 6e 6f 72 6d 61 6c 20 phoric.version..```..The.normal.
5cf80 76 65 72 73 69 6f 6e 20 63 61 6e 20 6f 66 20 63 6f 75 72 73 65 20 61 6c 73 6f 20 62 65 20 77 72 version.can.of.course.also.be.wr
5cfa0 69 74 74 65 6e 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 60 60 60 65 6c 0a 28 64 65 66 75 6e 20 itten.as.follows:..```el.(defun.
5cfc0 6d 79 2d 73 71 75 61 72 65 20 28 6e 29 0a 20 20 22 52 65 74 75 72 6e 20 4e 20 6d 75 6c 74 69 70 my-square.(n)..."Return.N.multip
5cfe0 6c 69 65 64 20 62 79 20 69 74 73 65 6c 66 2e 22 0a 20 20 28 2a 20 6e 20 6e 29 29 0a 0a 28 2d 6d lied.by.itself."...(*.n.n))..(-m
5d000 61 70 20 23 27 6d 79 2d 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 0a 60 60 60 0a 0a ap.#'my-square.'(1.2.3.4)).```..
5d020 54 68 69 73 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 74 68 65 20 75 74 69 6c 69 74 79 20 6f 66 This.demonstrates.the.utility.of
5d040 20 62 6f 74 68 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 23 23 23 20 4d 61 70 73 0a 0a 46 75 6e 63 74 .both.versions...###.Maps..Funct
5d060 69 6f 6e 73 20 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 ions.in.this.category.take.a.tra
5d080 6e 73 66 6f 72 6d 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2c 20 77 68 69 63 68 0a 69 73 20 74 68 65 nsforming.function,.which.is.the
5d0a0 6e 20 61 70 70 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 n.applied.sequentially.to.each.o
5d0c0 72 20 73 65 6c 65 63 74 65 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 0a 69 6e 70 75 74 r.selected.elements.of.the.input
5d0e0 20 6c 69 73 74 2e 20 20 54 68 65 20 72 65 73 75 6c 74 73 20 61 72 65 20 63 6f 6c 6c 65 63 74 65 .list...The.results.are.collecte
5d100 64 20 69 6e 20 6f 72 64 65 72 20 61 6e 64 20 72 65 74 75 72 6e 65 64 20 61 73 20 61 0a 6e 65 77 d.in.order.and.returned.as.a.new
5d120 20 6c 69 73 74 2e 0a 0a 2a 20 5b 60 2d 6d 61 70 60 5d 28 23 2d 6d 61 70 2d 66 6e 2d 6c 69 73 74 .list...*.[`-map`](#-map-fn-list
5d140 29 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6d 61 70 2d 77 68 65 6e 60 5d 28 23 2d ).`(fn.list)`.*.[`-map-when`](#-
5d160 6d 61 70 2d 77 68 65 6e 2d 70 72 65 64 2d 72 65 70 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 72 map-when-pred-rep-list).`(pred.r
5d180 65 70 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6d 61 70 2d 66 69 72 73 74 60 5d 28 23 2d 6d 61 70 ep.list)`.*.[`-map-first`](#-map
5d1a0 2d 66 69 72 73 74 2d 70 72 65 64 2d 72 65 70 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 72 65 70 -first-pred-rep-list).`(pred.rep
5d1c0 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6d 61 70 2d 6c 61 73 74 60 5d 28 23 2d 6d 61 70 2d 6c 61 .list)`.*.[`-map-last`](#-map-la
5d1e0 73 74 2d 70 72 65 64 2d 72 65 70 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 72 65 70 20 6c 69 73 st-pred-rep-list).`(pred.rep.lis
5d200 74 29 60 0a 2a 20 5b 60 2d 6d 61 70 2d 69 6e 64 65 78 65 64 60 5d 28 23 2d 6d 61 70 2d 69 6e 64 t)`.*.[`-map-indexed`](#-map-ind
5d220 65 78 65 64 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 61 exed-fn-list).`(fn.list)`.*.[`-a
5d240 6e 6e 6f 74 61 74 65 60 5d 28 23 2d 61 6e 6e 6f 74 61 74 65 2d 66 6e 2d 6c 69 73 74 29 20 60 28 nnotate`](#-annotate-fn-list).`(
5d260 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 70 6c 69 63 65 60 5d 28 23 2d 73 70 6c 69 63 65 fn.list)`.*.[`-splice`](#-splice
5d280 2d 70 72 65 64 2d 66 75 6e 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 66 75 6e 20 6c 69 73 74 29 -pred-fun-list).`(pred.fun.list)
5d2a0 60 0a 2a 20 5b 60 2d 73 70 6c 69 63 65 2d 6c 69 73 74 60 5d 28 23 2d 73 70 6c 69 63 65 2d 6c 69 `.*.[`-splice-list`](#-splice-li
5d2c0 73 74 2d 70 72 65 64 2d 6e 65 77 2d 6c 69 73 74 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6e 65 st-pred-new-list-list).`(pred.ne
5d2e0 77 2d 6c 69 73 74 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6d 61 70 63 61 74 60 5d 28 23 2d 6d 61 w-list.list)`.*.[`-mapcat`](#-ma
5d300 70 63 61 74 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 63 pcat-fn-list).`(fn.list)`.*.[`-c
5d320 6f 70 79 60 5d 28 23 2d 63 6f 70 79 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 0a 23 23 23 opy`](#-copy-list).`(list)`..###
5d340 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 72 65 .Sublist.selection..Functions.re
5d360 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 6f 72 69 67 69 6e 61 turning.a.sublist.of.the.origina
5d380 6c 20 6c 69 73 74 2e 0a 0a 2a 20 5b 60 2d 66 69 6c 74 65 72 60 5d 28 23 2d 66 69 6c 74 65 72 2d l.list...*.[`-filter`](#-filter-
5d3a0 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 pred-list).`(pred.list)`.*.[`-re
5d3c0 6d 6f 76 65 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 move`](#-remove-pred-list).`(pre
5d3e0 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 60 5d 28 23 2d 72 d.list)`.*.[`-remove-first`](#-r
5d400 65 6d 6f 76 65 2d 66 69 72 73 74 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 emove-first-pred-list).`(pred.li
5d420 73 74 29 60 0a 2a 20 5b 60 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 60 5d 28 23 2d 72 65 6d 6f 76 65 st)`.*.[`-remove-last`](#-remove
5d440 2d 6c 61 73 74 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a -last-pred-list).`(pred.list)`.*
5d460 20 5b 60 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 2d .[`-remove-item`](#-remove-item-
5d480 69 74 65 6d 2d 6c 69 73 74 29 20 60 28 69 74 65 6d 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6e 6f item-list).`(item.list)`.*.[`-no
5d4a0 6e 2d 6e 69 6c 60 5d 28 23 2d 6e 6f 6e 2d 6e 69 6c 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 n-nil`](#-non-nil-list).`(list)`
5d4c0 0a 2a 20 5b 60 2d 73 6c 69 63 65 60 5d 28 23 2d 73 6c 69 63 65 2d 6c 69 73 74 2d 66 72 6f 6d 2d .*.[`-slice`](#-slice-list-from-
5d4e0 6f 70 74 69 6f 6e 61 6c 2d 74 6f 2d 73 74 65 70 29 20 60 28 6c 69 73 74 20 66 72 6f 6d 20 26 6f optional-to-step).`(list.from.&o
5d500 70 74 69 6f 6e 61 6c 20 74 6f 20 73 74 65 70 29 60 0a 2a 20 5b 60 2d 74 61 6b 65 60 5d 28 23 2d ptional.to.step)`.*.[`-take`](#-
5d520 74 61 6b 65 2d 6e 2d 6c 69 73 74 29 20 60 28 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 74 61 6b take-n-list).`(n.list)`.*.[`-tak
5d540 65 2d 6c 61 73 74 60 5d 28 23 2d 74 61 6b 65 2d 6c 61 73 74 2d 6e 2d 6c 69 73 74 29 20 60 28 6e e-last`](#-take-last-n-list).`(n
5d560 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 64 72 6f 70 60 5d 28 23 2d 64 72 6f 70 2d 6e 2d 6c 69 73 .list)`.*.[`-drop`](#-drop-n-lis
5d580 74 29 20 60 28 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 64 72 6f 70 2d 6c 61 73 74 60 5d 28 23 t).`(n.list)`.*.[`-drop-last`](#
5d5a0 2d 64 72 6f 70 2d 6c 61 73 74 2d 6e 2d 6c 69 73 74 29 20 60 28 6e 20 6c 69 73 74 29 60 0a 2a 20 -drop-last-n-list).`(n.list)`.*.
5d5c0 5b 60 2d 74 61 6b 65 2d 77 68 69 6c 65 60 5d 28 23 2d 74 61 6b 65 2d 77 68 69 6c 65 2d 70 72 65 [`-take-while`](#-take-while-pre
5d5e0 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 64 72 6f 70 2d d-list).`(pred.list)`.*.[`-drop-
5d600 77 68 69 6c 65 60 5d 28 23 2d 64 72 6f 70 2d 77 68 69 6c 65 2d 70 72 65 64 2d 6c 69 73 74 29 20 while`](#-drop-while-pred-list).
5d620 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 `(pred.list)`.*.[`-select-by-ind
5d640 69 63 65 73 60 5d 28 23 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 2d 69 6e 64 69 63 ices`](#-select-by-indices-indic
5d660 65 73 2d 6c 69 73 74 29 20 60 28 69 6e 64 69 63 65 73 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 es-list).`(indices.list)`.*.[`-s
5d680 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 60 5d 28 23 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 elect-columns`](#-select-columns
5d6a0 2d 63 6f 6c 75 6d 6e 73 2d 74 61 62 6c 65 29 20 60 28 63 6f 6c 75 6d 6e 73 20 74 61 62 6c 65 29 -columns-table).`(columns.table)
5d6c0 60 0a 2a 20 5b 60 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 60 5d 28 23 2d 73 65 6c 65 63 74 2d `.*.[`-select-column`](#-select-
5d6e0 63 6f 6c 75 6d 6e 2d 63 6f 6c 75 6d 6e 2d 74 61 62 6c 65 29 20 60 28 63 6f 6c 75 6d 6e 20 74 61 column-column-table).`(column.ta
5d700 62 6c 65 29 60 0a 0a 23 23 23 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 0a 0a 46 75 6e 63 74 69 6f ble)`..###.List.to.list..Functio
5d720 6e 73 20 72 65 74 75 72 6e 69 6e 67 20 61 20 6d 6f 64 69 66 69 65 64 20 63 6f 70 79 20 6f 66 20 ns.returning.a.modified.copy.of.
5d740 74 68 65 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 2a 20 5b 60 2d 6b 65 65 70 60 5d 28 23 2d 6b the.input.list...*.[`-keep`](#-k
5d760 65 65 70 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 63 6f eep-fn-list).`(fn.list)`.*.[`-co
5d780 6e 63 61 74 60 5d 28 23 2d 63 6f 6e 63 61 74 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 26 72 ncat`](#-concat-rest-lists).`(&r
5d7a0 65 73 74 20 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 66 6c 61 74 74 65 6e 60 5d 28 23 2d 66 6c 61 est.lists)`.*.[`-flatten`](#-fla
5d7c0 74 74 65 6e 2d 6c 29 20 60 28 6c 29 60 0a 2a 20 5b 60 2d 66 6c 61 74 74 65 6e 2d 6e 60 5d 28 23 tten-l).`(l)`.*.[`-flatten-n`](#
5d7e0 2d 66 6c 61 74 74 65 6e 2d 6e 2d 6e 75 6d 2d 6c 69 73 74 29 20 60 28 6e 75 6d 20 6c 69 73 74 29 -flatten-n-num-list).`(num.list)
5d800 60 0a 2a 20 5b 60 2d 72 65 70 6c 61 63 65 60 5d 28 23 2d 72 65 70 6c 61 63 65 2d 6f 6c 64 2d 6e `.*.[`-replace`](#-replace-old-n
5d820 65 77 2d 6c 69 73 74 29 20 60 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 ew-list).`(old.new.list)`.*.[`-r
5d840 65 70 6c 61 63 65 2d 66 69 72 73 74 60 5d 28 23 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 2d 6f eplace-first`](#-replace-first-o
5d860 6c 64 2d 6e 65 77 2d 6c 69 73 74 29 20 60 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 60 0a 2a 20 ld-new-list).`(old.new.list)`.*.
5d880 5b 60 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 60 5d 28 23 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 [`-replace-last`](#-replace-last
5d8a0 2d 6f 6c 64 2d 6e 65 77 2d 6c 69 73 74 29 20 60 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 60 0a -old-new-list).`(old.new.list)`.
5d8c0 2a 20 5b 60 2d 69 6e 73 65 72 74 2d 61 74 60 5d 28 23 2d 69 6e 73 65 72 74 2d 61 74 2d 6e 2d 78 *.[`-insert-at`](#-insert-at-n-x
5d8e0 2d 6c 69 73 74 29 20 60 28 6e 20 78 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 70 6c 61 63 65 -list).`(n.x.list)`.*.[`-replace
5d900 2d 61 74 60 5d 28 23 2d 72 65 70 6c 61 63 65 2d 61 74 2d 6e 2d 78 2d 6c 69 73 74 29 20 60 28 6e -at`](#-replace-at-n-x-list).`(n
5d920 20 78 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 75 70 64 61 74 65 2d 61 74 60 5d 28 23 2d 75 70 64 .x.list)`.*.[`-update-at`](#-upd
5d940 61 74 65 2d 61 74 2d 6e 2d 66 75 6e 63 2d 6c 69 73 74 29 20 60 28 6e 20 66 75 6e 63 20 6c 69 73 ate-at-n-func-list).`(n.func.lis
5d960 74 29 60 0a 2a 20 5b 60 2d 72 65 6d 6f 76 65 2d 61 74 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 61 74 t)`.*.[`-remove-at`](#-remove-at
5d980 2d 6e 2d 6c 69 73 74 29 20 60 28 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 6d 6f 76 65 2d -n-list).`(n.list)`.*.[`-remove-
5d9a0 61 74 2d 69 6e 64 69 63 65 73 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 at-indices`](#-remove-at-indices
5d9c0 2d 69 6e 64 69 63 65 73 2d 6c 69 73 74 29 20 60 28 69 6e 64 69 63 65 73 20 6c 69 73 74 29 60 0a -indices-list).`(indices.list)`.
5d9e0 0a 23 23 23 20 52 65 64 75 63 74 69 6f 6e 73 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 72 65 64 75 63 .###.Reductions..Functions.reduc
5da00 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 20 28 77 68 69 ing.lists.to.a.single.value.(whi
5da20 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 2a 20 5b 60 2d 72 65 ch.may.also.be.a.list)...*.[`-re
5da40 64 75 63 65 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 65 2d 66 72 6f 6d 2d 66 6e 2d 69 6e 69 duce-from`](#-reduce-from-fn-ini
5da60 74 2d 6c 69 73 74 29 20 60 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 t-list).`(fn.init.list)`.*.[`-re
5da80 64 75 63 65 2d 72 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 2d 66 6e duce-r-from`](#-reduce-r-from-fn
5daa0 2d 69 6e 69 74 2d 6c 69 73 74 29 20 60 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 60 0a 2a 20 5b -init-list).`(fn.init.list)`.*.[
5dac0 60 2d 72 65 64 75 63 65 60 5d 28 23 2d 72 65 64 75 63 65 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 `-reduce`](#-reduce-fn-list).`(f
5dae0 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 64 75 63 65 2d 72 60 5d 28 23 2d 72 65 64 75 63 n.list)`.*.[`-reduce-r`](#-reduc
5db00 65 2d 72 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 e-r-fn-list).`(fn.list)`.*.[`-re
5db20 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f ductions-from`](#-reductions-fro
5db40 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 60 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 60 m-fn-init-list).`(fn.init.list)`
5db60 0a 2a 20 5b 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 .*.[`-reductions-r-from`](#-redu
5db80 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 60 28 66 6e ctions-r-from-fn-init-list).`(fn
5dba0 20 69 6e 69 74 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 65 64 75 63 74 69 6f 6e 73 60 5d 28 23 .init.list)`.*.[`-reductions`](#
5dbc0 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 -reductions-fn-list).`(fn.list)`
5dbe0 0a 2a 20 5b 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e .*.[`-reductions-r`](#-reduction
5dc00 73 2d 72 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 63 6f s-r-fn-list).`(fn.list)`.*.[`-co
5dc20 75 6e 74 60 5d 28 23 2d 63 6f 75 6e 74 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 unt`](#-count-pred-list).`(pred.
5dc40 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 75 6d 60 5d 28 23 2d 73 75 6d 2d 6c 69 73 74 29 20 60 28 list)`.*.[`-sum`](#-sum-list).`(
5dc60 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 60 5d 28 23 2d 72 75 6e 6e list)`.*.[`-running-sum`](#-runn
5dc80 69 6e 67 2d 73 75 6d 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 70 72 6f 64 ing-sum-list).`(list)`.*.[`-prod
5dca0 75 63 74 60 5d 28 23 2d 70 72 6f 64 75 63 74 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a uct`](#-product-list).`(list)`.*
5dcc0 20 5b 60 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 60 5d 28 23 2d 72 75 6e 6e 69 6e 67 2d .[`-running-product`](#-running-
5dce0 70 72 6f 64 75 63 74 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 69 6e 69 74 product-list).`(list)`.*.[`-init
5dd00 73 60 5d 28 23 2d 69 6e 69 74 73 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d s`](#-inits-list).`(list)`.*.[`-
5dd20 74 61 69 6c 73 60 5d 28 23 2d 74 61 69 6c 73 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a tails`](#-tails-list).`(list)`.*
5dd40 20 5b 60 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 60 5d 28 23 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 .[`-common-prefix`](#-common-pre
5dd60 66 69 78 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a fix-rest-lists).`(&rest.lists)`.
5dd80 2a 20 5b 60 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 60 5d 28 23 2d 63 6f 6d 6d 6f 6e 2d 73 75 *.[`-common-suffix`](#-common-su
5dda0 66 66 69 78 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 26 72 65 73 74 20 6c 69 73 74 73 29 60 ffix-rest-lists).`(&rest.lists)`
5ddc0 0a 2a 20 5b 60 2d 6d 69 6e 60 5d 28 23 2d 6d 69 6e 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 .*.[`-min`](#-min-list).`(list)`
5dde0 0a 2a 20 5b 60 2d 6d 69 6e 2d 62 79 60 5d 28 23 2d 6d 69 6e 2d 62 79 2d 63 6f 6d 70 61 72 61 74 .*.[`-min-by`](#-min-by-comparat
5de00 6f 72 2d 6c 69 73 74 29 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 2a 20 5b or-list).`(comparator.list)`.*.[
5de20 60 2d 6d 61 78 60 5d 28 23 2d 6d 61 78 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b `-max`](#-max-list).`(list)`.*.[
5de40 60 2d 6d 61 78 2d 62 79 60 5d 28 23 2d 6d 61 78 2d 62 79 2d 63 6f 6d 70 61 72 61 74 6f 72 2d 6c `-max-by`](#-max-by-comparator-l
5de60 69 73 74 29 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 0a 23 23 23 20 55 6e ist).`(comparator.list)`..###.Un
5de80 66 6f 6c 64 69 6e 67 0a 0a 4f 70 65 72 61 74 69 6f 6e 73 20 64 75 61 6c 20 74 6f 20 72 65 64 75 folding..Operations.dual.to.redu
5dea0 63 74 69 6f 6e 73 2c 20 62 75 69 6c 64 69 6e 67 20 6c 69 73 74 73 20 66 72 6f 6d 20 61 20 73 65 ctions,.building.lists.from.a.se
5dec0 65 64 0a 76 61 6c 75 65 20 72 61 74 68 65 72 20 74 68 61 6e 20 63 6f 6e 73 75 6d 69 6e 67 20 61 ed.value.rather.than.consuming.a
5dee0 20 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 2e .list.to.produce.a.single.value.
5df00 0a 0a 2a 20 5b 60 2d 69 74 65 72 61 74 65 60 5d 28 23 2d 69 74 65 72 61 74 65 2d 66 75 6e 2d 69 ..*.[`-iterate`](#-iterate-fun-i
5df20 6e 69 74 2d 6e 29 20 60 28 66 75 6e 20 69 6e 69 74 20 6e 29 60 0a 2a 20 5b 60 2d 75 6e 66 6f 6c nit-n).`(fun.init.n)`.*.[`-unfol
5df40 64 60 5d 28 23 2d 75 6e 66 6f 6c 64 2d 66 75 6e 2d 73 65 65 64 29 20 60 28 66 75 6e 20 73 65 65 d`](#-unfold-fun-seed).`(fun.see
5df60 64 29 60 0a 0a 23 23 23 20 50 72 65 64 69 63 61 74 65 73 0a 0a 52 65 64 75 63 74 69 6f 6e 73 20 d)`..###.Predicates..Reductions.
5df80 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 62 6f 6f 6c 65 61 of.one.or.more.lists.to.a.boolea
5dfa0 6e 20 76 61 6c 75 65 2e 0a 0a 2a 20 5b 60 2d 73 6f 6d 65 60 5d 28 23 2d 73 6f 6d 65 2d 70 72 65 n.value...*.[`-some`](#-some-pre
5dfc0 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 65 76 65 72 79 d-list).`(pred.list)`.*.[`-every
5dfe0 60 5d 28 23 2d 65 76 65 72 79 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 `](#-every-pred-list).`(pred.lis
5e000 74 29 60 0a 2a 20 5b 60 2d 61 6e 79 3f 60 5d 28 23 2d 61 6e 79 2d 70 72 65 64 2d 6c 69 73 74 29 t)`.*.[`-any?`](#-any-pred-list)
5e020 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 61 6c 6c 3f 60 5d 28 23 2d 61 6c 6c .`(pred.list)`.*.[`-all?`](#-all
5e040 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6e -pred-list).`(pred.list)`.*.[`-n
5e060 6f 6e 65 3f 60 5d 28 23 2d 6e 6f 6e 65 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 one?`](#-none-pred-list).`(pred.
5e080 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 60 5d 28 23 2d 6f 6e 6c 79 2d list)`.*.[`-only-some?`](#-only-
5e0a0 73 6f 6d 65 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 some-pred-list).`(pred.list)`.*.
5e0c0 5b 60 2d 63 6f 6e 74 61 69 6e 73 3f 60 5d 28 23 2d 63 6f 6e 74 61 69 6e 73 2d 6c 69 73 74 2d 65 [`-contains?`](#-contains-list-e
5e0e0 6c 65 6d 65 6e 74 29 20 60 28 6c 69 73 74 20 65 6c 65 6d 65 6e 74 29 60 0a 2a 20 5b 60 2d 73 61 lement).`(list.element)`.*.[`-sa
5e100 6d 65 2d 69 74 65 6d 73 3f 60 5d 28 23 2d 73 61 6d 65 2d 69 74 65 6d 73 2d 6c 69 73 74 2d 6c 69 me-items?`](#-same-items-list-li
5e120 73 74 32 29 20 60 28 6c 69 73 74 20 6c 69 73 74 32 29 60 0a 2a 20 5b 60 2d 69 73 2d 70 72 65 66 st2).`(list.list2)`.*.[`-is-pref
5e140 69 78 3f 60 5d 28 23 2d 69 73 2d 70 72 65 66 69 78 2d 70 72 65 66 69 78 2d 6c 69 73 74 29 20 60 ix?`](#-is-prefix-prefix-list).`
5e160 28 70 72 65 66 69 78 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 69 73 2d 73 75 66 66 69 78 3f 60 5d (prefix.list)`.*.[`-is-suffix?`]
5e180 28 23 2d 69 73 2d 73 75 66 66 69 78 2d 73 75 66 66 69 78 2d 6c 69 73 74 29 20 60 28 73 75 66 66 (#-is-suffix-suffix-list).`(suff
5e1a0 69 78 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 69 73 2d 69 6e 66 69 78 3f 60 5d 28 23 2d 69 73 2d ix.list)`.*.[`-is-infix?`](#-is-
5e1c0 69 6e 66 69 78 2d 69 6e 66 69 78 2d 6c 69 73 74 29 20 60 28 69 6e 66 69 78 20 6c 69 73 74 29 60 infix-infix-list).`(infix.list)`
5e1e0 0a 2a 20 5b 60 2d 63 6f 6e 73 2d 70 61 69 72 3f 60 5d 28 23 2d 63 6f 6e 73 2d 70 61 69 72 2d 6f .*.[`-cons-pair?`](#-cons-pair-o
5e200 62 6a 29 20 60 28 6f 62 6a 29 60 0a 0a 23 23 23 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 0a 0a 46 bj).`(obj)`..###.Partitioning..F
5e220 75 6e 63 74 69 6f 6e 73 20 70 61 72 74 69 74 69 6f 6e 69 6e 67 20 74 68 65 20 69 6e 70 75 74 20 unctions.partitioning.the.input.
5e240 6c 69 73 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 2e 0a 0a 2a 20 5b 60 list.into.a.list.of.lists...*.[`
5e260 2d 73 70 6c 69 74 2d 61 74 60 5d 28 23 2d 73 70 6c 69 74 2d 61 74 2d 6e 2d 6c 69 73 74 29 20 60 -split-at`](#-split-at-n-list).`
5e280 28 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 70 6c 69 74 2d 77 69 74 68 60 5d 28 23 2d 73 70 (n.list)`.*.[`-split-with`](#-sp
5e2a0 6c 69 74 2d 77 69 74 68 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 lit-with-pred-list).`(pred.list)
5e2c0 60 0a 2a 20 5b 60 2d 73 70 6c 69 74 2d 6f 6e 60 5d 28 23 2d 73 70 6c 69 74 2d 6f 6e 2d 69 74 65 `.*.[`-split-on`](#-split-on-ite
5e2e0 6d 2d 6c 69 73 74 29 20 60 28 69 74 65 6d 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 70 6c 69 74 m-list).`(item.list)`.*.[`-split
5e300 2d 77 68 65 6e 60 5d 28 23 2d 73 70 6c 69 74 2d 77 68 65 6e 2d 66 6e 2d 6c 69 73 74 29 20 60 28 -when`](#-split-when-fn-list).`(
5e320 66 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 65 70 61 72 61 74 65 60 5d 28 23 2d 73 65 70 61 fn.list)`.*.[`-separate`](#-sepa
5e340 72 61 74 65 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 rate-pred-list).`(pred.list)`.*.
5e360 5b 60 2d 70 61 72 74 69 74 69 6f 6e 60 5d 28 23 2d 70 61 72 74 69 74 69 6f 6e 2d 6e 2d 6c 69 73 [`-partition`](#-partition-n-lis
5e380 74 29 20 60 28 6e 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c t).`(n.list)`.*.[`-partition-all
5e3a0 60 5d 28 23 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 6e 2d 6c 69 73 74 29 20 60 28 6e 20 6c `](#-partition-all-n-list).`(n.l
5e3c0 69 73 74 29 60 0a 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 60 5d 28 ist)`.*.[`-partition-in-steps`](
5e3e0 23 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 2d 6e 2d 73 74 65 70 2d 6c 69 73 74 #-partition-in-steps-n-step-list
5e400 29 20 60 28 6e 20 73 74 65 70 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e ).`(n.step.list)`.*.[`-partition
5e420 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 60 5d 28 23 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d -all-in-steps`](#-partition-all-
5e440 69 6e 2d 73 74 65 70 73 2d 6e 2d 73 74 65 70 2d 6c 69 73 74 29 20 60 28 6e 20 73 74 65 70 20 6c in-steps-n-step-list).`(n.step.l
5e460 69 73 74 29 60 0a 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 60 5d 28 23 2d 70 61 72 74 ist)`.*.[`-partition-by`](#-part
5e480 69 74 69 6f 6e 2d 62 79 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 2a 20 ition-by-fn-list).`(fn.list)`.*.
5e4a0 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 60 5d 28 23 2d 70 61 72 74 69 [`-partition-by-header`](#-parti
5e4c0 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 tion-by-header-fn-list).`(fn.lis
5e4e0 74 29 60 0a 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 60 5d 28 t)`.*.[`-partition-after-pred`](
5e500 23 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 2d 70 72 65 64 2d 6c 69 73 74 #-partition-after-pred-pred-list
5e520 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 ).`(pred.list)`.*.[`-partition-b
5e540 65 66 6f 72 65 2d 70 72 65 64 60 5d 28 23 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d efore-pred`](#-partition-before-
5e560 70 72 65 64 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 pred-pred-list).`(pred.list)`.*.
5e580 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 60 5d 28 23 2d 70 61 72 [`-partition-before-item`](#-par
5e5a0 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 2d 69 74 65 6d 2d 6c 69 73 74 29 20 60 28 tition-before-item-item-list).`(
5e5c0 69 74 65 6d 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 item.list)`.*.[`-partition-after
5e5e0 2d 69 74 65 6d 60 5d 28 23 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 2d 69 -item`](#-partition-after-item-i
5e600 74 65 6d 2d 6c 69 73 74 29 20 60 28 69 74 65 6d 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 67 72 6f tem-list).`(item.list)`.*.[`-gro
5e620 75 70 2d 62 79 60 5d 28 23 2d 67 72 6f 75 70 2d 62 79 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e up-by`](#-group-by-fn-list).`(fn
5e640 20 6c 69 73 74 29 60 0a 0a 23 23 23 20 49 6e 64 65 78 69 6e 67 0a 0a 46 75 6e 63 74 69 6f 6e 73 .list)`..###.Indexing..Functions
5e660 20 72 65 74 72 69 65 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 .retrieving.or.sorting.based.on.
5e680 6c 69 73 74 20 69 6e 64 69 63 65 73 20 61 6e 64 0a 72 65 6c 61 74 65 64 20 70 72 65 64 69 63 61 list.indices.and.related.predica
5e6a0 74 65 73 2e 0a 0a 2a 20 5b 60 2d 65 6c 65 6d 2d 69 6e 64 65 78 60 5d 28 23 2d 65 6c 65 6d 2d 69 tes...*.[`-elem-index`](#-elem-i
5e6c0 6e 64 65 78 2d 65 6c 65 6d 2d 6c 69 73 74 29 20 60 28 65 6c 65 6d 20 6c 69 73 74 29 60 0a 2a 20 ndex-elem-list).`(elem.list)`.*.
5e6e0 5b 60 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 60 5d 28 23 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 [`-elem-indices`](#-elem-indices
5e700 2d 65 6c 65 6d 2d 6c 69 73 74 29 20 60 28 65 6c 65 6d 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 66 -elem-list).`(elem.list)`.*.[`-f
5e720 69 6e 64 2d 69 6e 64 65 78 60 5d 28 23 2d 66 69 6e 64 2d 69 6e 64 65 78 2d 70 72 65 64 2d 6c 69 ind-index`](#-find-index-pred-li
5e740 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 66 69 6e 64 2d 6c 61 73 74 st).`(pred.list)`.*.[`-find-last
5e760 2d 69 6e 64 65 78 60 5d 28 23 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 2d 70 72 65 64 2d -index`](#-find-last-index-pred-
5e780 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 66 69 6e 64 2d 69 6e list).`(pred.list)`.*.[`-find-in
5e7a0 64 69 63 65 73 60 5d 28 23 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 2d 70 72 65 64 2d 6c 69 73 74 dices`](#-find-indices-pred-list
5e7c0 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 67 72 61 64 65 2d 75 70 60 5d 28 ).`(pred.list)`.*.[`-grade-up`](
5e7e0 23 2d 67 72 61 64 65 2d 75 70 2d 63 6f 6d 70 61 72 61 74 6f 72 2d 6c 69 73 74 29 20 60 28 63 6f #-grade-up-comparator-list).`(co
5e800 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 67 72 61 64 65 2d 64 6f 77 6e 60 mparator.list)`.*.[`-grade-down`
5e820 5d 28 23 2d 67 72 61 64 65 2d 64 6f 77 6e 2d 63 6f 6d 70 61 72 61 74 6f 72 2d 6c 69 73 74 29 20 ](#-grade-down-comparator-list).
5e840 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 0a 23 23 23 20 53 65 74 20 6f 70 65 `(comparator.list)`..###.Set.ope
5e860 72 61 74 69 6f 6e 73 0a 0a 4f 70 65 72 61 74 69 6f 6e 73 20 70 72 65 74 65 6e 64 69 6e 67 20 6c rations..Operations.pretending.l
5e880 69 73 74 73 20 61 72 65 20 73 65 74 73 2e 0a 0a 2a 20 5b 60 2d 75 6e 69 6f 6e 60 5d 28 23 2d 75 ists.are.sets...*.[`-union`](#-u
5e8a0 6e 69 6f 6e 2d 6c 69 73 74 2d 6c 69 73 74 32 29 20 60 28 6c 69 73 74 20 6c 69 73 74 32 29 60 0a nion-list-list2).`(list.list2)`.
5e8c0 2a 20 5b 60 2d 64 69 66 66 65 72 65 6e 63 65 60 5d 28 23 2d 64 69 66 66 65 72 65 6e 63 65 2d 6c *.[`-difference`](#-difference-l
5e8e0 69 73 74 2d 6c 69 73 74 32 29 20 60 28 6c 69 73 74 20 6c 69 73 74 32 29 60 0a 2a 20 5b 60 2d 69 ist-list2).`(list.list2)`.*.[`-i
5e900 6e 74 65 72 73 65 63 74 69 6f 6e 60 5d 28 23 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 2d 6c 69 73 ntersection`](#-intersection-lis
5e920 74 2d 6c 69 73 74 32 29 20 60 28 6c 69 73 74 20 6c 69 73 74 32 29 60 0a 2a 20 5b 60 2d 70 6f 77 t-list2).`(list.list2)`.*.[`-pow
5e940 65 72 73 65 74 60 5d 28 23 2d 70 6f 77 65 72 73 65 74 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 erset`](#-powerset-list).`(list)
5e960 60 0a 2a 20 5b 60 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 60 5d 28 23 2d 70 65 72 6d 75 74 61 74 `.*.[`-permutations`](#-permutat
5e980 69 6f 6e 73 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 64 69 73 74 69 6e 63 ions-list).`(list)`.*.[`-distinc
5e9a0 74 60 5d 28 23 2d 64 69 73 74 69 6e 63 74 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 0a 23 t`](#-distinct-list).`(list)`..#
5e9c0 23 23 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 4f 74 68 65 72 20 ##.Other.list.operations..Other.
5e9e0 6c 69 73 74 20 66 75 6e 63 74 69 6f 6e 73 20 6e 6f 74 20 66 69 74 20 74 6f 20 62 65 20 63 6c 61 list.functions.not.fit.to.be.cla
5ea00 73 73 69 66 69 65 64 20 65 6c 73 65 77 68 65 72 65 2e 0a 0a 2a 20 5b 60 2d 72 6f 74 61 74 65 60 ssified.elsewhere...*.[`-rotate`
5ea20 5d 28 23 2d 72 6f 74 61 74 65 2d 6e 2d 6c 69 73 74 29 20 60 28 6e 20 6c 69 73 74 29 60 0a 2a 20 ](#-rotate-n-list).`(n.list)`.*.
5ea40 5b 60 2d 72 65 70 65 61 74 60 5d 28 23 2d 72 65 70 65 61 74 2d 6e 2d 78 29 20 60 28 6e 20 78 29 [`-repeat`](#-repeat-n-x).`(n.x)
5ea60 60 0a 2a 20 5b 60 2d 63 6f 6e 73 2a 60 5d 28 23 2d 63 6f 6e 73 2d 72 65 73 74 2d 61 72 67 73 29 `.*.[`-cons*`](#-cons-rest-args)
5ea80 20 60 28 26 72 65 73 74 20 61 72 67 73 29 60 0a 2a 20 5b 60 2d 73 6e 6f 63 60 5d 28 23 2d 73 6e .`(&rest.args)`.*.[`-snoc`](#-sn
5eaa0 6f 63 2d 6c 69 73 74 2d 65 6c 65 6d 2d 72 65 73 74 2d 65 6c 65 6d 65 6e 74 73 29 20 60 28 6c 69 oc-list-elem-rest-elements).`(li
5eac0 73 74 20 65 6c 65 6d 20 26 72 65 73 74 20 65 6c 65 6d 65 6e 74 73 29 60 0a 2a 20 5b 60 2d 69 6e st.elem.&rest.elements)`.*.[`-in
5eae0 74 65 72 70 6f 73 65 60 5d 28 23 2d 69 6e 74 65 72 70 6f 73 65 2d 73 65 70 2d 6c 69 73 74 29 20 terpose`](#-interpose-sep-list).
5eb00 60 28 73 65 70 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 69 6e 74 65 72 6c 65 61 76 65 60 5d 28 23 `(sep.list)`.*.[`-interleave`](#
5eb20 2d 69 6e 74 65 72 6c 65 61 76 65 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 26 72 65 73 74 20 -interleave-rest-lists).`(&rest.
5eb40 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 69 6f 74 61 60 5d 28 23 2d 69 6f 74 61 2d 63 6f 75 6e 74 lists)`.*.[`-iota`](#-iota-count
5eb60 2d 6f 70 74 69 6f 6e 61 6c 2d 73 74 61 72 74 2d 73 74 65 70 29 20 60 28 63 6f 75 6e 74 20 26 6f -optional-start-step).`(count.&o
5eb80 70 74 69 6f 6e 61 6c 20 73 74 61 72 74 20 73 74 65 70 29 60 0a 2a 20 5b 60 2d 7a 69 70 2d 77 69 ptional.start.step)`.*.[`-zip-wi
5eba0 74 68 60 5d 28 23 2d 7a 69 70 2d 77 69 74 68 2d 66 6e 2d 6c 69 73 74 31 2d 6c 69 73 74 32 29 20 th`](#-zip-with-fn-list1-list2).
5ebc0 60 28 66 6e 20 6c 69 73 74 31 20 6c 69 73 74 32 29 60 0a 2a 20 5b 60 2d 7a 69 70 60 5d 28 23 2d `(fn.list1.list2)`.*.[`-zip`](#-
5ebe0 7a 69 70 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a zip-rest-lists).`(&rest.lists)`.
5ec00 2a 20 5b 60 2d 7a 69 70 2d 6c 69 73 74 73 60 5d 28 23 2d 7a 69 70 2d 6c 69 73 74 73 2d 72 65 73 *.[`-zip-lists`](#-zip-lists-res
5ec20 74 2d 6c 69 73 74 73 29 20 60 28 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 7a 69 t-lists).`(&rest.lists)`.*.[`-zi
5ec40 70 2d 66 69 6c 6c 60 5d 28 23 2d 7a 69 70 2d 66 69 6c 6c 2d 66 69 6c 6c 2d 76 61 6c 75 65 2d 72 p-fill`](#-zip-fill-fill-value-r
5ec60 65 73 74 2d 6c 69 73 74 73 29 20 60 28 66 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 73 74 20 6c 69 est-lists).`(fill-value.&rest.li
5ec80 73 74 73 29 60 0a 2a 20 5b 60 2d 75 6e 7a 69 70 60 5d 28 23 2d 75 6e 7a 69 70 2d 6c 69 73 74 73 sts)`.*.[`-unzip`](#-unzip-lists
5eca0 29 20 60 28 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 63 79 63 6c 65 60 5d 28 23 2d 63 79 63 6c 65 ).`(lists)`.*.[`-cycle`](#-cycle
5ecc0 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 70 61 64 60 5d 28 23 2d 70 61 64 -list).`(list)`.*.[`-pad`](#-pad
5ece0 2d 66 69 6c 6c 2d 76 61 6c 75 65 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 66 69 6c 6c 2d 76 -fill-value-rest-lists).`(fill-v
5ed00 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 74 61 62 6c 65 60 5d 28 alue.&rest.lists)`.*.[`-table`](
5ed20 23 2d 74 61 62 6c 65 2d 66 6e 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 66 6e 20 26 72 65 73 #-table-fn-rest-lists).`(fn.&res
5ed40 74 20 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 74 61 62 6c 65 2d 66 6c 61 74 60 5d 28 23 2d 74 61 t.lists)`.*.[`-table-flat`](#-ta
5ed60 62 6c 65 2d 66 6c 61 74 2d 66 6e 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 60 28 66 6e 20 26 72 65 ble-flat-fn-rest-lists).`(fn.&re
5ed80 73 74 20 6c 69 73 74 73 29 60 0a 2a 20 5b 60 2d 66 69 72 73 74 60 5d 28 23 2d 66 69 72 73 74 2d st.lists)`.*.[`-first`](#-first-
5eda0 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6c 61 pred-list).`(pred.list)`.*.[`-la
5edc0 73 74 60 5d 28 23 2d 6c 61 73 74 2d 70 72 65 64 2d 6c 69 73 74 29 20 60 28 70 72 65 64 20 6c 69 st`](#-last-pred-list).`(pred.li
5ede0 73 74 29 60 0a 2a 20 5b 60 2d 66 69 72 73 74 2d 69 74 65 6d 60 5d 28 23 2d 66 69 72 73 74 2d 69 st)`.*.[`-first-item`](#-first-i
5ee00 74 65 6d 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 73 65 63 6f 6e 64 2d 69 tem-list).`(list)`.*.[`-second-i
5ee20 74 65 6d 60 5d 28 23 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 tem`](#-second-item-list).`(list
5ee40 29 60 0a 2a 20 5b 60 2d 74 68 69 72 64 2d 69 74 65 6d 60 5d 28 23 2d 74 68 69 72 64 2d 69 74 65 )`.*.[`-third-item`](#-third-ite
5ee60 6d 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 66 6f 75 72 74 68 2d 69 74 65 m-list).`(list)`.*.[`-fourth-ite
5ee80 6d 60 5d 28 23 2d 66 6f 75 72 74 68 2d 69 74 65 6d 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 m`](#-fourth-item-list).`(list)`
5eea0 0a 2a 20 5b 60 2d 66 69 66 74 68 2d 69 74 65 6d 60 5d 28 23 2d 66 69 66 74 68 2d 69 74 65 6d 2d .*.[`-fifth-item`](#-fifth-item-
5eec0 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d 6c 61 73 74 2d 69 74 65 6d 60 5d 28 list).`(list)`.*.[`-last-item`](
5eee0 23 2d 6c 61 73 74 2d 69 74 65 6d 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a 2a 20 5b 60 2d #-last-item-list).`(list)`.*.[`-
5ef00 62 75 74 6c 61 73 74 60 5d 28 23 2d 62 75 74 6c 61 73 74 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 butlast`](#-butlast-list).`(list
5ef20 29 60 0a 2a 20 5b 60 2d 73 6f 72 74 60 5d 28 23 2d 73 6f 72 74 2d 63 6f 6d 70 61 72 61 74 6f 72 )`.*.[`-sort`](#-sort-comparator
5ef40 2d 6c 69 73 74 29 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 2a 20 5b 60 2d -list).`(comparator.list)`.*.[`-
5ef60 6c 69 73 74 60 5d 28 23 2d 6c 69 73 74 2d 61 72 67 29 20 60 28 61 72 67 29 60 0a 2a 20 5b 60 2d list`](#-list-arg).`(arg)`.*.[`-
5ef80 66 69 78 60 5d 28 23 2d 66 69 78 2d 66 6e 2d 6c 69 73 74 29 20 60 28 66 6e 20 6c 69 73 74 29 60 fix`](#-fix-fn-list).`(fn.list)`
5efa0 0a 0a 23 23 23 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 46 75 6e 63 74 69 6f 6e 73 ..###.Tree.operations..Functions
5efc0 20 70 72 65 74 65 6e 64 69 6e 67 20 6c 69 73 74 73 20 61 72 65 20 74 72 65 65 73 2e 0a 0a 2a 20 .pretending.lists.are.trees...*.
5efe0 5b 60 2d 74 72 65 65 2d 73 65 71 60 5d 28 23 2d 74 72 65 65 2d 73 65 71 2d 62 72 61 6e 63 68 2d [`-tree-seq`](#-tree-seq-branch-
5f000 63 68 69 6c 64 72 65 6e 2d 74 72 65 65 29 20 60 28 62 72 61 6e 63 68 20 63 68 69 6c 64 72 65 6e children-tree).`(branch.children
5f020 20 74 72 65 65 29 60 0a 2a 20 5b 60 2d 74 72 65 65 2d 6d 61 70 60 5d 28 23 2d 74 72 65 65 2d 6d .tree)`.*.[`-tree-map`](#-tree-m
5f040 61 70 2d 66 6e 2d 74 72 65 65 29 20 60 28 66 6e 20 74 72 65 65 29 60 0a 2a 20 5b 60 2d 74 72 65 ap-fn-tree).`(fn.tree)`.*.[`-tre
5f060 65 2d 6d 61 70 2d 6e 6f 64 65 73 60 5d 28 23 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 2d 70 e-map-nodes`](#-tree-map-nodes-p
5f080 72 65 64 2d 66 75 6e 2d 74 72 65 65 29 20 60 28 70 72 65 64 20 66 75 6e 20 74 72 65 65 29 60 0a red-fun-tree).`(pred.fun.tree)`.
5f0a0 2a 20 5b 60 2d 74 72 65 65 2d 72 65 64 75 63 65 60 5d 28 23 2d 74 72 65 65 2d 72 65 64 75 63 65 *.[`-tree-reduce`](#-tree-reduce
5f0c0 2d 66 6e 2d 74 72 65 65 29 20 60 28 66 6e 20 74 72 65 65 29 60 0a 2a 20 5b 60 2d 74 72 65 65 2d -fn-tree).`(fn.tree)`.*.[`-tree-
5f0e0 72 65 64 75 63 65 2d 66 72 6f 6d 60 5d 28 23 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d reduce-from`](#-tree-reduce-from
5f100 2d 66 6e 2d 69 6e 69 74 2d 76 61 6c 75 65 2d 74 72 65 65 29 20 60 28 66 6e 20 69 6e 69 74 2d 76 -fn-init-value-tree).`(fn.init-v
5f120 61 6c 75 65 20 74 72 65 65 29 60 0a 2a 20 5b 60 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 60 alue.tree)`.*.[`-tree-mapreduce`
5f140 5d 28 23 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 6e 2d 66 6f 6c 64 65 72 2d 74 72 65 ](#-tree-mapreduce-fn-folder-tre
5f160 65 29 20 60 28 66 6e 20 66 6f 6c 64 65 72 20 74 72 65 65 29 60 0a 2a 20 5b 60 2d 74 72 65 65 2d e).`(fn.folder.tree)`.*.[`-tree-
5f180 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 60 5d 28 23 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 mapreduce-from`](#-tree-mapreduc
5f1a0 65 2d 66 72 6f 6d 2d 66 6e 2d 66 6f 6c 64 65 72 2d 69 6e 69 74 2d 76 61 6c 75 65 2d 74 72 65 65 e-from-fn-folder-init-value-tree
5f1c0 29 20 60 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 60 0a ).`(fn.folder.init-value.tree)`.
5f1e0 2a 20 5b 60 2d 63 6c 6f 6e 65 60 5d 28 23 2d 63 6c 6f 6e 65 2d 6c 69 73 74 29 20 60 28 6c 69 73 *.[`-clone`](#-clone-list).`(lis
5f200 74 29 60 0a 0a 23 23 23 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 0a 0a 4d 61 63 72 6f t)`..###.Threading.macros..Macro
5f220 73 20 74 68 61 74 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 63 6f 6d 62 69 6e 65 20 73 65 71 s.that.conditionally.combine.seq
5f240 75 65 6e 74 69 61 6c 20 66 6f 72 6d 73 20 66 6f 72 20 62 72 65 76 69 74 79 0a 6f 72 20 72 65 61 uential.forms.for.brevity.or.rea
5f260 64 61 62 69 6c 69 74 79 2e 0a 0a 2a 20 5b 60 2d 3e 60 5d 28 23 2d 2d 78 2d 6f 70 74 69 6f 6e 61 dability...*.[`->`](#--x-optiona
5f280 6c 2d 66 6f 72 6d 2d 72 65 73 74 2d 6d 6f 72 65 29 20 60 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 l-form-rest-more).`(x.&optional.
5f2a0 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 60 0a 2a 20 5b 60 2d 3e 3e 60 5d 28 23 2d 2d 78 form.&rest.more)`.*.[`->>`](#--x
5f2c0 2d 6f 70 74 69 6f 6e 61 6c 2d 66 6f 72 6d 2d 72 65 73 74 2d 6d 6f 72 65 29 20 60 28 78 20 26 6f -optional-form-rest-more).`(x.&o
5f2e0 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 60 0a 2a 20 5b 60 2d 2d ptional.form.&rest.more)`.*.[`--
5f300 3e 60 5d 28 23 2d 2d 2d 78 2d 72 65 73 74 2d 66 6f 72 6d 73 29 20 60 28 78 20 26 72 65 73 74 20 >`](#---x-rest-forms).`(x.&rest.
5f320 66 6f 72 6d 73 29 60 0a 2a 20 5b 60 2d 61 73 2d 3e 60 5d 28 23 2d 61 73 2d 2d 76 61 6c 75 65 2d forms)`.*.[`-as->`](#-as--value-
5f340 76 61 72 69 61 62 6c 65 2d 72 65 73 74 2d 66 6f 72 6d 73 29 20 60 28 76 61 6c 75 65 20 76 61 72 variable-rest-forms).`(value.var
5f360 69 61 62 6c 65 20 26 72 65 73 74 20 66 6f 72 6d 73 29 60 0a 2a 20 5b 60 2d 73 6f 6d 65 2d 3e 60 iable.&rest.forms)`.*.[`-some->`
5f380 5d 28 23 2d 73 6f 6d 65 2d 2d 78 2d 6f 70 74 69 6f 6e 61 6c 2d 66 6f 72 6d 2d 72 65 73 74 2d 6d ](#-some--x-optional-form-rest-m
5f3a0 6f 72 65 29 20 60 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 ore).`(x.&optional.form.&rest.mo
5f3c0 72 65 29 60 0a 2a 20 5b 60 2d 73 6f 6d 65 2d 3e 3e 60 5d 28 23 2d 73 6f 6d 65 2d 2d 78 2d 6f 70 re)`.*.[`-some->>`](#-some--x-op
5f3e0 74 69 6f 6e 61 6c 2d 66 6f 72 6d 2d 72 65 73 74 2d 6d 6f 72 65 29 20 60 28 78 20 26 6f 70 74 69 tional-form-rest-more).`(x.&opti
5f400 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 60 0a 2a 20 5b 60 2d 73 6f 6d 65 onal.form.&rest.more)`.*.[`-some
5f420 2d 2d 3e 60 5d 28 23 2d 73 6f 6d 65 2d 2d 2d 65 78 70 72 2d 72 65 73 74 2d 66 6f 72 6d 73 29 20 -->`](#-some---expr-rest-forms).
5f440 60 28 65 78 70 72 20 26 72 65 73 74 20 66 6f 72 6d 73 29 60 0a 2a 20 5b 60 2d 64 6f 74 6f 60 5d `(expr.&rest.forms)`.*.[`-doto`]
5f460 28 23 2d 64 6f 74 6f 2d 69 6e 69 74 2d 72 65 73 74 2d 66 6f 72 6d 73 29 20 60 28 69 6e 69 74 20 (#-doto-init-rest-forms).`(init.
5f480 26 72 65 73 74 20 66 6f 72 6d 73 29 60 0a 0a 23 23 23 20 42 69 6e 64 69 6e 67 0a 0a 4d 61 63 72 &rest.forms)`..###.Binding..Macr
5f4a0 6f 73 20 74 68 61 74 20 63 6f 6d 62 69 6e 65 20 60 6c 65 74 60 20 61 6e 64 20 60 6c 65 74 2a 60 os.that.combine.`let`.and.`let*`
5f4c0 20 77 69 74 68 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 61 6e 64 20 66 6c 6f 77 20 63 6f 6e .with.destructuring.and.flow.con
5f4e0 74 72 6f 6c 2e 0a 0a 2a 20 5b 60 2d 77 68 65 6e 2d 6c 65 74 60 5d 28 23 2d 77 68 65 6e 2d 6c 65 trol...*.[`-when-let`](#-when-le
5f500 74 2d 76 61 72 2d 76 61 6c 2d 72 65 73 74 2d 62 6f 64 79 29 20 60 28 28 76 61 72 20 76 61 6c 29 t-var-val-rest-body).`((var.val)
5f520 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a 2a 20 5b 60 2d 77 68 65 6e 2d 6c 65 74 2a 60 5d 28 23 .&rest.body)`.*.[`-when-let*`](#
5f540 2d 77 68 65 6e 2d 6c 65 74 2d 76 61 72 73 2d 76 61 6c 73 2d 72 65 73 74 2d 62 6f 64 79 29 20 60 -when-let-vars-vals-rest-body).`
5f560 28 76 61 72 73 2d 76 61 6c 73 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a 2a 20 5b 60 2d 69 66 2d (vars-vals.&rest.body)`.*.[`-if-
5f580 6c 65 74 60 5d 28 23 2d 69 66 2d 6c 65 74 2d 76 61 72 2d 76 61 6c 2d 74 68 65 6e 2d 72 65 73 74 let`](#-if-let-var-val-then-rest
5f5a0 2d 65 6c 73 65 29 20 60 28 28 76 61 72 20 76 61 6c 29 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c -else).`((var.val).then.&rest.el
5f5c0 73 65 29 60 0a 2a 20 5b 60 2d 69 66 2d 6c 65 74 2a 60 5d 28 23 2d 69 66 2d 6c 65 74 2d 76 61 72 se)`.*.[`-if-let*`](#-if-let-var
5f5e0 73 2d 76 61 6c 73 2d 74 68 65 6e 2d 72 65 73 74 2d 65 6c 73 65 29 20 60 28 76 61 72 73 2d 76 61 s-vals-then-rest-else).`(vars-va
5f600 6c 73 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 60 0a 2a 20 5b 60 2d 6c 65 74 60 5d 28 ls.then.&rest.else)`.*.[`-let`](
5f620 23 2d 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 29 20 60 28 76 61 72 6c 69 #-let-varlist-rest-body).`(varli
5f640 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a 2a 20 5b 60 2d 6c 65 74 2a 60 5d 28 23 2d 6c 65 st.&rest.body)`.*.[`-let*`](#-le
5f660 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 29 20 60 28 76 61 72 6c 69 73 74 20 26 t-varlist-rest-body).`(varlist.&
5f680 72 65 73 74 20 62 6f 64 79 29 60 0a 2a 20 5b 60 2d 6c 61 6d 62 64 61 60 5d 28 23 2d 6c 61 6d 62 rest.body)`.*.[`-lambda`](#-lamb
5f6a0 64 61 2d 6d 61 74 63 68 2d 66 6f 72 6d 2d 72 65 73 74 2d 62 6f 64 79 29 20 60 28 6d 61 74 63 68 da-match-form-rest-body).`(match
5f6c0 2d 66 6f 72 6d 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a 2a 20 5b 60 2d 73 65 74 71 60 5d 28 23 -form.&rest.body)`.*.[`-setq`](#
5f6e0 2d 73 65 74 71 2d 6d 61 74 63 68 2d 66 6f 72 6d 2d 76 61 6c 29 20 60 28 5b 6d 61 74 63 68 2d 66 -setq-match-form-val).`([match-f
5f700 6f 72 6d 20 76 61 6c 5d 20 2e 2e 2e 29 60 0a 0a 23 23 23 20 53 69 64 65 20 65 66 66 65 63 74 73 orm.val]....)`..###.Side.effects
5f720 0a 0a 46 75 6e 63 74 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 ..Functions.iterating.over.lists
5f740 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 20 6f 6e 6c 79 2e 0a 0a 2a 20 5b 60 2d 65 61 63 .for.side.effect.only...*.[`-eac
5f760 68 60 5d 28 23 2d 65 61 63 68 2d 6c 69 73 74 2d 66 6e 29 20 60 28 6c 69 73 74 20 66 6e 29 60 0a h`](#-each-list-fn).`(list.fn)`.
5f780 2a 20 5b 60 2d 65 61 63 68 2d 77 68 69 6c 65 60 5d 28 23 2d 65 61 63 68 2d 77 68 69 6c 65 2d 6c *.[`-each-while`](#-each-while-l
5f7a0 69 73 74 2d 70 72 65 64 2d 66 6e 29 20 60 28 6c 69 73 74 20 70 72 65 64 20 66 6e 29 60 0a 2a 20 ist-pred-fn).`(list.pred.fn)`.*.
5f7c0 5b 60 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 60 5d 28 23 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 [`-each-indexed`](#-each-indexed
5f7e0 2d 6c 69 73 74 2d 66 6e 29 20 60 28 6c 69 73 74 20 66 6e 29 60 0a 2a 20 5b 60 2d 65 61 63 68 2d -list-fn).`(list.fn)`.*.[`-each-
5f800 72 60 5d 28 23 2d 65 61 63 68 2d 72 2d 6c 69 73 74 2d 66 6e 29 20 60 28 6c 69 73 74 20 66 6e 29 r`](#-each-r-list-fn).`(list.fn)
5f820 60 0a 2a 20 5b 60 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 60 5d 28 23 2d 65 61 63 68 2d 72 2d 77 `.*.[`-each-r-while`](#-each-r-w
5f840 68 69 6c 65 2d 6c 69 73 74 2d 70 72 65 64 2d 66 6e 29 20 60 28 6c 69 73 74 20 70 72 65 64 20 66 hile-list-pred-fn).`(list.pred.f
5f860 6e 29 60 0a 2a 20 5b 60 2d 64 6f 74 69 6d 65 73 60 5d 28 23 2d 64 6f 74 69 6d 65 73 2d 6e 75 6d n)`.*.[`-dotimes`](#-dotimes-num
5f880 2d 66 6e 29 20 60 28 6e 75 6d 20 66 6e 29 60 0a 0a 23 23 23 20 44 65 73 74 72 75 63 74 69 76 65 -fn).`(num.fn)`..###.Destructive
5f8a0 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 6d 6f 64 69 66 79 20 .operations..Macros.that.modify.
5f8c0 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 2a 20 5b 60 21 63 variables.holding.lists...*.[`!c
5f8e0 6f 6e 73 60 5d 28 23 63 6f 6e 73 2d 63 61 72 2d 63 64 72 29 20 60 28 63 61 72 20 63 64 72 29 60 ons`](#cons-car-cdr).`(car.cdr)`
5f900 0a 2a 20 5b 60 21 63 64 72 60 5d 28 23 63 64 72 2d 6c 69 73 74 29 20 60 28 6c 69 73 74 29 60 0a .*.[`!cdr`](#cdr-list).`(list)`.
5f920 0a 23 23 23 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 0a 0a 46 75 6e 63 74 .###.Function.combinators..Funct
5f940 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 6f 73 65 ions.that.manipulate.and.compose
5f960 20 6f 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 2a 20 5b 60 2d 70 61 72 74 69 61 6c 60 .other.functions...*.[`-partial`
5f980 5d 28 23 2d 70 61 72 74 69 61 6c 2d 66 75 6e 2d 72 65 73 74 2d 61 72 67 73 29 20 60 28 66 75 6e ](#-partial-fun-rest-args).`(fun
5f9a0 20 26 72 65 73 74 20 61 72 67 73 29 60 0a 2a 20 5b 60 2d 72 70 61 72 74 69 61 6c 60 5d 28 23 2d .&rest.args)`.*.[`-rpartial`](#-
5f9c0 72 70 61 72 74 69 61 6c 2d 66 6e 2d 72 65 73 74 2d 61 72 67 73 29 20 60 28 66 6e 20 26 72 65 73 rpartial-fn-rest-args).`(fn.&res
5f9e0 74 20 61 72 67 73 29 60 0a 2a 20 5b 60 2d 6a 75 78 74 60 5d 28 23 2d 6a 75 78 74 2d 72 65 73 74 t.args)`.*.[`-juxt`](#-juxt-rest
5fa00 2d 66 6e 73 29 20 60 28 26 72 65 73 74 20 66 6e 73 29 60 0a 2a 20 5b 60 2d 63 6f 6d 70 6f 73 65 -fns).`(&rest.fns)`.*.[`-compose
5fa20 60 5d 28 23 2d 63 6f 6d 70 6f 73 65 2d 72 65 73 74 2d 66 6e 73 29 20 60 28 26 72 65 73 74 20 66 `](#-compose-rest-fns).`(&rest.f
5fa40 6e 73 29 60 0a 2a 20 5b 60 2d 61 70 70 6c 69 66 79 60 5d 28 23 2d 61 70 70 6c 69 66 79 2d 66 6e ns)`.*.[`-applify`](#-applify-fn
5fa60 29 20 60 28 66 6e 29 60 0a 2a 20 5b 60 2d 6f 6e 60 5d 28 23 2d 6f 6e 2d 6f 70 2d 74 72 61 6e 73 ).`(fn)`.*.[`-on`](#-on-op-trans
5fa80 29 20 60 28 6f 70 20 74 72 61 6e 73 29 60 0a 2a 20 5b 60 2d 66 6c 69 70 60 5d 28 23 2d 66 6c 69 ).`(op.trans)`.*.[`-flip`](#-fli
5faa0 70 2d 66 6e 29 20 60 28 66 6e 29 60 0a 2a 20 5b 60 2d 72 6f 74 61 74 65 2d 61 72 67 73 60 5d 28 p-fn).`(fn)`.*.[`-rotate-args`](
5fac0 23 2d 72 6f 74 61 74 65 2d 61 72 67 73 2d 6e 2d 66 6e 29 20 60 28 6e 20 66 6e 29 60 0a 2a 20 5b #-rotate-args-n-fn).`(n.fn)`.*.[
5fae0 60 2d 63 6f 6e 73 74 60 5d 28 23 2d 63 6f 6e 73 74 2d 63 29 20 60 28 63 29 60 0a 2a 20 5b 60 2d `-const`](#-const-c).`(c)`.*.[`-
5fb00 63 75 74 60 5d 28 23 2d 63 75 74 2d 72 65 73 74 2d 70 61 72 61 6d 73 29 20 60 28 26 72 65 73 74 cut`](#-cut-rest-params).`(&rest
5fb20 20 70 61 72 61 6d 73 29 60 0a 2a 20 5b 60 2d 6e 6f 74 60 5d 28 23 2d 6e 6f 74 2d 70 72 65 64 29 .params)`.*.[`-not`](#-not-pred)
5fb40 20 60 28 70 72 65 64 29 60 0a 2a 20 5b 60 2d 6f 72 66 6e 60 5d 28 23 2d 6f 72 66 6e 2d 72 65 73 .`(pred)`.*.[`-orfn`](#-orfn-res
5fb60 74 2d 70 72 65 64 73 29 20 60 28 26 72 65 73 74 20 70 72 65 64 73 29 60 0a 2a 20 5b 60 2d 61 6e t-preds).`(&rest.preds)`.*.[`-an
5fb80 64 66 6e 60 5d 28 23 2d 61 6e 64 66 6e 2d 72 65 73 74 2d 70 72 65 64 73 29 20 60 28 26 72 65 73 dfn`](#-andfn-rest-preds).`(&res
5fba0 74 20 70 72 65 64 73 29 60 0a 2a 20 5b 60 2d 69 74 65 72 61 74 65 66 6e 60 5d 28 23 2d 69 74 65 t.preds)`.*.[`-iteratefn`](#-ite
5fbc0 72 61 74 65 66 6e 2d 66 6e 2d 6e 29 20 60 28 66 6e 20 6e 29 60 0a 2a 20 5b 60 2d 66 69 78 66 6e ratefn-fn-n).`(fn.n)`.*.[`-fixfn
5fbe0 60 5d 28 23 2d 66 69 78 66 6e 2d 66 6e 2d 6f 70 74 69 6f 6e 61 6c 2d 65 71 75 61 6c 2d 74 65 73 `](#-fixfn-fn-optional-equal-tes
5fc00 74 2d 68 61 6c 74 2d 74 65 73 74 29 20 60 28 66 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 65 71 75 61 t-halt-test).`(fn.&optional.equa
5fc20 6c 2d 74 65 73 74 20 68 61 6c 74 2d 74 65 73 74 29 60 0a 2a 20 5b 60 2d 70 72 6f 64 66 6e 60 5d l-test.halt-test)`.*.[`-prodfn`]
5fc40 28 23 2d 70 72 6f 64 66 6e 2d 72 65 73 74 2d 66 6e 73 29 20 60 28 26 72 65 73 74 20 66 6e 73 29 (#-prodfn-rest-fns).`(&rest.fns)
5fc60 60 0a 0a 23 23 20 4d 61 70 73 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 69 73 20 63 61 `..##.Maps..Functions.in.this.ca
5fc80 74 65 67 6f 72 79 20 74 61 6b 65 20 61 20 74 72 61 6e 73 66 6f 72 6d 69 6e 67 20 66 75 6e 63 74 tegory.take.a.transforming.funct
5fca0 69 6f 6e 2c 20 77 68 69 63 68 0a 69 73 20 74 68 65 6e 20 61 70 70 6c 69 65 64 20 73 65 71 75 65 ion,.which.is.then.applied.seque
5fcc0 6e 74 69 61 6c 6c 79 20 74 6f 20 65 61 63 68 20 6f 72 20 73 65 6c 65 63 74 65 64 20 65 6c 65 6d ntially.to.each.or.selected.elem
5fce0 65 6e 74 73 20 6f 66 20 74 68 65 0a 69 6e 70 75 74 20 6c 69 73 74 2e 20 20 54 68 65 20 72 65 73 ents.of.the.input.list...The.res
5fd00 75 6c 74 73 20 61 72 65 20 63 6f 6c 6c 65 63 74 65 64 20 69 6e 20 6f 72 64 65 72 20 61 6e 64 20 ults.are.collected.in.order.and.
5fd20 72 65 74 75 72 6e 65 64 20 61 73 20 61 0a 6e 65 77 20 6c 69 73 74 2e 0a 0a 23 23 23 23 20 2d 6d returned.as.a.new.list...####.-m
5fd40 61 70 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 41 70 70 6c 79 20 60 66 6e 60 20 74 6f 20 65 61 ap.`(fn.list)`..Apply.`fn`.to.ea
5fd60 63 68 20 69 74 65 6d 20 69 6e 20 60 6c 69 73 74 60 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 ch.item.in.`list`.and.return.the
5fd80 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 74 69 6f 6e .list.of.results...This.function
5fda0 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 2d 2d 6d 's.anaphoric.counterpart.is.`--m
5fdc0 61 70 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 ap`...```el.(-map.(lambda.(num).
5fde0 28 2a 20 6e 75 6d 20 6e 75 6d 29 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 (*.num.num)).'(1.2.3.4)).;;.=>.(
5fe00 31 20 34 20 39 20 31 36 29 0a 28 2d 6d 61 70 20 23 27 31 2b 20 27 28 31 20 32 20 33 20 34 29 29 1.4.9.16).(-map.#'1+.'(1.2.3.4))
5fe20 20 3b 3b 20 3d 3e 20 28 32 20 33 20 34 20 35 29 0a 28 2d 2d 6d 61 70 20 28 2a 20 69 74 20 69 74 .;;.=>.(2.3.4.5).(--map.(*.it.it
5fe40 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 34 20 39 20 31 36 29 0a 60 ).'(1.2.3.4)).;;.=>.(1.4.9.16).`
5fe60 60 60 0a 0a 23 23 23 23 20 2d 6d 61 70 2d 77 68 65 6e 20 60 28 70 72 65 64 20 72 65 70 20 6c 69 ``..####.-map-when.`(pred.rep.li
5fe80 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 68 65 72 65 20 74 68 st)`..Return.a.new.list.where.th
5fea0 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 60 6c 69 73 74 60 20 74 68 61 74 20 64 6f 20 6e 6f 74 e.elements.in.`list`.that.do.not
5fec0 20 6d 61 74 63 68 20 74 68 65 20 60 70 72 65 64 60 20 66 75 6e 63 74 69 6f 6e 0a 61 72 65 20 75 .match.the.`pred`.function.are.u
5fee0 6e 63 68 61 6e 67 65 64 2c 20 61 6e 64 20 77 68 65 72 65 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 nchanged,.and.where.the.elements
5ff00 20 69 6e 20 60 6c 69 73 74 60 20 74 68 61 74 20 64 6f 20 6d 61 74 63 68 20 74 68 65 20 60 70 72 .in.`list`.that.do.match.the.`pr
5ff20 65 64 60 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 20 6d 61 70 70 65 64 0a 74 68 72 6f 75 67 68 20 ed`.function.are.mapped.through.
5ff40 74 68 65 20 60 72 65 70 60 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 72 65 the.`rep`.function...Alias:.`-re
5ff60 70 6c 61 63 65 2d 77 68 65 72 65 60 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 75 70 64 61 74 place-where`..See.also:.[`-updat
5ff80 65 2d 61 74 60 5d 28 23 2d 75 70 64 61 74 65 2d 61 74 2d 6e 2d 66 75 6e 63 2d 6c 69 73 74 29 0a e-at`](#-update-at-n-func-list).
5ffa0 0a 60 60 60 65 6c 0a 28 2d 6d 61 70 2d 77 68 65 6e 20 27 65 76 65 6e 3f 20 27 73 71 75 61 72 65 .```el.(-map-when.'even?.'square
5ffc0 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 34 20 33 20 31 36 29 0a 28 2d .'(1.2.3.4)).;;.=>.(1.4.3.16).(-
5ffe0 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 27 28 31 -map-when.(>.it.2).(*.it.it).'(1
60000 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 39 20 31 36 29 0a 28 2d 2d 6d 61 70 .2.3.4)).;;.=>.(1.2.9.16).(--map
60020 2d 77 68 65 6e 20 28 3d 20 69 74 20 32 29 20 31 37 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b -when.(=.it.2).17.'(1.2.3.4)).;;
60040 20 3d 3e 20 28 31 20 31 37 20 33 20 34 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6d 61 70 2d 66 69 .=>.(1.17.3.4).```..####.-map-fi
60060 72 73 74 20 60 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 60 0a 0a 52 65 70 6c 61 63 65 20 66 rst.`(pred.rep.list)`..Replace.f
60080 69 72 73 74 20 69 74 65 6d 20 69 6e 20 60 6c 69 73 74 60 20 73 61 74 69 73 66 79 69 6e 67 20 60 irst.item.in.`list`.satisfying.`
600a0 70 72 65 64 60 20 77 69 74 68 20 72 65 73 75 6c 74 20 6f 66 20 60 72 65 70 60 20 63 61 6c 6c 65 pred`.with.result.of.`rep`.calle
600c0 64 20 6f 6e 20 74 68 69 73 20 69 74 65 6d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 6d 61 d.on.this.item...See.also:.[`-ma
600e0 70 2d 77 68 65 6e 60 5d 28 23 2d 6d 61 70 2d 77 68 65 6e 2d 70 72 65 64 2d 72 65 70 2d 6c 69 73 p-when`](#-map-when-pred-rep-lis
60100 74 29 2c 20 5b 60 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 60 5d 28 23 2d 72 65 70 6c 61 63 65 t),.[`-replace-first`](#-replace
60120 2d 66 69 72 73 74 2d 6f 6c 64 2d 6e 65 77 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 6d 61 -first-old-new-list)..```el.(-ma
60140 70 2d 66 69 72 73 74 20 27 65 76 65 6e 3f 20 27 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 p-first.'even?.'square.'(1.2.3.4
60160 29 29 20 3b 3b 20 3d 3e 20 28 31 20 34 20 33 20 34 29 0a 28 2d 2d 6d 61 70 2d 66 69 72 73 74 20 )).;;.=>.(1.4.3.4).(--map-first.
60180 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 20 3b (>.it.2).(*.it.it).'(1.2.3.4)).;
601a0 3b 20 3d 3e 20 28 31 20 32 20 39 20 34 29 0a 28 2d 2d 6d 61 70 2d 66 69 72 73 74 20 28 3d 20 69 ;.=>.(1.2.9.4).(--map-first.(=.i
601c0 74 20 32 29 20 31 37 20 27 28 31 20 32 20 33 20 32 29 29 20 3b 3b 20 3d 3e 20 28 31 20 31 37 20 t.2).17.'(1.2.3.2)).;;.=>.(1.17.
601e0 33 20 32 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6d 61 70 2d 6c 61 73 74 20 60 28 70 72 65 64 20 3.2).```..####.-map-last.`(pred.
60200 72 65 70 20 6c 69 73 74 29 60 0a 0a 52 65 70 6c 61 63 65 20 6c 61 73 74 20 69 74 65 6d 20 69 6e rep.list)`..Replace.last.item.in
60220 20 60 6c 69 73 74 60 20 73 61 74 69 73 66 79 69 6e 67 20 60 70 72 65 64 60 20 77 69 74 68 20 72 .`list`.satisfying.`pred`.with.r
60240 65 73 75 6c 74 20 6f 66 20 60 72 65 70 60 20 63 61 6c 6c 65 64 20 6f 6e 20 74 68 69 73 20 69 74 esult.of.`rep`.called.on.this.it
60260 65 6d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 6d 61 70 2d 77 68 65 6e 60 5d 28 23 2d 6d em...See.also:.[`-map-when`](#-m
60280 61 70 2d 77 68 65 6e 2d 70 72 65 64 2d 72 65 70 2d 6c 69 73 74 29 2c 20 5b 60 2d 72 65 70 6c 61 ap-when-pred-rep-list),.[`-repla
602a0 63 65 2d 6c 61 73 74 60 5d 28 23 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 2d 6f 6c 64 2d 6e 65 77 ce-last`](#-replace-last-old-new
602c0 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 6d 61 70 2d 6c 61 73 74 20 27 65 76 65 6e 3f 20 -list)..```el.(-map-last.'even?.
602e0 27 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 'square.'(1.2.3.4)).;;.=>.(1.2.3
60300 20 31 36 29 0a 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 .16).(--map-last.(>.it.2).(*.it.
60320 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 31 36 29 it).'(1.2.3.4)).;;.=>.(1.2.3.16)
60340 0a 28 2d 2d 6d 61 70 2d 6c 61 73 74 20 28 3d 20 69 74 20 32 29 20 31 37 20 27 28 31 20 32 20 33 .(--map-last.(=.it.2).17.'(1.2.3
60360 20 32 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 31 37 29 0a 60 60 60 0a 0a 23 23 23 23 20 .2)).;;.=>.(1.2.3.17).```..####.
60380 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 41 70 70 6c 79 20 -map-indexed.`(fn.list)`..Apply.
603a0 60 66 6e 60 20 74 6f 20 65 61 63 68 20 69 6e 64 65 78 20 61 6e 64 20 69 74 65 6d 20 69 6e 20 60 `fn`.to.each.index.and.item.in.`
603c0 6c 69 73 74 60 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 list`.and.return.the.list.of.res
603e0 75 6c 74 73 2e 0a 54 68 69 73 20 69 73 20 6c 69 6b 65 20 5b 60 2d 6d 61 70 60 5d 28 23 2d 6d 61 ults..This.is.like.[`-map`](#-ma
60400 70 2d 66 6e 2d 6c 69 73 74 29 2c 20 62 75 74 20 60 66 6e 60 20 74 61 6b 65 73 20 74 77 6f 20 61 p-fn-list),.but.`fn`.takes.two.a
60420 72 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 rguments:.the.index.of.the.curre
60440 6e 74 20 65 6c 65 6d 65 6e 74 20 77 69 74 68 69 6e 20 60 6c 69 73 74 60 2c 20 61 6e 64 20 74 68 nt.element.within.`list`,.and.th
60460 65 20 65 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 e.element.itself...This.function
60480 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 2d 2d 6d 's.anaphoric.counterpart.is.`--m
604a0 61 70 2d 69 6e 64 65 78 65 64 60 2e 0a 0a 46 6f 72 20 61 20 73 69 64 65 2d 65 66 66 65 63 74 69 ap-indexed`...For.a.side-effecti
604c0 6e 67 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d 65 61 63 68 2d 69 6e 64 ng.variant,.see.also.[`-each-ind
604e0 65 78 65 64 60 5d 28 23 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 2d 6c 69 73 74 2d 66 6e 29 2e 0a exed`](#-each-indexed-list-fn)..
60500 0a 60 60 60 65 6c 0a 28 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 6c 61 6d 62 64 61 20 28 69 6e .```el.(-map-indexed.(lambda.(in
60520 64 65 78 20 69 74 65 6d 29 20 28 2d 20 69 74 65 6d 20 69 6e 64 65 78 29 29 20 27 28 31 20 32 20 dex.item).(-.item.index)).'(1.2.
60540 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 31 20 31 20 31 29 0a 28 2d 2d 6d 61 70 2d 69 6e 64 3.4)).;;.=>.(1.1.1.1).(--map-ind
60560 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 29 exed.(-.it.it-index).'(1.2.3.4))
60580 20 3b 3b 20 3d 3e 20 28 31 20 31 20 31 20 31 29 0a 28 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 23 .;;.=>.(1.1.1.1).(-map-indexed.#
605a0 27 2a 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 30 20 32 20 36 20 31 32 29 0a '*.'(1.2.3.4)).;;.=>.(0.2.6.12).
605c0 60 60 60 0a 0a 23 23 23 23 20 2d 61 6e 6e 6f 74 61 74 65 20 60 28 66 6e 20 6c 69 73 74 29 60 0a ```..####.-annotate.`(fn.list)`.
605e0 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 20 77 68 65 .Return.a.list.of.cons.cells.whe
60600 72 65 20 65 61 63 68 20 63 65 6c 6c 20 69 73 20 60 66 6e 60 20 61 70 70 6c 69 65 64 20 74 6f 20 re.each.cell.is.`fn`.applied.to.
60620 65 61 63 68 0a 65 6c 65 6d 65 6e 74 20 6f 66 20 60 6c 69 73 74 60 20 70 61 69 72 65 64 20 77 69 each.element.of.`list`.paired.wi
60640 74 68 20 74 68 65 20 75 6e 6d 6f 64 69 66 69 65 64 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 6c 69 th.the.unmodified.element.of.`li
60660 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 61 6e 6e 6f 74 61 74 65 20 27 31 2b 20 27 28 31 20 32 st`...```el.(-annotate.'1+.'(1.2
60680 20 33 29 29 20 3b 3b 20 3d 3e 20 28 28 32 20 2e 20 31 29 20 28 33 20 2e 20 32 29 20 28 34 20 2e .3)).;;.=>.((2...1).(3...2).(4..
606a0 20 33 29 29 0a 28 2d 61 6e 6e 6f 74 61 74 65 20 27 6c 65 6e 67 74 68 20 27 28 28 22 68 22 20 22 .3)).(-annotate.'length.'(("h"."
606c0 65 22 20 22 6c 22 20 22 6c 22 20 22 6f 22 29 20 28 22 68 65 6c 6c 6f 22 20 22 77 6f 72 6c 64 22 e"."l"."l"."o").("hello"."world"
606e0 29 29 29 20 3b 3b 20 3d 3e 20 28 28 35 20 22 68 22 20 22 65 22 20 22 6c 22 20 22 6c 22 20 22 6f ))).;;.=>.((5."h"."e"."l"."l"."o
60700 22 29 20 28 32 20 22 68 65 6c 6c 6f 22 20 22 77 6f 72 6c 64 22 29 29 0a 28 2d 2d 61 6e 6e 6f 74 ").(2."hello"."world")).(--annot
60720 61 74 65 20 28 3c 20 31 20 69 74 29 20 27 28 30 20 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 ate.(<.1.it).'(0.1.2.3)).;;.=>.(
60740 28 6e 69 6c 20 2e 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 (nil...0).(nil...1).(t...2).(t..
60760 20 33 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 70 6c 69 63 65 20 60 28 70 72 65 64 20 66 75 .3)).```..####.-splice.`(pred.fu
60780 6e 20 6c 69 73 74 29 60 0a 0a 53 70 6c 69 63 65 20 6c 69 73 74 73 20 67 65 6e 65 72 61 74 65 64 n.list)`..Splice.lists.generated
607a0 20 62 79 20 60 66 75 6e 60 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 6d .by.`fun`.in.place.of.elements.m
607c0 61 74 63 68 69 6e 67 20 60 70 72 65 64 60 20 69 6e 20 60 6c 69 73 74 60 2e 0a 0a 60 66 75 6e 60 atching.`pred`.in.`list`...`fun`
607e0 20 74 61 6b 65 73 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 6d 61 74 63 68 69 6e 67 20 60 70 72 65 .takes.the.element.matching.`pre
60800 64 60 20 61 73 20 69 6e 70 75 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 d`.as.input...This.function.can.
60820 62 65 20 75 73 65 64 20 61 73 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 66 6f 72 20 60 2c 40 60 20 be.used.as.replacement.for.`,@`.
60840 69 6e 20 63 61 73 65 20 79 6f 75 0a 6e 65 65 64 20 74 6f 20 73 70 6c 69 63 65 20 73 65 76 65 72 in.case.you.need.to.splice.sever
60860 61 6c 20 6c 69 73 74 73 20 61 74 20 6d 61 72 6b 65 64 20 70 6f 73 69 74 69 6f 6e 73 20 28 66 6f al.lists.at.marked.positions.(fo
60880 72 20 65 78 61 6d 70 6c 65 0a 77 69 74 68 20 6b 65 79 77 6f 72 64 73 29 2e 0a 0a 53 65 65 20 61 r.example.with.keywords)...See.a
608a0 6c 73 6f 3a 20 5b 60 2d 73 70 6c 69 63 65 2d 6c 69 73 74 60 5d 28 23 2d 73 70 6c 69 63 65 2d 6c lso:.[`-splice-list`](#-splice-l
608c0 69 73 74 2d 70 72 65 64 2d 6e 65 77 2d 6c 69 73 74 2d 6c 69 73 74 29 2c 20 5b 60 2d 69 6e 73 65 ist-pred-new-list-list),.[`-inse
608e0 72 74 2d 61 74 60 5d 28 23 2d 69 6e 73 65 72 74 2d 61 74 2d 6e 2d 78 2d 6c 69 73 74 29 0a 0a 60 rt-at`](#-insert-at-n-x-list)..`
60900 60 60 65 6c 0a 28 2d 73 70 6c 69 63 65 20 27 65 76 65 6e 3f 20 28 6c 61 6d 62 64 61 20 28 78 29 ``el.(-splice.'even?.(lambda.(x)
60920 20 28 6c 69 73 74 20 78 20 78 29 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 .(list.x.x)).'(1.2.3.4)).;;.=>.(
60940 31 20 32 20 32 20 33 20 34 20 34 29 0a 28 2d 2d 73 70 6c 69 63 65 20 27 74 20 28 6c 69 73 74 20 1.2.2.3.4.4).(--splice.'t.(list.
60960 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 31 20 32 20 it.it).'(1.2.3.4)).;;.=>.(1.1.2.
60980 32 20 33 20 33 20 34 20 34 29 0a 28 2d 2d 73 70 6c 69 63 65 20 28 65 71 75 61 6c 20 69 74 20 3a 2.3.3.4.4).(--splice.(equal.it.:
609a0 6d 61 67 69 63 29 20 27 28 28 6c 69 73 74 20 6f 66 29 20 28 6d 61 67 69 63 61 6c 29 20 28 63 6f magic).'((list.of).(magical).(co
609c0 64 65 29 29 20 27 28 28 66 6f 6f 29 20 28 62 61 72 29 20 3a 6d 61 67 69 63 20 28 62 61 7a 29 29 de)).'((foo).(bar).:magic.(baz))
609e0 29 20 3b 3b 20 3d 3e 20 28 28 66 6f 6f 29 20 28 62 61 72 29 20 28 6c 69 73 74 20 6f 66 29 20 28 ).;;.=>.((foo).(bar).(list.of).(
60a00 6d 61 67 69 63 61 6c 29 20 28 63 6f 64 65 29 20 28 62 61 7a 29 29 0a 60 60 60 0a 0a 23 23 23 23 magical).(code).(baz)).```..####
60a20 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 60 28 70 72 65 64 20 6e 65 77 2d 6c 69 73 74 20 6c 69 .-splice-list.`(pred.new-list.li
60a40 73 74 29 60 0a 0a 53 70 6c 69 63 65 20 60 6e 65 77 2d 6c 69 73 74 60 20 69 6e 20 70 6c 61 63 65 st)`..Splice.`new-list`.in.place
60a60 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 6d 61 74 63 68 69 6e 67 20 60 70 72 65 64 60 20 69 6e 20 .of.elements.matching.`pred`.in.
60a80 60 6c 69 73 74 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 73 70 6c 69 63 65 60 5d 28 23 `list`...See.also:.[`-splice`](#
60aa0 2d 73 70 6c 69 63 65 2d 70 72 65 64 2d 66 75 6e 2d 6c 69 73 74 29 2c 20 5b 60 2d 69 6e 73 65 72 -splice-pred-fun-list),.[`-inser
60ac0 74 2d 61 74 60 5d 28 23 2d 69 6e 73 65 72 74 2d 61 74 2d 6e 2d 78 2d 6c 69 73 74 29 0a 0a 60 60 t-at`](#-insert-at-n-x-list)..``
60ae0 60 65 6c 0a 28 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 27 6b 65 79 77 6f 72 64 70 20 27 28 61 20 `el.(-splice-list.'keywordp.'(a.
60b00 62 20 63 29 20 27 28 31 20 3a 66 6f 6f 20 32 29 29 20 3b 3b 20 3d 3e 20 28 31 20 61 20 62 20 63 b.c).'(1.:foo.2)).;;.=>.(1.a.b.c
60b20 20 32 29 0a 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 .2).(-splice-list.'keywordp.nil.
60b40 27 28 31 20 3a 66 6f 6f 20 32 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 29 0a 28 2d 2d 73 70 6c 69 '(1.:foo.2)).;;.=>.(1.2).(--spli
60b60 63 65 2d 6c 69 73 74 20 28 6b 65 79 77 6f 72 64 70 20 69 74 29 20 27 28 61 20 62 20 63 29 20 27 ce-list.(keywordp.it).'(a.b.c).'
60b80 28 31 20 3a 66 6f 6f 20 32 29 29 20 3b 3b 20 3d 3e 20 28 31 20 61 20 62 20 63 20 32 29 0a 60 60 (1.:foo.2)).;;.=>.(1.a.b.c.2).``
60ba0 60 0a 0a 23 23 23 23 20 2d 6d 61 70 63 61 74 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 `..####.-mapcat.`(fn.list)`..Ret
60bc0 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 68 65 20 72 65 73 urn.the.concatenation.of.the.res
60be0 75 6c 74 20 6f 66 20 6d 61 70 70 69 6e 67 20 60 66 6e 60 20 6f 76 65 72 20 60 6c 69 73 74 60 2e ult.of.mapping.`fn`.over.`list`.
60c00 0a 54 68 75 73 20 66 75 6e 63 74 69 6f 6e 20 60 66 6e 60 20 73 68 6f 75 6c 64 20 72 65 74 75 72 .Thus.function.`fn`.should.retur
60c20 6e 20 61 20 6c 69 73 74 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6d 61 70 63 61 74 20 27 6c 69 73 74 20 n.a.list...```el.(-mapcat.'list.
60c40 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 28 2d 6d 61 70 63 61 74 '(1.2.3)).;;.=>.(1.2.3).(-mapcat
60c60 20 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 .(lambda.(item).(list.0.item)).'
60c80 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 30 20 31 20 30 20 32 20 30 20 33 29 0a 28 2d 2d (1.2.3)).;;.=>.(0.1.0.2.0.3).(--
60ca0 6d 61 70 63 61 74 20 28 6c 69 73 74 20 30 20 69 74 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 mapcat.(list.0.it).'(1.2.3)).;;.
60cc0 3d 3e 20 28 30 20 31 20 30 20 32 20 30 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6f 70 79 =>.(0.1.0.2.0.3).```..####.-copy
60ce0 20 60 28 6c 69 73 74 29 60 0a 0a 43 72 65 61 74 65 20 61 20 73 68 61 6c 6c 6f 77 20 63 6f 70 79 .`(list)`..Create.a.shallow.copy
60d00 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 63 6f 70 79 20 27 28 31 20 32 20 .of.`list`...```el.(-copy.'(1.2.
60d20 33 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 28 6c 65 74 20 28 28 61 20 27 28 31 20 32 3)).;;.=>.(1.2.3).(let.((a.'(1.2
60d40 20 33 29 29 29 20 28 65 71 20 61 20 28 2d 63 6f 70 79 20 61 29 29 29 20 3b 3b 20 3d 3e 20 6e 69 .3))).(eq.a.(-copy.a))).;;.=>.ni
60d60 6c 0a 60 60 60 0a 0a 23 23 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 0a 0a 46 75 6e l.```..##.Sublist.selection..Fun
60d80 63 74 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 ctions.returning.a.sublist.of.th
60da0 65 20 6f 72 69 67 69 6e 61 6c 20 6c 69 73 74 2e 0a 0a 23 23 23 23 20 2d 66 69 6c 74 65 72 20 60 e.original.list...####.-filter.`
60dc0 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 (pred.list)`..Return.a.new.list.
60de0 6f 66 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 20 66 6f 72 20 77 68 69 63 68 of.the.items.in.`list`.for.which
60e00 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a .`pred`.returns.non-nil...Alias:
60e20 20 60 2d 73 65 6c 65 63 74 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 .`-select`...This.function's.ana
60e40 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 6c 74 65 72 60 phoric.counterpart.is.`--filter`
60e60 2e 0a 0a 46 6f 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 ...For.similar.operations,.see.a
60e80 6c 73 6f 20 5b 60 2d 6b 65 65 70 60 5d 28 23 2d 6b 65 65 70 2d 66 6e 2d 6c 69 73 74 29 20 61 6e lso.[`-keep`](#-keep-fn-list).an
60ea0 64 20 5b 60 2d 72 65 6d 6f 76 65 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 70 72 65 64 2d 6c 69 73 74 d.[`-remove`](#-remove-pred-list
60ec0 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 69 6c 74 65 72 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 )...```el.(-filter.(lambda.(num)
60ee0 20 28 3d 20 30 20 28 25 20 6e 75 6d 20 32 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b .(=.0.(%.num.2))).'(1.2.3.4)).;;
60f00 20 3d 3e 20 28 32 20 34 29 0a 28 2d 66 69 6c 74 65 72 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d .=>.(2.4).(-filter.#'natnump.'(-
60f20 32 20 2d 31 20 30 20 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 30 20 31 20 32 29 0a 28 2d 2d 66 69 2.-1.0.1.2)).;;.=>.(0.1.2).(--fi
60f40 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 20 lter.(=.0.(%.it.2)).'(1.2.3.4)).
60f60 3b 3b 20 3d 3e 20 28 32 20 34 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 6d 6f 76 65 20 60 28 ;;.=>.(2.4).```..####.-remove.`(
60f80 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f pred.list)`..Return.a.new.list.o
60fa0 66 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 20 66 6f 72 20 77 68 69 63 68 20 f.the.items.in.`list`.for.which.
60fc0 60 70 72 65 64 60 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 `pred`.returns.nil...Alias:.`-re
60fe0 6a 65 63 74 60 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
61000 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 60 2e 0a 0a 46 6f c.counterpart.is.`--remove`...Fo
61020 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 5b r.similar.operations,.see.also.[
61040 60 2d 6b 65 65 70 60 5d 28 23 2d 6b 65 65 70 2d 66 6e 2d 6c 69 73 74 29 20 61 6e 64 20 5b 60 2d `-keep`](#-keep-fn-list).and.[`-
61060 66 69 6c 74 65 72 60 5d 28 23 2d 66 69 6c 74 65 72 2d 70 72 65 64 2d 6c 69 73 74 29 2e 0a 0a 60 filter`](#-filter-pred-list)...`
61080 60 60 65 6c 0a 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 ``el.(-remove.(lambda.(num).(=.0
610a0 20 28 25 20 6e 75 6d 20 32 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 .(%.num.2))).'(1.2.3.4)).;;.=>.(
610c0 31 20 33 29 0a 28 2d 72 65 6d 6f 76 65 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 32 20 2d 31 20 1.3).(-remove.#'natnump.'(-2.-1.
610e0 30 20 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 2d 32 20 2d 31 29 0a 28 2d 2d 72 65 6d 6f 76 65 20 0.1.2)).;;.=>.(-2.-1).(--remove.
61100 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 20 3b 3b 20 3d 3e (=.0.(%.it.2)).'(1.2.3.4)).;;.=>
61120 20 28 31 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 60 .(1.3).```..####.-remove-first.`
61140 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 6d 6f 76 65 20 74 68 65 20 66 69 72 73 74 20 69 (pred.list)`..Remove.the.first.i
61160 74 65 6d 20 66 72 6f 6d 20 60 6c 69 73 74 60 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 tem.from.`list`.for.which.`pred`
61180 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 6e 2d .returns.non-nil..This.is.a.non-
611a0 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 79 20 destructive.operation,.but.only.
611c0 74 68 65 20 66 72 6f 6e 74 20 6f 66 20 60 6c 69 73 74 60 0a 6c 65 61 64 69 6e 67 20 75 70 20 74 the.front.of.`list`.leading.up.t
611e0 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
61200 65 20 72 65 73 74 20 69 73 20 60 6c 69 73 74 60 27 73 0a 6f 72 69 67 69 6e 61 6c 20 74 61 69 6c e.rest.is.`list`'s.original.tail
61220 2e 20 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 ...If.no.item.is.removed,.then.t
61240 68 65 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 he.result.is.a.complete.copy...A
61260 6c 69 61 73 3a 20 60 2d 72 65 6a 65 63 74 2d 66 69 72 73 74 60 2e 0a 0a 54 68 69 73 20 66 75 6e lias:.`-reject-first`...This.fun
61280 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 73 ction's.anaphoric.counterpart.is
612a0 20 60 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 5b 60 2d .`--remove-first`...See.also.[`-
612c0 6d 61 70 2d 66 69 72 73 74 60 5d 28 23 2d 6d 61 70 2d 66 69 72 73 74 2d 70 72 65 64 2d 72 65 70 map-first`](#-map-first-pred-rep
612e0 2d 6c 69 73 74 29 2c 20 5b 60 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 60 5d 28 23 2d 72 65 6d 6f 76 -list),.[`-remove-item`](#-remov
61300 65 2d 69 74 65 6d 2d 69 74 65 6d 2d 6c 69 73 74 29 2c 20 61 6e 64 20 5b 60 2d 72 65 6d 6f 76 65 e-item-item-list),.and.[`-remove
61320 2d 6c 61 73 74 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 2d 70 72 65 64 2d 6c 69 73 74 29 -last`](#-remove-last-pred-list)
61340 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 23 27 6e 61 74 6e 75 6d ...```el.(-remove-first.#'natnum
61360 70 20 27 28 2d 32 20 2d 31 20 30 20 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 2d 32 20 2d 31 20 31 p.'(-2.-1.0.1.2)).;;.=>.(-2.-1.1
61380 20 32 29 0a 28 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 23 27 73 74 72 69 6e 67 70 20 27 28 31 .2).(-remove-first.#'stringp.'(1
613a0 20 32 20 22 66 69 72 73 74 22 20 22 73 65 63 6f 6e 64 22 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 .2."first"."second")).;;.=>.(1.2
613c0 20 22 73 65 63 6f 6e 64 22 29 0a 28 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 3e 20 69 74 ."second").(--remove-first.(>.it
613e0 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 .3).'(1.2.3.4.5.6)).;;.=>.(1.2.3
61400 20 35 20 36 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 60 28 70 .5.6).```..####.-remove-last.`(p
61420 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 6d 6f 76 65 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d red.list)`..Remove.the.last.item
61440 20 66 72 6f 6d 20 60 6c 69 73 74 60 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 .from.`list`.for.which.`pred`.re
61460 74 75 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 turns.non-nil..The.result.is.a.c
61480 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 opy.of.`list`.regardless.of.whet
614a0 68 65 72 20 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 her.an.element.is.removed...Alia
614c0 73 3a 20 60 2d 72 65 6a 65 63 74 2d 6c 61 73 74 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f s:.`-reject-last`...This.functio
614e0 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 2d 2d n's.anaphoric.counterpart.is.`--
61500 72 65 6d 6f 76 65 2d 6c 61 73 74 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 5b 60 2d 6d 61 70 2d 6c remove-last`...See.also.[`-map-l
61520 61 73 74 60 5d 28 23 2d 6d 61 70 2d 6c 61 73 74 2d 70 72 65 64 2d 72 65 70 2d 6c 69 73 74 29 2c ast`](#-map-last-pred-rep-list),
61540 20 5b 60 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 2d .[`-remove-item`](#-remove-item-
61560 69 74 65 6d 2d 6c 69 73 74 29 2c 20 61 6e 64 20 5b 60 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 60 item-list),.and.[`-remove-first`
61580 5d 28 23 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 2d 70 72 65 64 2d 6c 69 73 74 29 2e 0a 0a 60 60 ](#-remove-first-pred-list)...``
615a0 60 65 6c 0a 28 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 31 20 `el.(-remove-last.#'natnump.'(1.
615c0 33 20 35 20 34 20 37 20 38 20 31 30 20 2d 31 31 29 29 20 3b 3b 20 3d 3e 20 28 31 20 33 20 35 20 3.5.4.7.8.10.-11)).;;.=>.(1.3.5.
615e0 34 20 37 20 38 20 2d 31 31 29 0a 28 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 23 27 73 74 72 69 6e 4.7.8.-11).(-remove-last.#'strin
61600 67 70 20 27 28 31 20 32 20 22 6c 61 73 74 22 20 22 73 65 63 6f 6e 64 22 29 29 20 3b 3b 20 3d 3e gp.'(1.2."last"."second")).;;.=>
61620 20 28 31 20 32 20 22 6c 61 73 74 22 29 0a 28 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 28 3e 20 .(1.2."last").(--remove-last.(>.
61640 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 20 3b it.3).'(1.2.3.4.5.6.7.8.9.10)).;
61660 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 29 0a 60 60 60 0a 0a 23 23 ;.=>.(1.2.3.4.5.6.7.8.9).```..##
61680 23 23 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 60 28 69 74 65 6d 20 6c 69 73 74 29 60 0a 0a 52 ##.-remove-item.`(item.list)`..R
616a0 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 20 77 69 74 68 20 61 6c 6c 20 eturn.a.copy.of.`list`.with.all.
616c0 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 60 69 74 65 6d 60 20 72 65 6d 6f 76 65 64 2e 0a 54 occurrences.of.`item`.removed..T
616e0 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 60 65 71 75 61 he.comparison.is.done.with.`equa
61700 6c 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 33 20 27 28 31 20 32 l`...```el.(-remove-item.3.'(1.2
61720 20 33 20 32 20 33 20 34 20 35 20 33 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 32 20 34 20 35 29 .3.2.3.4.5.3)).;;.=>.(1.2.2.4.5)
61740 0a 28 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 27 66 6f 6f 20 27 28 66 6f 6f 20 62 61 72 20 62 61 .(-remove-item.'foo.'(foo.bar.ba
61760 7a 20 66 6f 6f 29 29 20 3b 3b 20 3d 3e 20 28 62 61 72 20 62 61 7a 29 0a 28 2d 72 65 6d 6f 76 65 z.foo)).;;.=>.(bar.baz).(-remove
61780 2d 69 74 65 6d 20 22 62 6f 62 22 20 27 28 22 61 6c 69 63 65 22 20 22 62 6f 62 22 20 22 65 76 65 -item."bob".'("alice"."bob"."eve
617a0 22 20 22 62 6f 62 22 29 29 20 3b 3b 20 3d 3e 20 28 22 61 6c 69 63 65 22 20 22 65 76 65 22 29 0a "."bob")).;;.=>.("alice"."eve").
617c0 60 60 60 0a 0a 23 23 23 23 20 2d 6e 6f 6e 2d 6e 69 6c 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 ```..####.-non-nil.`(list)`..Ret
617e0 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 20 77 69 74 68 20 61 6c 6c 20 6e 69 urn.a.copy.of.`list`.with.all.ni
61800 6c 20 69 74 65 6d 73 20 72 65 6d 6f 76 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6e 6f 6e 2d 6e 69 l.items.removed...```el.(-non-ni
61820 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 34 20 6e 69 6c 20 l.'(nil.1.nil.2.nil.nil.3.4.nil.
61840 35 20 6e 69 6c 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 29 0a 28 2d 6e 6f 6e 2d 5.nil)).;;.=>.(1.2.3.4.5).(-non-
61860 6e 69 6c 20 27 28 28 6e 69 6c 29 29 29 20 3b 3b 20 3d 3e 20 28 28 6e 69 6c 29 29 0a 28 2d 6e 6f nil.'((nil))).;;.=>.((nil)).(-no
61880 6e 2d 6e 69 6c 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 6c n-nil.()).;;.=>.().```..####.-sl
618a0 69 63 65 20 60 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 ice.`(list.from.&optional.to.ste
618c0 70 29 60 0a 0a 52 65 74 75 72 6e 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 2c 20 73 74 61 72 p)`..Return.copy.of.`list`,.star
618e0 74 69 6e 67 20 66 72 6f 6d 20 69 6e 64 65 78 20 60 66 72 6f 6d 60 20 74 6f 20 69 6e 64 65 78 20 ting.from.index.`from`.to.index.
61900 60 74 6f 60 2e 0a 0a 60 66 72 6f 6d 60 20 6f 72 20 60 74 6f 60 20 6d 61 79 20 62 65 20 6e 65 67 `to`...`from`.or.`to`.may.be.neg
61920 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
61940 74 65 72 70 72 65 74 65 64 0a 6d 6f 64 75 6c 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 terpreted.modulo.the.length.of.t
61960 68 65 20 6c 69 73 74 2e 0a 0a 49 66 20 60 73 74 65 70 60 20 69 73 20 61 20 6e 75 6d 62 65 72 2c he.list...If.`step`.is.a.number,
61980 20 6f 6e 6c 79 20 65 61 63 68 20 60 73 74 65 70 60 74 68 20 69 74 65 6d 20 69 6e 20 74 68 65 20 .only.each.`step`th.item.in.the.
619a0 72 65 73 75 6c 74 69 6e 67 0a 73 65 63 74 69 6f 6e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 resulting.section.is.returned...
619c0 44 65 66 61 75 6c 74 73 20 74 6f 20 31 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 6c 69 63 65 20 27 28 Defaults.to.1...```el.(-slice.'(
619e0 31 20 32 20 33 20 34 20 35 29 20 31 29 20 3b 3b 20 3d 3e 20 28 32 20 33 20 34 20 35 29 0a 28 2d 1.2.3.4.5).1).;;.=>.(2.3.4.5).(-
61a00 73 6c 69 63 65 20 27 28 31 20 32 20 33 20 34 20 35 29 20 30 20 33 29 20 3b 3b 20 3d 3e 20 28 31 slice.'(1.2.3.4.5).0.3).;;.=>.(1
61a20 20 32 20 33 29 0a 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 .2.3).(-slice.'(1.2.3.4.5.6.7.8.
61a40 39 29 20 31 20 2d 31 20 32 29 20 3b 3b 20 3d 3e 20 28 32 20 34 20 36 20 38 29 0a 60 60 60 0a 0a 9).1.-1.2).;;.=>.(2.4.6.8).```..
61a60 23 23 23 23 20 2d 74 61 6b 65 20 60 28 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 ####.-take.`(n.list)`..Return.a.
61a80 63 6f 70 79 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 60 6e 60 20 69 74 65 6d 73 20 69 6e 20 60 copy.of.the.first.`n`.items.in.`
61aa0 6c 69 73 74 60 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 20 69 list`..Return.a.copy.of.`list`.i
61ac0 66 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 60 6e 60 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 f.it.contains.`n`.items.or.fewer
61ae0 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 60 6e 60 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c ..Return.nil.if.`n`.is.zero.or.l
61b00 65 73 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 74 61 6b 65 2d 6c 61 73 74 60 5d 28 23 ess...See.also:.[`-take-last`](#
61b20 2d 74 61 6b 65 2d 6c 61 73 74 2d 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 61 6b -take-last-n-list)...```el.(-tak
61b40 65 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a e.3.'(1.2.3.4.5)).;;.=>.(1.2.3).
61b60 28 2d 74 61 6b 65 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 31 (-take.17.'(1.2.3.4.5)).;;.=>.(1
61b80 20 32 20 33 20 34 20 35 29 0a 28 2d 74 61 6b 65 20 30 20 27 28 31 20 32 20 33 20 34 20 35 29 29 .2.3.4.5).(-take.0.'(1.2.3.4.5))
61ba0 20 3b 3b 20 3d 3e 20 28 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 74 61 6b 65 2d 6c 61 73 74 20 60 .;;.=>.().```..####.-take-last.`
61bc0 28 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 (n.list)`..Return.a.copy.of.the.
61be0 6c 61 73 74 20 60 6e 60 20 69 74 65 6d 73 20 6f 66 20 60 6c 69 73 74 60 20 69 6e 20 6f 72 64 65 last.`n`.items.of.`list`.in.orde
61c00 72 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 20 69 66 20 69 74 r..Return.a.copy.of.`list`.if.it
61c20 20 63 6f 6e 74 61 69 6e 73 20 60 6e 60 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 0a 52 65 .contains.`n`.items.or.fewer..Re
61c40 74 75 72 6e 20 6e 69 6c 20 69 66 20 60 6e 60 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e turn.nil.if.`n`.is.zero.or.less.
61c60 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 74 61 6b 65 60 5d 28 23 2d 74 61 6b 65 2d 6e 2d 6c ..See.also:.[`-take`](#-take-n-l
61c80 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 61 6b 65 2d 6c 61 73 74 20 33 20 27 28 31 20 32 ist)...```el.(-take-last.3.'(1.2
61ca0 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 33 20 34 20 35 29 0a 28 2d 74 61 6b 65 2d 6c 61 .3.4.5)).;;.=>.(3.4.5).(-take-la
61cc0 73 74 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 st.17.'(1.2.3.4.5)).;;.=>.(1.2.3
61ce0 20 34 20 35 29 0a 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 29 .4.5).(-take-last.1.'(1.2.3.4.5)
61d00 29 20 3b 3b 20 3d 3e 20 28 35 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 64 72 6f 70 20 60 28 6e 20 ).;;.=>.(5).```..####.-drop.`(n.
61d20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 74 61 69 6c 20 28 6e 6f 74 20 61 20 63 list)`..Return.the.tail.(not.a.c
61d40 6f 70 79 29 20 6f 66 20 60 6c 69 73 74 60 20 77 69 74 68 6f 75 74 20 74 68 65 20 66 69 72 73 74 opy).of.`list`.without.the.first
61d60 20 60 6e 60 20 69 74 65 6d 73 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 60 6c 69 73 74 60 .`n`.items..Return.nil.if.`list`
61d80 20 63 6f 6e 74 61 69 6e 73 20 60 6e 60 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 0a 52 65 .contains.`n`.items.or.fewer..Re
61da0 74 75 72 6e 20 60 6c 69 73 74 60 20 69 66 20 60 6e 60 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 turn.`list`.if.`n`.is.zero.or.le
61dc0 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 61 6c ss...For.another.variant,.see.al
61de0 73 6f 20 5b 60 2d 64 72 6f 70 2d 6c 61 73 74 60 5d 28 23 2d 64 72 6f 70 2d 6c 61 73 74 2d 6e 2d so.[`-drop-last`](#-drop-last-n-
61e00 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 64 72 6f 70 20 33 20 27 28 31 20 32 20 33 20 34 list)...```el.(-drop.3.'(1.2.3.4
61e20 20 35 29 29 20 3b 3b 20 3d 3e 20 28 34 20 35 29 0a 28 2d 64 72 6f 70 20 31 37 20 27 28 31 20 32 .5)).;;.=>.(4.5).(-drop.17.'(1.2
61e40 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 64 72 6f 70 20 30 20 27 28 31 20 32 .3.4.5)).;;.=>.().(-drop.0.'(1.2
61e60 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 29 0a 60 60 60 0a 0a .3.4.5)).;;.=>.(1.2.3.4.5).```..
61e80 23 23 23 23 20 2d 64 72 6f 70 2d 6c 61 73 74 20 60 28 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 ####.-drop-last.`(n.list)`..Retu
61ea0 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 20 77 69 74 68 6f 75 74 20 69 74 73 20 rn.a.copy.of.`list`.without.its.
61ec0 6c 61 73 74 20 60 6e 60 20 69 74 65 6d 73 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 last.`n`.items..Return.a.copy.of
61ee0 20 60 6c 69 73 74 60 20 69 66 20 60 6e 60 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a .`list`.if.`n`.is.zero.or.less..
61f00 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 60 6c 69 73 74 60 20 63 6f 6e 74 61 69 6e 73 20 60 6e Return.nil.if.`list`.contains.`n
61f20 60 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d `.items.or.fewer...See.also:.[`-
61f40 64 72 6f 70 60 5d 28 23 2d 64 72 6f 70 2d 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d drop`](#-drop-n-list)...```el.(-
61f60 64 72 6f 70 2d 6c 61 73 74 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 drop-last.3.'(1.2.3.4.5)).;;.=>.
61f80 28 31 20 32 29 0a 28 2d 64 72 6f 70 2d 6c 61 73 74 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 (1.2).(-drop-last.17.'(1.2.3.4.5
61fa0 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 64 72 6f 70 2d 6c 61 73 74 20 30 20 27 28 31 20 32 20 )).;;.=>.().(-drop-last.0.'(1.2.
61fc0 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 29 0a 60 60 60 0a 0a 23 3.4.5)).;;.=>.(1.2.3.4.5).```..#
61fe0 23 23 23 20 2d 74 61 6b 65 2d 77 68 69 6c 65 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 54 ###.-take-while.`(pred.list)`..T
62000 61 6b 65 20 73 75 63 63 65 73 73 69 76 65 20 69 74 65 6d 73 20 66 72 6f 6d 20 60 6c 69 73 74 60 ake.successive.items.from.`list`
62020 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 .for.which.`pred`.returns.non-ni
62040 6c 2e 0a 60 70 72 65 64 60 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 l..`pred`.is.a.function.of.one.a
62060 72 67 75 6d 65 6e 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 rgument...Return.a.new.list.of.t
62080 68 65 0a 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 he.successive.elements.from.the.
620a0 73 74 61 72 74 20 6f 66 20 60 6c 69 73 74 60 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 start.of.`list`.for.which.`pred`
620c0 20 72 65 74 75 72 6e 73 0a 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e .returns.non-nil...This.function
620e0 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 2d 2d 74 's.anaphoric.counterpart.is.`--t
62100 61 6b 65 2d 77 68 69 6c 65 60 2e 0a 0a 46 6f 72 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 6e 74 ake-while`...For.another.variant
62120 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d 64 72 6f 70 2d 77 68 69 6c 65 60 5d 28 23 2d 64 72 6f ,.see.also.[`-drop-while`](#-dro
62140 70 2d 77 68 69 6c 65 2d 70 72 65 64 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 61 6b p-while-pred-list)...```el.(-tak
62160 65 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d e-while.#'even?.'(1.2.3.4)).;;.=
62180 3e 20 28 29 0a 28 2d 74 61 6b 65 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 32 20 34 20 >.().(-take-while.#'even?.'(2.4.
621a0 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 32 20 34 29 0a 28 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 5.6)).;;.=>.(2.4).(--take-while.
621c0 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 20 3b 3b 20 3d 3e (<.it.4).'(1.2.3.4.3.2.1)).;;.=>
621e0 20 28 31 20 32 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 64 72 6f 70 2d 77 68 69 6c 65 20 60 .(1.2.3).```..####.-drop-while.`
62200 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 44 72 6f 70 20 73 75 63 63 65 73 73 69 76 65 20 69 74 (pred.list)`..Drop.successive.it
62220 65 6d 73 20 66 72 6f 6d 20 60 6c 69 73 74 60 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 ems.from.`list`.for.which.`pred`
62240 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 60 70 72 65 64 60 20 69 73 20 61 20 66 75 .returns.non-nil..`pred`.is.a.fu
62260 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 75 72 6e 20 nction.of.one.argument...Return.
62280 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 60 6c 69 73 74 60 20 the.tail.(not.a.copy).of.`list`.
622a0 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 20 starting.from.its.first.element.
622c0 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 0a 6e 69 6c 2e 0a 0a 54 for.which.`pred`.returns.nil...T
622e0 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
62300 70 61 72 74 20 69 73 20 60 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 60 2e 0a 0a 46 6f 72 20 61 6e 6f part.is.`--drop-while`...For.ano
62320 74 68 65 72 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d 74 61 6b 65 2d 77 ther.variant,.see.also.[`-take-w
62340 68 69 6c 65 60 5d 28 23 2d 74 61 6b 65 2d 77 68 69 6c 65 2d 70 72 65 64 2d 6c 69 73 74 29 2e 0a hile`](#-take-while-pred-list)..
62360 0a 60 60 60 65 6c 0a 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 .```el.(-drop-while.#'even?.'(1.
62380 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 29 0a 28 2d 64 72 6f 70 2d 77 2.3.4)).;;.=>.(1.2.3.4).(-drop-w
623a0 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 32 20 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 hile.#'even?.'(2.4.5.6)).;;.=>.(
623c0 35 20 36 29 0a 28 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 5.6).(--drop-while.(<.it.4).'(1.
623e0 32 20 33 20 34 20 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 28 34 20 33 20 32 20 31 29 0a 60 60 2.3.4.3.2.1)).;;.=>.(4.3.2.1).``
62400 60 0a 0a 23 23 23 23 20 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 60 28 69 6e 64 `..####.-select-by-indices.`(ind
62420 69 63 65 73 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 68 6f 73 65 ices.list)`..Return.a.list.whose
62440 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 6f 6d 20 60 6c 69 73 .elements.are.elements.from.`lis
62460 74 60 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 29 60 20 66 6f t`.selected.as.`(nth.i.list)`.fo
62480 72 20 61 6c 6c 20 69 20 66 72 6f 6d 20 60 69 6e 64 69 63 65 73 60 2e 0a 0a 60 60 60 65 6c 0a 28 r.all.i.from.`indices`...```el.(
624a0 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 32 20 33 20 36 29 -select-by-indices.'(4.10.2.3.6)
624c0 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 20 22 72 22 20 22 .'("v"."e"."l"."o"."c"."i"."r"."
624e0 61 22 20 22 70 22 20 22 74 22 20 22 6f 22 20 22 72 22 29 29 20 3b 3b 20 3d 3e 20 28 22 63 22 20 a"."p"."t"."o"."r")).;;.=>.("c".
62500 22 6f 22 20 22 6c 22 20 22 6f 22 20 22 72 22 29 0a 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 "o"."l"."o"."r").(-select-by-ind
62520 69 63 65 73 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 20 3b 3b ices.'(2.1.0).'("a"."b"."c")).;;
62540 20 3d 3e 20 28 22 63 22 20 22 62 22 20 22 61 22 29 0a 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e .=>.("c"."b"."a").(-select-by-in
62560 64 69 63 65 73 20 27 28 30 20 31 20 32 20 30 20 31 20 33 20 33 20 31 29 20 27 28 22 66 22 20 22 dices.'(0.1.2.0.1.3.3.1).'("f"."
62580 61 22 20 22 72 22 20 22 6c 22 29 29 20 3b 3b 20 3d 3e 20 28 22 66 22 20 22 61 22 20 22 72 22 20 a"."r"."l")).;;.=>.("f"."a"."r".
625a0 22 66 22 20 22 61 22 20 22 6c 22 20 22 6c 22 20 22 61 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d "f"."a"."l"."l"."a").```..####.-
625c0 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 60 28 63 6f 6c 75 6d 6e 73 20 74 61 62 6c 65 29 60 select-columns.`(columns.table)`
625e0 0a 0a 53 65 6c 65 63 74 20 60 63 6f 6c 75 6d 6e 73 60 20 66 72 6f 6d 20 60 74 61 62 6c 65 60 2e ..Select.`columns`.from.`table`.
62600 0a 0a 60 74 61 62 6c 65 60 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
62620 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
62640 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 61 73 20 74 ow..It.is.assumed.each.row.has.t
62660 68 65 20 73 61 6d 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 he.same.length...Each.row.is.tra
62680 6e 73 66 6f 72 6d 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 nsformed.such.that.only.the.spec
626a0 69 66 69 65 64 20 60 63 6f 6c 75 6d 6e 73 60 20 61 72 65 0a 73 65 6c 65 63 74 65 64 2e 0a 0a 53 ified.`columns`.are.selected...S
626c0 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 60 5d 28 23 2d 73 65 ee.also:.[`-select-column`](#-se
626e0 6c 65 63 74 2d 63 6f 6c 75 6d 6e 2d 63 6f 6c 75 6d 6e 2d 74 61 62 6c 65 29 2c 20 5b 60 2d 73 65 lect-column-column-table),.[`-se
62700 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 60 5d 28 23 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e lect-by-indices`](#-select-by-in
62720 64 69 63 65 73 2d 69 6e 64 69 63 65 73 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 73 65 6c dices-indices-list)..```el.(-sel
62740 65 63 74 2d 63 6f 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 ect-columns.'(0.2).'((1.2.3).(a.
62760 62 20 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 33 29 20 28 b.c).(:a.:b.:c))).;;.=>.((1.3).(
62780 61 20 63 29 20 28 3a 61 20 3a 63 29 29 0a 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 27 a.c).(:a.:c)).(-select-columns.'
627a0 28 31 29 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 3a 63 29 (1).'((1.2.3).(a.b.c).(:a.:b.:c)
627c0 29 29 20 3b 3b 20 3d 3e 20 28 28 32 29 20 28 62 29 20 28 3a 62 29 29 0a 28 2d 73 65 6c 65 63 74 )).;;.=>.((2).(b).(:b)).(-select
627e0 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 62 20 63 29 20 28 -columns.nil.'((1.2.3).(a.b.c).(
62800 3a 61 20 3a 62 20 3a 63 29 29 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 20 6e 69 6c 20 6e 69 6c 29 0a :a.:b.:c))).;;.=>.(nil.nil.nil).
62820 60 60 60 0a 0a 23 23 23 23 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 20 60 28 63 6f 6c 75 6d ```..####.-select-column.`(colum
62840 6e 20 74 61 62 6c 65 29 60 0a 0a 53 65 6c 65 63 74 20 60 63 6f 6c 75 6d 6e 60 20 66 72 6f 6d 20 n.table)`..Select.`column`.from.
62860 60 74 61 62 6c 65 60 2e 0a 0a 60 74 61 62 6c 65 60 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c `table`...`table`.is.a.list.of.l
62880 69 73 74 73 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 ists.where.each.element.represen
628a0 74 73 20 6f 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 ts.one.row..It.is.assumed.each.r
628c0 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 54 68 65 20 73 69 6e ow.has.the.same.length...The.sin
628e0 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 65 64 20 gle.selected.column.is.returned.
62900 61 73 20 61 20 6c 69 73 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 73 65 6c 65 63 74 2d as.a.list...See.also:.[`-select-
62920 63 6f 6c 75 6d 6e 73 60 5d 28 23 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 2d 63 6f 6c 75 6d columns`](#-select-columns-colum
62940 6e 73 2d 74 61 62 6c 65 29 2c 20 5b 60 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 60 ns-table),.[`-select-by-indices`
62960 5d 28 23 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 2d 69 6e 64 69 63 65 73 2d 6c 69 ](#-select-by-indices-indices-li
62980 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 20 31 20 27 28 28 st)..```el.(-select-column.1.'((
629a0 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 29 29 20 3b 3b 20 3d 1.2.3).(a.b.c).(:a.:b.:c))).;;.=
629c0 3e 20 28 32 20 62 20 3a 62 29 0a 60 60 60 0a 0a 23 23 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 0a >.(2.b.:b).```..##.List.to.list.
629e0 0a 46 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 69 6e 67 20 61 20 6d 6f 64 69 66 69 65 64 20 .Functions.returning.a.modified.
62a00 63 6f 70 79 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 23 23 23 23 20 2d 6b copy.of.the.input.list...####.-k
62a20 65 65 70 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 eep.`(fn.list)`..Return.a.new.li
62a40 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 70 st.of.the.non-nil.results.of.app
62a60 6c 79 69 6e 67 20 60 66 6e 60 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 60 6c 69 73 74 lying.`fn`.to.each.item.in.`list
62a80 60 2e 0a 4c 69 6b 65 20 5b 60 2d 66 69 6c 74 65 72 60 5d 28 23 2d 66 69 6c 74 65 72 2d 70 72 65 `..Like.[`-filter`](#-filter-pre
62aa0 64 2d 6c 69 73 74 29 2c 20 62 75 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 6f 6e 2d 6e 69 6c d-list),.but.returns.the.non-nil
62ac0 20 72 65 73 75 6c 74 73 20 6f 66 20 60 66 6e 60 20 69 6e 73 74 65 61 64 20 6f 66 0a 74 68 65 20 .results.of.`fn`.instead.of.the.
62ae0 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 60 6c 69 73 74 60 corresponding.elements.of.`list`
62b00 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 20 ...Its.anaphoric.counterpart.is.
62b20 60 2d 2d 6b 65 65 70 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6b 65 65 70 20 23 27 63 64 72 20 27 28 `--keep`...```el.(-keep.#'cdr.'(
62b40 28 31 20 32 20 33 29 20 28 34 20 35 29 20 28 36 29 29 29 20 3b 3b 20 3d 3e 20 28 28 32 20 33 29 (1.2.3).(4.5).(6))).;;.=>.((2.3)
62b60 20 28 35 29 29 0a 28 2d 6b 65 65 70 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 61 6e 64 20 28 3e .(5)).(-keep.(lambda.(n).(and.(>
62b80 20 6e 20 33 29 20 28 2a 20 31 30 20 6e 29 29 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 .n.3).(*.10.n))).'(1.2.3.4.5.6))
62ba0 20 3b 3b 20 3d 3e 20 28 34 30 20 35 30 20 36 30 29 0a 28 2d 2d 6b 65 65 70 20 28 61 6e 64 20 28 .;;.=>.(40.50.60).(--keep.(and.(
62bc0 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 36 >.it.3).(*.10.it)).'(1.2.3.4.5.6
62be0 29 29 20 3b 3b 20 3d 3e 20 28 34 30 20 35 30 20 36 30 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 )).;;.=>.(40.50.60).```..####.-c
62c00 6f 6e 63 61 74 20 60 28 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 oncat.`(&rest.lists)`..Return.a.
62c20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 new.list.with.the.concatenation.
62c40 6f 66 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 73 75 70 70 6c 69 65 64 20 of.the.elements.in.the.supplied.
62c60 60 6c 69 73 74 73 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 29 20 3b `lists`...```el.(-concat.'(1)).;
62c80 3b 20 3d 3e 20 28 31 29 0a 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 20 27 28 32 29 29 20 3b 3b 20 ;.=>.(1).(-concat.'(1).'(2)).;;.
62ca0 3d 3e 20 28 31 20 32 29 0a 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 20 27 28 32 20 33 29 20 27 28 =>.(1.2).(-concat.'(1).'(2.3).'(
62cc0 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 4)).;;.=>.(1.2.3.4).```..####.-f
62ce0 6c 61 74 74 65 6e 20 60 28 6c 29 60 0a 0a 54 61 6b 65 20 61 20 6e 65 73 74 65 64 20 6c 69 73 74 latten.`(l)`..Take.a.nested.list
62d00 20 60 6c 60 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 73 20 .`l`.and.return.its.contents.as.
62d20 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 61 74 20 a.single,.flat.list...Note.that.
62d40 62 65 63 61 75 73 65 20 60 6e 69 6c 60 20 72 65 70 72 65 73 65 6e 74 73 20 61 20 6c 69 73 74 20 because.`nil`.represents.a.list.
62d60 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 29 of.zero.elements.(an.empty.list)
62d80 2c 20 61 6e 79 20 6d 65 6e 74 69 6f 6e 20 6f 66 20 6e 69 6c 20 69 6e 20 60 6c 60 20 77 69 6c 6c ,.any.mention.of.nil.in.`l`.will
62da0 20 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 .disappear.after.flattening...If
62dc0 20 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 .you.need.to.preserve.nils,.cons
62de0 69 64 65 72 20 5b 60 2d 66 6c 61 74 74 65 6e 2d 6e 60 5d 28 23 2d 66 6c 61 74 74 65 6e 2d 6e 2d ider.[`-flatten-n`](#-flatten-n-
62e00 6e 75 6d 2d 6c 69 73 74 29 0a 6f 72 20 6d 61 70 20 74 68 65 6d 20 74 6f 20 73 6f 6d 65 20 75 6e num-list).or.map.them.to.some.un
62e20 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 74 68 65 6d 20 62 61 ique.symbol.and.then.map.them.ba
62e40 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 61 72 65 20 63 6f 6e ck...Conses.of.two.atoms.are.con
62e60 73 69 64 65 72 65 64 20 22 74 65 72 6d 69 6e 61 6c 73 22 2c 20 74 68 61 74 20 69 73 2c 20 74 68 sidered."terminals",.that.is,.th
62e80 65 79 0a 61 72 65 6e 27 74 20 66 6c 61 74 74 65 6e 65 64 20 66 75 72 74 68 65 72 2e 0a 0a 53 65 ey.aren't.flattened.further...Se
62ea0 65 20 61 6c 73 6f 3a 20 5b 60 2d 66 6c 61 74 74 65 6e 2d 6e 60 5d 28 23 2d 66 6c 61 74 74 65 6e e.also:.[`-flatten-n`](#-flatten
62ec0 2d 6e 2d 6e 75 6d 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 66 6c 61 74 74 65 6e 20 27 28 -n-num-list)..```el.(-flatten.'(
62ee0 28 31 29 29 29 20 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 66 6c 61 74 74 65 6e 20 27 28 28 31 20 28 (1))).;;.=>.(1).(-flatten.'((1.(
62f00 32 20 33 29 20 28 28 28 34 20 28 35 29 29 29 29 29 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 2.3).(((4.(5))))))).;;.=>.(1.2.3
62f20 20 34 20 35 29 0a 28 2d 66 6c 61 74 74 65 6e 20 27 28 31 20 32 20 28 33 20 2e 20 34 29 29 29 20 .4.5).(-flatten.'(1.2.(3...4))).
62f40 3b 3b 20 3d 3e 20 28 31 20 32 20 28 33 20 2e 20 34 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 ;;.=>.(1.2.(3...4)).```..####.-f
62f60 6c 61 74 74 65 6e 2d 6e 20 60 28 6e 75 6d 20 6c 69 73 74 29 60 0a 0a 46 6c 61 74 74 65 6e 20 60 latten-n.`(num.list)`..Flatten.`
62f80 6e 75 6d 60 20 6c 65 76 65 6c 73 20 6f 66 20 61 20 6e 65 73 74 65 64 20 60 6c 69 73 74 60 2e 0a num`.levels.of.a.nested.`list`..
62fa0 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 66 6c 61 74 74 65 6e 60 5d 28 23 2d 66 6c 61 74 74 65 .See.also:.[`-flatten`](#-flatte
62fc0 6e 2d 6c 29 0a 0a 60 60 60 65 6c 0a 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 31 20 27 28 28 31 20 32 n-l)..```el.(-flatten-n.1.'((1.2
62fe0 29 20 28 28 33 20 34 29 20 28 28 35 20 36 29 29 29 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 28 ).((3.4).((5.6))))).;;.=>.(1.2.(
63000 33 20 34 29 20 28 28 35 20 36 29 29 29 0a 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 32 20 27 28 28 31 3.4).((5.6))).(-flatten-n.2.'((1
63020 20 32 29 20 28 28 33 20 34 29 20 28 28 35 20 36 29 29 29 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 .2).((3.4).((5.6))))).;;.=>.(1.2
63040 20 33 20 34 20 28 35 20 36 29 29 0a 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 33 20 27 28 28 31 20 32 .3.4.(5.6)).(-flatten-n.3.'((1.2
63060 29 20 28 28 33 20 34 29 20 28 28 35 20 36 29 29 29 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 ).((3.4).((5.6))))).;;.=>.(1.2.3
63080 20 34 20 35 20 36 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 70 6c 61 63 65 20 60 28 6f 6c 64 .4.5.6).```..####.-replace.`(old
630a0 20 6e 65 77 20 6c 69 73 74 29 60 0a 0a 52 65 70 6c 61 63 65 20 61 6c 6c 20 60 6f 6c 64 60 20 69 .new.list)`..Replace.all.`old`.i
630c0 74 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 20 77 69 74 68 20 60 6e 65 77 60 2e 0a 0a 45 6c 65 6d tems.in.`list`.with.`new`...Elem
630e0 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 71 75 61 6c 60 2e ents.are.compared.using.`equal`.
63100 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 72 65 70 6c 61 63 65 2d 61 74 60 5d 28 23 2d 72 65 ..See.also:.[`-replace-at`](#-re
63120 70 6c 61 63 65 2d 61 74 2d 6e 2d 78 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 70 6c place-at-n-x-list)..```el.(-repl
63140 61 63 65 20 31 20 22 31 22 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 20 3b 3b 20 3d ace.1."1".'(1.2.3.4.3.2.1)).;;.=
63160 3e 20 28 22 31 22 20 32 20 33 20 34 20 33 20 32 20 22 31 22 29 0a 28 2d 72 65 70 6c 61 63 65 20 >.("1".2.3.4.3.2."1").(-replace.
63180 22 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 "foo"."bar".'("a"."nice"."foo"."
631a0 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 29 20 3b 3b 20 3d 3e 20 sentence"."about"."foo")).;;.=>.
631c0 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 61 62 ("a"."nice"."bar"."sentence"."ab
631e0 6f 75 74 22 20 22 62 61 72 22 29 0a 28 2d 72 65 70 6c 61 63 65 20 31 20 32 20 6e 69 6c 29 20 3b out"."bar").(-replace.1.2.nil).;
63200 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 ;.=>.nil.```..####.-replace-firs
63220 74 20 60 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 60 0a 0a 52 65 70 6c 61 63 65 20 74 68 65 20 t.`(old.new.list)`..Replace.the.
63240 66 69 72 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 60 6f 6c 64 60 20 77 69 74 68 20 60 first.occurrence.of.`old`.with.`
63260 6e 65 77 60 20 69 6e 20 60 6c 69 73 74 60 2e 0a 0a 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f new`.in.`list`...Elements.are.co
63280 6d 70 61 72 65 64 20 75 73 69 6e 67 20 60 65 71 75 61 6c 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a mpared.using.`equal`...See.also:
632a0 20 5b 60 2d 6d 61 70 2d 66 69 72 73 74 60 5d 28 23 2d 6d 61 70 2d 66 69 72 73 74 2d 70 72 65 64 .[`-map-first`](#-map-first-pred
632c0 2d 72 65 70 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 -rep-list)..```el.(-replace-firs
632e0 74 20 31 20 22 31 22 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 t.1."1".'(1.2.3.4.3.2.1)).;;.=>.
63300 28 22 31 22 20 32 20 33 20 34 20 33 20 32 20 31 29 0a 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 ("1".2.3.4.3.2.1).(-replace-firs
63320 74 20 22 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 t."foo"."bar".'("a"."nice"."foo"
63340 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 29 20 3b 3b 20 3d ."sentence"."about"."foo")).;;.=
63360 3e 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"."
63380 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 0a 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 31 20 about"."foo").(-replace-first.1.
633a0 32 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 70 6c 2.nil).;;.=>.nil.```..####.-repl
633c0 61 63 65 2d 6c 61 73 74 20 60 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 60 0a 0a 52 65 70 6c 61 ace-last.`(old.new.list)`..Repla
633e0 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 60 6f 6c 64 60 20 ce.the.last.occurrence.of.`old`.
63400 77 69 74 68 20 60 6e 65 77 60 20 69 6e 20 60 6c 69 73 74 60 2e 0a 0a 45 6c 65 6d 65 6e 74 73 20 with.`new`.in.`list`...Elements.
63420 61 72 65 20 63 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 60 65 71 75 61 6c 60 2e 0a 0a 53 65 65 are.compared.using.`equal`...See
63440 20 61 6c 73 6f 3a 20 5b 60 2d 6d 61 70 2d 6c 61 73 74 60 5d 28 23 2d 6d 61 70 2d 6c 61 73 74 2d .also:.[`-map-last`](#-map-last-
63460 70 72 65 64 2d 72 65 70 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 70 6c 61 63 65 2d pred-rep-list)..```el.(-replace-
63480 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 29 20 3b 3b 20 last.1."1".'(1.2.3.4.3.2.1)).;;.
634a0 3d 3e 20 28 31 20 32 20 33 20 34 20 33 20 32 20 22 31 22 29 0a 28 2d 72 65 70 6c 61 63 65 2d 6c =>.(1.2.3.4.3.2."1").(-replace-l
634c0 61 73 74 20 22 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 ast."foo"."bar".'("a"."nice"."fo
634e0 6f 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 29 20 3b 3b o"."sentence"."about"."foo")).;;
63500 20 3d 3e 20 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 .=>.("a"."nice"."foo"."sentence"
63520 20 22 61 62 6f 75 74 22 20 22 62 61 72 22 29 0a 28 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 31 ."about"."bar").(-replace-last.1
63540 20 32 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 6e 73 .2.nil).;;.=>.nil.```..####.-ins
63560 65 72 74 2d 61 74 20 60 28 6e 20 78 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 ert-at.`(n.x.list)`..Return.a.li
63580 73 74 20 77 69 74 68 20 60 78 60 20 69 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 60 6c 69 73 74 60 st.with.`x`.inserted.into.`list`
635a0 20 61 74 20 70 6f 73 69 74 69 6f 6e 20 60 6e 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d .at.position.`n`...See.also:.[`-
635c0 73 70 6c 69 63 65 60 5d 28 23 2d 73 70 6c 69 63 65 2d 70 72 65 64 2d 66 75 6e 2d 6c 69 73 74 29 splice`](#-splice-pred-fun-list)
635e0 2c 20 5b 60 2d 73 70 6c 69 63 65 2d 6c 69 73 74 60 5d 28 23 2d 73 70 6c 69 63 65 2d 6c 69 73 74 ,.[`-splice-list`](#-splice-list
63600 2d 70 72 65 64 2d 6e 65 77 2d 6c 69 73 74 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 69 6e -pred-new-list-list)..```el.(-in
63620 73 65 72 74 2d 61 74 20 31 20 27 78 20 27 28 61 20 62 20 63 29 29 20 3b 3b 20 3d 3e 20 28 61 20 sert-at.1.'x.'(a.b.c)).;;.=>.(a.
63640 78 20 62 20 63 29 0a 28 2d 69 6e 73 65 72 74 2d 61 74 20 31 32 20 27 78 20 27 28 61 20 62 20 63 x.b.c).(-insert-at.12.'x.'(a.b.c
63660 29 29 20 3b 3b 20 3d 3e 20 28 61 20 62 20 63 20 78 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 )).;;.=>.(a.b.c.x).```..####.-re
63680 70 6c 61 63 65 2d 61 74 20 60 28 6e 20 78 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 place-at.`(n.x.list)`..Return.a.
636a0 6c 69 73 74 20 77 69 74 68 20 65 6c 65 6d 65 6e 74 20 61 74 20 60 6e 60 74 68 20 70 6f 73 69 74 list.with.element.at.`n`th.posit
636c0 69 6f 6e 20 69 6e 20 60 6c 69 73 74 60 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 60 78 60 2e ion.in.`list`.replaced.with.`x`.
636e0 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 72 65 70 6c 61 63 65 60 5d 28 23 2d 72 65 70 6c 61 ..See.also:.[`-replace`](#-repla
63700 63 65 2d 6f 6c 64 2d 6e 65 77 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 70 6c 61 63 ce-old-new-list)..```el.(-replac
63720 65 2d 61 74 20 30 20 39 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 e-at.0.9.'(0.1.2.3.4.5)).;;.=>.(
63740 39 20 31 20 32 20 33 20 34 20 35 29 0a 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 31 20 39 20 27 28 9.1.2.3.4.5).(-replace-at.1.9.'(
63760 30 20 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 30 20 39 20 32 20 33 20 34 20 35 0.1.2.3.4.5)).;;.=>.(0.9.2.3.4.5
63780 29 0a 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 34 20 39 20 27 28 30 20 31 20 32 20 33 20 34 20 35 ).(-replace-at.4.9.'(0.1.2.3.4.5
637a0 29 29 20 3b 3b 20 3d 3e 20 28 30 20 31 20 32 20 33 20 39 20 35 29 0a 60 60 60 0a 0a 23 23 23 23 )).;;.=>.(0.1.2.3.9.5).```..####
637c0 20 2d 75 70 64 61 74 65 2d 61 74 20 60 28 6e 20 66 75 6e 63 20 6c 69 73 74 29 60 0a 0a 52 65 74 .-update-at.`(n.func.list)`..Ret
637e0 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 60 6e 60 74 68 urn.a.list.with.element.at.`n`th
63800 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 60 6c 69 73 74 60 20 72 65 70 6c 61 63 65 64 20 77 69 74 .position.in.`list`.replaced.wit
63820 68 20 60 28 66 75 6e 63 20 28 6e 74 68 20 6e 20 6c 69 73 74 29 29 60 2e 0a 0a 53 65 65 20 61 6c h.`(func.(nth.n.list))`...See.al
63840 73 6f 3a 20 5b 60 2d 6d 61 70 2d 77 68 65 6e 60 5d 28 23 2d 6d 61 70 2d 77 68 65 6e 2d 70 72 65 so:.[`-map-when`](#-map-when-pre
63860 64 2d 72 65 70 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 75 70 64 61 74 65 2d 61 74 20 30 d-rep-list)..```el.(-update-at.0
63880 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 31 20 32 20 33 20 .(lambda.(x).(+.x.9)).'(0.1.2.3.
638a0 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 39 20 31 20 32 20 33 20 34 20 35 29 0a 28 2d 75 70 64 61 4.5)).;;.=>.(9.1.2.3.4.5).(-upda
638c0 74 65 2d 61 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 te-at.1.(lambda.(x).(+.x.8)).'(0
638e0 20 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 30 20 39 20 32 20 33 20 34 20 35 29 .1.2.3.4.5)).;;.=>.(0.9.2.3.4.5)
63900 0a 28 2d 2d 75 70 64 61 74 65 2d 61 74 20 32 20 28 6c 65 6e 67 74 68 20 69 74 29 20 27 28 22 66 .(--update-at.2.(length.it).'("f
63920 6f 6f 22 20 22 62 61 72 22 20 22 62 61 7a 22 20 22 71 75 75 78 22 29 29 20 3b 3b 20 3d 3e 20 28 oo"."bar"."baz"."quux")).;;.=>.(
63940 22 66 6f 6f 22 20 22 62 61 72 22 20 33 20 22 71 75 75 78 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 "foo"."bar".3."quux").```..####.
63960 2d 72 65 6d 6f 76 65 2d 61 74 20 60 28 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 -remove-at.`(n.list)`..Return.a.
63980 6c 69 73 74 20 77 69 74 68 20 65 6c 65 6d 65 6e 74 20 61 74 20 60 6e 60 74 68 20 70 6f 73 69 74 list.with.element.at.`n`th.posit
639a0 69 6f 6e 20 69 6e 20 60 6c 69 73 74 60 20 72 65 6d 6f 76 65 64 2e 0a 0a 53 65 65 20 61 6c 73 6f ion.in.`list`.removed...See.also
639c0 3a 20 5b 60 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 60 5d 28 23 2d 72 65 6d 6f 76 :.[`-remove-at-indices`](#-remov
639e0 65 2d 61 74 2d 69 6e 64 69 63 65 73 2d 69 6e 64 69 63 65 73 2d 6c 69 73 74 29 2c 20 5b 60 2d 72 e-at-indices-indices-list),.[`-r
63a00 65 6d 6f 76 65 60 5d 28 23 2d 72 65 6d 6f 76 65 2d 70 72 65 64 2d 6c 69 73 74 29 0a 0a 60 60 60 emove`](#-remove-pred-list)..```
63a20 65 6c 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 20 30 20 27 28 22 30 22 20 22 31 22 20 22 32 22 20 22 el.(-remove-at.0.'("0"."1"."2"."
63a40 33 22 20 22 34 22 20 22 35 22 29 29 20 3b 3b 20 3d 3e 20 28 22 31 22 20 22 32 22 20 22 33 22 20 3"."4"."5")).;;.=>.("1"."2"."3".
63a60 22 34 22 20 22 35 22 29 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 20 31 20 27 28 22 30 22 20 22 31 22 "4"."5").(-remove-at.1.'("0"."1"
63a80 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 20 3b 3b 20 3d 3e 20 28 22 30 22 20 22 32 ."2"."3"."4"."5")).;;.=>.("0"."2
63aa0 22 20 22 33 22 20 22 34 22 20 22 35 22 29 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 20 32 20 27 28 22 "."3"."4"."5").(-remove-at.2.'("
63ac0 30 22 20 22 31 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 20 3b 3b 20 3d 3e 20 28 0"."1"."2"."3"."4"."5")).;;.=>.(
63ae0 22 30 22 20 22 31 22 20 22 33 22 20 22 34 22 20 22 35 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d "0"."1"."3"."4"."5").```..####.-
63b00 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 60 28 69 6e 64 69 63 65 73 20 6c 69 73 74 remove-at-indices.`(indices.list
63b20 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 )`..Return.a.list.whose.elements
63b40 20 61 72 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 60 6c 69 73 74 60 20 77 69 74 68 6f 75 .are.elements.from.`list`.withou
63b60 74 0a 65 6c 65 6d 65 6e 74 73 20 73 65 6c 65 63 74 65 64 20 61 73 20 60 28 6e 74 68 20 69 20 6c t.elements.selected.as.`(nth.i.l
63b80 69 73 74 29 60 20 66 6f 72 20 61 6c 6c 20 69 0a 66 72 6f 6d 20 60 69 6e 64 69 63 65 73 60 2e 0a ist)`.for.all.i.from.`indices`..
63ba0 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 72 65 6d 6f 76 65 2d 61 74 60 5d 28 23 2d 72 65 6d 6f .See.also:.[`-remove-at`](#-remo
63bc0 76 65 2d 61 74 2d 6e 2d 6c 69 73 74 29 2c 20 5b 60 2d 72 65 6d 6f 76 65 60 5d 28 23 2d 72 65 6d ve-at-n-list),.[`-remove`](#-rem
63be0 6f 76 65 2d 70 72 65 64 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 6d 6f 76 65 2d 61 ove-pred-list)..```el.(-remove-a
63c00 74 2d 69 6e 64 69 63 65 73 20 27 28 30 29 20 27 28 22 30 22 20 22 31 22 20 22 32 22 20 22 33 22 t-indices.'(0).'("0"."1"."2"."3"
63c20 20 22 34 22 20 22 35 22 29 29 20 3b 3b 20 3d 3e 20 28 22 31 22 20 22 32 22 20 22 33 22 20 22 34 ."4"."5")).;;.=>.("1"."2"."3"."4
63c40 22 20 22 35 22 29 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 27 28 30 20 32 "."5").(-remove-at-indices.'(0.2
63c60 20 34 29 20 27 28 22 30 22 20 22 31 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 20 .4).'("0"."1"."2"."3"."4"."5")).
63c80 3b 3b 20 3d 3e 20 28 22 31 22 20 22 33 22 20 22 35 22 29 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 2d ;;.=>.("1"."3"."5").(-remove-at-
63ca0 69 6e 64 69 63 65 73 20 27 28 30 20 35 29 20 27 28 22 30 22 20 22 31 22 20 22 32 22 20 22 33 22 indices.'(0.5).'("0"."1"."2"."3"
63cc0 20 22 34 22 20 22 35 22 29 29 20 3b 3b 20 3d 3e 20 28 22 31 22 20 22 32 22 20 22 33 22 20 22 34 ."4"."5")).;;.=>.("1"."2"."3"."4
63ce0 22 29 0a 60 60 60 0a 0a 23 23 20 52 65 64 75 63 74 69 6f 6e 73 0a 0a 46 75 6e 63 74 69 6f 6e 73 ").```..##.Reductions..Functions
63d00 20 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 .reducing.lists.to.a.single.valu
63d20 65 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 23 e.(which.may.also.be.a.list)...#
63d40 23 23 23 20 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 60 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 ###.-reduce-from.`(fn.init.list)
63d60 60 0a 0a 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 66 6e 60 20 61 63 72 6f `..Reduce.the.function.`fn`.acro
63d80 73 73 20 60 6c 69 73 74 60 2c 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 60 69 6e 69 74 60 2e ss.`list`,.starting.with.`init`.
63da0 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 67 20 60 .Return.the.result.of.applying.`
63dc0 66 6e 60 20 74 6f 20 60 69 6e 69 74 60 20 61 6e 64 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d fn`.to.`init`.and.the.first.elem
63de0 65 6e 74 20 6f 66 0a 60 6c 69 73 74 60 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 60 66 6e ent.of.`list`,.then.applying.`fn
63e00 60 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 64 20 `.to.that.result.and.the.second.
63e20 65 6c 65 6d 65 6e 74 2c 0a 65 74 63 2e 20 20 49 66 20 60 6c 69 73 74 60 20 69 73 20 65 6d 70 74 element,.etc...If.`list`.is.empt
63e40 79 2c 20 72 65 74 75 72 6e 20 60 69 6e 69 74 60 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 y,.return.`init`.without.calling
63e60 20 60 66 6e 60 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 .`fn`...This.function's.anaphori
63e80 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 2d 66 72 6f 6d 60 c.counterpart.is.`--reduce-from`
63ea0 2e 0a 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 5b 60 2d ...For.other.folds,.see.also.[`-
63ec0 72 65 64 75 63 65 60 5d 28 23 2d 72 65 64 75 63 65 2d 66 6e 2d 6c 69 73 74 29 20 61 6e 64 20 5b reduce`](#-reduce-fn-list).and.[
63ee0 60 2d 72 65 64 75 63 65 2d 72 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 6e 2d 6c 69 73 74 29 `-reduce-r`](#-reduce-r-fn-list)
63f00 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 23 27 2d 20 31 30 20 27 28 ...```el.(-reduce-from.#'-.10.'(
63f20 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 34 0a 28 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 23 27 1.2.3)).;;.=>.4.(-reduce-from.#'
63f40 6c 69 73 74 20 31 30 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 28 28 31 30 20 31 29 list.10.'(1.2.3)).;;.=>.(((10.1)
63f60 20 32 29 20 33 29 0a 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 63 6f 6e 63 61 74 20 61 63 .2).3).(--reduce-from.(concat.ac
63f80 63 20 22 20 22 20 69 74 29 20 22 53 54 41 52 54 22 20 27 28 22 61 22 20 22 62 22 20 22 63 22 29 c.".".it)."START".'("a"."b"."c")
63fa0 29 20 3b 3b 20 3d 3e 20 22 53 54 41 52 54 20 61 20 62 20 63 22 0a 60 60 60 0a 0a 23 23 23 23 20 ).;;.=>."START.a.b.c".```..####.
63fc0 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 60 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 60 0a -reduce-r-from.`(fn.init.list)`.
63fe0 0a 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 66 6e 60 20 61 63 72 6f 73 73 .Reduce.the.function.`fn`.across
64000 20 60 6c 69 73 74 60 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 .`list`.in.reverse,.starting.wit
64020 68 20 60 69 6e 69 74 60 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 h.`init`..Return.the.result.of.a
64040 70 70 6c 79 69 6e 67 20 60 66 6e 60 20 74 6f 20 74 68 65 20 6c 61 73 74 20 65 6c 65 6d 65 6e 74 pplying.`fn`.to.the.last.element
64060 20 6f 66 20 60 6c 69 73 74 60 20 61 6e 64 0a 60 69 6e 69 74 60 2c 20 74 68 65 6e 20 61 70 70 6c .of.`list`.and.`init`,.then.appl
64080 79 69 6e 67 20 60 66 6e 60 20 74 6f 20 74 68 65 20 73 65 63 6f 6e 64 2d 74 6f 2d 6c 61 73 74 20 ying.`fn`.to.the.second-to-last.
640a0 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 75 6c 74 20 element.and.the.previous.result.
640c0 6f 66 20 60 66 6e 60 2c 20 65 74 63 2e 20 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 66 69 72 73 of.`fn`,.etc...That.is,.the.firs
640e0 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 60 66 6e 60 20 69 73 0a 74 68 65 20 63 75 72 72 65 6e t.argument.of.`fn`.is.the.curren
64100 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
64120 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 60 6c nt.the.accumulated.value...If.`l
64140 69 73 74 60 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 60 69 6e 69 74 60 20 77 69 74 ist`.is.empty,.return.`init`.wit
64160 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 60 66 6e 60 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f hout.calling.`fn`...This.functio
64180 6e 20 69 73 20 6c 69 6b 65 20 5b 60 2d 72 65 64 75 63 65 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 n.is.like.[`-reduce-from`](#-red
641a0 75 63 65 2d 66 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 62 75 74 20 74 68 65 20 6f uce-from-fn-init-list).but.the.o
641c0 70 65 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 peration.associates.from.the.rig
641e0 68 74 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 ht.rather.than.left...In.other.w
64200 6f 72 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 ords,.it.starts.from.the.end.of.
64220 60 6c 69 73 74 60 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 `list`.and.flips.the.arguments.t
64240 6f 20 60 66 6e 60 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 o.`fn`...Conceptually,.it.is.lik
64260 65 20 72 65 70 6c 61 63 69 6e 67 20 74 68 65 20 63 6f 6e 73 65 73 20 69 6e 20 60 6c 69 73 74 60 e.replacing.the.conses.in.`list`
64280 20 77 69 74 68 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 60 66 6e 60 2c 20 61 6e 64 0a .with.applications.of.`fn`,.and.
642a0 69 74 73 20 6c 61 73 74 20 6c 69 6e 6b 20 77 69 74 68 20 60 69 6e 69 74 60 2c 20 61 6e 64 20 65 its.last.link.with.`init`,.and.e
642c0 76 61 6c 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 valuating.the.resulting.expressi
642e0 6f 6e 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 on...This.function's.anaphoric.c
64300 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 60 2e ounterpart.is.`--reduce-r-from`.
64320 0a 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 5b 60 2d 72 ..For.other.folds,.see.also.[`-r
64340 65 64 75 63 65 2d 72 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 6e 2d 6c 69 73 74 29 20 61 6e educe-r`](#-reduce-r-fn-list).an
64360 64 20 5b 60 2d 72 65 64 75 63 65 60 5d 28 23 2d 72 65 64 75 63 65 2d 66 6e 2d 6c 69 73 74 29 2e d.[`-reduce`](#-reduce-fn-list).
64380 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 23 27 2d 20 31 30 20 27 ..```el.(-reduce-r-from.#'-.10.'
643a0 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 2d 38 0a 28 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f (1.2.3)).;;.=>.-8.(-reduce-r-fro
643c0 6d 20 23 27 6c 69 73 74 20 31 30 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 31 20 28 m.#'list.10.'(1.2.3)).;;.=>.(1.(
643e0 32 20 28 33 20 31 30 29 29 29 0a 28 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 28 63 6f 6e 2.(3.10))).(--reduce-r-from.(con
64400 63 61 74 20 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 cat.it.".".acc)."END".'("a"."b".
64420 22 63 22 29 29 20 3b 3b 20 3d 3e 20 22 61 20 62 20 63 20 45 4e 44 22 0a 60 60 60 0a 0a 23 23 23 "c")).;;.=>."a.b.c.END".```..###
64440 23 20 2d 72 65 64 75 63 65 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 52 65 64 75 63 65 20 74 68 #.-reduce.`(fn.list)`..Reduce.th
64460 65 20 66 75 6e 63 74 69 6f 6e 20 60 66 6e 60 20 61 63 72 6f 73 73 20 60 6c 69 73 74 60 2e 0a 52 e.function.`fn`.across.`list`..R
64480 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 67 20 60 66 6e eturn.the.result.of.applying.`fn
644a0 60 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 66 0a 60 `.to.the.first.two.elements.of.`
644c0 6c 69 73 74 60 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 60 66 6e 60 20 74 6f 20 74 68 61 list`,.then.applying.`fn`.to.tha
644e0 74 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 t.result.and.the.third.element,.
64500 65 74 63 2e 0a 49 66 20 60 6c 69 73 74 60 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 69 6e 67 6c 65 etc..If.`list`.contains.a.single
64520 20 65 6c 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 .element,.return.it.without.call
64540 69 6e 67 20 60 66 6e 60 2e 0a 49 66 20 60 6c 69 73 74 60 20 69 73 20 65 6d 70 74 79 2c 20 72 65 ing.`fn`..If.`list`.is.empty,.re
64560 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 60 66 6e 60 20 turn.the.result.of.calling.`fn`.
64580 77 69 74 68 20 6e 6f 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 with.no.arguments...This.functio
645a0 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 2d 2d n's.anaphoric.counterpart.is.`--
645c0 72 65 64 75 63 65 60 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 reduce`...For.other.folds,.see.a
645e0 6c 73 6f 20 5b 60 2d 72 65 64 75 63 65 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 65 2d 66 72 lso.[`-reduce-from`](#-reduce-fr
64600 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 61 6e 64 20 5b 60 2d 72 65 64 75 63 65 2d 72 om-fn-init-list).and.[`-reduce-r
64620 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 `](#-reduce-r-fn-list)...```el.(
64640 2d 72 65 64 75 63 65 20 23 27 2d 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 2d 38 -reduce.#'-.'(1.2.3.4)).;;.=>.-8
64660 0a 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 20 3b 3b 20 .(-reduce.#'list.'(1.2.3.4)).;;.
64680 3d 3e 20 28 28 28 31 20 32 29 20 33 29 20 34 29 0a 28 2d 2d 72 65 64 75 63 65 20 28 66 6f 72 6d =>.(((1.2).3).4).(--reduce.(form
646a0 61 74 20 22 25 73 2d 25 64 22 20 61 63 63 20 69 74 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 at."%s-%d".acc.it).'(1.2.3)).;;.
646c0 3d 3e 20 22 31 2d 32 2d 33 22 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 64 75 63 65 2d 72 20 60 =>."1-2-3".```..####.-reduce-r.`
646e0 28 66 6e 20 6c 69 73 74 29 60 0a 0a 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.
64700 60 66 6e 60 20 61 63 72 6f 73 73 20 60 6c 69 73 74 60 20 69 6e 20 72 65 76 65 72 73 65 2e 0a 52 `fn`.across.`list`.in.reverse..R
64720 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 67 20 60 66 6e eturn.the.result.of.applying.`fn
64740 60 20 74 6f 20 74 68 65 20 6c 61 73 74 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 0a 60 6c `.to.the.last.two.elements.of.`l
64760 69 73 74 60 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 60 66 6e 60 20 74 6f 20 74 68 65 20 ist`,.then.applying.`fn`.to.the.
64780 74 68 69 72 64 2d 74 6f 2d 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 61 6e 64 20 74 68 65 0a 70 72 third-to-last.element.and.the.pr
647a0 65 76 69 6f 75 73 20 72 65 73 75 6c 74 20 6f 66 20 60 66 6e 60 2c 20 65 74 63 2e 20 20 54 68 61 evious.result.of.`fn`,.etc...Tha
647c0 74 20 69 73 2c 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 60 66 6e 60 t.is,.the.first.argument.of.`fn`
647e0 20 69 73 0a 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 2c 20 61 6e 64 20 69 74 73 .is.the.current.element,.and.its
64800 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 65 64 .second.argument.the.accumulated
64820 0a 76 61 6c 75 65 2e 20 20 49 66 20 60 6c 69 73 74 60 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 69 .value...If.`list`.contains.a.si
64840 6e 67 6c 65 20 65 6c 65 6d 65 6e 74 2c 20 72 65 74 75 72 6e 20 69 74 20 77 69 74 68 6f 75 74 0a ngle.element,.return.it.without.
64860 63 61 6c 6c 69 6e 67 20 60 66 6e 60 2e 20 20 49 66 20 60 6c 69 73 74 60 20 69 73 20 65 6d 70 74 calling.`fn`...If.`list`.is.empt
64880 79 2c 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 y,.return.the.result.of.calling.
648a0 60 66 6e 60 0a 77 69 74 68 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 20 66 75 `fn`.with.no.arguments...This.fu
648c0 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 5b 60 2d 72 65 64 75 63 65 60 5d 28 23 2d 72 65 64 nction.is.like.[`-reduce`](#-red
648e0 75 63 65 2d 66 6e 2d 6c 69 73 74 29 20 62 75 74 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 61 uce-fn-list).but.the.operation.a
64900 73 73 6f 63 69 61 74 65 73 20 66 72 6f 6d 0a 74 68 65 20 72 69 67 68 74 20 72 61 74 68 65 72 20 ssociates.from.the.right.rather.
64920 74 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 20 73 than.left...In.other.words,.it.s
64940 74 61 72 74 73 20 66 72 6f 6d 20 74 68 65 0a 65 6e 64 20 6f 66 20 60 6c 69 73 74 60 20 61 6e 64 tarts.from.the.end.of.`list`.and
64960 20 66 6c 69 70 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 60 66 6e 60 2e 20 20 43 .flips.the.arguments.to.`fn`...C
64980 6f 6e 63 65 70 74 75 61 6c 6c 79 2c 20 69 74 20 69 73 0a 6c 69 6b 65 20 72 65 70 6c 61 63 69 6e onceptually,.it.is.like.replacin
649a0 67 20 74 68 65 20 63 6f 6e 73 65 73 20 69 6e 20 60 6c 69 73 74 60 20 77 69 74 68 20 61 70 70 6c g.the.conses.in.`list`.with.appl
649c0 69 63 61 74 69 6f 6e 73 20 6f 66 20 60 66 6e 60 2c 0a 69 67 6e 6f 72 69 6e 67 20 69 74 73 20 6c ications.of.`fn`,.ignoring.its.l
649e0 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 65 20 72 65 73 ast.link,.and.evaluating.the.res
64a00 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 6e 63 74 69 6f ulting.expression...This.functio
64a20 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 2d 2d n's.anaphoric.counterpart.is.`--
64a40 72 65 64 75 63 65 2d 72 60 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 reduce-r`...For.other.folds,.see
64a60 20 61 6c 73 6f 20 5b 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 .also.[`-reduce-r-from`](#-reduc
64a80 65 2d 72 2d 66 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 61 6e 64 20 5b 60 2d 72 65 e-r-from-fn-init-list).and.[`-re
64aa0 64 75 63 65 60 5d 28 23 2d 72 65 64 75 63 65 2d 66 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c duce`](#-reduce-fn-list)...```el
64ac0 0a 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 20 3b 3b 20 3d .(-reduce-r.#'-.'(1.2.3.4)).;;.=
64ae0 3e 20 2d 32 0a 28 2d 72 65 64 75 63 65 2d 72 20 23 27 6c 69 73 74 20 27 28 31 20 32 20 33 20 34 >.-2.(-reduce-r.#'list.'(1.2.3.4
64b00 29 29 20 3b 3b 20 3d 3e 20 28 31 20 28 32 20 28 33 20 34 29 29 29 0a 28 2d 2d 72 65 64 75 63 65 )).;;.=>.(1.(2.(3.4))).(--reduce
64b20 2d 72 20 28 66 6f 72 6d 61 74 20 22 25 73 2d 25 64 22 20 61 63 63 20 69 74 29 20 27 28 31 20 32 -r.(format."%s-%d".acc.it).'(1.2
64b40 20 33 29 29 20 3b 3b 20 3d 3e 20 22 33 2d 32 2d 31 22 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 .3)).;;.=>."3-2-1".```..####.-re
64b60 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 60 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 60 0a 0a ductions-from.`(fn.init.list)`..
64b80 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 60 66 6e 60 27 73 20 69 6e 74 65 72 6d 65 64 Return.a.list.of.`fn`'s.intermed
64ba0 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 60 6c 69 73 74 60 2e 0a 54 iate.reductions.across.`list`..T
64bc0 68 61 74 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 hat.is,.a.list.of.the.intermedia
64be0 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 72 0a 77 68 65 te.values.of.the.accumulator.whe
64c00 6e 20 5b 60 2d 72 65 64 75 63 65 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 65 2d 66 72 6f 6d n.[`-reduce-from`](#-reduce-from
64c20 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 -fn-init-list).(which.see).is.ca
64c40 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 0a 54 lled.with.the.same.arguments...T
64c60 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
64c80 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 60 2e 0a 0a 46 6f part.is.`--reductions-from`...Fo
64ca0 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d 72 65 64 75 63 r.other.folds,.see.also.[`-reduc
64cc0 74 69 6f 6e 73 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 6e 2d 6c 69 73 74 29 20 61 6e tions`](#-reductions-fn-list).an
64ce0 64 20 5b 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 d.[`-reductions-r`](#-reductions
64d00 2d 72 2d 66 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 -r-fn-list)...```el.(-reductions
64d20 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 20 3b 3b 20 3d 3e 20 -from.#'max.0.'(2.1.4.3)).;;.=>.
64d40 28 30 20 32 20 32 20 34 20 34 29 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 23 27 (0.2.2.4.4).(-reductions-from.#'
64d60 2a 20 31 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 31 20 32 20 36 20 32 *.1.'(1.2.3.4)).;;.=>.(1.1.2.6.2
64d80 34 29 0a 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 6f 72 6d 61 74 20 22 28 4).(--reductions-from.(format."(
64da0 46 4e 20 25 73 20 25 64 29 22 20 61 63 63 20 69 74 29 20 22 49 4e 49 54 22 20 27 28 31 20 32 20 FN.%s.%d)".acc.it)."INIT".'(1.2.
64dc0 33 29 29 20 3b 3b 20 3d 3e 20 28 22 49 4e 49 54 22 20 22 28 46 4e 20 49 4e 49 54 20 31 29 22 20 3)).;;.=>.("INIT"."(FN.INIT.1)".
64de0 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 46 "(FN.(FN.INIT.1).2)"."(FN.(FN.(F
64e00 4e 20 49 4e 49 54 20 31 29 20 32 29 20 33 29 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 64 N.INIT.1).2).3)").```..####.-red
64e20 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 60 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 60 0a uctions-r-from.`(fn.init.list)`.
64e40 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 60 66 6e 60 27 73 20 69 6e 74 65 72 6d 65 .Return.a.list.of.`fn`'s.interme
64e60 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
64e80 20 60 6c 69 73 74 60 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 .`list`..That.is,.a.list.of.the.
64ea0 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 63 75 6d intermediate.values.of.the.accum
64ec0 75 6c 61 74 6f 72 0a 77 68 65 6e 20 5b 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 60 5d 28 23 ulator.when.[`-reduce-r-from`](#
64ee0 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 28 77 68 -reduce-r-from-fn-init-list).(wh
64f00 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 6d 65 ich.see).is.called.with.the.same
64f20 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 6e 61 .arguments...This.function's.ana
64f40 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 74 69 phoric.counterpart.is.`--reducti
64f60 6f 6e 73 2d 72 2d 66 72 6f 6d 60 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 ons-r-from`...For.other.folds,.s
64f80 65 65 20 61 6c 73 6f 20 5b 60 2d 72 65 64 75 63 74 69 6f 6e 73 60 5d 28 23 2d 72 65 64 75 63 74 ee.also.[`-reductions`](#-reduct
64fa0 69 6f 6e 73 2d 66 6e 2d 6c 69 73 74 29 20 61 6e 64 20 5b 60 2d 72 65 64 75 63 74 69 6f 6e 73 2d ions-fn-list).and.[`-reductions-
64fc0 72 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 r`](#-reductions-r-fn-list)...``
64fe0 60 65 6c 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 23 27 6d 61 78 20 30 20 `el.(-reductions-r-from.#'max.0.
65000 27 28 32 20 31 20 34 20 33 29 29 20 3b 3b 20 3d 3e 20 28 34 20 34 20 34 20 33 20 30 29 0a 28 2d '(2.1.4.3)).;;.=>.(4.4.4.3.0).(-
65020 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 20 32 20 33 20 reductions-r-from.#'*.1.'(1.2.3.
65040 34 29 29 20 3b 3b 20 3d 3e 20 28 32 34 20 32 34 20 31 32 20 34 20 31 29 0a 28 2d 2d 72 65 64 75 4)).;;.=>.(24.24.12.4.1).(--redu
65060 63 74 69 6f 6e 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 ctions-r-from.(format."(FN.%d.%s
65080 29 22 20 69 74 20 61 63 63 29 20 22 49 4e 49 54 22 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d )".it.acc)."INIT".'(1.2.3)).;;.=
650a0 3e 20 28 22 28 46 4e 20 31 20 28 46 4e 20 32 20 28 46 4e 20 33 20 49 4e 49 54 29 29 29 22 20 22 >.("(FN.1.(FN.2.(FN.3.INIT)))"."
650c0 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 33 20 49 4e 49 54 29 (FN.2.(FN.3.INIT))"."(FN.3.INIT)
650e0 22 20 22 49 4e 49 54 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 64 75 63 74 69 6f 6e 73 20 "."INIT").```..####.-reductions.
65100 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 60 66 `(fn.list)`..Return.a.list.of.`f
65120 6e 60 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 63 72 n`'s.intermediate.reductions.acr
65140 6f 73 73 20 60 6c 69 73 74 60 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 74 oss.`list`..That.is,.a.list.of.t
65160 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
65180 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 5b 60 2d 72 65 64 75 63 65 60 5d 28 23 2d 72 65 64 cumulator.when.[`-reduce`](#-red
651a0 75 63 65 2d 66 6e 2d 6c 69 73 74 29 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 6c 6c uce-fn-list).(which.see).is.call
651c0 65 64 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 54 68 69 ed.with.the.same.arguments...Thi
651e0 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
65200 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 60 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 rt.is.`--reductions`...For.other
65220 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 5b 60 2d 72 65 64 75 63 74 69 6f 6e 73 60 5d .folds,.see.also.[`-reductions`]
65240 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 6e 2d 6c 69 73 74 29 20 61 6e 64 20 5b 60 2d 72 65 (#-reductions-fn-list).and.[`-re
65260 64 75 63 74 69 6f 6e 73 2d 72 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 6e 2d 6c ductions-r`](#-reductions-r-fn-l
65280 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 20 23 27 2b 20 27 28 ist)...```el.(-reductions.#'+.'(
652a0 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 33 20 36 20 31 30 29 0a 28 2d 72 65 64 1.2.3.4)).;;.=>.(1.3.6.10).(-red
652c0 75 63 74 69 6f 6e 73 20 23 27 2a 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 uctions.#'*.'(1.2.3.4)).;;.=>.(1
652e0 20 32 20 36 20 32 34 29 0a 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 20 28 66 6f 72 6d 61 74 20 22 .2.6.24).(--reductions.(format."
65300 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 20 33 29 29 20 3b 3b (FN.%s.%d)".acc.it).'(1.2.3)).;;
65320 20 3d 3e 20 28 31 20 22 28 46 4e 20 31 20 32 29 22 20 22 28 46 4e 20 28 46 4e 20 31 20 32 29 20 .=>.(1."(FN.1.2)"."(FN.(FN.1.2).
65340 33 29 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 60 28 66 3)").```..####.-reductions-r.`(f
65360 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 60 66 6e 60 27 n.list)`..Return.a.list.of.`fn`'
65380 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 63 72 6f 73 73 s.intermediate.reductions.across
653a0 20 72 65 76 65 72 73 65 64 20 60 6c 69 73 74 60 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 .reversed.`list`..That.is,.a.lis
653c0 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 66 20 t.of.the.intermediate.values.of.
653e0 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 5b 60 2d 72 65 64 75 63 65 2d 72 the.accumulator.when.[`-reduce-r
65400 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 6e 2d 6c 69 73 74 29 20 28 77 68 69 63 68 20 73 65 `](#-reduce-r-fn-list).(which.se
65420 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 6d e).is.called.with.the.same.argum
65440 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 6f 72 69 63 ents...This.function's.anaphoric
65460 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 60 .counterpart.is.`--reductions-r`
65480 2e 0a 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 5b 60 2d ...For.other.folds,.see.also.[`-
654a0 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 reductions-r-from`](#-reductions
654c0 2d 72 2d 66 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 20 61 6e 64 0a 5b 60 2d 72 65 64 -r-from-fn-init-list).and.[`-red
654e0 75 63 74 69 6f 6e 73 60 5d 28 23 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 6e 2d 6c 69 73 74 29 2e uctions`](#-reductions-fn-list).
65500 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 23 27 2b 20 27 28 31 20 32 ..```el.(-reductions-r.#'+.'(1.2
65520 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 30 20 39 20 37 20 34 29 0a 28 2d 72 65 64 75 63 74 .3.4)).;;.=>.(10.9.7.4).(-reduct
65540 69 6f 6e 73 2d 72 20 23 27 2a 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 32 34 ions-r.#'*.'(1.2.3.4)).;;.=>.(24
65560 20 32 34 20 31 32 20 34 29 0a 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 28 66 6f 72 6d 61 .24.12.4).(--reductions-r.(forma
65580 74 20 22 28 46 4e 20 25 64 20 25 73 29 22 20 69 74 20 61 63 63 29 20 27 28 31 20 32 20 33 29 29 t."(FN.%d.%s)".it.acc).'(1.2.3))
655a0 20 3b 3b 20 3d 3e 20 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 .;;.=>.("(FN.1.(FN.2.3))"."(FN.2
655c0 20 33 29 22 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6f 75 6e 74 20 60 28 70 72 65 64 20 .3)".3).```..####.-count.`(pred.
655e0 6c 69 73 74 29 60 0a 0a 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 69 74 65 list)`..Counts.the.number.of.ite
65600 6d 73 20 69 6e 20 60 6c 69 73 74 60 20 77 68 65 72 65 20 28 60 70 72 65 64 60 20 69 74 65 6d 29 ms.in.`list`.where.(`pred`.item)
65620 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 60 60 60 65 6c 0a 28 2d 63 6f 75 6e 74 20 27 65 76 65 .is.non-nil...```el.(-count.'eve
65640 6e 3f 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 32 0a 28 2d 2d 63 6f 75 6e n?.'(1.2.3.4.5)).;;.=>.2.(--coun
65660 74 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 33 0a 60 t.(<.it.4).'(1.2.3.4)).;;.=>.3.`
65680 60 60 0a 0a 23 23 23 23 20 2d 73 75 6d 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 ``..####.-sum.`(list)`..Return.t
656a0 68 65 20 73 75 6d 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 75 6d 20 28 he.sum.of.`list`...```el.(-sum.(
656c0 29 29 20 3b 3b 20 3d 3e 20 30 0a 28 2d 73 75 6d 20 27 28 31 29 29 20 3b 3b 20 3d 3e 20 31 0a 28 )).;;.=>.0.(-sum.'(1)).;;.=>.1.(
656e0 2d 73 75 6d 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 31 30 0a 60 60 60 0a 0a 23 -sum.'(1.2.3.4)).;;.=>.10.```..#
65700 23 23 23 20 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 ###.-running-sum.`(list)`..Retur
65720 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 72 75 6e 6e 69 6e 67 20 73 75 6d 73 20 6f 66 20 69 74 n.a.list.with.running.sums.of.it
65740 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 2e 0a 60 6c 69 73 74 60 20 6d 75 73 74 20 62 65 20 6e 6f ems.in.`list`..`list`.must.be.no
65760 6e 2d 65 6d 70 74 79 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 27 28 n-empty...```el.(-running-sum.'(
65780 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 33 20 36 20 31 30 29 0a 28 2d 72 75 6e 1.2.3.4)).;;.=>.(1.3.6.10).(-run
657a0 6e 69 6e 67 2d 73 75 6d 20 27 28 31 29 29 20 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 72 75 6e 6e 69 ning-sum.'(1)).;;.=>.(1).(-runni
657c0 6e 67 2d 73 75 6d 20 28 29 29 20 3b 3b 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 75 6d 65 6e ng-sum.()).;;.Wrong.type.argumen
657e0 74 3a 20 63 6f 6e 73 70 2c 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 72 6f 64 75 63 74 t:.consp,.nil.```..####.-product
65800 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 70 72 6f 64 75 63 74 20 6f 66 .`(list)`..Return.the.product.of
65820 20 60 6c 69 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 72 6f 64 75 63 74 20 28 29 29 20 3b 3b .`list`...```el.(-product.()).;;
65840 20 3d 3e 20 31 0a 28 2d 70 72 6f 64 75 63 74 20 27 28 31 29 29 20 3b 3b 20 3d 3e 20 31 0a 28 2d .=>.1.(-product.'(1)).;;.=>.1.(-
65860 70 72 6f 64 75 63 74 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 32 34 0a 60 60 60 product.'(1.2.3.4)).;;.=>.24.```
65880 0a 0a 23 23 23 23 20 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 60 28 6c 69 73 74 29 60 ..####.-running-product.`(list)`
658a0 0a 0a 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 ..Return.a.list.with.running.pro
658c0 64 75 63 74 73 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 2e 0a 60 6c 69 73 74 60 ducts.of.items.in.`list`..`list`
658e0 20 6d 75 73 74 20 62 65 20 6e 6f 6e 2d 65 6d 70 74 79 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 75 6e .must.be.non-empty...```el.(-run
65900 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 ning-product.'(1.2.3.4)).;;.=>.(
65920 31 20 32 20 36 20 32 34 29 0a 28 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 27 28 31 29 1.2.6.24).(-running-product.'(1)
65940 29 20 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 28 29 ).;;.=>.(1).(-running-product.()
65960 29 20 3b 3b 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 ).;;.Wrong.type.argument:.consp,
65980 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 6e 69 74 73 20 60 28 6c 69 73 74 29 60 0a 0a .nil.```..####.-inits.`(list)`..
659a0 52 65 74 75 72 6e 20 61 6c 6c 20 70 72 65 66 69 78 65 73 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a Return.all.prefixes.of.`list`...
659c0 60 60 60 65 6c 0a 28 2d 69 6e 69 74 73 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 ```el.(-inits.'(1.2.3.4)).;;.=>.
659e0 28 6e 69 6c 20 28 31 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 (nil.(1).(1.2).(1.2.3).(1.2.3.4)
65a00 29 0a 28 2d 69 6e 69 74 73 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 29 0a 28 2d 69 6e 69 ).(-inits.nil).;;.=>.(nil).(-ini
65a20 74 73 20 27 28 31 29 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 20 28 31 29 29 0a 60 60 60 0a 0a 23 23 ts.'(1)).;;.=>.(nil.(1)).```..##
65a40 23 23 20 2d 74 61 69 6c 73 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 6c 6c 20 73 ##.-tails.`(list)`..Return.all.s
65a60 75 66 66 69 78 65 73 20 6f 66 20 60 6c 69 73 74 60 0a 0a 60 60 60 65 6c 0a 28 2d 74 61 69 6c 73 uffixes.of.`list`..```el.(-tails
65a80 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 20 34 29 20 28 32 .'(1.2.3.4)).;;.=>.((1.2.3.4).(2
65aa0 20 33 20 34 29 20 28 33 20 34 29 20 28 34 29 20 6e 69 6c 29 0a 28 2d 74 61 69 6c 73 20 6e 69 6c .3.4).(3.4).(4).nil).(-tails.nil
65ac0 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 29 0a 28 2d 74 61 69 6c 73 20 27 28 31 29 29 20 3b 3b 20 3d ).;;.=>.(nil).(-tails.'(1)).;;.=
65ae0 3e 20 28 28 31 29 20 6e 69 6c 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6f 6d 6d 6f 6e 2d 70 72 >.((1).nil).```..####.-common-pr
65b00 65 66 69 78 20 60 28 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 efix.`(&rest.lists)`..Return.the
65b20 20 6c 6f 6e 67 65 73 74 20 63 6f 6d 6d 6f 6e 20 70 72 65 66 69 78 20 6f 66 20 60 6c 69 73 74 73 .longest.common.prefix.of.`lists
65b40 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 27 28 31 29 29 20 `...```el.(-common-prefix.'(1)).
65b60 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 27 28 31 20 32 29 ;;.=>.(1).(-common-prefix.'(1.2)
65b80 20 27 28 33 20 34 29 20 27 28 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 63 6f 6d 6d 6f .'(3.4).'(1.2)).;;.=>.().(-commo
65ba0 6e 2d 70 72 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 n-prefix.'(1.2).'(1.2.3).'(1.2.3
65bc0 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6f 6d 6d .4)).;;.=>.(1.2).```..####.-comm
65be0 6f 6e 2d 73 75 66 66 69 78 20 60 28 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 52 65 74 75 72 on-suffix.`(&rest.lists)`..Retur
65c00 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 20 60 n.the.longest.common.suffix.of.`
65c20 6c 69 73 74 73 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 27 lists`...```el.(-common-suffix.'
65c40 28 31 29 29 20 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 27 (1)).;;.=>.(1).(-common-suffix.'
65c60 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d (1.2).'(3.4).'(1.2)).;;.=>.().(-
65c80 63 6f 6d 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 common-suffix.'(1.2.3.4).'(2.3.4
65ca0 29 20 27 28 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 33 20 34 29 0a 60 60 60 0a 0a 23 23 23 23 20 ).'(3.4)).;;.=>.(3.4).```..####.
65cc0 2d 6d 69 6e 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 73 6d 61 6c 6c 65 -min.`(list)`..Return.the.smalle
65ce0 73 74 20 76 61 6c 75 65 20 66 72 6f 6d 20 60 6c 69 73 74 60 20 6f 66 20 6e 75 6d 62 65 72 73 20 st.value.from.`list`.of.numbers.
65d00 6f 72 20 6d 61 72 6b 65 72 73 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6d 69 6e 20 27 28 30 29 29 20 3b or.markers...```el.(-min.'(0)).;
65d20 3b 20 3d 3e 20 30 0a 28 2d 6d 69 6e 20 27 28 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 31 0a 28 ;.=>.0.(-min.'(3.2.1)).;;.=>.1.(
65d40 2d 6d 69 6e 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 31 0a 60 60 60 0a 0a 23 23 23 23 -min.'(1.2.3)).;;.=>.1.```..####
65d60 20 2d 6d 69 6e 2d 62 79 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 0a 54 61 .-min-by.`(comparator.list)`..Ta
65d80 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 60 63 6f 6d 70 61 72 ke.a.comparison.function.`compar
65da0 61 74 6f 72 60 20 61 6e 64 20 61 20 60 6c 69 73 74 60 20 61 6e 64 20 72 65 74 75 72 6e 0a 74 68 ator`.and.a.`list`.and.return.th
65dc0 65 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 e.least.element.of.the.list.by.t
65de0 68 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 he.comparison.function...See.als
65e00 6f 20 63 6f 6d 62 69 6e 61 74 6f 72 20 5b 60 2d 6f 6e 60 5d 28 23 2d 6f 6e 2d 6f 70 2d 74 72 61 o.combinator.[`-on`](#-on-op-tra
65e20 6e 73 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 20 76 61 6c 75 ns).which.can.transform.the.valu
65e40 65 73 20 62 65 66 6f 72 65 0a 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 6d 2e 0a 0a 60 60 60 65 6c es.before.comparing.them...```el
65e60 0a 28 2d 6d 69 6e 2d 62 79 20 27 3e 20 27 28 34 20 33 20 36 20 31 29 29 20 3b 3b 20 3d 3e 20 31 .(-min-by.'>.'(4.3.6.1)).;;.=>.1
65e80 0a 28 2d 2d 6d 69 6e 2d 62 79 20 28 3e 20 28 63 61 72 20 69 74 29 20 28 63 61 72 20 6f 74 68 65 .(--min-by.(>.(car.it).(car.othe
65ea0 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 20 3b 3b 20 3d 3e 20 r)).'((1.2.3).(2).(3.2))).;;.=>.
65ec0 28 31 20 32 20 33 29 0a 28 2d 2d 6d 69 6e 2d 62 79 20 28 3e 20 28 6c 65 6e 67 74 68 20 69 74 29 (1.2.3).(--min-by.(>.(length.it)
65ee0 20 28 6c 65 6e 67 74 68 20 6f 74 68 65 72 29 29 20 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 .(length.other)).'((1.2.3).(2).(
65f00 33 20 32 29 29 29 20 3b 3b 20 3d 3e 20 28 32 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6d 61 78 20 3.2))).;;.=>.(2).```..####.-max.
65f20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 61 72 67 65 73 74 20 76 61 6c `(list)`..Return.the.largest.val
65f40 75 65 20 66 72 6f 6d 20 60 6c 69 73 74 60 20 6f 66 20 6e 75 6d 62 65 72 73 20 6f 72 20 6d 61 72 ue.from.`list`.of.numbers.or.mar
65f60 6b 65 72 73 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6d 61 78 20 27 28 30 29 29 20 3b 3b 20 3d 3e 20 30 kers...```el.(-max.'(0)).;;.=>.0
65f80 0a 28 2d 6d 61 78 20 27 28 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 33 0a 28 2d 6d 61 78 20 27 .(-max.'(3.2.1)).;;.=>.3.(-max.'
65fa0 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 33 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6d 61 78 2d (1.2.3)).;;.=>.3.```..####.-max-
65fc0 62 79 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 0a 54 61 6b 65 20 61 20 63 by.`(comparator.list)`..Take.a.c
65fe0 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 20 60 63 6f 6d 70 61 72 61 74 6f 72 60 20 omparison.function.`comparator`.
66000 61 6e 64 20 61 20 60 6c 69 73 74 60 20 61 6e 64 20 72 65 74 75 72 6e 0a 74 68 65 20 67 72 65 61 and.a.`list`.and.return.the.grea
66020 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 65 20 test.element.of.the.list.by.the.
66040 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 20 63 comparison.function...See.also.c
66060 6f 6d 62 69 6e 61 74 6f 72 20 5b 60 2d 6f 6e 60 5d 28 23 2d 6f 6e 2d 6f 70 2d 74 72 61 6e 73 29 ombinator.[`-on`](#-on-op-trans)
66080 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 73 20 .which.can.transform.the.values.
660a0 62 65 66 6f 72 65 0a 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 6d 2e 0a 0a 60 60 60 65 6c 0a 28 2d before.comparing.them...```el.(-
660c0 6d 61 78 2d 62 79 20 27 3e 20 27 28 34 20 33 20 36 20 31 29 29 20 3b 3b 20 3d 3e 20 36 0a 28 2d max-by.'>.'(4.3.6.1)).;;.=>.6.(-
660e0 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 6f 74 68 65 72 29 29 -max-by.(>.(car.it).(car.other))
66100 20 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 20 3b 3b 20 3d 3e 20 28 33 20 .'((1.2.3).(2).(3.2))).;;.=>.(3.
66120 32 29 0a 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 2).(--max-by.(>.(length.it).(len
66140 67 74 68 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 gth.other)).'((1.2.3).(2).(3.2))
66160 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 60 60 60 0a 0a 23 23 20 55 6e 66 6f 6c 64 69 6e ).;;.=>.(1.2.3).```..##.Unfoldin
66180 67 0a 0a 4f 70 65 72 61 74 69 6f 6e 73 20 64 75 61 6c 20 74 6f 20 72 65 64 75 63 74 69 6f 6e 73 g..Operations.dual.to.reductions
661a0 2c 20 62 75 69 6c 64 69 6e 67 20 6c 69 73 74 73 20 66 72 6f 6d 20 61 20 73 65 65 64 0a 76 61 6c ,.building.lists.from.a.seed.val
661c0 75 65 20 72 61 74 68 65 72 20 74 68 61 6e 20 63 6f 6e 73 75 6d 69 6e 67 20 61 20 6c 69 73 74 20 ue.rather.than.consuming.a.list.
661e0 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 2e 0a 0a 23 23 23 23 to.produce.a.single.value...####
66200 20 2d 69 74 65 72 61 74 65 20 60 28 66 75 6e 20 69 6e 69 74 20 6e 29 60 0a 0a 52 65 74 75 72 6e .-iterate.`(fun.init.n)`..Return
66220 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 73 .a.list.of.iterated.applications
66240 20 6f 66 20 60 66 75 6e 60 20 74 6f 20 60 69 6e 69 74 60 2e 0a 0a 54 68 69 73 20 6d 65 61 6e 73 .of.`fun`.to.`init`...This.means
66260 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 28 60 69 6e 69 74 .a.list.of.the.form:......(`init
66280 60 20 28 60 66 75 6e 60 20 60 69 6e 69 74 60 29 20 28 60 66 75 6e 60 20 28 60 66 75 6e 60 20 60 `.(`fun`.`init`).(`fun`.(`fun`.`
662a0 69 6e 69 74 60 29 29 20 2e 2e 2e 29 0a 0a 60 6e 60 20 69 73 20 74 68 65 20 6c 65 6e 67 74 68 20 init`))....)..`n`.is.the.length.
662c0 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 6c 69 73 74 2e 0a 0a 60 60 60 65 6c 0a 28 2d 69 of.the.returned.list...```el.(-i
662e0 74 65 72 61 74 65 20 23 27 31 2b 20 31 20 31 30 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 terate.#'1+.1.10).;;.=>.(1.2.3.4
66300 20 35 20 36 20 37 20 38 20 39 20 31 30 29 0a 28 2d 69 74 65 72 61 74 65 20 28 6c 61 6d 62 64 61 .5.6.7.8.9.10).(-iterate.(lambda
66320 20 28 78 29 20 28 2b 20 78 20 78 29 29 20 32 20 35 29 20 3b 3b 20 3d 3e 20 28 32 20 34 20 38 20 .(x).(+.x.x)).2.5).;;.=>.(2.4.8.
66340 31 36 20 33 32 29 0a 28 2d 2d 69 74 65 72 61 74 65 20 28 2a 20 69 74 20 69 74 29 20 32 20 35 29 16.32).(--iterate.(*.it.it).2.5)
66360 20 3b 3b 20 3d 3e 20 28 32 20 34 20 31 36 20 32 35 36 20 36 35 35 33 36 29 0a 60 60 60 0a 0a 23 .;;.=>.(2.4.16.256.65536).```..#
66380 23 23 23 20 2d 75 6e 66 6f 6c 64 20 60 28 66 75 6e 20 73 65 65 64 29 60 0a 0a 42 75 69 6c 64 20 ###.-unfold.`(fun.seed)`..Build.
663a0 61 20 6c 69 73 74 20 66 72 6f 6d 20 60 73 65 65 64 60 20 75 73 69 6e 67 20 60 66 75 6e 60 2e 0a a.list.from.`seed`.using.`fun`..
663c0 0a 54 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 5b 60 2d .This.is."dual".operation.to.[`-
663e0 72 65 64 75 63 65 2d 72 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 6e 2d 6c 69 73 74 29 3a 20 reduce-r`](#-reduce-r-fn-list):.
66400 77 68 69 6c 65 20 2d 72 65 64 75 63 65 2d 72 0a 63 6f 6e 73 75 6d 65 73 20 61 20 6c 69 73 74 20 while.-reduce-r.consumes.a.list.
66420 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 5b 60 2d 75 6e to.produce.a.single.value,.[`-un
66440 66 6f 6c 64 60 5d 28 23 2d 75 6e 66 6f 6c 64 2d 66 75 6e 2d 73 65 65 64 29 20 74 61 6b 65 73 20 fold`](#-unfold-fun-seed).takes.
66460 61 0a 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 a.seed.value.and.builds.a.(poten
66480 74 69 61 6c 6c 79 20 69 6e 66 69 6e 69 74 65 21 29 20 6c 69 73 74 2e 0a 0a 60 66 75 6e 60 20 73 tially.infinite!).list...`fun`.s
664a0 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 60 6e 69 6c 60 20 74 6f 20 73 74 6f 70 20 74 68 65 20 67 hould.return.`nil`.to.stop.the.g
664c0 65 6e 65 72 61 74 69 6e 67 20 70 72 6f 63 65 73 73 2c 20 6f 72 20 61 0a 63 6f 6e 73 20 28 60 61 enerating.process,.or.a.cons.(`a
664e0 60 20 2e 20 60 62 60 29 2c 20 77 68 65 72 65 20 60 61 60 20 77 69 6c 6c 20 62 65 20 70 72 65 70 `...`b`),.where.`a`.will.be.prep
66500 65 6e 64 65 64 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 61 6e 64 20 60 62 60 20 69 73 0a 74 ended.to.the.result.and.`b`.is.t
66520 68 65 20 6e 65 77 20 73 65 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d 75 6e 66 6f 6c 64 20 28 6c 61 he.new.seed...```el.(-unfold.(la
66540 6d 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 mbda.(x).(unless.(=.x.0).(cons.x
66560 20 28 31 2d 20 78 29 29 29 29 20 31 30 29 20 3b 3b 20 3d 3e 20 28 31 30 20 39 20 38 20 37 20 36 .(1-.x)))).10).;;.=>.(10.9.8.7.6
66580 20 35 20 34 20 33 20 32 20 31 29 0a 28 2d 2d 75 6e 66 6f 6c 64 20 28 77 68 65 6e 20 69 74 20 28 .5.4.3.2.1).(--unfold.(when.it.(
665a0 63 6f 6e 73 20 69 74 20 28 63 64 72 20 69 74 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b cons.it.(cdr.it))).'(1.2.3.4)).;
665c0 3b 20 3d 3e 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 34 ;.=>.((1.2.3.4).(2.3.4).(3.4).(4
665e0 29 29 0a 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 )).(--unfold.(when.it.(cons.it.(
66600 62 75 74 6c 61 73 74 20 69 74 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 butlast.it))).'(1.2.3.4)).;;.=>.
66620 28 28 31 20 32 20 33 20 34 29 20 28 31 20 32 20 33 29 20 28 31 20 32 29 20 28 31 29 29 0a 60 60 ((1.2.3.4).(1.2.3).(1.2).(1)).``
66640 60 0a 0a 23 23 20 50 72 65 64 69 63 61 74 65 73 0a 0a 52 65 64 75 63 74 69 6f 6e 73 20 6f 66 20 `..##.Predicates..Reductions.of.
66660 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6c 69 73 74 73 20 74 6f 20 61 20 62 6f 6f 6c 65 61 6e 20 76 one.or.more.lists.to.a.boolean.v
66680 61 6c 75 65 2e 0a 0a 23 23 23 23 20 2d 73 6f 6d 65 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a alue...####.-some.`(pred.list)`.
666a0 0a 52 65 74 75 72 6e 20 28 60 70 72 65 64 60 20 78 29 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 .Return.(`pred`.x).for.the.first
666c0 20 60 6c 69 73 74 60 20 69 74 65 6d 20 77 68 65 72 65 20 28 60 70 72 65 64 60 20 78 29 20 69 73 .`list`.item.where.(`pred`.x).is
666e0 20 6e 6f 6e 2d 6e 69 6c 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 61 6e .non-nil,.else.nil...Alias:.`-an
66700 79 60 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 y`...This.function's.anaphoric.c
66720 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 73 6f 6d 65 60 2e 0a 0a 60 60 60 65 6c 0a 28 ounterpart.is.`--some`...```el.(
66740 2d 73 6f 6d 65 20 23 27 73 74 72 69 6e 67 70 20 27 28 31 20 22 32 22 20 33 29 29 20 3b 3b 20 3d -some.#'stringp.'(1."2".3)).;;.=
66760 3e 20 74 0a 28 2d 2d 73 6f 6d 65 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 78 22 20 >.t.(--some.(string-match-p."x".
66780 69 74 29 20 27 28 22 66 6f 6f 22 20 22 61 78 65 22 20 22 78 6f 72 22 29 29 20 3b 3b 20 3d 3e 20 it).'("foo"."axe"."xor")).;;.=>.
667a0 31 0a 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 31 20 32 1.(--some.(=.it-index.3).'(0.1.2
667c0 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 65 76 65 72 79 20 60 28 )).;;.=>.nil.```..####.-every.`(
667e0 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 60 pred.list)`..Return.non-nil.if.`
66800 70 72 65 64 60 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6c 6c 20 69 74 pred`.returns.non-nil.for.all.it
66820 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 2e 0a 49 66 20 73 6f 2c 20 72 65 74 75 72 6e 20 74 68 65 ems.in.`list`..If.so,.return.the
66840 20 6c 61 73 74 20 73 75 63 68 20 72 65 73 75 6c 74 20 6f 66 20 60 70 72 65 64 60 2e 20 20 4f 74 .last.such.result.of.`pred`...Ot
66860 68 65 72 77 69 73 65 2c 20 6f 6e 63 65 20 61 6e 0a 69 74 65 6d 20 69 73 20 72 65 61 63 68 65 64 herwise,.once.an.item.is.reached
66880 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 72 .for.which.`pred`.returns.nil,.r
668a0 65 74 75 72 6e 20 6e 69 6c 20 77 69 74 68 6f 75 74 0a 63 61 6c 6c 69 6e 67 20 60 70 72 65 64 60 eturn.nil.without.calling.`pred`
668c0 20 6f 6e 20 61 6e 79 20 66 75 72 74 68 65 72 20 60 6c 69 73 74 60 20 65 6c 65 6d 65 6e 74 73 2e .on.any.further.`list`.elements.
668e0 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 65 76 65 72 79 2d ..This.function.is.like.`-every-
66900 70 60 2c 20 62 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 p`,.but.on.success.returns.the.l
66920 61 73 74 0a 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 60 70 72 65 64 60 20 69 6e 73 ast.non-nil.result.of.`pred`.ins
66940 74 65 61 64 20 6f 66 20 6a 75 73 74 20 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 tead.of.just.t...This.function's
66960 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 76 65 .anaphoric.counterpart.is.`--eve
66980 72 79 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 65 76 65 72 79 20 23 27 6e 75 6d 62 65 72 70 20 27 28 ry`...```el.(-every.#'numberp.'(
669a0 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 2d 2d 65 76 65 72 79 20 28 73 74 72 69 6e 67 1.2.3)).;;.=>.t.(--every.(string
669c0 2d 6d 61 74 63 68 2d 70 20 22 78 22 20 69 74 29 20 27 28 22 61 78 65 22 20 22 78 6f 72 22 29 29 -match-p."x".it).'("axe"."xor"))
669e0 20 3b 3b 20 3d 3e 20 30 0a 28 2d 2d 65 76 65 72 79 20 28 3d 20 69 74 20 69 74 2d 69 6e 64 65 78 .;;.=>.0.(--every.(=.it.it-index
66a00 29 20 27 28 30 20 31 20 33 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 ).'(0.1.3)).;;.=>.nil.```..####.
66a20 2d 61 6e 79 3f 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 20 69 66 -any?.`(pred.list)`..Return.t.if
66a40 20 28 60 70 72 65 64 60 20 78 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6e 79 20 78 .(`pred`.x).is.non-nil.for.any.x
66a60 20 69 6e 20 60 6c 69 73 74 60 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d .in.`list`,.else.nil...Alias:.`-
66a80 61 6e 79 2d 70 60 2c 20 60 2d 73 6f 6d 65 3f 60 2c 20 60 2d 73 6f 6d 65 2d 70 60 0a 0a 60 60 60 any-p`,.`-some?`,.`-some-p`..```
66aa0 65 6c 0a 28 2d 61 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 20 el.(-any?.#'numberp.'(nil.0.t)).
66ac0 3b 3b 20 3d 3e 20 74 0a 28 2d 61 6e 79 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 6e 69 6c 20 74 ;;.=>.t.(-any?.#'numberp.'(nil.t
66ae0 20 74 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 61 6e 79 3f 20 23 27 6e 75 6c 6c 20 27 28 31 .t)).;;.=>.nil.(-any?.#'null.'(1
66b00 20 33 20 35 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 61 6c 6c 3f .3.5)).;;.=>.nil.```..####.-all?
66b20 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 20 69 66 20 28 60 70 72 .`(pred.list)`..Return.t.if.(`pr
66b40 65 64 60 20 60 78 60 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6c 6c 20 60 78 60 20 ed`.`x`).is.non-nil.for.all.`x`.
66b60 69 6e 20 60 6c 69 73 74 60 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 49 6e 20 74 68 65 20 6c 61 74 74 in.`list`,.else.nil..In.the.latt
66b80 65 72 20 63 61 73 65 2c 20 73 74 6f 70 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 60 78 er.case,.stop.after.the.first.`x
66ba0 60 20 66 6f 72 20 77 68 69 63 68 20 28 60 70 72 65 64 60 20 60 78 60 29 20 69 73 0a 6e 69 6c 2c `.for.which.(`pred`.`x`).is.nil,
66bc0 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 60 70 72 65 64 60 20 6f 6e 20 61 6e 79 20 73 .without.calling.`pred`.on.any.s
66be0 75 62 73 65 71 75 65 6e 74 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a 54 ubsequent.elements.of.`list`...T
66c00 68 65 20 73 69 6d 69 6c 61 72 20 66 75 6e 63 74 69 6f 6e 20 5b 60 2d 65 76 65 72 79 60 5d 28 23 he.similar.function.[`-every`](#
66c20 2d 65 76 65 72 79 2d 70 72 65 64 2d 6c 69 73 74 29 20 69 73 20 6d 6f 72 65 20 77 69 64 65 6c 79 -every-pred-list).is.more.widely
66c40 20 75 73 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 .useful,.since.it.returns.the.la
66c60 73 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 60 70 72 65 64 60 20 69 6e 73 74 st.non-nil.result.of.`pred`.inst
66c80 65 61 64 20 6f 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 ead.of.just.t.on.success...Alias
66ca0 3a 20 60 2d 61 6c 6c 2d 70 60 2c 20 60 2d 65 76 65 72 79 2d 70 60 2c 20 60 2d 65 76 65 72 79 3f :.`-all-p`,.`-every-p`,.`-every?
66cc0 60 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 `...This.function's.anaphoric.co
66ce0 75 6e 74 65 72 70 61 72 74 20 69 73 20 60 2d 2d 61 6c 6c 3f 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d unterpart.is.`--all?`...```el.(-
66d00 61 6c 6c 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 74 all?.#'numberp.'(1.2.3)).;;.=>.t
66d20 0a 28 2d 61 6c 6c 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 32 20 74 20 36 29 29 20 3b 3b 20 3d .(-all?.#'numberp.'(2.t.6)).;;.=
66d40 3e 20 6e 69 6c 0a 28 2d 2d 61 6c 6c 3f 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 32 >.nil.(--all?.(=.0.(%.it.2)).'(2
66d60 20 34 20 36 29 29 20 3b 3b 20 3d 3e 20 74 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6e 6f 6e 65 3f 20 .4.6)).;;.=>.t.```..####.-none?.
66d80 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 20 69 66 20 28 60 70 72 65 `(pred.list)`..Return.t.if.(`pre
66da0 64 60 20 78 29 20 69 73 20 6e 69 6c 20 66 6f 72 20 61 6c 6c 20 78 20 69 6e 20 60 6c 69 73 74 60 d`.x).is.nil.for.all.x.in.`list`
66dc0 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 6e 6f 6e 65 2d 70 60 0a 0a 60 ,.else.nil...Alias:.`-none-p`..`
66de0 60 60 65 6c 0a 28 2d 6e 6f 6e 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 29 29 20 3b 3b ``el.(-none?.'even?.'(1.2.3)).;;
66e00 20 3d 3e 20 6e 69 6c 0a 28 2d 6e 6f 6e 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 33 20 35 29 29 .=>.nil.(-none?.'even?.'(1.3.5))
66e20 20 3b 3b 20 3d 3e 20 74 0a 28 2d 2d 6e 6f 6e 65 3f 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 .;;.=>.t.(--none?.(=.0.(%.it.2))
66e40 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d .'(1.2.3)).;;.=>.nil.```..####.-
66e60 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e only-some?.`(pred.list)`..Return
66e80 20 60 74 60 20 69 66 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 69 74 65 6d 20 6f 66 20 60 6c 69 .`t`.if.at.least.one.item.of.`li
66ea0 73 74 60 20 6d 61 74 63 68 65 73 20 60 70 72 65 64 60 20 61 6e 64 20 61 74 20 6c 65 61 73 74 20 st`.matches.`pred`.and.at.least.
66ec0 6f 6e 65 20 69 74 65 6d 20 6f 66 20 60 6c 69 73 74 60 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 one.item.of.`list`.does.not.matc
66ee0 68 20 60 70 72 65 64 60 2e 0a 52 65 74 75 72 6e 20 60 6e 69 6c 60 20 62 6f 74 68 20 69 66 20 61 h.`pred`..Return.`nil`.both.if.a
66f00 6c 6c 20 69 74 65 6d 73 20 6d 61 74 63 68 20 74 68 65 20 70 72 65 64 69 63 61 74 65 20 6f 72 20 ll.items.match.the.predicate.or.
66f20 69 66 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20 69 74 65 6d 73 20 6d 61 74 63 68 20 74 68 65 20 70 if.none.of.the.items.match.the.p
66f40 72 65 64 69 63 61 74 65 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 6f 6e 6c 79 2d 73 6f 6d 65 2d 70 60 redicate...Alias:.`-only-some-p`
66f60 0a 0a 60 60 60 65 6c 0a 28 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 ..```el.(-only-some?.'even?.'(1.
66f80 32 20 33 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 27 65 76 65 6e 2.3)).;;.=>.t.(-only-some?.'even
66fa0 3f 20 27 28 31 20 33 20 35 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 6f 6e 6c 79 2d 73 6f 6d ?.'(1.3.5)).;;.=>.nil.(-only-som
66fc0 65 3f 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 36 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 e?.'even?.'(2.4.6)).;;.=>.nil.``
66fe0 60 0a 0a 23 23 23 23 20 2d 63 6f 6e 74 61 69 6e 73 3f 20 60 28 6c 69 73 74 20 65 6c 65 6d 65 6e `..####.-contains?.`(list.elemen
67000 74 29 60 0a 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 60 6c 69 73 74 60 20 63 6f t)`..Return.non-nil.if.`list`.co
67020 6e 74 61 69 6e 73 20 60 65 6c 65 6d 65 6e 74 60 2e 0a 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 ntains.`element`...The.test.for.
67040 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 60 2c 20 6f equality.is.done.with.`equal`,.o
67060 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 60 0a 69 66 20 74 68 61 74 27 73 20 6e r.with.`-compare-fn`.if.that's.n
67080 6f 6e 2d 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 63 6f 6e 74 61 69 6e 73 2d 70 60 0a 0a 60 on-nil...Alias:.`-contains-p`..`
670a0 60 60 65 6c 0a 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 20 31 29 20 3b 3b 20 ``el.(-contains?.'(1.2.3).1).;;.
670c0 3d 3e 20 74 0a 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 20 32 29 20 3b 3b 20 =>.t.(-contains?.'(1.2.3).2).;;.
670e0 3d 3e 20 74 0a 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 20 34 29 20 3b 3b 20 =>.t.(-contains?.'(1.2.3).4).;;.
67100 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 60 28 =>.nil.```..####.-same-items?.`(
67120 6c 69 73 74 20 6c 69 73 74 32 29 60 0a 0a 52 65 74 75 72 6e 20 74 72 75 65 20 69 66 20 60 6c 69 list.list2)`..Return.true.if.`li
67140 73 74 60 20 61 6e 64 20 60 6c 69 73 74 32 60 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 69 74 65 st`.and.`list2`.has.the.same.ite
67160 6d 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 6e 74 73 20 69 ms...The.order.of.the.elements.i
67180 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 2e 0a 0a 41 6c n.the.lists.does.not.matter...Al
671a0 69 61 73 3a 20 60 2d 73 61 6d 65 2d 69 74 65 6d 73 2d 70 60 0a 0a 60 60 60 65 6c 0a 28 2d 73 61 ias:.`-same-items-p`..```el.(-sa
671c0 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 20 3b 3b 20 me-items?.'(1.2.3).'(1.2.3)).;;.
671e0 3d 3e 20 74 0a 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 33 20 =>.t.(-same-items?.'(1.2.3).'(3.
67200 32 20 31 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 27 28 31 20 2.1)).;;.=>.t.(-same-items?.'(1.
67220 32 20 33 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 2.3).'(1.2.3.4)).;;.=>.nil.```..
67240 23 23 23 23 20 2d 69 73 2d 70 72 65 66 69 78 3f 20 60 28 70 72 65 66 69 78 20 6c 69 73 74 29 60 ####.-is-prefix?.`(prefix.list)`
67260 0a 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 60 70 72 65 66 69 78 60 20 69 73 20 ..Return.non-nil.if.`prefix`.is.
67280 61 20 70 72 65 66 69 78 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 69 73 a.prefix.of.`list`...Alias:.`-is
672a0 2d 70 72 65 66 69 78 2d 70 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 69 73 2d 70 72 65 66 69 78 3f 20 -prefix-p`...```el.(-is-prefix?.
672c0 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 '(1.2.3).'(1.2.3.4.5)).;;.=>.t.(
672e0 2d 69 73 2d 70 72 65 66 69 78 3f 20 27 28 31 20 32 20 33 20 34 20 35 29 20 27 28 31 20 32 20 33 -is-prefix?.'(1.2.3.4.5).'(1.2.3
67300 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 69 73 2d 70 72 65 66 69 78 3f 20 27 28 31 20 33 29 )).;;.=>.nil.(-is-prefix?.'(1.3)
67320 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 .'(1.2.3.4.5)).;;.=>.nil.```..##
67340 23 23 20 2d 69 73 2d 73 75 66 66 69 78 3f 20 60 28 73 75 66 66 69 78 20 6c 69 73 74 29 60 0a 0a ##.-is-suffix?.`(suffix.list)`..
67360 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 60 73 75 66 66 69 78 60 20 69 73 20 61 20 Return.non-nil.if.`suffix`.is.a.
67380 73 75 66 66 69 78 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 69 73 2d 73 suffix.of.`list`...Alias:.`-is-s
673a0 75 66 66 69 78 2d 70 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 69 73 2d 73 75 66 66 69 78 3f 20 27 28 uffix-p`...```el.(-is-suffix?.'(
673c0 33 20 34 20 35 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 2d 69 3.4.5).'(1.2.3.4.5)).;;.=>.t.(-i
673e0 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 35 29 29 s-suffix?.'(1.2.3.4.5).'(3.4.5))
67400 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 69 73 2d 73 75 66 66 69 78 3f 20 27 28 33 20 35 29 20 27 .;;.=>.nil.(-is-suffix?.'(3.5).'
67420 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 (1.2.3.4.5)).;;.=>.nil.```..####
67440 20 2d 69 73 2d 69 6e 66 69 78 3f 20 60 28 69 6e 66 69 78 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 .-is-infix?.`(infix.list)`..Retu
67460 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 60 69 6e 66 69 78 60 20 69 73 20 69 6e 66 69 78 20 6f rn.non-nil.if.`infix`.is.infix.o
67480 66 20 60 6c 69 73 74 60 2e 0a 0a 54 68 69 73 20 6f 70 65 72 61 74 69 6f 6e 20 72 75 6e 73 20 69 f.`list`...This.operation.runs.i
674a0 6e 20 4f 28 6e 5e 32 29 20 74 69 6d 65 0a 0a 41 6c 69 61 73 3a 20 60 2d 69 73 2d 69 6e 66 69 78 n.O(n^2).time..Alias:.`-is-infix
674c0 2d 70 60 0a 0a 60 60 60 65 6c 0a 28 2d 69 73 2d 69 6e 66 69 78 3f 20 27 28 31 20 32 20 33 29 20 -p`..```el.(-is-infix?.'(1.2.3).
674e0 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 2d 69 73 2d 69 6e 66 69 78 '(1.2.3.4.5)).;;.=>.t.(-is-infix
67500 3f 20 27 28 32 20 33 20 34 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 74 ?.'(2.3.4).'(1.2.3.4.5)).;;.=>.t
67520 0a 28 2d 69 73 2d 69 6e 66 69 78 3f 20 27 28 33 20 34 20 35 29 20 27 28 31 20 32 20 33 20 34 20 .(-is-infix?.'(3.4.5).'(1.2.3.4.
67540 35 29 29 20 3b 3b 20 3d 3e 20 74 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6f 6e 73 2d 70 61 69 72 5)).;;.=>.t.```..####.-cons-pair
67560 3f 20 60 28 6f 62 6a 29 60 0a 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 60 6f 62 ?.`(obj)`..Return.non-nil.if.`ob
67580 6a 60 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 2c j`.is.a.true.cons.pair..That.is,
675a0 20 61 20 63 6f 6e 73 20 28 60 61 60 20 2e 20 60 62 60 29 20 77 68 65 72 65 20 60 62 60 20 69 73 .a.cons.(`a`...`b`).where.`b`.is
675c0 20 6e 6f 74 20 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 .not.a.list...Alias:.`-cons-pair
675e0 2d 70 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 27 28 31 20 2e 20 32 -p`...```el.(-cons-pair?.'(1...2
67600 29 29 20 3b 3b 20 3d 3e 20 74 0a 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 27 28 31 20 32 29 29 20 )).;;.=>.t.(-cons-pair?.'(1.2)).
67620 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 27 28 31 29 29 20 3b 3b 20 ;;.=>.nil.(-cons-pair?.'(1)).;;.
67640 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 0a 0a 46 75 6e =>.nil.```..##.Partitioning..Fun
67660 63 74 69 6f 6e 73 20 70 61 72 74 69 74 69 6f 6e 69 6e 67 20 74 68 65 20 69 6e 70 75 74 20 6c 69 ctions.partitioning.the.input.li
67680 73 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 2e 0a 0a 23 23 23 23 20 2d st.into.a.list.of.lists...####.-
676a0 73 70 6c 69 74 2d 61 74 20 60 28 6e 20 6c 69 73 74 29 60 0a 0a 53 70 6c 69 74 20 60 6c 69 73 74 split-at.`(n.list)`..Split.`list
676c0 60 20 69 6e 74 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 60 6e `.into.two.sublists.after.the.`n
676e0 60 74 68 20 65 6c 65 6d 65 6e 74 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 6c 69 73 `th.element..The.result.is.a.lis
67700 74 20 6f 66 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 28 60 74 61 6b 65 60 20 60 64 72 6f 70 60 t.of.two.elements.(`take`.`drop`
67720 29 20 77 68 65 72 65 20 60 74 61 6b 65 60 20 69 73 20 61 0a 6e 65 77 20 6c 69 73 74 20 6f 66 20 ).where.`take`.is.a.new.list.of.
67740 74 68 65 20 66 69 72 73 74 20 60 6e 60 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 the.first.`n`.elements.of.`list`
67760 2c 20 61 6e 64 20 60 64 72 6f 70 60 20 69 73 20 74 68 65 0a 72 65 6d 61 69 6e 69 6e 67 20 65 6c ,.and.`drop`.is.the.remaining.el
67780 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 2e 20 20 ements.of.`list`.(not.a.copy)...
677a0 60 74 61 6b 65 60 20 61 6e 64 20 60 64 72 6f 70 60 20 61 72 65 20 6c 69 6b 65 0a 74 68 65 20 72 `take`.and.`drop`.are.like.the.r
677c0 65 73 75 6c 74 73 20 6f 66 20 5b 60 2d 74 61 6b 65 60 5d 28 23 2d 74 61 6b 65 2d 6e 2d 6c 69 73 esults.of.[`-take`](#-take-n-lis
677e0 74 29 20 61 6e 64 20 5b 60 2d 64 72 6f 70 60 5d 28 23 2d 64 72 6f 70 2d 6e 2d 6c 69 73 74 29 2c t).and.[`-drop`](#-drop-n-list),
67800 20 72 65 73 70 65 63 74 69 76 65 6c 79 2c 20 62 75 74 20 74 68 65 20 73 70 6c 69 74 0a 69 73 20 .respectively,.but.the.split.is.
67820 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 76 65 72 73 61 6c 2e done.in.a.single.list.traversal.
67840 0a 0a 60 60 60 65 6c 0a 28 2d 73 70 6c 69 74 2d 61 74 20 33 20 27 28 31 20 32 20 33 20 34 20 35 ..```el.(-split-at.3.'(1.2.3.4.5
67860 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 20 28 34 20 35 29 29 0a 28 2d 73 70 6c 69 74 )).;;.=>.((1.2.3).(4.5)).(-split
67880 2d 61 74 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 -at.17.'(1.2.3.4.5)).;;.=>.((1.2
678a0 20 33 20 34 20 35 29 20 6e 69 6c 29 0a 28 2d 73 70 6c 69 74 2d 61 74 20 30 20 27 28 31 20 32 20 .3.4.5).nil).(-split-at.0.'(1.2.
678c0 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 20 28 31 20 32 20 33 20 34 20 35 29 29 0a 3.4.5)).;;.=>.(nil.(1.2.3.4.5)).
678e0 60 60 60 0a 0a 23 23 23 23 20 2d 73 70 6c 69 74 2d 77 69 74 68 20 60 28 70 72 65 64 20 6c 69 73 ```..####.-split-with.`(pred.lis
67900 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 28 28 2d 74 61 6b 65 2d 77 68 t)`..Return.a.list.of.((-take-wh
67920 69 6c 65 20 60 70 72 65 64 60 20 60 6c 69 73 74 60 29 20 28 2d 64 72 6f 70 2d 77 68 69 6c 65 20 ile.`pred`.`list`).(-drop-while.
67940 60 70 72 65 64 60 20 60 6c 69 73 74 60 29 29 2c 20 69 6e 20 6e 6f 20 6d 6f 72 65 20 74 68 61 6e `pred`.`list`)),.in.no.more.than
67960 20 6f 6e 65 20 70 61 73 73 20 74 68 72 6f 75 67 68 20 74 68 65 20 6c 69 73 74 2e 0a 0a 60 60 60 .one.pass.through.the.list...```
67980 65 6c 0a 28 2d 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 el.(-split-with.'even?.'(1.2.3.4
679a0 29 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 20 28 31 20 32 20 33 20 34 29 29 0a 28 2d 73 70 6c 69 74 )).;;.=>.(nil.(1.2.3.4)).(-split
679c0 2d 77 69 74 68 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 -with.'even?.'(2.4.5.6)).;;.=>.(
679e0 28 32 20 34 29 20 28 35 20 36 29 29 0a 28 2d 2d 73 70 6c 69 74 2d 77 69 74 68 20 28 3c 20 69 74 (2.4).(5.6)).(--split-with.(<.it
67a00 20 34 29 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 .4).'(1.2.3.4.3.2.1)).;;.=>.((1.
67a20 32 20 33 29 20 28 34 20 33 20 32 20 31 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 70 6c 69 74 2.3).(4.3.2.1)).```..####.-split
67a40 2d 6f 6e 20 60 28 69 74 65 6d 20 6c 69 73 74 29 60 0a 0a 53 70 6c 69 74 20 74 68 65 20 60 6c 69 -on.`(item.list)`..Split.the.`li
67a60 73 74 60 20 65 61 63 68 20 74 69 6d 65 20 60 69 74 65 6d 60 20 69 73 20 66 6f 75 6e 64 2e 0a 0a st`.each.time.`item`.is.found...
67a80 55 6e 6c 69 6b 65 20 5b 60 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 60 5d 28 23 2d 70 61 72 74 69 Unlike.[`-partition-by`](#-parti
67aa0 74 69 6f 6e 2d 62 79 2d 66 6e 2d 6c 69 73 74 29 2c 20 74 68 65 20 60 69 74 65 6d 60 20 69 73 20 tion-by-fn-list),.the.`item`.is.
67ac0 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 74 discarded.from.the.results..Empt
67ae0 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 68 y.lists.are.also.removed.from.th
67b00 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 79 e.result...Comparison.is.done.by
67b20 20 60 65 71 75 61 6c 60 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 5b 60 2d 73 70 6c 69 74 2d 77 68 65 .`equal`...See.also.[`-split-whe
67b40 6e 60 5d 28 23 2d 73 70 6c 69 74 2d 77 68 65 6e 2d 66 6e 2d 6c 69 73 74 29 0a 0a 60 60 60 65 6c n`](#-split-when-fn-list)..```el
67b60 0a 28 2d 73 70 6c 69 74 2d 6f 6e 20 27 7c 20 27 28 4e 69 6c 20 7c 20 4c 65 61 66 20 61 20 7c 20 .(-split-on.'|.'(Nil.|.Leaf.a.|.
67b80 4e 6f 64 65 20 5b 54 72 65 65 20 61 5d 29 29 20 3b 3b 20 3d 3e 20 28 28 4e 69 6c 29 20 28 4c 65 Node.[Tree.a])).;;.=>.((Nil).(Le
67ba0 61 66 20 61 29 20 28 4e 6f 64 65 20 5b 54 72 65 65 20 61 5d 29 29 0a 28 2d 73 70 6c 69 74 2d 6f af.a).(Node.[Tree.a])).(-split-o
67bc0 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 67 72 6f 75 70 20 n.:endgroup.'("a"."b".:endgroup.
67be0 22 63 22 20 3a 65 6e 64 67 72 6f 75 70 20 22 64 22 20 22 65 22 29 29 20 3b 3b 20 3d 3e 20 28 28 "c".:endgroup."d"."e")).;;.=>.((
67c00 22 61 22 20 22 62 22 29 20 28 22 63 22 29 20 28 22 64 22 20 22 65 22 29 29 0a 28 2d 73 70 6c 69 "a"."b").("c").("d"."e")).(-spli
67c20 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 67 72 6f t-on.:endgroup.'("a"."b".:endgro
67c40 75 70 20 3a 65 6e 64 67 72 6f 75 70 20 22 64 22 20 22 65 22 29 29 20 3b 3b 20 3d 3e 20 28 28 22 up.:endgroup."d"."e")).;;.=>.(("
67c60 61 22 20 22 62 22 29 20 28 22 64 22 20 22 65 22 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 70 a"."b").("d"."e")).```..####.-sp
67c80 6c 69 74 2d 77 68 65 6e 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 53 70 6c 69 74 20 74 68 65 20 lit-when.`(fn.list)`..Split.the.
67ca0 60 6c 69 73 74 60 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 77 68 65 72 65 20 60 66 6e `list`.on.each.element.where.`fn
67cc0 60 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 55 6e 6c 69 6b 65 20 5b 60 2d 70 61 `.returns.non-nil...Unlike.[`-pa
67ce0 72 74 69 74 69 6f 6e 2d 62 79 60 5d 28 23 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 66 6e 2d 6c rtition-by`](#-partition-by-fn-l
67d00 69 73 74 29 2c 20 74 68 65 20 22 6d 61 74 63 68 65 64 22 20 65 6c 65 6d 65 6e 74 20 69 73 20 64 ist),.the."matched".element.is.d
67d20 69 73 63 61 72 64 65 64 20 66 72 6f 6d 0a 74 68 65 20 72 65 73 75 6c 74 73 2e 20 20 45 6d 70 74 iscarded.from.the.results...Empt
67d40 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 68 y.lists.are.also.removed.from.th
67d60 65 20 72 65 73 75 6c 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 e.result...This.function.can.be.
67d80 74 68 6f 75 67 68 74 20 6f 66 20 61 73 20 61 20 67 65 6e 65 72 61 6c 69 7a 61 74 69 6f 6e 20 6f thought.of.as.a.generalization.o
67da0 66 0a 60 73 70 6c 69 74 2d 73 74 72 69 6e 67 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 70 6c 69 74 f.`split-string`...```el.(-split
67dc0 2d 77 68 65 6e 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 20 3b 3b 20 -when.'even?.'(1.2.3.4.5.6)).;;.
67de0 3d 3e 20 28 28 31 29 20 28 33 29 20 28 35 29 29 0a 28 2d 73 70 6c 69 74 2d 77 68 65 6e 20 27 65 =>.((1).(3).(5)).(-split-when.'e
67e00 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 20 36 20 38 20 39 29 29 20 3b 3b 20 3d 3e 20 28 28 31 ven?.'(1.2.3.4.6.8.9)).;;.=>.((1
67e20 29 20 28 33 29 20 28 39 29 29 0a 28 2d 2d 73 70 6c 69 74 2d 77 68 65 6e 20 28 6d 65 6d 71 20 69 ).(3).(9)).(--split-when.(memq.i
67e40 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 20 62 20 26 6f 70 74 t.'(&optional.&rest)).'(a.b.&opt
67e60 69 6f 6e 61 6c 20 63 20 64 20 26 72 65 73 74 20 61 72 67 73 29 29 20 3b 3b 20 3d 3e 20 28 28 61 ional.c.d.&rest.args)).;;.=>.((a
67e80 20 62 29 20 28 63 20 64 29 20 28 61 72 67 73 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 65 70 .b).(c.d).(args)).```..####.-sep
67ea0 61 72 61 74 65 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 arate.`(pred.list)`..Return.a.li
67ec0 73 74 20 6f 66 20 28 28 2d 66 69 6c 74 65 72 20 60 70 72 65 64 60 20 60 6c 69 73 74 60 29 20 28 st.of.((-filter.`pred`.`list`).(
67ee0 2d 72 65 6d 6f 76 65 20 60 70 72 65 64 60 20 60 6c 69 73 74 60 29 29 2c 20 69 6e 20 6f 6e 65 20 -remove.`pred`.`list`)),.in.one.
67f00 70 61 73 73 20 74 68 72 6f 75 67 68 20 74 68 65 20 6c 69 73 74 2e 0a 0a 60 60 60 65 6c 0a 28 2d pass.through.the.list...```el.(-
67f20 73 65 70 61 72 61 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 separate.(lambda.(num).(=.0.(%.n
67f40 75 6d 20 32 29 29 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 um.2))).'(1.2.3.4.5.6.7)).;;.=>.
67f60 28 28 32 20 34 20 36 29 20 28 31 20 33 20 35 20 37 29 29 0a 28 2d 2d 73 65 70 61 72 61 74 65 20 ((2.4.6).(1.3.5.7)).(--separate.
67f80 28 3c 20 69 74 20 35 29 20 27 28 33 20 37 20 35 20 39 20 33 20 32 20 31 20 34 20 36 29 29 20 3b (<.it.5).'(3.7.5.9.3.2.1.4.6)).;
67fa0 3b 20 3d 3e 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 28 2d 73 ;.=>.((3.3.2.1.4).(7.5.9.6)).(-s
67fc0 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 31 20 32 20 33 29 eparate.'cdr.'((1.2).(1).(1.2.3)
67fe0 20 28 34 29 29 29 20 3b 3b 20 3d 3e 20 28 28 28 31 20 32 29 20 28 31 20 32 20 33 29 29 20 28 28 .(4))).;;.=>.(((1.2).(1.2.3)).((
68000 31 29 20 28 34 29 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 74 69 6f 6e 20 60 28 1).(4))).```..####.-partition.`(
68020 6e 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 n.list)`..Return.a.new.list.with
68040 20 74 68 65 20 69 74 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 20 67 72 6f 75 70 65 64 20 69 6e 74 .the.items.in.`list`.grouped.int
68060 6f 20 60 6e 60 2d 73 69 7a 65 64 20 73 75 62 6c 69 73 74 73 2e 0a 49 66 20 74 68 65 72 65 20 61 o.`n`-sized.sublists..If.there.a
68080 72 65 20 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 re.not.enough.items.to.make.the.
680a0 6c 61 73 74 20 67 72 6f 75 70 20 60 6e 60 2d 73 69 7a 65 64 2c 0a 74 68 6f 73 65 20 69 74 65 6d last.group.`n`-sized,.those.item
680c0 73 20 61 72 65 20 64 69 73 63 61 72 64 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 72 74 69 74 s.are.discarded...```el.(-partit
680e0 69 6f 6e 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 ion.2.'(1.2.3.4.5.6)).;;.=>.((1.
68100 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 20 32 20 27 28 2).(3.4).(5.6)).(-partition.2.'(
68120 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 29 20 28 33 20 1.2.3.4.5.6.7)).;;.=>.((1.2).(3.
68140 34 29 20 28 35 20 36 29 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 20 33 20 27 28 31 20 32 20 33 20 4).(5.6)).(-partition.3.'(1.2.3.
68160 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 20 28 34 20 35 20 36 29 4.5.6.7)).;;.=>.((1.2.3).(4.5.6)
68180 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 60 28 6e 20 6c ).```..####.-partition-all.`(n.l
681a0 69 73 74 29 60 0a 0a 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 ist)`..Return.a.new.list.with.th
681c0 65 20 69 74 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 60 e.items.in.`list`.grouped.into.`
681e0 6e 60 2d 73 69 7a 65 64 20 73 75 62 6c 69 73 74 73 2e 0a 54 68 65 20 6c 61 73 74 20 67 72 6f 75 n`-sized.sublists..The.last.grou
68200 70 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 60 6e 60 20 69 74 65 6d p.may.contain.less.than.`n`.item
68220 73 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 32 20 27 28 31 20 s...```el.(-partition-all.2.'(1.
68240 32 20 33 20 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 2.3.4.5.6)).;;.=>.((1.2).(3.4).(
68260 35 20 36 29 29 0a 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 5.6)).(-partition-all.2.'(1.2.3.
68280 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 4.5.6.7)).;;.=>.((1.2).(3.4).(5.
682a0 36 29 20 28 37 29 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 33 20 27 28 31 20 32 20 6).(7)).(-partition-all.3.'(1.2.
682c0 33 20 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 20 28 34 20 35 20 3.4.5.6.7)).;;.=>.((1.2.3).(4.5.
682e0 36 29 20 28 37 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 6).(7)).```..####.-partition-in-
68300 73 74 65 70 73 20 60 28 6e 20 73 74 65 70 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 steps.`(n.step.list)`..Return.a.
68320 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 60 6c 69 73 74 new.list.with.the.items.in.`list
68340 60 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 60 6e 60 2d 73 69 7a 65 64 20 73 75 62 6c 69 73 74 `.grouped.into.`n`-sized.sublist
68360 73 20 61 74 20 6f 66 66 73 65 74 73 20 60 73 74 65 70 60 20 61 70 61 72 74 2e 0a 49 66 20 74 68 s.at.offsets.`step`.apart..If.th
68380 65 72 65 20 61 72 65 20 6e 6f 74 20 65 6e 6f 75 67 68 20 69 74 65 6d 73 20 74 6f 20 6d 61 6b 65 ere.are.not.enough.items.to.make
683a0 20 74 68 65 20 6c 61 73 74 20 67 72 6f 75 70 20 60 6e 60 2d 73 69 7a 65 64 2c 0a 74 68 6f 73 65 .the.last.group.`n`-sized,.those
683c0 20 69 74 65 6d 73 20 61 72 65 20 64 69 73 63 61 72 64 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 .items.are.discarded...```el.(-p
683e0 61 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 artition-in-steps.2.1.'(1.2.3.4)
68400 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 29 20 28 32 20 33 29 20 28 33 20 34 29 29 0a 28 2d 70 61 ).;;.=>.((1.2).(2.3).(3.4)).(-pa
68420 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 29 29 rtition-in-steps.3.2.'(1.2.3.4))
68440 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d .;;.=>.((1.2.3)).(-partition-in-
68460 73 74 65 70 73 20 33 20 32 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 28 steps.3.2.'(1.2.3.4.5)).;;.=>.((
68480 31 20 32 20 33 29 20 28 33 20 34 20 35 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 1.2.3).(3.4.5)).```..####.-parti
684a0 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 60 28 6e 20 73 74 65 70 20 6c 69 73 74 29 tion-all-in-steps.`(n.step.list)
684c0 60 0a 0a 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
684e0 65 6d 73 20 69 6e 20 60 6c 69 73 74 60 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 60 6e 60 2d 73 ems.in.`list`.grouped.into.`n`-s
68500 69 7a 65 64 20 73 75 62 6c 69 73 74 73 20 61 74 20 6f 66 66 73 65 74 73 20 60 73 74 65 70 60 20 ized.sublists.at.offsets.`step`.
68520 61 70 61 72 74 2e 0a 54 68 65 20 6c 61 73 74 20 67 72 6f 75 70 73 20 6d 61 79 20 63 6f 6e 74 61 apart..The.last.groups.may.conta
68540 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 60 6e 60 20 69 74 65 6d 73 2e 0a 0a 60 60 60 65 6c 0a 28 in.less.than.`n`.items...```el.(
68560 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 20 27 28 31 20 -partition-all-in-steps.2.1.'(1.
68580 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 29 20 28 32 20 33 29 20 28 33 20 34 29 2.3.4)).;;.=>.((1.2).(2.3).(3.4)
685a0 20 28 34 29 29 0a 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 .(4)).(-partition-all-in-steps.3
685c0 20 32 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 20 28 33 .2.'(1.2.3.4)).;;.=>.((1.2.3).(3
685e0 20 34 29 29 0a 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 .4)).(-partition-all-in-steps.3.
68600 32 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 20 28 2.'(1.2.3.4.5)).;;.=>.((1.2.3).(
68620 33 20 34 20 35 29 20 28 35 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 74 69 6f 6e 3.4.5).(5)).```..####.-partition
68640 2d 62 79 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 41 70 70 6c 79 20 60 66 6e 60 20 74 6f 20 65 -by.`(fn.list)`..Apply.`fn`.to.e
68660 61 63 68 20 69 74 65 6d 20 69 6e 20 60 6c 69 73 74 60 2c 20 73 70 6c 69 74 74 69 6e 67 20 69 74 ach.item.in.`list`,.splitting.it
68680 20 65 61 63 68 20 74 69 6d 65 20 60 66 6e 60 20 72 65 74 75 72 6e 73 20 61 20 6e 65 77 20 76 61 .each.time.`fn`.returns.a.new.va
686a0 6c 75 65 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 27 65 76 65 6e lue...```el.(-partition-by.'even
686c0 3f 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 27 65 ?.()).;;.=>.().(-partition-by.'e
686e0 76 65 6e 3f 20 27 28 31 20 31 20 32 20 32 20 32 20 33 20 34 20 36 20 38 29 29 20 3b 3b 20 3d 3e ven?.'(1.1.2.2.2.3.4.6.8)).;;.=>
68700 20 28 28 31 20 31 29 20 28 32 20 32 20 32 29 20 28 33 29 20 28 34 20 36 20 38 29 29 0a 28 2d 2d .((1.1).(2.2.2).(3).(4.6.8)).(--
68720 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 28 3c 20 69 74 20 33 29 20 27 28 31 20 32 20 33 20 34 20 partition-by.(<.it.3).'(1.2.3.4.
68740 33 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 29 20 28 33 20 34 20 33 29 20 28 32 20 3.2.1)).;;.=>.((1.2).(3.4.3).(2.
68760 31 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 1)).```..####.-partition-by-head
68780 65 72 20 60 28 66 6e 20 6c 69 73 74 29 60 0a 0a 41 70 70 6c 79 20 60 66 6e 60 20 74 6f 20 74 68 er.`(fn.list)`..Apply.`fn`.to.th
687a0 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 60 6c 69 73 74 60 2e 20 54 68 61 74 20 69 73 20 e.first.item.in.`list`..That.is.
687c0 74 68 65 20 68 65 61 64 65 72 0a 76 61 6c 75 65 2e 20 41 70 70 6c 79 20 60 66 6e 60 20 74 6f 20 the.header.value..Apply.`fn`.to.
687e0 65 61 63 68 20 69 74 65 6d 20 69 6e 20 60 6c 69 73 74 60 2c 20 73 70 6c 69 74 74 69 6e 67 20 69 each.item.in.`list`,.splitting.i
68800 74 20 65 61 63 68 20 74 69 6d 65 20 60 66 6e 60 0a 72 65 74 75 72 6e 73 20 74 68 65 20 68 65 61 t.each.time.`fn`.returns.the.hea
68820 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 20 73 65 65 69 6e 67 der.value,.but.only.after.seeing
68840 20 61 74 20 6c 65 61 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 .at.least.one.other.value.(the.b
68860 6f 64 79 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 ody)...```el.(--partition-by-hea
68880 64 65 72 20 28 3d 20 69 74 20 31 29 20 27 28 31 20 32 20 33 20 31 20 32 20 31 20 32 20 33 20 34 der.(=.it.1).'(1.2.3.1.2.1.2.3.4
688a0 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 20 28 31 20 32 29 20 28 31 20 32 20 33 20 34 )).;;.=>.((1.2.3).(1.2).(1.2.3.4
688c0 29 29 0a 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 3e 20 69 74 20 )).(--partition-by-header.(>.it.
688e0 30 29 20 27 28 31 20 32 20 30 20 31 20 30 20 31 20 32 20 33 20 30 29 29 20 3b 3b 20 3d 3e 20 28 0).'(1.2.0.1.0.1.2.3.0)).;;.=>.(
68900 28 31 20 32 20 30 29 20 28 31 20 30 29 20 28 31 20 32 20 33 20 30 29 29 0a 28 2d 70 61 72 74 69 (1.2.0).(1.0).(1.2.3.0)).(-parti
68920 74 69 6f 6e 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 tion-by-header.'even?.'(2.1.1.1.
68940 34 20 31 20 33 20 35 20 36 20 36 20 31 29 29 20 3b 3b 20 3d 3e 20 28 28 32 20 31 20 31 20 31 29 4.1.3.5.6.6.1)).;;.=>.((2.1.1.1)
68960 20 28 34 20 31 20 33 20 35 29 20 28 36 20 36 20 31 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 .(4.1.3.5).(6.6.1)).```..####.-p
68980 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 60 28 70 72 65 64 20 6c 69 73 74 29 artition-after-pred.`(pred.list)
689a0 60 0a 0a 50 61 72 74 69 74 69 6f 6e 20 60 6c 69 73 74 60 20 61 66 74 65 72 20 65 61 63 68 20 65 `..Partition.`list`.after.each.e
689c0 6c 65 6d 65 6e 74 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 20 lement.for.which.`pred`.returns.
689e0 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 61 6e 61 70 68 6f non-nil...This.function's.anapho
68a00 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 69 74 69 6f 6e 2d ric.counterpart.is.`--partition-
68a20 61 66 74 65 72 2d 70 72 65 64 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d after-pred`...```el.(-partition-
68a40 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 20 3b 3b 20 3d 3e 20 after-pred.#'booleanp.()).;;.=>.
68a60 28 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 20 23 27 62 6f 6f 6c ().(-partition-after-pred.#'bool
68a80 65 61 6e 70 20 27 28 74 20 74 29 29 20 3b 3b 20 3d 3e 20 28 28 74 29 20 28 74 29 29 0a 28 2d 70 eanp.'(t.t)).;;.=>.((t).(t)).(-p
68aa0 61 72 74 69 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 artition-after-pred.#'booleanp.'
68ac0 28 30 20 30 20 74 20 74 20 30 20 74 29 29 20 3b 3b 20 3d 3e 20 28 28 30 20 30 20 74 29 20 28 74 (0.0.t.t.0.t)).;;.=>.((0.0.t).(t
68ae0 29 20 28 30 20 74 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 ).(0.t)).```..####.-partition-be
68b00 66 6f 72 65 2d 70 72 65 64 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 50 61 72 74 69 74 69 fore-pred.`(pred.list)`..Partiti
68b20 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 60 70 72 on.directly.before.each.time.`pr
68b40 65 64 60 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 60 6c 69 ed`.is.true.on.an.element.of.`li
68b60 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 st`...```el.(-partition-before-p
68b80 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 70 61 red.#'booleanp.()).;;.=>.().(-pa
68ba0 72 74 69 74 69 6f 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 rtition-before-pred.#'booleanp.'
68bc0 28 30 20 74 29 29 20 3b 3b 20 3d 3e 20 28 28 30 29 20 28 74 29 29 0a 28 2d 70 61 72 74 69 74 69 (0.t)).;;.=>.((0).(t)).(-partiti
68be0 6f 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 30 20 on-before-pred.#'booleanp.'(0.0.
68c00 74 20 30 20 74 20 74 29 29 20 3b 3b 20 3d 3e 20 28 28 30 20 30 29 20 28 74 20 30 29 20 28 74 29 t.0.t.t)).;;.=>.((0.0).(t.0).(t)
68c20 20 28 74 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 .(t)).```..####.-partition-befor
68c40 65 2d 69 74 65 6d 20 60 28 69 74 65 6d 20 6c 69 73 74 29 60 0a 0a 50 61 72 74 69 74 69 6f 6e 20 e-item.`(item.list)`..Partition.
68c60 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 60 69 74 65 6d 60 directly.before.each.time.`item`
68c80 20 61 70 70 65 61 72 73 20 69 6e 20 60 6c 69 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 72 .appears.in.`list`...```el.(-par
68ca0 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 20 33 20 28 29 29 20 3b 3b 20 3d 3e 20 28 tition-before-item.3.()).;;.=>.(
68cc0 29 0a 28 2d 70 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 31 29 ).(-partition-before-item.3.'(1)
68ce0 29 20 3b 3b 20 3d 3e 20 28 28 31 29 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 ).;;.=>.((1)).(-partition-before
68d00 2d 69 74 65 6d 20 33 20 27 28 33 29 29 20 3b 3b 20 3d 3e 20 28 28 33 29 29 0a 60 60 60 0a 0a 23 -item.3.'(3)).;;.=>.((3)).```..#
68d20 23 23 23 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 60 28 69 74 65 6d ###.-partition-after-item.`(item
68d40 20 6c 69 73 74 29 60 0a 0a 50 61 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 61 66 74 65 .list)`..Partition.directly.afte
68d60 72 20 65 61 63 68 20 74 69 6d 65 20 60 69 74 65 6d 60 20 61 70 70 65 61 72 73 20 69 6e 20 60 6c r.each.time.`item`.appears.in.`l
68d80 69 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 ist`...```el.(-partition-after-i
68da0 74 65 6d 20 33 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 tem.3.()).;;.=>.().(-partition-a
68dc0 66 74 65 72 2d 69 74 65 6d 20 33 20 27 28 31 29 29 20 3b 3b 20 3d 3e 20 28 28 31 29 29 0a 28 2d fter-item.3.'(1)).;;.=>.((1)).(-
68de0 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 20 33 20 27 28 33 29 29 20 3b 3b 20 partition-after-item.3.'(3)).;;.
68e00 3d 3e 20 28 28 33 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 67 72 6f 75 70 2d 62 79 20 60 28 66 =>.((3)).```..####.-group-by.`(f
68e20 6e 20 6c 69 73 74 29 60 0a 0a 53 65 70 61 72 61 74 65 20 60 6c 69 73 74 60 20 69 6e 74 6f 20 61 n.list)`..Separate.`list`.into.a
68e40 6e 20 61 6c 69 73 74 20 77 68 6f 73 65 20 6b 65 79 73 20 61 72 65 20 60 66 6e 60 20 61 70 70 6c n.alist.whose.keys.are.`fn`.appl
68e60 69 65 64 20 74 6f 20 74 68 65 0a 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 2e 20 20 ied.to.the.elements.of.`list`...
68e80 4b 65 79 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 62 79 20 60 65 71 75 61 6c 60 2e 0a 0a 60 Keys.are.compared.by.`equal`...`
68ea0 60 60 65 6c 0a 28 2d 67 72 6f 75 70 2d 62 79 20 27 65 76 65 6e 3f 20 28 29 29 20 3b 3b 20 3d 3e ``el.(-group-by.'even?.()).;;.=>
68ec0 20 28 29 0a 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 .().(-group-by.'even?.'(1.1.2.2.
68ee0 32 20 33 20 34 20 36 20 38 29 29 20 3b 3b 20 3d 3e 20 28 28 6e 69 6c 20 31 20 31 20 33 29 20 28 2.3.4.6.8)).;;.=>.((nil.1.1.3).(
68f00 74 20 32 20 32 20 32 20 34 20 36 20 38 29 29 0a 28 2d 2d 67 72 6f 75 70 2d 62 79 20 28 63 61 72 t.2.2.2.4.6.8)).(--group-by.(car
68f20 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 69 74 20 22 2f 22 29 29 20 27 28 22 61 2f 62 22 20 .(split-string.it."/")).'("a/b".
68f40 22 63 2f 64 22 20 22 61 2f 65 22 29 29 20 3b 3b 20 3d 3e 20 28 28 22 61 22 20 22 61 2f 62 22 20 "c/d"."a/e")).;;.=>.(("a"."a/b".
68f60 22 61 2f 65 22 29 20 28 22 63 22 20 22 63 2f 64 22 29 29 0a 60 60 60 0a 0a 23 23 20 49 6e 64 65 "a/e").("c"."c/d")).```..##.Inde
68f80 78 69 6e 67 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 72 65 74 72 69 65 76 69 6e 67 20 6f 72 20 73 6f xing..Functions.retrieving.or.so
68fa0 72 74 69 6e 67 20 62 61 73 65 64 20 6f 6e 20 6c 69 73 74 20 69 6e 64 69 63 65 73 20 61 6e 64 0a rting.based.on.list.indices.and.
68fc0 72 65 6c 61 74 65 64 20 70 72 65 64 69 63 61 74 65 73 2e 0a 0a 23 23 23 23 20 2d 65 6c 65 6d 2d related.predicates...####.-elem-
68fe0 69 6e 64 65 78 20 60 28 65 6c 65 6d 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 index.`(elem.list)`..Return.the.
69000 69 6e 64 65 78 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 index.of.the.first.element.in.th
69020 65 20 67 69 76 65 6e 20 60 6c 69 73 74 60 20 77 68 69 63 68 0a 69 73 20 65 71 75 61 6c 20 74 6f e.given.`list`.which.is.equal.to
69040 20 74 68 65 20 71 75 65 72 79 20 65 6c 65 6d 65 6e 74 20 60 65 6c 65 6d 60 2c 20 6f 72 20 6e 69 .the.query.element.`elem`,.or.ni
69060 6c 20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 0a 73 75 63 68 20 65 6c 65 6d 65 6e 74 2e 0a 0a l.if.there.is.no.such.element...
69080 60 60 60 65 6c 0a 28 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 32 20 27 28 36 20 37 20 38 20 32 20 33 ```el.(-elem-index.2.'(6.7.8.2.3
690a0 20 34 29 29 20 3b 3b 20 3d 3e 20 33 0a 28 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 22 62 61 72 22 20 .4)).;;.=>.3.(-elem-index."bar".
690c0 27 28 22 66 6f 6f 22 20 22 62 61 72 22 20 22 62 61 7a 22 29 29 20 3b 3b 20 3d 3e 20 31 0a 28 2d '("foo"."bar"."baz")).;;.=>.1.(-
690e0 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 35 20 36 29 20 28 31 elem-index.'(1.2).'((3).(5.6).(1
69100 20 32 29 20 6e 69 6c 29 29 20 3b 3b 20 3d 3e 20 32 0a 60 60 60 0a 0a 23 23 23 23 20 2d 65 6c 65 .2).nil)).;;.=>.2.```..####.-ele
69120 6d 2d 69 6e 64 69 63 65 73 20 60 28 65 6c 65 6d 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 m-indices.`(elem.list)`..Return.
69140 74 68 65 20 69 6e 64 69 63 65 73 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 60 the.indices.of.all.elements.in.`
69160 6c 69 73 74 60 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 71 75 65 72 79 0a 65 6c 65 6d 65 6e 74 list`.equal.to.the.query.element
69180 20 60 65 6c 65 6d 60 2c 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 60 60 .`elem`,.in.ascending.order...``
691a0 60 65 6c 0a 28 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 32 20 27 28 36 20 37 20 38 20 32 20 33 `el.(-elem-indices.2.'(6.7.8.2.3
691c0 20 34 20 32 20 31 29 29 20 3b 3b 20 3d 3e 20 28 33 20 36 29 0a 28 2d 65 6c 65 6d 2d 69 6e 64 69 .4.2.1)).;;.=>.(3.6).(-elem-indi
691e0 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 22 29 29 20 ces."bar".'("foo"."bar"."baz")).
69200 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 27 28 31 20 32 29 20 ;;.=>.(1).(-elem-indices.'(1.2).
69220 27 28 28 33 29 20 28 31 20 32 29 20 28 35 20 36 29 20 28 31 20 32 29 20 6e 69 6c 29 29 20 3b 3b '((3).(1.2).(5.6).(1.2).nil)).;;
69240 20 3d 3e 20 28 31 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 69 6e 64 2d 69 6e 64 65 78 20 .=>.(1.3).```..####.-find-index.
69260 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 54 61 6b 65 20 61 20 70 72 65 64 69 63 61 74 65 20 `(pred.list)`..Take.a.predicate.
69280 60 70 72 65 64 60 20 61 6e 64 20 61 20 60 6c 69 73 74 60 20 61 6e 64 20 72 65 74 75 72 6e 20 74 `pred`.and.a.`list`.and.return.t
692a0 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 0a 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e he.index.of.the.first.element.in
692c0 20 74 68 65 20 6c 69 73 74 20 73 61 74 69 73 66 79 69 6e 67 20 74 68 65 20 70 72 65 64 69 63 61 .the.list.satisfying.the.predica
692e0 74 65 2c 20 6f 72 20 6e 69 6c 20 69 66 0a 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 65 te,.or.nil.if.there.is.no.such.e
69300 6c 65 6d 65 6e 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 5b 60 2d 66 69 72 73 74 60 5d 28 23 2d 66 lement...See.also.[`-first`](#-f
69320 69 72 73 74 2d 70 72 65 64 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 69 6e 64 2d 69 irst-pred-list)...```el.(-find-i
69340 6e 64 65 78 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 31 20 36 20 33 20 33 20 35 20 38 29 29 20 ndex.'even?.'(2.4.1.6.3.3.5.8)).
69360 3b 3b 20 3d 3e 20 30 0a 28 2d 2d 66 69 6e 64 2d 69 6e 64 65 78 20 28 3c 20 35 20 69 74 29 20 27 ;;.=>.0.(--find-index.(<.5.it).'
69380 28 32 20 34 20 31 20 36 20 33 20 33 20 35 20 38 29 29 20 3b 3b 20 3d 3e 20 33 0a 28 2d 66 69 6e (2.4.1.6.3.3.5.8)).;;.=>.3.(-fin
693a0 64 2d 69 6e 64 65 78 20 28 2d 70 61 72 74 69 61 6c 20 27 73 74 72 69 6e 67 2d 6c 65 73 73 70 20 d-index.(-partial.'string-lessp.
693c0 22 62 61 7a 22 29 20 27 28 22 62 61 72 22 20 22 66 6f 6f 22 20 22 62 61 7a 22 29 29 20 3b 3b 20 "baz").'("bar"."foo"."baz")).;;.
693e0 3d 3e 20 31 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 =>.1.```..####.-find-last-index.
69400 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 54 61 6b 65 20 61 20 70 72 65 64 69 63 61 74 65 20 `(pred.list)`..Take.a.predicate.
69420 60 70 72 65 64 60 20 61 6e 64 20 61 20 60 6c 69 73 74 60 20 61 6e 64 20 72 65 74 75 72 6e 20 74 `pred`.and.a.`list`.and.return.t
69440 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 0a 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 20 he.index.of.the.last.element.in.
69460 74 68 65 20 6c 69 73 74 20 73 61 74 69 73 66 79 69 6e 67 20 74 68 65 20 70 72 65 64 69 63 61 74 the.list.satisfying.the.predicat
69480 65 2c 20 6f 72 20 6e 69 6c 20 69 66 0a 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 65 6c e,.or.nil.if.there.is.no.such.el
694a0 65 6d 65 6e 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 5b 60 2d 6c 61 73 74 60 5d 28 23 2d 6c 61 73 ement...See.also.[`-last`](#-las
694c0 74 2d 70 72 65 64 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 69 6e 64 2d 6c 61 73 74 t-pred-list)...```el.(-find-last
694e0 2d 69 6e 64 65 78 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 31 20 36 20 33 20 33 20 35 20 38 29 -index.'even?.'(2.4.1.6.3.3.5.8)
69500 29 20 3b 3b 20 3d 3e 20 37 0a 28 2d 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 3c 20 ).;;.=>.7.(--find-last-index.(<.
69520 35 20 69 74 29 20 27 28 32 20 37 20 31 20 36 20 33 20 38 20 35 20 32 29 29 20 3b 3b 20 3d 3e 20 5.it).'(2.7.1.6.3.8.5.2)).;;.=>.
69540 35 0a 28 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 2d 70 61 72 74 69 61 6c 20 27 73 5.(-find-last-index.(-partial.'s
69560 74 72 69 6e 67 2d 6c 65 73 73 70 20 22 62 61 7a 22 29 20 27 28 22 71 22 20 22 66 6f 6f 22 20 22 tring-lessp."baz").'("q"."foo"."
69580 62 61 7a 22 29 29 20 3b 3b 20 3d 3e 20 31 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 69 6e 64 2d 69 baz")).;;.=>.1.```..####.-find-i
695a0 6e 64 69 63 65 73 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 ndices.`(pred.list)`..Return.the
695c0 20 69 6e 64 69 63 65 73 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 60 6c 69 73 .indices.of.all.elements.in.`lis
695e0 74 60 20 73 61 74 69 73 66 79 69 6e 67 20 74 68 65 0a 70 72 65 64 69 63 61 74 65 20 60 70 72 65 t`.satisfying.the.predicate.`pre
69600 64 60 2c 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 60 60 60 65 6c 0a 28 d`,.in.ascending.order...```el.(
69620 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 31 20 36 20 33 -find-indices.'even?.'(2.4.1.6.3
69640 20 33 20 35 20 38 29 29 20 3b 3b 20 3d 3e 20 28 30 20 31 20 33 20 37 29 0a 28 2d 2d 66 69 6e 64 .3.5.8)).;;.=>.(0.1.3.7).(--find
69660 2d 69 6e 64 69 63 65 73 20 28 3c 20 35 20 69 74 29 20 27 28 32 20 34 20 31 20 36 20 33 20 33 20 -indices.(<.5.it).'(2.4.1.6.3.3.
69680 35 20 38 29 29 20 3b 3b 20 3d 3e 20 28 33 20 37 29 0a 28 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 5.8)).;;.=>.(3.7).(-find-indices
696a0 20 28 2d 70 61 72 74 69 61 6c 20 27 73 74 72 69 6e 67 2d 6c 65 73 73 70 20 22 62 61 7a 22 29 20 .(-partial.'string-lessp."baz").
696c0 27 28 22 62 61 72 22 20 22 66 6f 6f 22 20 22 62 61 7a 22 29 29 20 3b 3b 20 3d 3e 20 28 31 29 0a '("bar"."foo"."baz")).;;.=>.(1).
696e0 60 60 60 0a 0a 23 23 23 23 20 2d 67 72 61 64 65 2d 75 70 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 ```..####.-grade-up.`(comparator
69700 20 6c 69 73 74 29 60 0a 0a 47 72 61 64 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 .list)`..Grade.elements.of.`list
69720 60 20 75 73 69 6e 67 20 60 63 6f 6d 70 61 72 61 74 6f 72 60 20 72 65 6c 61 74 69 6f 6e 2e 0a 54 `.using.`comparator`.relation..T
69740 68 69 73 20 79 69 65 6c 64 73 20 61 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 76 65 63 74 6f 72 20 his.yields.a.permutation.vector.
69760 73 75 63 68 20 74 68 61 74 20 61 70 70 6c 79 69 6e 67 20 74 68 69 73 0a 70 65 72 6d 75 74 61 74 such.that.applying.this.permutat
69780 69 6f 6e 20 74 6f 20 60 6c 69 73 74 60 20 73 6f 72 74 73 20 69 74 20 69 6e 20 61 73 63 65 6e 64 ion.to.`list`.sorts.it.in.ascend
697a0 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 60 60 60 65 6c 0a 28 2d 67 72 61 64 65 2d 75 70 20 23 27 3c ing.order...```el.(-grade-up.#'<
697c0 20 27 28 33 20 31 20 34 20 32 20 31 20 33 20 33 29 29 20 3b 3b 20 3d 3e 20 28 31 20 34 20 33 20 .'(3.1.4.2.1.3.3)).;;.=>.(1.4.3.
697e0 30 20 35 20 36 20 32 29 0a 28 6c 65 74 20 28 28 6c 20 27 28 33 20 31 20 34 20 32 20 31 20 33 20 0.5.6.2).(let.((l.'(3.1.4.2.1.3.
69800 33 29 29 29 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 28 2d 67 72 61 64 65 3))).(-select-by-indices.(-grade
69820 2d 75 70 20 23 27 3c 20 6c 29 20 6c 29 29 20 3b 3b 20 3d 3e 20 28 31 20 31 20 32 20 33 20 33 20 -up.#'<.l).l)).;;.=>.(1.1.2.3.3.
69840 33 20 34 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 67 72 61 64 65 2d 64 6f 77 6e 20 60 28 63 6f 6d 3.4).```..####.-grade-down.`(com
69860 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 0a 47 72 61 64 65 20 65 6c 65 6d 65 6e 74 73 20 6f parator.list)`..Grade.elements.o
69880 66 20 60 6c 69 73 74 60 20 75 73 69 6e 67 20 60 63 6f 6d 70 61 72 61 74 6f 72 60 20 72 65 6c 61 f.`list`.using.`comparator`.rela
698a0 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 20 tion..This.yields.a.permutation.
698c0 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 70 vector.such.that.applying.this.p
698e0 65 72 6d 75 74 61 74 69 6f 6e 20 74 6f 20 60 6c 69 73 74 60 20 73 6f 72 74 73 20 69 74 20 69 6e ermutation.to.`list`.sorts.it.in
69900 20 64 65 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 60 60 60 65 6c 0a 28 2d 67 72 61 64 .descending.order...```el.(-grad
69920 65 2d 64 6f 77 6e 20 23 27 3c 20 27 28 33 20 31 20 34 20 32 20 31 20 33 20 33 29 29 20 3b 3b 20 e-down.#'<.'(3.1.4.2.1.3.3)).;;.
69940 3d 3e 20 28 32 20 30 20 35 20 36 20 33 20 31 20 34 29 0a 28 6c 65 74 20 28 28 6c 20 27 28 33 20 =>.(2.0.5.6.3.1.4).(let.((l.'(3.
69960 31 20 34 20 32 20 31 20 33 20 33 29 29 29 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 1.4.2.1.3.3))).(-select-by-indic
69980 65 73 20 28 2d 67 72 61 64 65 2d 64 6f 77 6e 20 23 27 3c 20 6c 29 20 6c 29 29 20 3b 3b 20 3d 3e es.(-grade-down.#'<.l).l)).;;.=>
699a0 20 28 34 20 33 20 33 20 33 20 32 20 31 20 31 29 0a 60 60 60 0a 0a 23 23 20 53 65 74 20 6f 70 65 .(4.3.3.3.2.1.1).```..##.Set.ope
699c0 72 61 74 69 6f 6e 73 0a 0a 4f 70 65 72 61 74 69 6f 6e 73 20 70 72 65 74 65 6e 64 69 6e 67 20 6c rations..Operations.pretending.l
699e0 69 73 74 73 20 61 72 65 20 73 65 74 73 2e 0a 0a 23 23 23 23 20 2d 75 6e 69 6f 6e 20 60 28 6c 69 ists.are.sets...####.-union.`(li
69a00 73 74 20 6c 69 73 74 32 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 63 6f st.list2)`..Return.a.new.list.co
69a20 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 20 ntaining.the.elements.of.`list`.
69a40 61 6e 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 32 60 20 74 68 61 74 20 61 72 65 and.elements.of.`list2`.that.are
69a60 20 6e 6f 74 20 69 6e 20 60 6c 69 73 74 60 2e 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 .not.in.`list`..The.test.for.equ
69a80 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 60 2c 0a 6f 72 20 77 ality.is.done.with.`equal`,.or.w
69aa0 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 60 20 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d ith.`-compare-fn`.if.that's.non-
69ac0 6e 69 6c 2e 0a 0a 60 60 60 65 6c 0a 28 2d 75 6e 69 6f 6e 20 27 28 31 20 32 20 33 29 20 27 28 33 nil...```el.(-union.'(1.2.3).'(3
69ae0 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 29 0a 28 2d 75 6e 69 6f 6e .4.5)).;;.=>.(1.2.3.4.5).(-union
69b00 20 27 28 31 20 32 20 33 20 34 29 20 28 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 29 0a .'(1.2.3.4).()).;;.=>.(1.2.3.4).
69b20 28 2d 75 6e 69 6f 6e 20 27 28 31 20 31 20 32 20 32 29 20 27 28 33 20 32 20 31 29 29 20 3b 3b 20 (-union.'(1.1.2.2).'(3.2.1)).;;.
69b40 3d 3e 20 28 31 20 31 20 32 20 32 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 64 69 66 66 65 72 =>.(1.1.2.2.3).```..####.-differ
69b60 65 6e 63 65 20 60 28 6c 69 73 74 20 6c 69 73 74 32 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 ence.`(list.list2)`..Return.a.ne
69b80 77 20 6c 69 73 74 20 77 69 74 68 20 6f 6e 6c 79 20 74 68 65 20 6d 65 6d 62 65 72 73 20 6f 66 20 w.list.with.only.the.members.of.
69ba0 60 6c 69 73 74 60 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 69 6e 20 60 6c 69 73 74 32 60 2e 0a `list`.that.are.not.in.`list2`..
69bc0 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 77 69 The.test.for.equality.is.done.wi
69be0 74 68 20 60 65 71 75 61 6c 60 2c 0a 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e th.`equal`,.or.with.`-compare-fn
69c00 60 20 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 60 60 60 65 6c 0a 28 2d 64 69 `.if.that's.non-nil...```el.(-di
69c20 66 66 65 72 65 6e 63 65 20 28 29 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 64 69 66 66 65 fference.().()).;;.=>.().(-diffe
69c40 72 65 6e 63 65 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 rence.'(1.2.3).'(4.5.6)).;;.=>.(
69c60 31 20 32 20 33 29 0a 28 2d 64 69 66 66 65 72 65 6e 63 65 20 27 28 31 20 32 20 33 20 34 29 20 27 1.2.3).(-difference.'(1.2.3.4).'
69c80 28 33 20 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 29 0a 60 60 60 0a 0a 23 23 23 23 (3.4.5.6)).;;.=>.(1.2).```..####
69ca0 20 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 60 28 6c 69 73 74 20 6c 69 73 74 32 29 60 0a 0a 52 .-intersection.`(list.list2)`..R
69cc0 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6f 6e 6c 79 eturn.a.new.list.containing.only
69ce0 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 74 68 61 74 20 61 72 65 20 6d 65 6d 62 65 72 73 20 6f .the.elements.that.are.members.o
69d00 66 20 62 6f 74 68 20 60 6c 69 73 74 60 20 61 6e 64 20 60 6c 69 73 74 32 60 2e 0a 54 68 65 20 74 f.both.`list`.and.`list2`..The.t
69d20 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 60 65 est.for.equality.is.done.with.`e
69d40 71 75 61 6c 60 2c 0a 6f 72 20 77 69 74 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 60 20 69 66 20 qual`,.or.with.`-compare-fn`.if.
69d60 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 60 60 60 65 6c 0a 28 2d 69 6e 74 65 72 73 65 that's.non-nil...```el.(-interse
69d80 63 74 69 6f 6e 20 28 29 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 69 6e 74 65 72 73 65 63 ction.().()).;;.=>.().(-intersec
69da0 74 69 6f 6e 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 29 tion.'(1.2.3).'(4.5.6)).;;.=>.()
69dc0 0a 28 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 27 28 31 20 32 20 33 20 34 29 20 27 28 33 20 34 .(-intersection.'(1.2.3.4).'(3.4
69de0 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 33 20 34 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 6f .5.6)).;;.=>.(3.4).```..####.-po
69e00 77 65 72 73 65 74 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 70 6f 77 65 werset.`(list)`..Return.the.powe
69e20 72 20 73 65 74 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 6f 77 65 72 73 r.set.of.`list`...```el.(-powers
69e40 65 74 20 28 29 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 29 0a 28 2d 70 6f 77 65 72 73 65 74 20 27 28 et.()).;;.=>.(nil).(-powerset.'(
69e60 78 20 79 20 7a 29 29 20 3b 3b 20 3d 3e 20 28 28 78 20 79 20 7a 29 20 28 78 20 79 29 20 28 78 20 x.y.z)).;;.=>.((x.y.z).(x.y).(x.
69e80 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 60 60 60 0a 0a 23 z).(x).(y.z).(y).(z).nil).```..#
69ea0 23 23 23 20 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 ###.-permutations.`(list)`..Retu
69ec0 72 6e 20 74 68 65 20 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a rn.the.permutations.of.`list`...
69ee0 60 60 60 65 6c 0a 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 28 29 29 20 3b 3b 20 3d 3e 20 28 ```el.(-permutations.()).;;.=>.(
69f00 6e 69 6c 29 0a 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 27 28 31 20 32 29 29 20 3b 3b 20 3d nil).(-permutations.'(1.2)).;;.=
69f20 3e 20 28 28 31 20 32 29 20 28 32 20 31 29 29 0a 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 27 >.((1.2).(2.1)).(-permutations.'
69f40 28 61 20 62 20 63 29 29 20 3b 3b 20 3d 3e 20 28 28 61 20 62 20 63 29 20 28 61 20 63 20 62 29 20 (a.b.c)).;;.=>.((a.b.c).(a.c.b).
69f60 28 62 20 61 20 63 29 20 28 62 20 63 20 61 29 20 28 63 20 61 20 62 29 20 28 63 20 62 20 61 29 29 (b.a.c).(b.c.a).(c.a.b).(c.b.a))
69f80 0a 60 60 60 0a 0a 23 23 23 23 20 2d 64 69 73 74 69 6e 63 74 20 60 28 6c 69 73 74 29 60 0a 0a 52 .```..####.-distinct.`(list)`..R
69fa0 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 61 6c 6c 20 64 75 70 6c 69 63 eturn.a.new.list.with.all.duplic
69fc0 61 74 65 73 20 72 65 6d 6f 76 65 64 2e 0a 54 68 65 20 74 65 73 74 20 66 6f 72 20 65 71 75 61 6c ates.removed..The.test.for.equal
69fe0 69 74 79 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 60 65 71 75 61 6c 60 2c 0a 6f 72 20 77 69 74 ity.is.done.with.`equal`,.or.wit
6a000 68 20 60 2d 63 6f 6d 70 61 72 65 2d 66 6e 60 20 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 h.`-compare-fn`.if.that's.non-ni
6a020 6c 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 75 6e 69 71 60 0a 0a 60 60 60 65 6c 0a 28 2d 64 69 73 74 l...Alias:.`-uniq`..```el.(-dist
6a040 69 6e 63 74 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 64 69 73 74 69 6e 63 74 20 27 28 31 inct.()).;;.=>.().(-distinct.'(1
6a060 20 32 20 32 20 34 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 34 29 0a 28 2d 64 69 73 74 69 6e 63 .2.2.4)).;;.=>.(1.2.4).(-distinc
6a080 74 20 27 28 74 20 74 20 74 29 29 20 3b 3b 20 3d 3e 20 28 74 29 0a 60 60 60 0a 0a 23 23 20 4f 74 t.'(t.t.t)).;;.=>.(t).```..##.Ot
6a0a0 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 4f 74 68 65 72 20 6c 69 73 74 20 her.list.operations..Other.list.
6a0c0 66 75 6e 63 74 69 6f 6e 73 20 6e 6f 74 20 66 69 74 20 74 6f 20 62 65 20 63 6c 61 73 73 69 66 69 functions.not.fit.to.be.classifi
6a0e0 65 64 20 65 6c 73 65 77 68 65 72 65 2e 0a 0a 23 23 23 23 20 2d 72 6f 74 61 74 65 20 60 28 6e 20 ed.elsewhere...####.-rotate.`(n.
6a100 6c 69 73 74 29 60 0a 0a 52 6f 74 61 74 65 20 60 6c 69 73 74 60 20 60 6e 60 20 70 6c 61 63 65 73 list)`..Rotate.`list`.`n`.places
6a120 20 74 6f 20 74 68 65 20 72 69 67 68 74 20 28 6c 65 66 74 20 69 66 20 60 6e 60 20 69 73 20 6e 65 .to.the.right.(left.if.`n`.is.ne
6a140 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 69 73 20 gative)..The.time.complexity.is.
6a160 4f 28 6e 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 6f 74 61 74 65 20 33 20 27 28 31 20 32 20 33 20 O(n)...```el.(-rotate.3.'(1.2.3.
6a180 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 35 20 36 20 37 20 31 20 32 20 33 20 34 29 0a 4.5.6.7)).;;.=>.(5.6.7.1.2.3.4).
6a1a0 28 2d 72 6f 74 61 74 65 20 2d 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 20 3b 3b (-rotate.-3.'(1.2.3.4.5.6.7)).;;
6a1c0 20 3d 3e 20 28 34 20 35 20 36 20 37 20 31 20 32 20 33 29 0a 28 2d 72 6f 74 61 74 65 20 31 36 20 .=>.(4.5.6.7.1.2.3).(-rotate.16.
6a1e0 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 36 20 37 20 31 20 32 '(1.2.3.4.5.6.7)).;;.=>.(6.7.1.2
6a200 20 33 20 34 20 35 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 65 70 65 61 74 20 60 28 6e 20 78 29 .3.4.5).```..####.-repeat.`(n.x)
6a220 60 0a 0a 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 60 `..Return.a.new.list.of.length.`
6a240 6e 60 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 60 78 60 2e 0a n`.with.each.element.being.`x`..
6a260 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 60 6e 60 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 31 Return.nil.if.`n`.is.less.than.1
6a280 2e 0a 0a 60 60 60 65 6c 0a 28 2d 72 65 70 65 61 74 20 33 20 3a 61 29 20 3b 3b 20 3d 3e 20 28 3a ...```el.(-repeat.3.:a).;;.=>.(:
6a2a0 61 20 3a 61 20 3a 61 29 0a 28 2d 72 65 70 65 61 74 20 31 20 3a 61 29 20 3b 3b 20 3d 3e 20 28 3a a.:a.:a).(-repeat.1.:a).;;.=>.(:
6a2c0 61 29 0a 28 2d 72 65 70 65 61 74 20 30 20 3a 61 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a a).(-repeat.0.:a).;;.=>.nil.```.
6a2e0 0a 23 23 23 23 20 2d 63 6f 6e 73 2a 20 60 28 26 72 65 73 74 20 61 72 67 73 29 60 0a 0a 4d 61 6b .####.-cons*.`(&rest.args)`..Mak
6a300 65 20 61 20 6e 65 77 20 6c 69 73 74 20 66 72 6f 6d 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f e.a.new.list.from.the.elements.o
6a320 66 20 60 61 72 67 73 60 2e 0a 54 68 65 20 6c 61 73 74 20 32 20 65 6c 65 6d 65 6e 74 73 20 6f 66 f.`args`..The.last.2.elements.of
6a340 20 60 61 72 67 73 60 20 61 72 65 20 75 73 65 64 20 61 73 20 74 68 65 20 66 69 6e 61 6c 20 63 6f .`args`.are.used.as.the.final.co
6a360 6e 73 20 6f 66 20 74 68 65 0a 72 65 73 75 6c 74 2c 20 73 6f 20 69 66 20 74 68 65 20 66 69 6e 61 ns.of.the.result,.so.if.the.fina
6a380 6c 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 61 72 67 73 60 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 l.element.of.`args`.is.not.a.lis
6a3a0 74 2c 20 74 68 65 20 72 65 73 75 6c 74 0a 69 73 20 61 20 64 6f 74 74 65 64 20 6c 69 73 74 2e 20 t,.the.result.is.a.dotted.list..
6a3c0 20 57 69 74 68 20 6e 6f 20 60 61 72 67 73 60 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e 0a 0a 60 60 .With.no.`args`,.return.nil...``
6a3e0 60 65 6c 0a 28 2d 63 6f 6e 73 2a 20 31 20 32 29 20 3b 3b 20 3d 3e 20 28 31 20 2e 20 32 29 0a 28 `el.(-cons*.1.2).;;.=>.(1...2).(
6a400 2d 63 6f 6e 73 2a 20 31 20 32 20 33 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 2e 20 33 29 0a 28 2d -cons*.1.2.3).;;.=>.(1.2...3).(-
6a420 63 6f 6e 73 2a 20 31 29 20 3b 3b 20 3d 3e 20 31 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 6e 6f 63 cons*.1).;;.=>.1.```..####.-snoc
6a440 20 60 28 6c 69 73 74 20 65 6c 65 6d 20 26 72 65 73 74 20 65 6c 65 6d 65 6e 74 73 29 60 0a 0a 41 .`(list.elem.&rest.elements)`..A
6a460 70 70 65 6e 64 20 60 65 6c 65 6d 60 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c ppend.`elem`.to.the.end.of.the.l
6a480 69 73 74 2e 0a 0a 54 68 69 73 20 69 73 20 6c 69 6b 65 20 60 63 6f 6e 73 60 2c 20 62 75 74 20 6f ist...This.is.like.`cons`,.but.o
6a4a0 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 49 66 20 perates.on.the.end.of.list...If.
6a4c0 60 65 6c 65 6d 65 6e 74 73 60 20 69 73 20 6e 6f 6e 20 6e 69 6c 2c 20 61 70 70 65 6e 64 20 74 68 `elements`.is.non.nil,.append.th
6a4e0 65 73 65 20 74 6f 20 74 68 65 20 6c 69 73 74 20 61 73 20 77 65 6c 6c 2e 0a 0a 60 60 60 65 6c 0a ese.to.the.list.as.well...```el.
6a500 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 33 29 20 34 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 (-snoc.'(1.2.3).4).;;.=>.(1.2.3.
6a520 34 29 0a 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 33 29 20 34 20 35 20 36 29 20 3b 3b 20 3d 3e 20 4).(-snoc.'(1.2.3).4.5.6).;;.=>.
6a540 28 31 20 32 20 33 20 34 20 35 20 36 29 0a 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 33 29 20 27 28 (1.2.3.4.5.6).(-snoc.'(1.2.3).'(
6a560 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 28 34 20 35 20 36 29 29 0a 60 60 4.5.6)).;;.=>.(1.2.3.(4.5.6)).``
6a580 60 0a 0a 23 23 23 23 20 2d 69 6e 74 65 72 70 6f 73 65 20 60 28 73 65 70 20 6c 69 73 74 29 60 0a `..####.-interpose.`(sep.list)`.
6a5a0 0a 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 6d 65 6e .Return.a.new.list.of.all.elemen
6a5c0 74 73 20 69 6e 20 60 6c 69 73 74 60 20 73 65 70 61 72 61 74 65 64 20 62 79 20 60 73 65 70 60 2e ts.in.`list`.separated.by.`sep`.
6a5e0 0a 0a 60 60 60 65 6c 0a 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 28 29 29 20 3b 3b 20 3d ..```el.(-interpose."-".()).;;.=
6a600 3e 20 28 29 0a 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 27 28 22 61 22 29 29 20 3b 3b 20 >.().(-interpose."-".'("a")).;;.
6a620 3d 3e 20 28 22 61 22 29 0a 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 27 28 22 61 22 20 22 =>.("a").(-interpose."-".'("a"."
6a640 62 22 20 22 63 22 29 29 20 3b 3b 20 3d 3e 20 28 22 61 22 20 22 2d 22 20 22 62 22 20 22 2d 22 20 b"."c")).;;.=>.("a"."-"."b"."-".
6a660 22 63 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 6e 74 65 72 6c 65 61 76 65 20 60 28 26 72 65 "c").```..####.-interleave.`(&re
6a680 73 74 20 6c 69 73 74 73 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 st.lists)`..Return.a.new.list.of
6a6a0 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
6a6c0 65 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 65 74 63 2e 0a 0a 60 60 60 65 6c 0a 28 2d 69 6e 74 65 en.the.second.etc...```el.(-inte
6a6e0 72 6c 65 61 76 65 20 27 28 31 20 32 29 20 27 28 22 61 22 20 22 62 22 29 29 20 3b 3b 20 3d 3e 20 rleave.'(1.2).'("a"."b")).;;.=>.
6a700 28 31 20 22 61 22 20 32 20 22 62 22 29 0a 28 2d 69 6e 74 65 72 6c 65 61 76 65 20 27 28 31 20 32 (1."a".2."b").(-interleave.'(1.2
6a720 29 20 27 28 22 61 22 20 22 62 22 29 20 27 28 22 41 22 20 22 42 22 29 29 20 3b 3b 20 3d 3e 20 28 ).'("a"."b").'("A"."B")).;;.=>.(
6a740 31 20 22 61 22 20 22 41 22 20 32 20 22 62 22 20 22 42 22 29 0a 28 2d 69 6e 74 65 72 6c 65 61 76 1."a"."A".2."b"."B").(-interleav
6a760 65 20 27 28 31 20 32 20 33 29 20 27 28 22 61 22 20 22 62 22 29 29 20 3b 3b 20 3d 3e 20 28 31 20 e.'(1.2.3).'("a"."b")).;;.=>.(1.
6a780 22 61 22 20 32 20 22 62 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 6f 74 61 20 60 28 63 6f 75 "a".2."b").```..####.-iota.`(cou
6a7a0 6e 74 20 26 6f 70 74 69 6f 6e 61 6c 20 73 74 61 72 74 20 73 74 65 70 29 60 0a 0a 52 65 74 75 72 nt.&optional.start.step)`..Retur
6a7c0 6e 20 61 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 60 63 6f 75 6e 74 60 20 6e 75 6d 62 n.a.list.containing.`count`.numb
6a7e0 65 72 73 2e 0a 53 74 61 72 74 73 20 66 72 6f 6d 20 60 73 74 61 72 74 60 20 61 6e 64 20 61 64 64 ers..Starts.from.`start`.and.add
6a800 73 20 60 73 74 65 70 60 20 65 61 63 68 20 74 69 6d 65 2e 20 20 54 68 65 20 64 65 66 61 75 6c 74 s.`step`.each.time...The.default
6a820 20 60 73 74 61 72 74 60 20 69 73 0a 7a 65 72 6f 2c 20 74 68 65 20 64 65 66 61 75 6c 74 20 60 73 .`start`.is.zero,.the.default.`s
6a840 74 65 70 60 20 69 73 20 31 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 69 tep`.is.1..This.function.takes.i
6a860 74 73 20 6e 61 6d 65 20 66 72 6f 6d 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 70 ts.name.from.the.corresponding.p
6a880 72 69 6d 69 74 69 76 65 20 69 6e 0a 74 68 65 20 60 61 70 6c 60 20 6c 61 6e 67 75 61 67 65 2e 0a rimitive.in.the.`apl`.language..
6a8a0 0a 60 60 60 65 6c 0a 28 2d 69 6f 74 61 20 36 29 20 3b 3b 20 3d 3e 20 28 30 20 31 20 32 20 33 20 .```el.(-iota.6).;;.=>.(0.1.2.3.
6a8c0 34 20 35 29 0a 28 2d 69 6f 74 61 20 34 20 32 2e 35 20 2d 32 29 20 3b 3b 20 3d 3e 20 28 32 2e 35 4.5).(-iota.4.2.5.-2).;;.=>.(2.5
6a8e0 20 30 2e 35 20 2d 31 2e 35 20 2d 33 2e 35 29 0a 28 2d 69 6f 74 61 20 2d 31 29 20 3b 3b 20 57 72 .0.5.-1.5.-3.5).(-iota.-1).;;.Wr
6a900 6f 6e 67 20 74 79 70 65 20 61 72 67 75 6d 65 6e 74 3a 20 6e 61 74 6e 75 6d 70 2c 20 2d 31 0a 60 ong.type.argument:.natnump,.-1.`
6a920 60 60 0a 0a 23 23 23 23 20 2d 7a 69 70 2d 77 69 74 68 20 60 28 66 6e 20 6c 69 73 74 31 20 6c 69 ``..####.-zip-with.`(fn.list1.li
6a940 73 74 32 29 60 0a 0a 5a 69 70 20 74 68 65 20 74 77 6f 20 6c 69 73 74 73 20 60 6c 69 73 74 31 60 st2)`..Zip.the.two.lists.`list1`
6a960 20 61 6e 64 20 60 6c 69 73 74 32 60 20 75 73 69 6e 67 20 61 20 66 75 6e 63 74 69 6f 6e 20 60 66 .and.`list2`.using.a.function.`f
6a980 6e 60 2e 20 20 54 68 69 73 0a 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 70 70 6c 69 65 64 20 70 61 n`...This.function.is.applied.pa
6a9a0 69 72 77 69 73 65 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 irwise.taking.as.first.argument.
6a9c0 65 6c 65 6d 65 6e 74 20 6f 66 0a 60 6c 69 73 74 31 60 20 61 6e 64 20 61 73 20 73 65 63 6f 6e 64 element.of.`list1`.and.as.second
6a9e0 20 61 72 67 75 6d 65 6e 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 6c 69 73 74 32 60 20 61 74 20 .argument.element.of.`list2`.at.
6aa00 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 70 6f 73 69 74 69 6f 6e 2e 0a 0a 54 68 65 20 61 6e 61 corresponding.position...The.ana
6aa20 70 68 6f 72 69 63 20 66 6f 72 6d 20 60 2d 2d 7a 69 70 2d 77 69 74 68 60 20 62 69 6e 64 73 20 74 phoric.form.`--zip-with`.binds.t
6aa40 68 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 60 6c 69 73 74 31 60 20 61 73 20 73 79 6d 62 he.elements.from.`list1`.as.symb
6aa60 6f 6c 20 60 69 74 60 2c 0a 61 6e 64 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 60 ol.`it`,.and.the.elements.from.`
6aa80 6c 69 73 74 32 60 20 61 73 20 73 79 6d 62 6f 6c 20 60 6f 74 68 65 72 60 2e 0a 0a 60 60 60 65 6c list2`.as.symbol.`other`...```el
6aaa0 0a 28 2d 7a 69 70 2d 77 69 74 68 20 27 2b 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 .(-zip-with.'+.'(1.2.3).'(4.5.6)
6aac0 29 20 3b 3b 20 3d 3e 20 28 35 20 37 20 39 29 0a 28 2d 7a 69 70 2d 77 69 74 68 20 27 63 6f 6e 73 ).;;.=>.(5.7.9).(-zip-with.'cons
6aae0 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 2e 20 .'(1.2.3).'(4.5.6)).;;.=>.((1...
6ab00 34 29 20 28 32 20 2e 20 35 29 20 28 33 20 2e 20 36 29 29 0a 28 2d 2d 7a 69 70 2d 77 69 74 68 20 4).(2...5).(3...6)).(--zip-with.
6ab20 28 63 6f 6e 63 61 74 20 69 74 20 22 20 61 6e 64 20 22 20 6f 74 68 65 72 29 20 27 28 22 42 61 74 (concat.it.".and.".other).'("Bat
6ab40 6d 61 6e 22 20 22 4a 65 6b 79 6c 6c 22 29 20 27 28 22 52 6f 62 69 6e 22 20 22 48 79 64 65 22 29 man"."Jekyll").'("Robin"."Hyde")
6ab60 29 20 3b 3b 20 3d 3e 20 28 22 42 61 74 6d 61 6e 20 61 6e 64 20 52 6f 62 69 6e 22 20 22 4a 65 6b ).;;.=>.("Batman.and.Robin"."Jek
6ab80 79 6c 6c 20 61 6e 64 20 48 79 64 65 22 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 7a 69 70 20 60 28 yll.and.Hyde").```..####.-zip.`(
6aba0 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 5a 69 70 20 60 6c 69 73 74 73 60 20 74 6f 67 65 74 &rest.lists)`..Zip.`lists`.toget
6abc0 68 65 72 2e 20 20 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 73 her...Group.the.head.of.each.lis
6abe0 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 0a 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e t,.followed.by.the.second.elemen
6ac00 74 73 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 54 68 65 20 ts.of.each.list,.and.so.on..The.
6ac20 6c 65 6e 67 74 68 73 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 0a 67 72 6f 75 70 69 6e 67 lengths.of.the.returned.grouping
6ac40 73 20 61 72 65 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 s.are.equal.to.the.length.of.the
6ac60 20 73 68 6f 72 74 65 73 74 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 49 66 20 74 77 6f 20 6c 69 .shortest.input.list...If.two.li
6ac80 73 74 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 20 61 73 20 61 72 67 75 6d 65 6e 74 73 2c 20 72 sts.are.provided.as.arguments,.r
6aca0 65 74 75 72 6e 20 74 68 65 20 67 72 6f 75 70 69 6e 67 73 20 61 73 20 61 20 6c 69 73 74 0a 6f 66 eturn.the.groupings.as.a.list.of
6acc0 20 63 6f 6e 73 20 63 65 6c 6c 73 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 20 74 .cons.cells..Otherwise,.return.t
6ace0 68 65 20 67 72 6f 75 70 69 6e 67 73 20 61 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 2e he.groupings.as.a.list.of.lists.
6ad00 0a 0a 55 73 65 20 5b 60 2d 7a 69 70 2d 6c 69 73 74 73 60 5d 28 23 2d 7a 69 70 2d 6c 69 73 74 73 ..Use.[`-zip-lists`](#-zip-lists
6ad20 2d 72 65 73 74 2d 6c 69 73 74 73 29 20 69 66 20 79 6f 75 20 6e 65 65 64 20 74 68 65 20 72 65 74 -rest-lists).if.you.need.the.ret
6ad40 75 72 6e 20 76 61 6c 75 65 20 74 6f 20 61 6c 77 61 79 73 20 62 65 20 61 20 6c 69 73 74 0a 6f 66 urn.value.to.always.be.a.list.of
6ad60 20 6c 69 73 74 73 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 7a 69 70 2d 70 61 69 72 60 0a 0a 53 65 65 .lists...Alias:.`-zip-pair`..See
6ad80 20 61 6c 73 6f 3a 20 5b 60 2d 7a 69 70 2d 6c 69 73 74 73 60 5d 28 23 2d 7a 69 70 2d 6c 69 73 74 .also:.[`-zip-lists`](#-zip-list
6ada0 73 2d 72 65 73 74 2d 6c 69 73 74 73 29 0a 0a 60 60 60 65 6c 0a 28 2d 7a 69 70 20 27 28 31 20 32 s-rest-lists)..```el.(-zip.'(1.2
6adc0 20 33 29 20 27 28 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 2e 20 34 29 20 28 32 20 .3).'(4.5.6)).;;.=>.((1...4).(2.
6ade0 2e 20 35 29 20 28 33 20 2e 20 36 29 29 0a 28 2d 7a 69 70 20 27 28 31 20 32 20 33 29 20 27 28 34 ..5).(3...6)).(-zip.'(1.2.3).'(4
6ae00 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 2e 20 34 29 20 28 32 20 2e 20 35 29 20 .5.6.7)).;;.=>.((1...4).(2...5).
6ae20 28 33 20 2e 20 36 29 29 0a 28 2d 7a 69 70 20 27 28 31 20 32 29 20 27 28 33 20 34 20 35 29 20 27 (3...6)).(-zip.'(1.2).'(3.4.5).'
6ae40 28 36 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 33 20 36 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d (6)).;;.=>.((1.3.6)).```..####.-
6ae60 7a 69 70 2d 6c 69 73 74 73 20 60 28 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 5a 69 70 20 60 zip-lists.`(&rest.lists)`..Zip.`
6ae80 6c 69 73 74 73 60 20 74 6f 67 65 74 68 65 72 2e 20 20 47 72 6f 75 70 20 74 68 65 20 68 65 61 64 lists`.together...Group.the.head
6aea0 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 79 20 74 68 65 0a 73 .of.each.list,.followed.by.the.s
6aec0 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 65 61 63 68 20 6c 69 73 74 2c 20 61 6e 64 econd.elements.of.each.list,.and
6aee0 20 73 6f 20 6f 6e 2e 20 54 68 65 20 6c 65 6e 67 74 68 73 20 6f 66 20 74 68 65 20 72 65 74 75 72 .so.on..The.lengths.of.the.retur
6af00 6e 65 64 0a 67 72 6f 75 70 69 6e 67 73 20 61 72 65 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c ned.groupings.are.equal.to.the.l
6af20 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 69 6e 70 75 74 20 6c 69 73 74 ength.of.the.shortest.input.list
6af40 2e 0a 0a 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 6c 69 ...The.return.value.is.always.li
6af60 73 74 20 6f 66 20 6c 69 73 74 73 2c 20 77 68 69 63 68 20 69 73 20 61 20 64 69 66 66 65 72 65 6e st.of.lists,.which.is.a.differen
6af80 63 65 0a 66 72 6f 6d 20 60 2d 7a 69 70 2d 70 61 69 72 60 20 77 68 69 63 68 20 72 65 74 75 72 6e ce.from.`-zip-pair`.which.return
6afa0 73 20 61 20 63 6f 6e 73 2d 63 65 6c 6c 20 69 6e 20 63 61 73 65 20 74 77 6f 20 69 6e 70 75 74 0a s.a.cons-cell.in.case.two.input.
6afc0 6c 69 73 74 73 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 5b lists.are.provided...See.also:.[
6afe0 60 2d 7a 69 70 60 5d 28 23 2d 7a 69 70 2d 72 65 73 74 2d 6c 69 73 74 73 29 0a 0a 60 60 60 65 6c `-zip`](#-zip-rest-lists)..```el
6b000 0a 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 29 29 20 .(-zip-lists.'(1.2.3).'(4.5.6)).
6b020 3b 3b 20 3d 3e 20 28 28 31 20 34 29 20 28 32 20 35 29 20 28 33 20 36 29 29 0a 28 2d 7a 69 70 2d ;;.=>.((1.4).(2.5).(3.6)).(-zip-
6b040 6c 69 73 74 73 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 20 37 29 29 20 3b 3b 20 3d 3e lists.'(1.2.3).'(4.5.6.7)).;;.=>
6b060 20 28 28 31 20 34 29 20 28 32 20 35 29 20 28 33 20 36 29 29 0a 28 2d 7a 69 70 2d 6c 69 73 74 73 .((1.4).(2.5).(3.6)).(-zip-lists
6b080 20 27 28 31 20 32 29 20 27 28 33 20 34 20 35 29 20 27 28 36 29 29 20 3b 3b 20 3d 3e 20 28 28 31 .'(1.2).'(3.4.5).'(6)).;;.=>.((1
6b0a0 20 33 20 36 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 7a 69 70 2d 66 69 6c 6c 20 60 28 66 69 6c .3.6)).```..####.-zip-fill.`(fil
6b0c0 6c 2d 76 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 5a 69 70 20 60 6c 69 73 74 l-value.&rest.lists)`..Zip.`list
6b0e0 73 60 2c 20 77 69 74 68 20 60 66 69 6c 6c 2d 76 61 6c 75 65 60 20 70 61 64 64 65 64 20 6f 6e 74 s`,.with.`fill-value`.padded.ont
6b100 6f 20 74 68 65 20 73 68 6f 72 74 65 72 20 6c 69 73 74 73 2e 20 54 68 65 0a 6c 65 6e 67 74 68 73 o.the.shorter.lists..The.lengths
6b120 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 69 6e 67 73 20 61 72 65 20 65 .of.the.returned.groupings.are.e
6b140 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 0a 6c 6f 6e 67 65 73 qual.to.the.length.of.the.longes
6b160 74 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 60 60 60 65 6c 0a 28 2d 7a 69 70 2d 66 69 6c 6c 20 t.input.list...```el.(-zip-fill.
6b180 30 20 27 28 31 20 32 20 33 20 34 20 35 29 20 27 28 36 20 37 20 38 20 39 29 29 20 3b 3b 20 3d 3e 0.'(1.2.3.4.5).'(6.7.8.9)).;;.=>
6b1a0 20 28 28 31 20 2e 20 36 29 20 28 32 20 2e 20 37 29 20 28 33 20 2e 20 38 29 20 28 34 20 2e 20 39 .((1...6).(2...7).(3...8).(4...9
6b1c0 29 20 28 35 20 2e 20 30 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 75 6e 7a 69 70 20 60 28 6c 69 ).(5...0)).```..####.-unzip.`(li
6b1e0 73 74 73 29 60 0a 0a 55 6e 7a 69 70 20 60 6c 69 73 74 73 60 2e 0a 0a 54 68 69 73 20 77 6f 72 6b sts)`..Unzip.`lists`...This.work
6b200 73 20 6a 75 73 74 20 6c 69 6b 65 20 5b 60 2d 7a 69 70 60 5d 28 23 2d 7a 69 70 2d 72 65 73 74 2d s.just.like.[`-zip`](#-zip-rest-
6b220 6c 69 73 74 73 29 20 62 75 74 20 74 61 6b 65 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 lists).but.takes.a.list.of.lists
6b240 20 69 6e 73 74 65 61 64 20 6f 66 0a 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 .instead.of.a.variable.number.of
6b260 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 20 20 28 2d 75 6e 7a .arguments,.such.that......(-unz
6b280 69 70 20 28 2d 7a 69 70 20 60 6c 31 60 20 60 6c 32 60 20 60 6c 33 60 20 2e 2e 2e 29 29 0a 0a 69 ip.(-zip.`l1`.`l2`.`l3`....))..i
6b2a0 73 20 69 64 65 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 s.identity.(given.that.the.lists
6b2c0 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 29 2e 0a 0a 4e 6f 74 65 20 69 6e 20 .are.the.same.length)...Note.in.
6b2e0 70 61 72 74 69 63 75 6c 61 72 20 74 68 61 74 20 63 61 6c 6c 69 6e 67 20 74 68 69 73 20 6f 6e 20 particular.that.calling.this.on.
6b300 61 20 6c 69 73 74 20 6f 66 20 74 77 6f 20 6c 69 73 74 73 20 77 69 6c 6c 0a 72 65 74 75 72 6e 20 a.list.of.two.lists.will.return.
6b320 61 20 6c 69 73 74 20 6f 66 20 63 6f 6e 73 2d 63 65 6c 6c 73 20 73 75 63 68 20 74 68 61 74 20 74 a.list.of.cons-cells.such.that.t
6b340 68 65 20 61 62 6f 76 65 20 69 64 65 6e 74 69 74 79 20 77 6f 72 6b 73 2e 0a 0a 53 65 65 20 61 6c he.above.identity.works...See.al
6b360 73 6f 3a 20 5b 60 2d 7a 69 70 60 5d 28 23 2d 7a 69 70 2d 72 65 73 74 2d 6c 69 73 74 73 29 0a 0a so:.[`-zip`](#-zip-rest-lists)..
6b380 60 60 60 65 6c 0a 28 2d 75 6e 7a 69 70 20 28 2d 7a 69 70 20 27 28 31 20 32 20 33 29 20 27 28 61 ```el.(-unzip.(-zip.'(1.2.3).'(a
6b3a0 20 62 20 63 29 20 27 28 22 65 22 20 22 66 22 20 22 67 22 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 .b.c).'("e"."f"."g"))).;;.=>.((1
6b3c0 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 22 65 22 20 22 66 22 20 22 67 22 29 29 0a 28 2d 75 .2.3).(a.b.c).("e"."f"."g")).(-u
6b3e0 6e 7a 69 70 20 27 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 20 28 37 20 38 29 20 28 nzip.'((1.2).(3.4).(5.6).(7.8).(
6b400 39 20 31 30 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 33 20 35 20 37 20 39 29 20 28 32 20 34 20 9.10))).;;.=>.((1.3.5.7.9).(2.4.
6b420 36 20 38 20 31 30 29 29 0a 28 2d 75 6e 7a 69 70 20 27 28 28 31 20 32 29 20 28 33 20 34 29 29 29 6.8.10)).(-unzip.'((1.2).(3.4)))
6b440 20 3b 3b 20 3d 3e 20 28 28 31 20 2e 20 33 29 20 28 32 20 2e 20 34 29 29 0a 60 60 60 0a 0a 23 23 .;;.=>.((1...3).(2...4)).```..##
6b460 23 23 20 2d 63 79 63 6c 65 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 6e 20 69 6e ##.-cycle.`(list)`..Return.an.in
6b480 66 69 6e 69 74 65 20 63 69 72 63 75 6c 61 72 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 2e 0a finite.circular.copy.of.`list`..
6b4a0 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 68 72 6f 75 67 68 The.returned.list.cycles.through
6b4c0 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 6c 69 73 74 60 20 61 6e 64 20 72 65 70 65 .the.elements.of.`list`.and.repe
6b4e0 61 74 73 0a 66 72 6f 6d 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 2e 0a 0a 60 60 60 65 6c 0a 28 ats.from.the.beginning...```el.(
6b500 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 20 3b 3b 20 3d 3e -take.5.(-cycle.'(1.2.3))).;;.=>
6b520 20 28 31 20 32 20 33 20 31 20 32 29 0a 28 2d 74 61 6b 65 20 37 20 28 2d 63 79 63 6c 65 20 27 28 .(1.2.3.1.2).(-take.7.(-cycle.'(
6b540 31 20 22 61 6e 64 22 20 33 29 29 29 20 3b 3b 20 3d 3e 20 28 31 20 22 61 6e 64 22 20 33 20 31 20 1."and".3))).;;.=>.(1."and".3.1.
6b560 22 61 6e 64 22 20 33 20 31 29 0a 28 2d 7a 69 70 20 28 2d 63 79 63 6c 65 20 27 28 31 20 32 20 33 "and".3.1).(-zip.(-cycle.'(1.2.3
6b580 29 29 20 27 28 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 2e 20 31 29 20 28 32 20 2e 20 32 )).'(1.2)).;;.=>.((1...1).(2...2
6b5a0 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 61 64 20 60 28 66 69 6c 6c 2d 76 61 6c 75 65 20 26 )).```..####.-pad.`(fill-value.&
6b5c0 72 65 73 74 20 6c 69 73 74 73 29 60 0a 0a 41 70 70 65 6e 64 73 20 60 66 69 6c 6c 2d 76 61 6c 75 rest.lists)`..Appends.`fill-valu
6b5e0 65 60 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 65 61 63 68 20 6c 69 73 74 20 69 6e 20 60 6c e`.to.the.end.of.each.list.in.`l
6b600 69 73 74 73 60 20 73 75 63 68 20 74 68 61 74 20 74 68 65 79 0a 77 69 6c 6c 20 61 6c 6c 20 68 61 ists`.such.that.they.will.all.ha
6b620 76 65 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 60 60 60 65 6c 0a 28 2d 70 61 64 ve.the.same.length...```el.(-pad
6b640 20 30 20 28 29 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 29 0a 28 2d 70 61 64 20 30 20 27 28 31 29 29 .0.()).;;.=>.(nil).(-pad.0.'(1))
6b660 20 3b 3b 20 3d 3e 20 28 28 31 29 29 0a 28 2d 70 61 64 20 30 20 27 28 31 20 32 20 33 29 20 27 28 .;;.=>.((1)).(-pad.0.'(1.2.3).'(
6b680 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 20 28 34 20 35 20 30 29 29 0a 60 60 4.5)).;;.=>.((1.2.3).(4.5.0)).``
6b6a0 60 0a 0a 23 23 23 23 20 2d 74 61 62 6c 65 20 60 28 66 6e 20 26 72 65 73 74 20 6c 69 73 74 73 29 `..####.-table.`(fn.&rest.lists)
6b6c0 60 0a 0a 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 60 6c 69 73 `..Compute.outer.product.of.`lis
6b6e0 74 73 60 20 75 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 60 66 6e 60 2e 0a 0a 54 68 65 20 66 75 ts`.using.function.`fn`...The.fu
6b700 6e 63 74 69 6f 6e 20 60 66 6e 60 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 nction.`fn`.should.have.the.same
6b720 20 61 72 69 74 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 .arity.as.the.number.of.supplied
6b740 20 6c 69 73 74 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 .lists...The.outer.product.is.co
6b760 6d 70 75 74 65 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 mputed.by.applying.fn.to.all.pos
6b780 73 69 62 6c 65 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 sible.combinations.created.by.ta
6b7a0 6b 69 6e 67 20 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 king.one.element.from.each.list.
6b7c0 69 6e 0a 6f 72 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 in.order...The.dimension.of.the.
6b7e0 72 65 73 75 6c 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 result.is.(length.lists)...See.a
6b800 6c 73 6f 3a 20 5b 60 2d 74 61 62 6c 65 2d 66 6c 61 74 60 5d 28 23 2d 74 61 62 6c 65 2d 66 6c 61 lso:.[`-table-flat`](#-table-fla
6b820 74 2d 66 6e 2d 72 65 73 74 2d 6c 69 73 74 73 29 0a 0a 60 60 60 65 6c 0a 28 2d 74 61 62 6c 65 20 t-fn-rest-lists)..```el.(-table.
6b840 27 2a 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 '*.'(1.2.3).'(1.2.3)).;;.=>.((1.
6b860 32 20 33 29 20 28 32 20 34 20 36 29 20 28 33 20 36 20 39 29 29 0a 28 2d 74 61 62 6c 65 20 28 6c 2.3).(2.4.6).(3.6.9)).(-table.(l
6b880 61 6d 62 64 61 20 28 61 20 62 29 20 28 2d 73 75 6d 20 28 2d 7a 69 70 2d 77 69 74 68 20 27 2a 20 ambda.(a.b).(-sum.(-zip-with.'*.
6b8a0 61 20 62 29 29 29 20 27 28 28 31 20 32 29 20 28 33 20 34 29 29 20 27 28 28 31 20 33 29 20 28 32 a.b))).'((1.2).(3.4)).'((1.3).(2
6b8c0 20 34 29 29 29 20 3b 3b 20 3d 3e 20 28 28 37 20 31 35 29 20 28 31 30 20 32 32 29 29 0a 28 61 70 .4))).;;.=>.((7.15).(10.22)).(ap
6b8e0 70 6c 79 20 27 2d 74 61 62 6c 65 20 27 6c 69 73 74 20 28 2d 72 65 70 65 61 74 20 33 20 27 28 31 ply.'-table.'list.(-repeat.3.'(1
6b900 20 32 29 29 29 20 3b 3b 20 3d 3e 20 28 28 28 28 31 20 31 20 31 29 20 28 32 20 31 20 31 29 29 20 .2))).;;.=>.((((1.1.1).(2.1.1)).
6b920 28 28 31 20 32 20 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 ((1.2.1).(2.2.1))).(((1.1.2).(2.
6b940 31 20 32 29 29 20 28 28 31 20 32 20 32 29 20 28 32 20 32 20 32 29 29 29 29 0a 60 60 60 0a 0a 23 1.2)).((1.2.2).(2.2.2)))).```..#
6b960 23 23 23 20 2d 74 61 62 6c 65 2d 66 6c 61 74 20 60 28 66 6e 20 26 72 65 73 74 20 6c 69 73 74 73 ###.-table-flat.`(fn.&rest.lists
6b980 29 60 0a 0a 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 6f )`..Compute.flat.outer.product.o
6b9a0 66 20 60 6c 69 73 74 73 60 20 75 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 60 66 6e 60 2e 0a 0a f.`lists`.using.function.`fn`...
6b9c0 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 66 6e 60 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 The.function.`fn`.should.have.th
6b9e0 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 73 75 e.same.arity.as.the.number.of.su
6ba00 70 70 6c 69 65 64 20 6c 69 73 74 73 2e 0a 0a 54 68 65 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 pplied.lists...The.outer.product
6ba20 20 69 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 61 70 70 6c 79 69 6e 67 20 66 6e 20 74 6f 20 61 .is.computed.by.applying.fn.to.a
6ba40 6c 6c 20 70 6f 73 73 69 62 6c 65 0a 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 63 72 65 61 74 65 64 ll.possible.combinations.created
6ba60 20 62 79 20 74 61 6b 69 6e 67 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 65 61 63 68 .by.taking.one.element.from.each
6ba80 20 6c 69 73 74 20 69 6e 0a 6f 72 64 65 72 2e 20 20 54 68 65 20 72 65 73 75 6c 74 73 20 61 72 65 .list.in.order...The.results.are
6baa0 20 66 6c 61 74 74 65 6e 65 64 2c 20 69 67 6e 6f 72 69 6e 67 20 74 68 65 20 74 65 6e 73 6f 72 20 .flattened,.ignoring.the.tensor.
6bac0 73 74 72 75 63 74 75 72 65 0a 6f 66 20 74 68 65 20 72 65 73 75 6c 74 2e 20 20 54 68 69 73 20 69 structure.of.the.result...This.i
6bae0 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 63 61 6c 6c 69 6e 67 3a 0a 0a 20 20 20 20 28 2d s.equivalent.to.calling:......(-
6bb00 66 6c 61 74 74 65 6e 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 flatten-n.(1-.(length.lists)).(a
6bb20 70 70 6c 79 20 27 2d 74 61 62 6c 65 20 66 6e 20 6c 69 73 74 73 29 29 0a 0a 62 75 74 20 74 68 65 pply.'-table.fn.lists))..but.the
6bb40 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
6bb60 65 20 65 66 66 69 63 69 65 6e 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 66 6c 61 74 74 e.efficient...See.also:.[`-flatt
6bb80 65 6e 2d 6e 60 5d 28 23 2d 66 6c 61 74 74 65 6e 2d 6e 2d 6e 75 6d 2d 6c 69 73 74 29 2c 20 5b 60 en-n`](#-flatten-n-num-list),.[`
6bba0 2d 74 61 62 6c 65 60 5d 28 23 2d 74 61 62 6c 65 2d 66 6e 2d 72 65 73 74 2d 6c 69 73 74 73 29 0a -table`](#-table-fn-rest-lists).
6bbc0 0a 60 60 60 65 6c 0a 28 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 6c 69 73 74 20 27 28 31 20 32 20 .```el.(-table-flat.'list.'(1.2.
6bbe0 33 29 20 27 28 61 20 62 20 63 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 61 29 20 28 32 20 61 29 20 3).'(a.b.c)).;;.=>.((1.a).(2.a).
6bc00 28 33 20 61 29 20 28 31 20 62 29 20 28 32 20 62 29 20 28 33 20 62 29 20 28 31 20 63 29 20 28 32 (3.a).(1.b).(2.b).(3.b).(1.c).(2
6bc20 20 63 29 20 28 33 20 63 29 29 0a 28 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 2a 20 27 28 31 20 32 .c).(3.c)).(-table-flat.'*.'(1.2
6bc40 20 33 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 32 20 34 20 36 .3).'(1.2.3)).;;.=>.(1.2.3.2.4.6
6bc60 20 33 20 36 20 39 29 0a 28 61 70 70 6c 79 20 27 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 6c 69 73 .3.6.9).(apply.'-table-flat.'lis
6bc80 74 20 28 2d 72 65 70 65 61 74 20 33 20 27 28 31 20 32 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 t.(-repeat.3.'(1.2))).;;.=>.((1.
6bca0 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 28 31 20 1.1).(2.1.1).(1.2.1).(2.2.1).(1.
6bcc0 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 0a 60 60 1.2).(2.1.2).(1.2.2).(2.2.2)).``
6bce0 60 0a 0a 23 23 23 23 20 2d 66 69 72 73 74 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 0a 52 65 `..####.-first.`(pred.list)`..Re
6bd00 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 60 6c 69 73 74 60 20 66 6f turn.the.first.item.in.`list`.fo
6bd20 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a r.which.`pred`.returns.non-nil..
6bd40 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 6e 6f 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 20 69 73 Return.nil.if.no.such.element.is
6bd60 20 66 6f 75 6e 64 2e 0a 54 6f 20 67 65 74 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e .found..To.get.the.first.item.in
6bd80 20 74 68 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 .the.list.no.questions.asked,.us
6bda0 65 20 60 63 61 72 60 2e 0a 0a 41 6c 69 61 73 3a 20 60 2d 66 69 6e 64 60 2e 0a 0a 54 68 69 73 20 e.`car`...Alias:.`-find`...This.
6bdc0 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
6bde0 20 69 73 20 60 2d 2d 66 69 72 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 69 72 73 74 20 23 27 .is.`--first`...```el.(-first.#'
6be00 6e 61 74 6e 75 6d 70 20 27 28 2d 31 20 30 20 31 29 29 20 3b 3b 20 3d 3e 20 30 0a 28 2d 66 69 72 natnump.'(-1.0.1)).;;.=>.0.(-fir
6be20 73 74 20 23 27 6e 75 6c 6c 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d st.#'null.'(1.2.3)).;;.=>.nil.(-
6be40 2d 66 69 72 73 74 20 28 3e 20 69 74 20 32 29 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 -first.(>.it.2).'(1.2.3)).;;.=>.
6be60 33 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6c 61 73 74 20 60 28 70 72 65 64 20 6c 69 73 74 29 60 0a 3.```..####.-last.`(pred.list)`.
6be80 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 78 20 69 6e 20 60 6c 69 73 74 60 20 77 68 65 .Return.the.last.x.in.`list`.whe
6bea0 72 65 20 28 60 70 72 65 64 60 20 78 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 65 6c 73 65 20 6e re.(`pred`.x).is.non-nil,.else.n
6bec0 69 6c 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6c 61 73 74 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 il...```el.(-last.'even?.'(1.2.3
6bee0 20 34 20 35 20 36 20 33 20 33 20 33 29 29 20 3b 3b 20 3d 3e 20 36 0a 28 2d 6c 61 73 74 20 27 65 .4.5.6.3.3.3)).;;.=>.6.(-last.'e
6bf00 76 65 6e 3f 20 27 28 31 20 33 20 37 20 35 20 39 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 2d ven?.'(1.3.7.5.9)).;;.=>.nil.(--
6bf20 6c 61 73 74 20 28 3e 20 28 6c 65 6e 67 74 68 20 69 74 29 20 33 29 20 27 28 22 61 22 20 22 6c 6f last.(>.(length.it).3).'("a"."lo
6bf40 6f 6f 6e 67 22 20 22 77 6f 72 64 22 20 22 61 6e 64 22 20 22 73 68 6f 72 74 22 20 22 6f 6e 65 22 oong"."word"."and"."short"."one"
6bf60 29 29 20 3b 3b 20 3d 3e 20 22 73 68 6f 72 74 22 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 69 72 73 )).;;.=>."short".```..####.-firs
6bf80 74 2d 69 74 65 6d 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 t-item.`(list)`..Return.the.firs
6bfa0 74 20 69 74 65 6d 20 6f 66 20 60 6c 69 73 74 60 2c 20 6f 72 20 6e 69 6c 20 6f 6e 20 61 6e 20 65 t.item.of.`list`,.or.nil.on.an.e
6bfc0 6d 70 74 79 20 6c 69 73 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 73 65 63 6f 6e 64 2d mpty.list...See.also:.[`-second-
6bfe0 69 74 65 6d 60 5d 28 23 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 2d 6c 69 73 74 29 2c 20 5b 60 2d 6c item`](#-second-item-list),.[`-l
6c000 61 73 74 2d 69 74 65 6d 60 5d 28 23 2d 6c 61 73 74 2d 69 74 65 6d 2d 6c 69 73 74 29 2e 0a 0a 60 ast-item`](#-last-item-list)...`
6c020 60 60 65 6c 0a 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d ``el.(-first-item.'(1.2.3)).;;.=
6c040 3e 20 31 0a 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a >.1.(-first-item.nil).;;.=>.nil.
6c060 28 6c 65 74 20 28 28 6c 69 73 74 20 28 6c 69 73 74 20 31 20 32 20 33 29 29 29 20 28 73 65 74 66 (let.((list.(list.1.2.3))).(setf
6c080 20 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 6c 69 73 74 29 20 35 29 20 6c 69 73 74 29 20 3b 3b 20 .(-first-item.list).5).list).;;.
6c0a0 3d 3e 20 28 35 20 32 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 65 63 6f 6e 64 2d 69 74 65 =>.(5.2.3).```..####.-second-ite
6c0c0 6d 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 m.`(list)`..Return.the.second.it
6c0e0 65 6d 20 6f 66 20 60 6c 69 73 74 60 2c 20 6f 72 20 6e 69 6c 20 69 66 20 60 6c 69 73 74 60 20 69 em.of.`list`,.or.nil.if.`list`.i
6c100 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 74 68 69 72 64 s.too.short...See.also:.[`-third
6c120 2d 69 74 65 6d 60 5d 28 23 2d 74 68 69 72 64 2d 69 74 65 6d 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 -item`](#-third-item-list)...```
6c140 65 6c 0a 28 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e el.(-second-item.'(1.2.3)).;;.=>
6c160 20 32 0a 28 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a .2.(-second-item.nil).;;.=>.nil.
6c180 60 60 60 0a 0a 23 23 23 23 20 2d 74 68 69 72 64 2d 69 74 65 6d 20 60 28 6c 69 73 74 29 60 0a 0a ```..####.-third-item.`(list)`..
6c1a0 52 65 74 75 72 6e 20 74 68 65 20 74 68 69 72 64 20 69 74 65 6d 20 6f 66 20 60 6c 69 73 74 60 2c Return.the.third.item.of.`list`,
6c1c0 20 6f 72 20 6e 69 6c 20 69 66 20 60 6c 69 73 74 60 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a .or.nil.if.`list`.is.too.short..
6c1e0 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 66 6f 75 72 74 68 2d 69 74 65 6d 60 5d 28 23 2d 66 6f .See.also:.[`-fourth-item`](#-fo
6c200 75 72 74 68 2d 69 74 65 6d 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 68 69 72 64 2d urth-item-list)...```el.(-third-
6c220 69 74 65 6d 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 33 0a 28 2d 74 68 69 72 64 2d 69 item.'(1.2.3)).;;.=>.3.(-third-i
6c240 74 65 6d 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 6f tem.nil).;;.=>.nil.```..####.-fo
6c260 75 72 74 68 2d 69 74 65 6d 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 66 urth-item.`(list)`..Return.the.f
6c280 6f 75 72 74 68 20 69 74 65 6d 20 6f 66 20 60 6c 69 73 74 60 2c 20 6f 72 20 6e 69 6c 20 69 66 20 ourth.item.of.`list`,.or.nil.if.
6c2a0 60 6c 69 73 74 60 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 `list`.is.too.short...See.also:.
6c2c0 5b 60 2d 66 69 66 74 68 2d 69 74 65 6d 60 5d 28 23 2d 66 69 66 74 68 2d 69 74 65 6d 2d 6c 69 73 [`-fifth-item`](#-fifth-item-lis
6c2e0 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 6f 75 72 74 68 2d 69 74 65 6d 20 27 28 31 20 32 20 33 t)...```el.(-fourth-item.'(1.2.3
6c300 20 34 29 29 20 3b 3b 20 3d 3e 20 34 0a 28 2d 66 6f 75 72 74 68 2d 69 74 65 6d 20 6e 69 6c 29 20 .4)).;;.=>.4.(-fourth-item.nil).
6c320 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 69 66 74 68 2d 69 74 65 6d 20 ;;.=>.nil.```..####.-fifth-item.
6c340 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 66 69 66 74 68 20 69 74 65 6d 20 `(list)`..Return.the.fifth.item.
6c360 6f 66 20 60 6c 69 73 74 60 2c 20 6f 72 20 6e 69 6c 20 69 66 20 60 6c 69 73 74 60 20 69 73 20 74 of.`list`,.or.nil.if.`list`.is.t
6c380 6f 6f 20 73 68 6f 72 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 6c 61 73 74 2d 69 74 65 oo.short...See.also:.[`-last-ite
6c3a0 6d 60 5d 28 23 2d 6c 61 73 74 2d 69 74 65 6d 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d m`](#-last-item-list)...```el.(-
6c3c0 66 69 66 74 68 2d 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 35 fifth-item.'(1.2.3.4.5)).;;.=>.5
6c3e0 0a 28 2d 66 69 66 74 68 2d 69 74 65 6d 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 .(-fifth-item.nil).;;.=>.nil.```
6c400 0a 0a 23 23 23 23 20 2d 6c 61 73 74 2d 69 74 65 6d 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 ..####.-last-item.`(list)`..Retu
6c420 72 6e 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 6f 66 20 60 6c 69 73 74 60 2c 20 6f 72 20 6e rn.the.last.item.of.`list`,.or.n
6c440 69 6c 20 6f 6e 20 61 6e 20 65 6d 70 74 79 20 6c 69 73 74 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6c 61 il.on.an.empty.list...```el.(-la
6c460 73 74 2d 69 74 65 6d 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 33 0a 28 2d 6c 61 73 74 st-item.'(1.2.3)).;;.=>.3.(-last
6c480 2d 69 74 65 6d 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 6c 65 74 20 28 28 6c 69 73 74 -item.nil).;;.=>.nil.(let.((list
6c4a0 20 28 6c 69 73 74 20 31 20 32 20 33 29 29 29 20 28 73 65 74 66 20 28 2d 6c 61 73 74 2d 69 74 65 .(list.1.2.3))).(setf.(-last-ite
6c4c0 6d 20 6c 69 73 74 29 20 35 29 20 6c 69 73 74 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 35 29 0a 60 m.list).5).list).;;.=>.(1.2.5).`
6c4e0 60 60 0a 0a 23 23 23 23 20 2d 62 75 74 6c 61 73 74 20 60 28 6c 69 73 74 29 60 0a 0a 52 65 74 75 ``..####.-butlast.`(list)`..Retu
6c500 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 6c 69 73 74 20 65 rn.a.list.of.all.items.in.list.e
6c520 78 63 65 70 74 20 66 6f 72 20 74 68 65 20 6c 61 73 74 2e 0a 0a 60 60 60 65 6c 0a 28 2d 62 75 74 xcept.for.the.last...```el.(-but
6c540 6c 61 73 74 20 27 28 31 20 32 20 33 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 29 0a 28 2d 62 75 74 last.'(1.2.3)).;;.=>.(1.2).(-but
6c560 6c 61 73 74 20 27 28 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 62 75 74 6c 61 73 74 last.'(1.2)).;;.=>.(1).(-butlast
6c580 20 27 28 31 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 6f 72 74 .'(1)).;;.=>.nil.```..####.-sort
6c5a0 20 60 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 60 0a 0a 53 6f 72 74 20 60 6c 69 73 74 .`(comparator.list)`..Sort.`list
6c5c0 60 2c 20 73 74 61 62 6c 79 2c 20 63 6f 6d 70 61 72 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 75 73 `,.stably,.comparing.elements.us
6c5e0 69 6e 67 20 60 63 6f 6d 70 61 72 61 74 6f 72 60 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 73 6f 72 ing.`comparator`..Return.the.sor
6c600 74 65 64 20 6c 69 73 74 2e 20 20 60 6c 69 73 74 60 20 69 73 20 60 6e 6f 74 60 20 6d 6f 64 69 66 ted.list...`list`.is.`not`.modif
6c620 69 65 64 20 62 79 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 60 63 6f 6d 70 61 72 61 74 6f 72 ied.by.side.effects..`comparator
6c640 60 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 `.is.called.with.two.elements.of
6c660 20 60 6c 69 73 74 60 2c 20 61 6e 64 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 6e 6f 6e 2d 6e .`list`,.and.should.return.non-n
6c680 69 6c 0a 69 66 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 73 68 6f 75 6c 64 20 73 il.if.the.first.element.should.s
6c6a0 6f 72 74 20 62 65 66 6f 72 65 20 74 68 65 20 73 65 63 6f 6e 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d ort.before.the.second...```el.(-
6c6c0 73 6f 72 74 20 27 3c 20 27 28 33 20 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a sort.'<.'(3.1.2)).;;.=>.(1.2.3).
6c6e0 28 2d 73 6f 72 74 20 27 3e 20 27 28 33 20 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 33 20 32 20 31 (-sort.'>.'(3.1.2)).;;.=>.(3.2.1
6c700 29 0a 28 2d 2d 73 6f 72 74 20 28 3c 20 69 74 20 6f 74 68 65 72 29 20 27 28 33 20 31 20 32 29 29 ).(--sort.(<.it.other).'(3.1.2))
6c720 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6c 69 73 74 20 60 .;;.=>.(1.2.3).```..####.-list.`
6c740 28 61 72 67 29 60 0a 0a 45 6e 73 75 72 65 20 60 61 72 67 60 20 69 73 20 61 20 6c 69 73 74 2e 0a (arg)`..Ensure.`arg`.is.a.list..
6c760 49 66 20 60 61 72 67 60 20 69 73 20 61 6c 72 65 61 64 79 20 61 20 6c 69 73 74 2c 20 72 65 74 75 If.`arg`.is.already.a.list,.retu
6c780 72 6e 20 69 74 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 rn.it.as.is.(not.a.copy)..Otherw
6c7a0 69 73 65 2c 20 72 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 60 61 72 67 ise,.return.a.new.list.with.`arg
6c7c0 60 20 61 73 20 69 74 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 `.as.its.only.element...Another.
6c7e0 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 20 69 73 20 supported.calling.convention.is.
6c800 28 2d 6c 69 73 74 20 26 72 65 73 74 20 60 61 72 67 73 60 29 2e 0a 49 6e 20 74 68 69 73 20 63 61 (-list.&rest.`args`)..In.this.ca
6c820 73 65 2c 20 69 66 20 60 61 72 67 60 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2c 20 61 20 6e 65 se,.if.`arg`.is.not.a.list,.a.ne
6c840 77 20 6c 69 73 74 20 77 69 74 68 20 61 6c 6c 20 6f 66 0a 60 61 72 67 73 60 20 61 73 20 65 6c 65 w.list.with.all.of.`args`.as.ele
6c860 6d 65 6e 74 73 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 54 68 69 73 20 75 73 65 20 69 73 20 ments.is.returned...This.use.is.
6c880 73 75 70 70 6f 72 74 65 64 20 66 6f 72 0a 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 supported.for.backward.compatibi
6c8a0 6c 69 74 79 20 61 6e 64 20 69 73 20 6f 74 68 65 72 77 69 73 65 20 64 65 70 72 65 63 61 74 65 64 lity.and.is.otherwise.deprecated
6c8c0 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6c 69 73 74 20 31 29 20 3b 3b 20 3d 3e 20 28 31 29 0a 28 2d 6c ...```el.(-list.1).;;.=>.(1).(-l
6c8e0 69 73 74 20 28 29 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 2d 6c 69 73 74 20 27 28 31 20 32 20 33 29 ist.()).;;.=>.().(-list.'(1.2.3)
6c900 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 69 78 20 60 ).;;.=>.(1.2.3).```..####.-fix.`
6c920 28 66 6e 20 6c 69 73 74 29 60 0a 0a 43 6f 6d 70 75 74 65 20 74 68 65 20 28 6c 65 61 73 74 29 20 (fn.list)`..Compute.the.(least).
6c940 66 69 78 70 6f 69 6e 74 20 6f 66 20 60 66 6e 60 20 77 69 74 68 20 69 6e 69 74 69 61 6c 20 69 6e fixpoint.of.`fn`.with.initial.in
6c960 70 75 74 20 60 6c 69 73 74 60 2e 0a 0a 60 66 6e 60 20 69 73 20 63 61 6c 6c 65 64 20 61 74 20 6c put.`list`...`fn`.is.called.at.l
6c980 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 20 east.once,.results.are.compared.
6c9a0 77 69 74 68 20 60 65 71 75 61 6c 60 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 69 78 20 28 6c 61 6d 62 with.`equal`...```el.(-fix.(lamb
6c9c0 64 61 20 28 6c 29 20 28 2d 6e 6f 6e 2d 6e 69 6c 20 28 2d 2d 6d 61 70 63 61 74 20 28 2d 73 70 6c da.(l).(-non-nil.(--mapcat.(-spl
6c9e0 69 74 2d 61 74 20 28 2f 20 28 6c 65 6e 67 74 68 20 69 74 29 20 32 29 20 69 74 29 20 6c 29 29 29 it-at.(/.(length.it).2).it).l)))
6ca00 20 27 28 28 31 20 32 20 33 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 29 20 28 32 29 20 28 33 29 29 .'((1.2.3))).;;.=>.((1).(2).(3))
6ca20 0a 28 6c 65 74 20 28 28 6c 20 27 28 28 73 74 61 72 77 61 72 73 20 73 63 69 66 69 29 20 28 6a 65 .(let.((l.'((starwars.scifi).(je
6ca40 64 69 20 73 74 61 72 77 61 72 73 20 77 61 72 72 69 6f 72 29 29 29 29 20 28 2d 2d 66 69 78 20 28 di.starwars.warrior)))).(--fix.(
6ca60 2d 75 6e 69 71 20 28 2d 2d 6d 61 70 63 61 74 20 28 63 6f 6e 73 20 69 74 20 28 63 64 72 20 28 61 -uniq.(--mapcat.(cons.it.(cdr.(a
6ca80 73 73 71 20 69 74 20 6c 29 29 29 20 69 74 29 29 20 27 28 6a 65 64 69 20 62 6f 6f 6b 29 29 29 20 ssq.it.l))).it)).'(jedi.book))).
6caa0 3b 3b 20 3d 3e 20 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 ;;.=>.(jedi.starwars.warrior.sci
6cac0 66 69 20 62 6f 6f 6b 29 0a 60 60 60 0a 0a 23 23 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 fi.book).```..##.Tree.operations
6cae0 0a 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 ..Functions.pretending.lists.are
6cb00 20 74 72 65 65 73 2e 0a 0a 23 23 23 23 20 2d 74 72 65 65 2d 73 65 71 20 60 28 62 72 61 6e 63 68 .trees...####.-tree-seq.`(branch
6cb20 20 63 68 69 6c 64 72 65 6e 20 74 72 65 65 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 73 65 71 75 65 .children.tree)`..Return.a.seque
6cb40 6e 63 65 20 6f 66 20 74 68 65 20 6e 6f 64 65 73 20 69 6e 20 60 74 72 65 65 60 2c 20 69 6e 20 64 nce.of.the.nodes.in.`tree`,.in.d
6cb60 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 60 62 72 61 6e 63 epth-first.search.order...`branc
6cb80 68 60 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 65 6e h`.is.a.predicate.of.one.argumen
6cba0 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 70 61 t.that.returns.non-nil.if.the.pa
6cbc0 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 74 20 ssed.argument.is.a.branch,.that.
6cbe0 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 72 65 is,.a.node.that.can.have.childre
6cc00 6e 2e 0a 0a 60 63 68 69 6c 64 72 65 6e 60 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 n...`children`.is.a.function.of.
6cc20 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
6cc40 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
6cc60 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
6cc80 6f 70 69 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 72 65 65 2d 73 65 71 20 27 6c 69 73 74 70 20 opied...```el.(-tree-seq.'listp.
6cca0 27 69 64 65 6e 74 69 74 79 20 27 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 'identity.'(1.(2.3).4.(5.(6.7)))
6ccc0 29 20 3b 3b 20 3d 3e 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 ).;;.=>.((1.(2.3).4.(5.(6.7))).1
6cce0 20 28 32 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 .(2.3).2.3.4.(5.(6.7)).5.(6.7).6
6cd00 20 37 29 0a 28 2d 74 72 65 65 2d 73 65 71 20 27 6c 69 73 74 70 20 27 72 65 76 65 72 73 65 20 27 .7).(-tree-seq.'listp.'reverse.'
6cd20 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 (1.(2.3).4.(5.(6.7)))).;;.=>.((1
6cd40 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 20 28 35 20 28 36 20 37 29 29 20 28 36 .(2.3).4.(5.(6.7))).(5.(6.7)).(6
6cd60 20 37 29 20 37 20 36 20 35 20 34 20 28 32 20 33 29 20 33 20 32 20 31 29 0a 28 2d 2d 74 72 65 65 .7).7.6.5.4.(2.3).3.2.1).(--tree
6cd80 2d 73 65 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 -seq.(vectorp.it).(append.it.nil
6cda0 29 20 5b 31 20 5b 32 20 33 5d 20 34 20 5b 35 20 5b 36 20 37 5d 5d 5d 29 20 3b 3b 20 3d 3e 20 28 ).[1.[2.3].4.[5.[6.7]]]).;;.=>.(
6cdc0 5b 31 20 5b 32 20 33 5d 20 34 20 5b 35 20 5b 36 20 37 5d 5d 5d 20 31 20 5b 32 20 33 5d 20 32 20 [1.[2.3].4.[5.[6.7]]].1.[2.3].2.
6cde0 33 20 34 20 5b 35 20 5b 36 20 37 5d 5d 20 35 20 5b 36 20 37 5d 20 36 20 37 29 0a 60 60 60 0a 0a 3.4.[5.[6.7]].5.[6.7].6.7).```..
6ce00 23 23 23 23 20 2d 74 72 65 65 2d 6d 61 70 20 60 28 66 6e 20 74 72 65 65 29 60 0a 0a 41 70 70 6c ####.-tree-map.`(fn.tree)`..Appl
6ce20 79 20 60 66 6e 60 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 74 72 65 65 60 y.`fn`.to.each.element.of.`tree`
6ce40 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 75 63 .while.preserving.the.tree.struc
6ce60 74 75 72 65 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 72 65 65 2d 6d 61 70 20 27 31 2b 20 27 28 31 20 ture...```el.(-tree-map.'1+.'(1.
6ce80 28 32 20 33 29 20 28 34 20 28 35 20 36 29 20 37 29 29 29 20 3b 3b 20 3d 3e 20 28 32 20 28 33 20 (2.3).(4.(5.6).7))).;;.=>.(2.(3.
6cea0 34 29 20 28 35 20 28 36 20 37 29 20 38 29 29 0a 28 2d 74 72 65 65 2d 6d 61 70 20 27 28 6c 61 6d 4).(5.(6.7).8)).(-tree-map.'(lam
6cec0 62 64 61 20 28 78 29 20 28 63 6f 6e 73 20 78 20 28 65 78 70 74 20 32 20 78 29 29 29 20 27 28 31 bda.(x).(cons.x.(expt.2.x))).'(1
6cee0 20 28 32 20 33 29 20 34 29 29 20 3b 3b 20 3d 3e 20 28 28 31 20 2e 20 32 29 20 28 28 32 20 2e 20 .(2.3).4)).;;.=>.((1...2).((2...
6cf00 34 29 20 28 33 20 2e 20 38 29 29 20 28 34 20 2e 20 31 36 29 29 0a 28 2d 2d 74 72 65 65 2d 6d 61 4).(3...8)).(4...16)).(--tree-ma
6cf20 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 20 p.(length.it).'("<body>".("<p>".
6cf40 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 20 3b 3b 20 3d 3e "text"."</p>")."</body>")).;;.=>
6cf60 20 28 36 20 28 33 20 34 20 34 29 20 37 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 74 72 65 65 2d 6d .(6.(3.4.4).7).```..####.-tree-m
6cf80 61 70 2d 6e 6f 64 65 73 20 60 28 70 72 65 64 20 66 75 6e 20 74 72 65 65 29 60 0a 0a 43 61 6c 6c ap-nodes.`(pred.fun.tree)`..Call
6cfa0 20 60 66 75 6e 60 20 6f 6e 20 65 61 63 68 20 6e 6f 64 65 20 6f 66 20 60 74 72 65 65 60 20 74 68 .`fun`.on.each.node.of.`tree`.th
6cfc0 61 74 20 73 61 74 69 73 66 69 65 73 20 60 70 72 65 64 60 2e 0a 0a 49 66 20 60 70 72 65 64 60 20 at.satisfies.`pred`...If.`pred`.
6cfe0 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 63 6f 6e 74 69 6e 75 65 20 64 65 73 63 65 6e 64 69 6e 67 returns.nil,.continue.descending
6d000 20 64 6f 77 6e 20 74 68 69 73 20 6e 6f 64 65 2e 20 20 49 66 20 60 70 72 65 64 60 0a 72 65 74 75 .down.this.node...If.`pred`.retu
6d020 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 61 70 70 6c 79 20 60 66 75 6e 60 20 74 6f 20 74 68 69 73 rns.non-nil,.apply.`fun`.to.this
6d040 20 6e 6f 64 65 20 61 6e 64 20 64 6f 20 6e 6f 74 20 64 65 73 63 65 6e 64 0a 66 75 72 74 68 65 72 .node.and.do.not.descend.further
6d060 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 27 76 65 63 74 6f ...```el.(-tree-map-nodes.'vecto
6d080 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 65 6e 64 20 78 20 6e rp.(lambda.(x).(-sum.(append.x.n
6d0a0 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 5d 20 38 29 29 29 20 il))).'(1.[2.3].4.(5.[6.7].8))).
6d0c0 3b 3b 20 3d 3e 20 28 31 20 35 20 34 20 28 35 20 31 33 20 38 29 29 0a 28 2d 74 72 65 65 2d 6d 61 ;;.=>.(1.5.4.(5.13.8)).(-tree-ma
6d0e0 70 2d 6e 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 p-nodes.'keywordp.(lambda.(x).(s
6d100 79 6d 62 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 ymbol-name.x)).'(1.:foo.4.((5.6.
6d120 3a 62 61 72 29 20 3a 62 61 7a 20 38 29 29 29 20 3b 3b 20 3d 3e 20 28 31 20 22 3a 66 6f 6f 22 20 :bar).:baz.8))).;;.=>.(1.":foo".
6d140 34 20 28 28 35 20 36 20 22 3a 62 61 72 22 29 20 22 3a 62 61 7a 22 20 38 29 29 0a 28 2d 2d 74 72 4.((5.6.":bar").":baz".8)).(--tr
6d160 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 28 65 71 20 28 63 61 72 2d 73 61 66 65 20 69 74 29 20 27 ee-map-nodes.(eq.(car-safe.it).'
6d180 61 64 64 2d 6d 6f 64 65 29 20 28 2d 63 6f 6e 63 61 74 20 69 74 20 28 6c 69 73 74 20 3a 6d 6f 64 add-mode).(-concat.it.(list.:mod
6d1a0 65 20 27 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 29 29 20 27 28 77 69 74 68 2d 6d 6f 64 65 e.'emacs-lisp-mode)).'(with-mode
6d1c0 20 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 20 28 66 6f 6f 20 62 61 72 29 20 28 61 64 64 2d .emacs-lisp-mode.(foo.bar).(add-
6d1e0 6d 6f 64 65 20 61 20 62 29 20 28 62 61 7a 20 28 61 64 64 2d 6d 6f 64 65 20 63 20 64 29 29 29 29 mode.a.b).(baz.(add-mode.c.d))))
6d200 20 3b 3b 20 3d 3e 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 .;;.=>.(with-mode.emacs-lisp-mod
6d220 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 20 3a 6d 6f 64 65 20 e.(foo.bar).(add-mode.a.b.:mode.
6d240 65 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 emacs-lisp-mode).(baz.(add-mode.
6d260 63 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 60 60 60 c.d.:mode.emacs-lisp-mode))).```
6d280 0a 0a 23 23 23 23 20 2d 74 72 65 65 2d 72 65 64 75 63 65 20 60 28 66 6e 20 74 72 65 65 29 60 0a ..####.-tree-reduce.`(fn.tree)`.
6d2a0 0a 55 73 65 20 60 66 6e 60 20 74 6f 20 72 65 64 75 63 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 .Use.`fn`.to.reduce.elements.of.
6d2c0 6c 69 73 74 20 60 74 72 65 65 60 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 74 72 65 list.`tree`..If.elements.of.`tre
6d2e0 65 60 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 74 e`.are.lists.themselves,.apply.t
6d300 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 0a 60 66 6e 60 20 he.reduction.recursively...`fn`.
6d320 69 73 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 20 74 6f 20 66 69 72 73 74 20 65 6c 65 6d 65 6e is.first.applied.to.first.elemen
6d340 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 61 6e 64 20 73 65 63 6f 6e 64 0a 65 6c 65 6d 65 6e 74 t.of.the.list.and.second.element
6d360 2c 20 74 68 65 6e 20 6f 6e 20 74 68 69 73 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 69 72 64 20 ,.then.on.this.result.and.third.
6d380 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a 53 65 65 20 element.from.the.list.etc...See.
6d3a0 5b 60 2d 72 65 64 75 63 65 2d 72 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 6e 2d 6c 69 73 74 [`-reduce-r`](#-reduce-r-fn-list
6d3c0 29 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 7a ).for.how.exactly.are.lists.of.z
6d3e0 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 0a 0a 60 60 60 ero.or.one.element.handled...```
6d400 65 6c 0a 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 el.(-tree-reduce.'+.'(1.(2.3).(4
6d420 20 35 29 29 29 20 3b 3b 20 3d 3e 20 31 35 0a 28 2d 74 72 65 65 2d 72 65 64 75 63 65 20 27 63 6f .5))).;;.=>.15.(-tree-reduce.'co
6d440 6e 63 61 74 20 27 28 22 73 74 72 69 6e 67 73 22 20 28 22 20 6f 6e 22 20 22 20 76 61 72 69 6f 75 ncat.'("strings".(".on".".variou
6d460 73 22 29 20 28 28 22 20 6c 65 76 65 6c 73 22 29 29 29 29 20 3b 3b 20 3d 3e 20 22 73 74 72 69 6e s").((".levels")))).;;.=>."strin
6d480 67 73 20 6f 6e 20 76 61 72 69 6f 75 73 20 6c 65 76 65 6c 73 22 0a 28 2d 2d 74 72 65 65 2d 72 65 gs.on.various.levels".(--tree-re
6d4a0 64 75 63 65 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 70 20 69 74 29 20 28 63 6f 6e 63 61 74 duce.(cond.((stringp.it).(concat
6d4c0 20 69 74 20 22 20 22 20 61 63 63 29 29 20 28 74 20 28 6c 65 74 20 28 28 73 6e 20 28 73 79 6d 62 .it.".".acc)).(t.(let.((sn.(symb
6d4e0 6f 6c 2d 6e 61 6d 65 20 69 74 29 29 29 20 28 63 6f 6e 63 61 74 20 22 3c 22 20 73 6e 20 22 3e 22 ol-name.it))).(concat."<".sn.">"
6d500 20 61 63 63 20 22 3c 2f 22 20 73 6e 20 22 3e 22 29 29 29 29 20 27 28 62 6f 64 79 20 28 70 20 22 .acc."</".sn.">")))).'(body.(p."
6d520 73 6f 6d 65 20 77 6f 72 64 73 22 29 20 28 64 69 76 20 22 6d 6f 72 65 22 20 28 62 20 22 62 6f 6c some.words").(div."more".(b."bol
6d540 64 22 29 20 22 77 6f 72 64 73 22 29 29 29 20 3b 3b 20 3d 3e 20 22 3c 62 6f 64 79 3e 3c 70 3e 73 d")."words"))).;;.=>."<body><p>s
6d560 6f 6d 65 20 77 6f 72 64 73 3c 2f 70 3e 20 3c 64 69 76 3e 6d 6f 72 65 20 3c 62 3e 62 6f 6c 64 3c ome.words</p>.<div>more.<b>bold<
6d580 2f 62 3e 20 77 6f 72 64 73 3c 2f 64 69 76 3e 3c 2f 62 6f 64 79 3e 22 0a 60 60 60 0a 0a 23 23 23 /b>.words</div></body>".```..###
6d5a0 23 20 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 60 28 66 6e 20 69 6e 69 74 2d 76 61 #.-tree-reduce-from.`(fn.init-va
6d5c0 6c 75 65 20 74 72 65 65 29 60 0a 0a 55 73 65 20 60 66 6e 60 20 74 6f 20 72 65 64 75 63 65 20 65 lue.tree)`..Use.`fn`.to.reduce.e
6d5e0 6c 65 6d 65 6e 74 73 20 6f 66 20 6c 69 73 74 20 60 74 72 65 65 60 2e 0a 49 66 20 65 6c 65 6d 65 lements.of.list.`tree`..If.eleme
6d600 6e 74 73 20 6f 66 20 60 74 72 65 65 60 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 nts.of.`tree`.are.lists.themselv
6d620 65 73 2c 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 es,.apply.the.reduction.recursiv
6d640 65 6c 79 2e 0a 0a 60 66 6e 60 20 69 73 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 20 74 6f 20 60 ely...`fn`.is.first.applied.to.`
6d660 69 6e 69 74 2d 76 61 6c 75 65 60 20 61 6e 64 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 init-value`.and.first.element.of
6d680 20 74 68 65 20 6c 69 73 74 2c 0a 74 68 65 6e 20 6f 6e 20 74 68 69 73 20 72 65 73 75 6c 74 20 61 .the.list,.then.on.this.result.a
6d6a0 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 73 74 20 nd.second.element.from.the.list.
6d6c0 65 74 63 2e 0a 0a 54 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 69 73 20 69 67 6e 6f 72 etc...The.initial.value.is.ignor
6d6e0 65 64 20 6f 6e 20 63 6f 6e 73 20 70 61 69 72 73 20 61 73 20 74 68 65 79 20 61 6c 77 61 79 73 20 ed.on.cons.pairs.as.they.always.
6d700 63 6f 6e 74 61 69 6e 0a 74 77 6f 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 60 60 60 65 6c 0a 28 2d 74 contain.two.elements...```el.(-t
6d720 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 27 2b 20 31 20 27 28 31 20 28 31 20 31 29 20 28 ree-reduce-from.'+.1.'(1.(1.1).(
6d740 28 31 29 29 29 29 20 3b 3b 20 3d 3e 20 38 0a 28 2d 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 (1)))).;;.=>.8.(--tree-reduce-fr
6d760 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 29 20 6e 69 6c 20 27 om.(-concat.acc.(list.it)).nil.'
6d780 28 31 20 28 32 20 33 20 28 34 20 35 29 29 20 28 36 20 37 29 29 29 20 3b 3b 20 3d 3e 20 28 28 37 (1.(2.3.(4.5)).(6.7))).;;.=>.((7
6d7a0 20 36 29 20 28 28 35 20 34 29 20 33 20 32 29 20 31 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 74 72 .6).((5.4).3.2).1).```..####.-tr
6d7c0 65 65 2d 6d 61 70 72 65 64 75 63 65 20 60 28 66 6e 20 66 6f 6c 64 65 72 20 74 72 65 65 29 60 0a ee-mapreduce.`(fn.folder.tree)`.
6d7e0 0a 41 70 70 6c 79 20 60 66 6e 60 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 .Apply.`fn`.to.each.element.of.`
6d800 74 72 65 65 60 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 tree`,.and.make.a.list.of.the.re
6d820 73 75 6c 74 73 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 60 74 72 65 65 60 20 61 72 65 sults..If.elements.of.`tree`.are
6d840 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 60 66 6e 60 20 72 65 .lists.themselves,.apply.`fn`.re
6d860 63 75 72 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 cursively.to.elements.of.these.n
6d880 65 73 74 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 ested.lists...Then.reduce.the.re
6d8a0 73 75 6c 74 69 6e 67 20 6c 69 73 74 73 20 75 73 69 6e 67 20 60 66 6f 6c 64 65 72 60 20 61 6e 64 sulting.lists.using.`folder`.and
6d8c0 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 0a 60 69 6e 69 74 2d 76 61 6c 75 65 60 2e 20 53 65 65 .initial.value.`init-value`..See
6d8e0 20 5b 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 .[`-reduce-r-from`](#-reduce-r-f
6d900 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 rom-fn-init-list)...This.is.the.
6d920 73 61 6d 65 20 61 73 20 63 61 6c 6c 69 6e 67 20 5b 60 2d 74 72 65 65 2d 72 65 64 75 63 65 60 5d same.as.calling.[`-tree-reduce`]
6d940 28 23 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 6e 2d 74 72 65 65 29 20 61 66 74 65 72 20 5b 60 (#-tree-reduce-fn-tree).after.[`
6d960 2d 74 72 65 65 2d 6d 61 70 60 5d 28 23 2d 74 72 65 65 2d 6d 61 70 2d 66 6e 2d 74 72 65 65 29 0a -tree-map`](#-tree-map-fn-tree).
6d980 62 75 74 20 69 73 20 74 77 69 63 65 20 61 73 20 66 61 73 74 20 61 73 20 69 74 20 6f 6e 6c 79 20 but.is.twice.as.fast.as.it.only.
6d9a0 74 72 61 76 65 72 73 65 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 6f 6e 63 65 2e 0a 0a 60 60 traverse.the.structure.once...``
6d9c0 60 65 6c 0a 28 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 27 6c 69 73 74 20 27 61 70 70 65 `el.(-tree-mapreduce.'list.'appe
6d9e0 6e 64 20 27 28 31 20 28 32 20 28 33 20 34 29 20 28 35 20 36 29 29 20 28 37 20 28 38 20 39 29 29 nd.'(1.(2.(3.4).(5.6)).(7.(8.9))
6da00 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 29 0a 28 2d 2d )).;;.=>.(1.2.3.4.5.6.7.8.9).(--
6da20 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 31 20 28 2b 20 69 74 20 61 63 63 29 20 27 28 31 20 tree-mapreduce.1.(+.it.acc).'(1.
6da40 28 32 20 28 34 20 39 29 20 28 32 20 31 29 29 20 28 37 20 28 34 20 33 29 29 29 29 20 3b 3b 20 3d (2.(4.9).(2.1)).(7.(4.3)))).;;.=
6da60 3e 20 39 0a 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 61 63 63 >.9.(--tree-mapreduce.0.(max.acc
6da80 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 20 28 37 .(1+.it)).'(1.(2.(4.9).(2.1)).(7
6daa0 20 28 34 20 33 29 29 29 29 20 3b 3b 20 3d 3e 20 33 0a 60 60 60 0a 0a 23 23 23 23 20 2d 74 72 65 .(4.3)))).;;.=>.3.```..####.-tre
6dac0 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 60 28 66 6e 20 66 6f 6c 64 65 72 20 69 6e 69 e-mapreduce-from.`(fn.folder.ini
6dae0 74 2d 76 61 6c 75 65 20 74 72 65 65 29 60 0a 0a 41 70 70 6c 79 20 60 66 6e 60 20 74 6f 20 65 61 t-value.tree)`..Apply.`fn`.to.ea
6db00 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 74 72 65 65 60 2c 20 61 6e 64 20 6d 61 6b 65 20 61 ch.element.of.`tree`,.and.make.a
6db20 20 6c 69 73 74 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 .list.of.the.results..If.element
6db40 73 20 6f 66 20 60 74 72 65 65 60 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 s.of.`tree`.are.lists.themselves
6db60 2c 20 61 70 70 6c 79 20 60 66 6e 60 20 72 65 63 75 72 73 69 76 65 6c 79 20 74 6f 0a 65 6c 65 6d ,.apply.`fn`.recursively.to.elem
6db80 65 6e 74 73 20 6f 66 20 74 68 65 73 65 20 6e 65 73 74 65 64 20 6c 69 73 74 73 2e 0a 0a 54 68 65 ents.of.these.nested.lists...The
6dba0 6e 20 72 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 n.reduce.the.resulting.lists.usi
6dbc0 6e 67 20 60 66 6f 6c 64 65 72 60 20 61 6e 64 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 0a 60 69 ng.`folder`.and.initial.value.`i
6dbe0 6e 69 74 2d 76 61 6c 75 65 60 2e 20 53 65 65 20 5b 60 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d nit-value`..See.[`-reduce-r-from
6dc00 60 5d 28 23 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 6c 69 73 74 29 `](#-reduce-r-from-fn-init-list)
6dc20 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 6e 67 20 5b ...This.is.the.same.as.calling.[
6dc40 60 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 60 5d 28 23 2d 74 72 65 65 2d 72 65 64 75 `-tree-reduce-from`](#-tree-redu
6dc60 63 65 2d 66 72 6f 6d 2d 66 6e 2d 69 6e 69 74 2d 76 61 6c 75 65 2d 74 72 65 65 29 20 61 66 74 65 ce-from-fn-init-value-tree).afte
6dc80 72 20 5b 60 2d 74 72 65 65 2d 6d 61 70 60 5d 28 23 2d 74 72 65 65 2d 6d 61 70 2d 66 6e 2d 74 72 r.[`-tree-map`](#-tree-map-fn-tr
6dca0 65 65 29 0a 62 75 74 20 69 73 20 74 77 69 63 65 20 61 73 20 66 61 73 74 20 61 73 20 69 74 20 6f ee).but.is.twice.as.fast.as.it.o
6dcc0 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 6e 63 65 2e nly.traverse.the.structure.once.
6dce0 0a 0a 60 60 60 65 6c 0a 28 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 27 69 ..```el.(-tree-mapreduce-from.'i
6dd00 64 65 6e 74 69 74 79 20 27 2a 20 31 20 27 28 31 20 28 32 20 28 33 20 34 29 20 28 35 20 36 29 29 dentity.'*.1.'(1.(2.(3.4).(5.6))
6dd20 20 28 37 20 28 38 20 39 29 29 29 29 20 3b 3b 20 3d 3e 20 33 36 32 38 38 30 0a 28 2d 2d 74 72 65 .(7.(8.9)))).;;.=>.362880.(--tre
6dd40 65 2d 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 e-mapreduce-from.(+.it.it).(cons
6dd60 20 69 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 .it.acc).nil.'(1.(2.(4.9).(2.1))
6dd80 20 28 37 20 28 34 20 33 29 29 29 29 20 3b 3b 20 3d 3e 20 28 32 20 28 34 20 28 38 20 31 38 29 20 .(7.(4.3)))).;;.=>.(2.(4.(8.18).
6dda0 28 34 20 32 29 29 20 28 31 34 20 28 38 20 36 29 29 29 0a 28 63 6f 6e 63 61 74 20 22 7b 22 20 28 (4.2)).(14.(8.6))).(concat."{".(
6ddc0 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 63 6f 6e 64 20 28 28 2d 63 --tree-mapreduce-from.(cond.((-c
6dde0 6f 6e 73 2d 70 61 69 72 3f 20 69 74 29 20 28 63 6f 6e 63 61 74 20 28 73 79 6d 62 6f 6c 2d 6e 61 ons-pair?.it).(concat.(symbol-na
6de00 6d 65 20 28 63 61 72 20 69 74 29 29 20 22 20 2d 3e 20 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 me.(car.it)).".->.".(symbol-name
6de20 20 28 63 64 72 20 69 74 29 29 29 29 20 28 74 20 28 63 6f 6e 63 61 74 20 28 73 79 6d 62 6f 6c 2d .(cdr.it)))).(t.(concat.(symbol-
6de40 6e 61 6d 65 20 69 74 29 20 22 20 3a 20 7b 22 29 29 29 20 28 63 6f 6e 63 61 74 20 69 74 20 28 75 name.it).".:.{"))).(concat.it.(u
6de60 6e 6c 65 73 73 20 28 6f 72 20 28 65 71 75 61 6c 20 61 63 63 20 22 7d 22 29 20 28 65 71 75 61 6c nless.(or.(equal.acc."}").(equal
6de80 20 28 73 75 62 73 74 72 69 6e 67 20 69 74 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 69 74 29 29 29 .(substring.it.(1-.(length.it)))
6dea0 20 22 7b 22 29 29 20 22 2c 20 22 29 20 61 63 63 29 20 22 7d 22 20 27 28 28 65 6c 69 73 70 2d 6d ."{")).",.").acc)."}".'((elisp-m
6dec0 6f 64 65 20 28 66 6f 6f 20 28 62 61 72 20 2e 20 62 6f 6f 7a 65 29 29 20 28 62 61 7a 20 2e 20 71 ode.(foo.(bar...booze)).(baz...q
6dee0 75 78 29 29 20 28 63 2d 6d 6f 64 65 20 28 66 6f 6f 20 2e 20 62 6c 61 29 20 28 62 75 6d 20 2e 20 ux)).(c-mode.(foo...bla).(bum...
6df00 62 61 6d 29 29 29 29 29 20 3b 3b 20 3d 3e 20 22 7b 65 6c 69 73 70 2d 6d 6f 64 65 20 3a 20 7b 66 bam))))).;;.=>."{elisp-mode.:.{f
6df20 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}
6df40 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
6df60 61 6d 7d 7d 22 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6c 6f 6e 65 20 60 28 6c 69 73 74 29 60 0a am}}".```..####.-clone.`(list)`.
6df80 0a 43 72 65 61 74 65 20 61 20 64 65 65 70 20 63 6f 70 79 20 6f 66 20 60 6c 69 73 74 60 2e 0a 54 .Create.a.deep.copy.of.`list`..T
6dfa0 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 6c 65 6d 65 6e 74 he.new.list.has.the.same.element
6dfc0 73 20 61 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 s.and.structure.but.all.cons.are
6dfe0 0a 72 65 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 .replaced.with.new.ones...This.i
6e000 73 20 75 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 s.useful.when.you.need.to.clone.
6e020 61 0a 73 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 a.structure.such.as.plist.or.ali
6e040 73 74 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 74 2a 20 28 28 61 20 27 28 31 20 32 20 33 29 29 20 28 st...```el.(let*.((a.'(1.2.3)).(
6e060 62 20 28 2d 63 6c 6f 6e 65 20 61 29 29 29 20 28 6e 72 65 76 65 72 73 65 20 61 29 20 62 29 20 3b b.(-clone.a))).(nreverse.a).b).;
6e080 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 60 60 60 0a 0a 23 23 20 54 68 72 65 61 64 69 6e 67 20 6d ;.=>.(1.2.3).```..##.Threading.m
6e0a0 61 63 72 6f 73 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 acros..Macros.that.conditionally
6e0c0 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 20 62 72 .combine.sequential.forms.for.br
6e0e0 65 76 69 74 79 0a 6f 72 20 72 65 61 64 61 62 69 6c 69 74 79 2e 0a 0a 23 23 23 23 20 2d 3e 20 60 evity.or.readability...####.->.`
6e100 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 60 0a 0a (x.&optional.form.&rest.more)`..
6e120 54 68 72 65 61 64 20 74 68 65 20 65 78 70 72 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 6f 72 6d Thread.the.expr.through.the.form
6e140 73 2e 20 49 6e 73 65 72 74 20 60 78 60 20 61 73 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d s..Insert.`x`.as.the.second.item
6e160 0a 69 6e 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 6d 61 6b 69 6e 67 20 61 20 6c 69 73 .in.the.first.form,.making.a.lis
6e180 74 20 6f 66 20 69 74 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 0a 61 6c 72 65 t.of.it.if.it.is.not.a.list.alre
6e1a0 61 64 79 2e 20 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 ady..If.there.are.more.forms,.in
6e1c0 73 65 72 74 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 73 20 74 68 65 0a 73 65 63 6f 6e sert.the.first.form.as.the.secon
6e1e0 64 20 69 74 65 6d 20 69 6e 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 60 60 60 d.item.in.second.form,.etc...```
6e200 65 6c 0a 28 2d 3e 20 27 28 32 20 33 20 35 29 29 20 3b 3b 20 3d 3e 20 28 32 20 33 20 35 29 0a 28 el.(->.'(2.3.5)).;;.=>.(2.3.5).(
6e220 2d 3e 20 27 28 32 20 33 20 35 29 20 28 61 70 70 65 6e 64 20 27 28 38 20 31 33 29 29 29 20 3b 3b ->.'(2.3.5).(append.'(8.13))).;;
6e240 20 3d 3e 20 28 32 20 33 20 35 20 38 20 31 33 29 0a 28 2d 3e 20 27 28 32 20 33 20 35 29 20 28 61 .=>.(2.3.5.8.13).(->.'(2.3.5).(a
6e260 70 70 65 6e 64 20 27 28 38 20 31 33 29 29 20 28 2d 73 6c 69 63 65 20 31 20 2d 31 29 29 20 3b 3b ppend.'(8.13)).(-slice.1.-1)).;;
6e280 20 3d 3e 20 28 33 20 35 20 38 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 3e 3e 20 60 28 78 20 26 6f .=>.(3.5.8).```..####.->>.`(x.&o
6e2a0 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 60 0a 0a 54 68 72 65 61 ptional.form.&rest.more)`..Threa
6e2c0 64 20 74 68 65 20 65 78 70 72 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 6f 72 6d 73 2e 20 49 6e d.the.expr.through.the.forms..In
6e2e0 73 65 72 74 20 60 78 60 20 61 73 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 0a 69 6e 20 74 68 65 sert.`x`.as.the.last.item.in.the
6e300 20 66 69 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 .first.form,.making.a.list.of.it
6e320 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 0a 61 6c 72 65 61 64 79 2e 20 49 66 .if.it.is.not.a.list.already..If
6e340 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 74 68 .there.are.more.forms,.insert.th
6e360 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 73 20 74 68 65 0a 6c 61 73 74 20 69 74 65 6d 20 69 6e e.first.form.as.the.last.item.in
6e380 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 60 60 60 65 6c 0a 28 2d 3e 3e 20 27 .second.form,.etc...```el.(->>.'
6e3a0 28 31 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 71 75 61 72 65 29 29 20 3b 3b 20 3d 3e 20 28 31 (1.2.3).(-map.'square)).;;.=>.(1
6e3c0 20 34 20 39 29 0a 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 .4.9).(->>.'(1.2.3).(-map.'squar
6e3e0 65 29 20 28 2d 72 65 6d 6f 76 65 20 27 65 76 65 6e 3f 29 29 20 3b 3b 20 3d 3e 20 28 31 20 39 29 e).(-remove.'even?)).;;.=>.(1.9)
6e400 0a 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 29 20 28 2d .(->>.'(1.2.3).(-map.'square).(-
6e420 72 65 64 75 63 65 20 27 2b 29 29 20 3b 3b 20 3d 3e 20 31 34 0a 60 60 60 0a 0a 23 23 23 23 20 2d reduce.'+)).;;.=>.14.```..####.-
6e440 2d 3e 20 60 28 78 20 26 72 65 73 74 20 66 6f 72 6d 73 29 60 0a 0a 53 74 61 72 74 69 6e 67 20 77 ->.`(x.&rest.forms)`..Starting.w
6e460 69 74 68 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 60 78 60 2c 20 74 68 72 65 61 64 20 65 61 63 ith.the.value.of.`x`,.thread.eac
6e480 68 20 65 78 70 72 65 73 73 69 6f 6e 20 74 68 72 6f 75 67 68 20 60 66 6f 72 6d 73 60 2e 0a 0a 49 h.expression.through.`forms`...I
6e4a0 6e 73 65 72 74 20 60 78 60 20 61 74 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 73 69 67 6e 69 66 nsert.`x`.at.the.position.signif
6e4c0 69 65 64 20 62 79 20 74 68 65 20 73 79 6d 62 6f 6c 20 60 69 74 60 20 69 6e 20 74 68 65 20 66 69 ied.by.the.symbol.`it`.in.the.fi
6e4e0 72 73 74 0a 66 6f 72 6d 2e 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 rst.form...If.there.are.more.for
6e500 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 61 74 20 74 68 65 ms,.insert.the.first.form.at.the
6e520 20 70 6f 73 69 74 69 6f 6e 0a 73 69 67 6e 69 66 69 65 64 20 62 79 20 60 69 74 60 20 69 6e 20 69 .position.signified.by.`it`.in.i
6e540 6e 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 60 60 60 65 6c 0a 28 2d 2d 3e 20 n.second.form,.etc...```el.(-->.
6e560 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 29 20 3b "def".(concat."abc".it."ghi")).;
6e580 3b 20 3d 3e 20 22 61 62 63 64 65 66 67 68 69 22 0a 28 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f 6e ;.=>."abcdefghi".(-->."def".(con
6e5a0 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 20 28 75 70 63 61 73 65 20 69 74 29 29 cat."abc".it."ghi").(upcase.it))
6e5c0 20 3b 3b 20 3d 3e 20 22 41 42 43 44 45 46 47 48 49 22 0a 28 2d 2d 3e 20 22 64 65 66 22 20 28 63 .;;.=>."ABCDEFGHI".(-->."def".(c
6e5e0 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 20 75 70 63 61 73 65 29 20 3b 3b oncat."abc".it."ghi").upcase).;;
6e600 20 3d 3e 20 22 41 42 43 44 45 46 47 48 49 22 0a 60 60 60 0a 0a 23 23 23 23 20 2d 61 73 2d 3e 20 .=>."ABCDEFGHI".```..####.-as->.
6e620 60 28 76 61 6c 75 65 20 76 61 72 69 61 62 6c 65 20 26 72 65 73 74 20 66 6f 72 6d 73 29 60 0a 0a `(value.variable.&rest.forms)`..
6e640 53 74 61 72 74 69 6e 67 20 77 69 74 68 20 60 76 61 6c 75 65 60 2c 20 74 68 72 65 61 64 20 60 76 Starting.with.`value`,.thread.`v
6e660 61 72 69 61 62 6c 65 60 20 74 68 72 6f 75 67 68 20 60 66 6f 72 6d 73 60 2e 0a 0a 49 6e 20 74 68 ariable`.through.`forms`...In.th
6e680 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 62 69 6e 64 20 60 76 61 72 69 61 62 6c 65 60 20 74 6f e.first.form,.bind.`variable`.to
6e6a0 20 60 76 61 6c 75 65 60 2e 20 20 49 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 62 .`value`...In.the.second.form,.b
6e6c0 69 6e 64 0a 60 76 61 72 69 61 62 6c 65 60 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 ind.`variable`.to.the.result.of.
6e6e0 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 2e 0a 0a 60 the.first.form,.and.so.forth...`
6e700 60 60 65 6c 0a 28 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 ``el.(-as->.3.my-var.(1+.my-var)
6e720 20 28 6c 69 73 74 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 .(list.my-var).(mapcar.(lambda.(
6e740 65 6c 65 29 20 28 2a 20 32 20 65 6c 65 29 29 20 6d 79 2d 76 61 72 29 29 20 3b 3b 20 3d 3e 20 28 ele).(*.2.ele)).my-var)).;;.=>.(
6e760 38 29 0a 28 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 20 31 2b 29 20 3b 3b 20 3d 3e 20 34 0a 28 8).(-as->.3.my-var.1+).;;.=>.4.(
6e780 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 29 20 3b 3b 20 3d 3e 20 33 0a 60 60 60 0a 0a 23 23 23 -as->.3.my-var).;;.=>.3.```..###
6e7a0 23 20 2d 73 6f 6d 65 2d 3e 20 60 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 #.-some->.`(x.&optional.form.&re
6e7c0 73 74 20 6d 6f 72 65 29 60 0a 0a 57 68 65 6e 20 65 78 70 72 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c st.more)`..When.expr.is.non-nil,
6e7e0 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 6f 72 .thread.it.through.the.first.for
6e800 6d 20 28 76 69 61 20 5b 60 2d 3e 60 5d 28 23 2d 2d 78 2d 6f 70 74 69 6f 6e 61 6c 2d 66 6f 72 6d m.(via.[`->`](#--x-optional-form
6e820 2d 72 65 73 74 2d 6d 6f 72 65 29 29 2c 0a 61 6e 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 73 75 -rest-more)),.and.when.that.resu
6e840 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 74 20 lt.is.non-nil,.through.the.next.
6e860 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 6f 6d 65 2d 3e 20 27 28 32 20 33 form,.etc...```el.(-some->.'(2.3
6e880 20 35 29 29 20 3b 3b 20 3d 3e 20 28 32 20 33 20 35 29 0a 28 2d 73 6f 6d 65 2d 3e 20 35 20 73 71 .5)).;;.=>.(2.3.5).(-some->.5.sq
6e8a0 75 61 72 65 29 20 3b 3b 20 3d 3e 20 32 35 0a 28 2d 73 6f 6d 65 2d 3e 20 35 20 65 76 65 6e 3f 20 uare).;;.=>.25.(-some->.5.even?.
6e8c0 73 71 75 61 72 65 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 6f 6d square).;;.=>.nil.```..####.-som
6e8e0 65 2d 3e 3e 20 60 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 e->>.`(x.&optional.form.&rest.mo
6e900 72 65 29 60 0a 0a 57 68 65 6e 20 65 78 70 72 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 re)`..When.expr.is.non-nil,.thre
6e920 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 69 ad.it.through.the.first.form.(vi
6e940 61 20 5b 60 2d 3e 3e 60 5d 28 23 2d 2d 78 2d 6f 70 74 69 6f 6e 61 6c 2d 66 6f 72 6d 2d 72 65 73 a.[`->>`](#--x-optional-form-res
6e960 74 2d 6d 6f 72 65 29 29 2c 0a 61 6e 64 20 77 68 65 6e 20 74 68 61 74 20 72 65 73 75 6c 74 20 69 t-more)),.and.when.that.result.i
6e980 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 74 20 66 6f 72 6d s.non-nil,.through.the.next.form
6e9a0 2c 20 65 74 63 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 6f 6d 65 2d 3e 3e 20 27 28 31 20 32 20 33 29 ,.etc...```el.(-some->>.'(1.2.3)
6e9c0 20 28 2d 6d 61 70 20 27 73 71 75 61 72 65 29 29 20 3b 3b 20 3d 3e 20 28 31 20 34 20 39 29 0a 28 .(-map.'square)).;;.=>.(1.4.9).(
6e9e0 2d 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 -some->>.'(1.3.5).(-last.'even?)
6ea00 20 28 2b 20 31 30 30 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 73 6f 6d 65 2d 3e 3e 20 27 28 .(+.100)).;;.=>.nil.(-some->>.'(
6ea20 32 20 34 20 36 29 20 28 2d 6c 61 73 74 20 27 65 76 65 6e 3f 29 20 28 2b 20 31 30 30 29 29 20 3b 2.4.6).(-last.'even?).(+.100)).;
6ea40 3b 20 3d 3e 20 31 30 36 0a 60 60 60 0a 0a 23 23 23 23 20 2d 73 6f 6d 65 2d 2d 3e 20 60 28 65 78 ;.=>.106.```..####.-some-->.`(ex
6ea60 70 72 20 26 72 65 73 74 20 66 6f 72 6d 73 29 60 0a 0a 54 68 72 65 61 64 20 60 65 78 70 72 60 20 pr.&rest.forms)`..Thread.`expr`.
6ea80 74 68 72 6f 75 67 68 20 60 66 6f 72 6d 73 60 20 76 69 61 20 5b 60 2d 2d 3e 60 5d 28 23 2d 2d 2d through.`forms`.via.[`-->`](#---
6eaa0 78 2d 72 65 73 74 2d 66 6f 72 6d 73 29 2c 20 77 68 69 6c 65 20 74 68 65 20 72 65 73 75 6c 74 20 x-rest-forms),.while.the.result.
6eac0 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 57 68 65 6e 20 60 65 78 70 72 60 20 65 76 61 6c 75 61 74 65 is.non-nil..When.`expr`.evaluate
6eae0 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 74 20 s.to.non-nil,.thread.the.result.
6eb00 74 68 72 6f 75 67 68 20 74 68 65 0a 66 69 72 73 74 20 6f 66 20 60 66 6f 72 6d 73 60 2c 20 61 6e through.the.first.of.`forms`,.an
6eb20 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
6eb40 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,.
6eb60 65 74 63 2e 0a 0a 60 60 60 65 6c 0a 28 2d 73 6f 6d 65 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f 6e etc...```el.(-some-->."def".(con
6eb80 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 29 20 3b 3b 20 3d 3e 20 22 61 62 63 64 cat."abc".it."ghi")).;;.=>."abcd
6eba0 65 66 67 68 69 22 0a 28 2d 73 6f 6d 65 2d 2d 3e 20 6e 69 6c 20 28 63 6f 6e 63 61 74 20 22 61 62 efghi".(-some-->.nil.(concat."ab
6ebc0 63 22 20 69 74 20 22 67 68 69 22 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 28 2d 73 6f 6d 65 2d 2d c".it."ghi")).;;.=>.nil.(-some--
6ebe0 3e 20 27 28 30 20 31 29 20 28 2d 72 65 6d 6f 76 65 20 23 27 6e 61 74 6e 75 6d 70 20 69 74 29 20 >.'(0.1).(-remove.#'natnump.it).
6ec00 28 61 70 70 65 6e 64 20 69 74 20 69 74 29 20 28 2d 6d 61 70 20 23 27 31 2b 20 69 74 29 29 20 3b (append.it.it).(-map.#'1+.it)).;
6ec20 3b 20 3d 3e 20 28 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 64 6f 74 6f 20 60 28 69 6e 69 74 20 26 ;.=>.().```..####.-doto.`(init.&
6ec40 72 65 73 74 20 66 6f 72 6d 73 29 60 0a 0a 45 76 61 6c 75 61 74 65 20 60 69 6e 69 74 60 20 61 6e rest.forms)`..Evaluate.`init`.an
6ec60 64 20 70 61 73 73 20 69 74 20 61 73 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 60 66 6f 72 6d 73 60 d.pass.it.as.argument.to.`forms`
6ec80 20 77 69 74 68 20 5b 60 2d 3e 60 5d 28 23 2d 2d 78 2d 6f 70 74 69 6f 6e 61 6c 2d 66 6f 72 6d 2d .with.[`->`](#--x-optional-form-
6eca0 72 65 73 74 2d 6d 6f 72 65 29 2e 0a 54 68 65 20 60 72 65 73 75 6c 74 60 20 6f 66 20 65 76 61 6c rest-more)..The.`result`.of.eval
6ecc0 75 61 74 69 6e 67 20 60 69 6e 69 74 60 20 69 73 20 74 68 72 65 61 64 65 64 20 74 68 72 6f 75 67 uating.`init`.is.threaded.throug
6ece0 68 20 65 61 63 68 20 6f 66 20 60 66 6f 72 6d 73 60 0a 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 75 h.each.of.`forms`.individually.u
6ed00 73 69 6e 67 20 5b 60 2d 3e 60 5d 28 23 2d 2d 78 2d 6f 70 74 69 6f 6e 61 6c 2d 66 6f 72 6d 2d 72 sing.[`->`](#--x-optional-form-r
6ed20 65 73 74 2d 6d 6f 72 65 29 2c 20 77 68 69 63 68 20 73 65 65 2e 20 20 54 68 65 20 72 65 74 75 72 est-more),.which.see...The.retur
6ed40 6e 20 76 61 6c 75 65 20 69 73 20 60 72 65 73 75 6c 74 60 2c 0a 77 68 69 63 68 20 60 66 6f 72 6d n.value.is.`result`,.which.`form
6ed60 73 60 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 66 s`.may.have.modified.by.side.eff
6ed80 65 63 74 2e 0a 0a 60 60 60 65 6c 0a 28 2d 64 6f 74 6f 20 28 6c 69 73 74 20 31 20 32 20 33 29 20 ect...```el.(-doto.(list.1.2.3).
6eda0 70 6f 70 20 70 6f 70 29 20 3b 3b 20 3d 3e 20 28 33 29 0a 28 2d 64 6f 74 6f 20 28 63 6f 6e 73 20 pop.pop).;;.=>.(3).(-doto.(cons.
6edc0 31 20 32 29 20 28 73 65 74 63 61 72 20 33 29 20 28 73 65 74 63 64 72 20 34 29 29 20 3b 3b 20 3d 1.2).(setcar.3).(setcdr.4)).;;.=
6ede0 3e 20 28 33 20 2e 20 34 29 0a 28 67 65 74 68 61 73 68 20 27 6b 20 28 2d 2d 64 6f 74 6f 20 28 6d >.(3...4).(gethash.'k.(--doto.(m
6ee00 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 29 20 28 70 75 74 68 61 73 68 20 27 6b 20 27 76 20 69 ake-hash-table).(puthash.'k.'v.i
6ee20 74 29 29 29 20 3b 3b 20 3d 3e 20 76 0a 60 60 60 0a 0a 23 23 20 42 69 6e 64 69 6e 67 0a 0a 4d 61 t))).;;.=>.v.```..##.Binding..Ma
6ee40 63 72 6f 73 20 74 68 61 74 20 63 6f 6d 62 69 6e 65 20 60 6c 65 74 60 20 61 6e 64 20 60 6c 65 74 cros.that.combine.`let`.and.`let
6ee60 2a 60 20 77 69 74 68 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 61 6e 64 20 66 6c 6f 77 20 63 *`.with.destructuring.and.flow.c
6ee80 6f 6e 74 72 6f 6c 2e 0a 0a 23 23 23 23 20 2d 77 68 65 6e 2d 6c 65 74 20 60 28 28 76 61 72 20 76 ontrol...####.-when-let.`((var.v
6eea0 61 6c 29 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a 0a 49 66 20 60 76 61 6c 60 20 65 76 61 6c 75 al).&rest.body)`..If.`val`.evalu
6eec0 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 6f 20 60 76 61 72 ates.to.non-nil,.bind.it.to.`var
6eee0 60 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 20 62 69 6e 64 69 `.and.execute.body...Note:.bindi
6ef00 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 5b 60 2d 6c 65 74 60 5d ng.is.done.according.to.[`-let`]
6ef20 28 23 2d 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 29 2e 0a 0a 60 60 60 65 (#-let-varlist-rest-body)...```e
6ef40 6c 0a 28 2d 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 l.(-when-let.(match-index.(strin
6ef60 67 2d 6d 61 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 g-match."d"."abcd")).(+.match-in
6ef80 64 65 78 20 32 29 29 20 3b 3b 20 3d 3e 20 35 0a 28 2d 77 68 65 6e 2d 6c 65 74 20 28 28 26 70 6c dex.2)).;;.=>.5.(-when-let.((&pl
6efa0 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 29 20 28 6c 69 73 74 20 3a 66 6f 6f 20 22 66 6f 6f 22 29 29 ist.:foo.foo).(list.:foo."foo"))
6efc0 20 66 6f 6f 29 20 3b 3b 20 3d 3e 20 22 66 6f 6f 22 0a 28 2d 77 68 65 6e 2d 6c 65 74 20 28 28 26 .foo).;;.=>."foo".(-when-let.((&
6efe0 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 29 20 28 6c 69 73 74 20 3a 62 61 72 20 22 62 61 72 22 plist.:foo.foo).(list.:bar."bar"
6f000 29 29 20 66 6f 6f 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 77 68 65 )).foo).;;.=>.nil.```..####.-whe
6f020 6e 2d 6c 65 74 2a 20 60 28 76 61 72 73 2d 76 61 6c 73 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a n-let*.`(vars-vals.&rest.body)`.
6f040 0a 49 66 20 61 6c 6c 20 60 76 61 6c 73 60 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 72 75 65 2c .If.all.`vals`.evaluate.to.true,
6f060 20 62 69 6e 64 20 74 68 65 6d 20 74 6f 20 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e .bind.them.to.their.correspondin
6f080 67 0a 60 76 61 72 73 60 20 61 6e 64 20 65 78 65 63 75 74 65 20 62 6f 64 79 2e 20 60 76 61 72 73 g.`vars`.and.execute.body..`vars
6f0a0 2d 76 61 6c 73 60 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 28 60 76 61 72 -vals`.should.be.a.list.of.(`var
6f0c0 60 20 60 76 61 6c 60 29 0a 70 61 69 72 73 2e 0a 0a 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 `.`val`).pairs...Note:.binding.i
6f0e0 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 5b 60 2d 6c 65 74 2a 60 5d 28 23 2d s.done.according.to.[`-let*`](#-
6f100 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 29 2e 20 20 60 76 61 6c 73 60 20 let-varlist-rest-body)...`vals`.
6f120 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 79 2c 20 61 6e 64 20 are.evaluated.sequentially,.and.
6f140 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 65 20 66 69 72 73 74 evaluation.stops.after.the.first
6f160 20 6e 69 6c 20 60 76 61 6c 60 20 69 73 0a 65 6e 63 6f 75 6e 74 65 72 65 64 2e 0a 0a 60 60 60 65 .nil.`val`.is.encountered...```e
6f180 6c 0a 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 28 2b l.(-when-let*.((x.5).(y.3).(z.(+
6f1a0 20 79 20 34 29 29 29 20 28 2b 20 78 20 79 20 7a 29 29 20 3b 3b 20 3d 3e 20 31 35 0a 28 2d 77 68 .y.4))).(+.x.y.z)).;;.=>.15.(-wh
6f1c0 65 6e 2d 6c 65 74 2a 20 28 28 78 20 35 29 20 28 79 20 6e 69 6c 29 20 28 7a 20 37 29 29 20 28 2b en-let*.((x.5).(y.nil).(z.7)).(+
6f1e0 20 78 20 79 20 7a 29 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 66 .x.y.z)).;;.=>.nil.```..####.-if
6f200 2d 6c 65 74 20 60 28 28 76 61 72 20 76 61 6c 29 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 -let.`((var.val).then.&rest.else
6f220 29 60 0a 0a 49 66 20 60 76 61 6c 60 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 )`..If.`val`.evaluates.to.non-ni
6f240 6c 2c 20 62 69 6e 64 20 69 74 20 74 6f 20 60 76 61 72 60 20 61 6e 64 20 64 6f 20 60 74 68 65 6e l,.bind.it.to.`var`.and.do.`then
6f260 60 2c 0a 6f 74 68 65 72 77 69 73 65 20 64 6f 20 60 65 6c 73 65 60 2e 0a 0a 4e 6f 74 65 3a 20 62 `,.otherwise.do.`else`...Note:.b
6f280 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 5b 60 2d 6c inding.is.done.according.to.[`-l
6f2a0 65 74 60 5d 28 23 2d 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 29 2e 0a 0a et`](#-let-varlist-rest-body)...
6f2c0 60 60 60 65 6c 0a 28 2d 69 66 2d 6c 65 74 20 28 6d 61 74 63 68 2d 69 6e 64 65 78 20 28 73 74 72 ```el.(-if-let.(match-index.(str
6f2e0 69 6e 67 2d 6d 61 74 63 68 20 22 64 22 20 22 61 62 63 22 29 29 20 28 2b 20 6d 61 74 63 68 2d 69 ing-match."d"."abc")).(+.match-i
6f300 6e 64 65 78 20 33 29 20 37 29 20 3b 3b 20 3d 3e 20 37 0a 28 2d 2d 69 66 2d 6c 65 74 20 28 65 76 ndex.3).7).;;.=>.7.(--if-let.(ev
6f320 65 6e 3f 20 34 29 20 69 74 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 74 0a 60 60 60 0a 0a 23 23 23 23 en?.4).it.nil).;;.=>.t.```..####
6f340 20 2d 69 66 2d 6c 65 74 2a 20 60 28 76 61 72 73 2d 76 61 6c 73 20 74 68 65 6e 20 26 72 65 73 74 .-if-let*.`(vars-vals.then.&rest
6f360 20 65 6c 73 65 29 60 0a 0a 49 66 20 61 6c 6c 20 60 76 61 6c 73 60 20 65 76 61 6c 75 61 74 65 20 .else)`..If.all.`vals`.evaluate.
6f380 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 63 6f 72 72 to.true,.bind.them.to.their.corr
6f3a0 65 73 70 6f 6e 64 69 6e 67 0a 60 76 61 72 73 60 20 61 6e 64 20 64 6f 20 60 74 68 65 6e 60 2c 20 esponding.`vars`.and.do.`then`,.
6f3c0 6f 74 68 65 72 77 69 73 65 20 64 6f 20 60 65 6c 73 65 60 2e 20 60 76 61 72 73 2d 76 61 6c 73 60 otherwise.do.`else`..`vars-vals`
6f3e0 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 0a 6f 66 20 28 60 76 61 72 60 20 60 76 61 6c .should.be.a.list.of.(`var`.`val
6f400 60 29 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 `).pairs...Note:.binding.is.done
6f420 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 5b 60 2d 6c 65 74 2a 60 5d 28 23 2d 6c 65 74 2d 76 61 .according.to.[`-let*`](#-let-va
6f440 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 29 2e 20 20 60 76 61 6c 73 60 20 61 72 65 20 65 76 rlist-rest-body)...`vals`.are.ev
6f460 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 61 aluated.sequentially,.and.evalua
6f480 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 60 tion.stops.after.the.first.nil.`
6f4a0 76 61 6c 60 20 69 73 0a 65 6e 63 6f 75 6e 74 65 72 65 64 2e 0a 0a 60 60 60 65 6c 0a 28 2d 69 66 val`.is.encountered...```el.(-if
6f4c0 2d 6c 65 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 -let*.((x.5).(y.3).(z.7)).(+.x.y
6f4e0 20 7a 29 20 22 66 6f 6f 22 29 20 3b 3b 20 3d 3e 20 31 35 0a 28 2d 69 66 2d 6c 65 74 2a 20 28 28 .z)."foo").;;.=>.15.(-if-let*.((
6f500 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 20 22 66 x.5).(y.nil).(z.7)).(+.x.y.z)."f
6f520 6f 6f 22 29 20 3b 3b 20 3d 3e 20 22 66 6f 6f 22 0a 28 2d 69 66 2d 6c 65 74 2a 20 28 28 28 5f 20 oo").;;.=>."foo".(-if-let*.(((_.
6f540 5f 20 78 29 20 27 28 6e 69 6c 20 6e 69 6c 20 37 29 29 29 20 78 29 20 3b 3b 20 3d 3e 20 37 0a 60 _.x).'(nil.nil.7))).x).;;.=>.7.`
6f560 60 60 0a 0a 23 23 23 23 20 2d 6c 65 74 20 60 28 76 61 72 6c 69 73 74 20 26 72 65 73 74 20 62 6f ``..####.-let.`(varlist.&rest.bo
6f580 64 79 29 60 0a 0a 42 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 dy)`..Bind.variables.according.t
6f5a0 6f 20 60 76 61 72 6c 69 73 74 60 20 74 68 65 6e 20 65 76 61 6c 20 60 62 6f 64 79 60 2e 0a 0a 60 o.`varlist`.then.eval.`body`...`
6f5c0 76 61 72 6c 69 73 74 60 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 6f 66 20 74 varlist`.is.a.list.of.lists.of.t
6f5e0 68 65 20 66 6f 72 6d 20 28 60 70 61 74 74 65 72 6e 60 20 60 73 6f 75 72 63 65 60 29 2e 20 20 45 he.form.(`pattern`.`source`)...E
6f600 61 63 68 0a 60 70 61 74 74 65 72 6e 60 20 69 73 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 ach.`pattern`.is.matched.against
6f620 20 74 68 65 20 60 73 6f 75 72 63 65 60 20 22 73 74 72 75 63 74 75 72 61 6c 6c 79 22 2e 20 20 60 .the.`source`."structurally"...`
6f640 73 6f 75 72 63 65 60 0a 69 73 20 6f 6e 6c 79 20 65 76 61 6c 75 61 74 65 64 20 6f 6e 63 65 20 66 source`.is.only.evaluated.once.f
6f660 6f 72 20 65 61 63 68 20 60 70 61 74 74 65 72 6e 60 2e 20 20 45 61 63 68 20 60 70 61 74 74 65 72 or.each.`pattern`...Each.`patter
6f680 6e 60 20 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 n`.is.matched.recursively,.and.c
6f6a0 61 6e 20 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 an.therefore.contain.sub-pattern
6f6c0 73 20 77 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 s.which.are.matched.against.corr
6f6e0 65 73 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 60 73 6f esponding.sub-expressions.of.`so
6f700 75 72 63 65 60 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 urce`...All.the.SOURCEs.are.eval
6f720 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 0a 62 6f 75 6e 64 led.before.any.symbols.are.bound
6f740 20 28 69 2e 65 2e 20 22 69 6e 20 70 61 72 61 6c 6c 65 6c 22 29 2e 0a 0a 49 66 20 60 76 61 72 6c .(i.e.."in.parallel")...If.`varl
6f760 69 73 74 60 20 6f 6e 6c 79 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 28 60 70 61 74 74 65 72 6e ist`.only.contains.one.(`pattern
6f780 60 20 60 73 6f 75 72 63 65 60 29 20 65 6c 65 6d 65 6e 74 2c 20 79 6f 75 20 63 61 6e 0a 6f 70 74 `.`source`).element,.you.can.opt
6f7a0 69 6f 6e 61 6c 6c 79 20 73 70 65 63 69 66 79 20 69 74 20 75 73 69 6e 67 20 61 20 76 65 63 74 6f ionally.specify.it.using.a.vecto
6f7c0 72 20 61 6e 64 20 64 69 73 63 61 72 64 69 6e 67 20 74 68 65 0a 6f 75 74 65 72 2d 6d 6f 73 74 20 r.and.discarding.the.outer-most.
6f7e0 70 61 72 65 6e 73 2e 20 20 54 68 75 73 0a 0a 20 20 20 20 28 2d 6c 65 74 20 28 28 60 70 61 74 74 parens...Thus......(-let.((`patt
6f800 65 72 6e 60 20 60 73 6f 75 72 63 65 60 29 29 20 2e 2e 2e 29 0a 0a 62 65 63 6f 6d 65 73 0a 0a 20 ern`.`source`))....)..becomes...
6f820 20 20 20 28 2d 6c 65 74 20 5b 60 70 61 74 74 65 72 6e 60 20 60 73 6f 75 72 63 65 60 5d 20 2e 2e ...(-let.[`pattern`.`source`]...
6f840 2e 29 2e 0a 0a 5b 60 2d 6c 65 74 60 5d 28 23 2d 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 .)...[`-let`](#-let-varlist-rest
6f860 2d 62 6f 64 79 29 20 75 73 65 73 20 61 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 66 20 6e 6f 74 20 -body).uses.a.convention.of.not.
6f880 62 69 6e 64 69 6e 67 20 70 6c 61 63 65 73 20 28 73 79 6d 62 6f 6c 73 29 20 73 74 61 72 74 69 6e binding.places.(symbols).startin
6f8a0 67 0a 77 69 74 68 20 5f 20 77 68 65 6e 65 76 65 72 20 69 74 27 73 20 70 6f 73 73 69 62 6c 65 2e g.with._.whenever.it's.possible.
6f8c0 20 20 59 6f 75 20 63 61 6e 20 75 73 65 20 74 68 69 73 20 74 6f 20 73 6b 69 70 20 6f 76 65 72 0a ..You.can.use.this.to.skip.over.
6f8e0 65 6e 74 72 69 65 73 20 79 6f 75 20 64 6f 6e 27 74 20 63 61 72 65 20 61 62 6f 75 74 2e 20 20 48 entries.you.don't.care.about...H
6f900 6f 77 65 76 65 72 2c 20 74 68 69 73 20 69 73 20 6e 6f 74 20 2a 61 6c 77 61 79 73 2a 0a 70 6f 73 owever,.this.is.not.*always*.pos
6f920 73 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 sible.(as.a.result.of.implementa
6f940 74 69 6f 6e 29 20 61 6e 64 20 74 68 65 73 65 20 73 79 6d 62 6f 6c 73 20 6d 69 67 68 74 0a 67 65 tion).and.these.symbols.might.ge
6f960 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 0a 0a 46 6f t.bound.to.undefined.values...Fo
6f980 6c 6c 6f 77 69 6e 67 20 69 73 20 74 68 65 20 6f 76 65 72 76 69 65 77 20 6f 66 20 73 75 70 70 6f llowing.is.the.overview.of.suppo
6f9a0 72 74 65 64 20 70 61 74 74 65 72 6e 73 2e 20 20 52 65 6d 65 6d 62 65 72 20 74 68 61 74 0a 70 61 rted.patterns...Remember.that.pa
6f9c0 74 74 65 72 6e 73 20 63 61 6e 20 62 65 20 6d 61 74 63 68 65 64 20 72 65 63 75 72 73 69 76 65 6c tterns.can.be.matched.recursivel
6f9e0 79 2c 20 73 6f 20 65 76 65 72 79 20 61 2c 20 62 2c 20 61 4b 20 69 6e 20 74 68 65 0a 66 6f 6c 6c y,.so.every.a,.b,.aK.in.the.foll
6fa00 6f 77 69 6e 67 20 63 61 6e 20 62 65 20 61 20 6d 61 74 63 68 69 6e 67 20 63 6f 6e 73 74 72 75 63 owing.can.be.a.matching.construc
6fa20 74 20 61 6e 64 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 20 61 0a 73 79 6d 62 6f 6c 2f 76 t.and.not.necessarily.a.symbol/v
6fa40 61 72 69 61 62 6c 65 2e 0a 0a 53 79 6d 62 6f 6c 3a 0a 0a 20 20 20 20 61 20 2d 20 62 69 6e 64 20 ariable...Symbol:......a.-.bind.
6fa60 74 68 65 20 60 73 6f 75 72 63 65 60 20 74 6f 20 60 61 60 2e 20 20 54 68 69 73 20 69 73 20 6a 75 the.`source`.to.`a`...This.is.ju
6fa80 73 74 20 6c 69 6b 65 20 72 65 67 75 6c 61 72 20 60 6c 65 74 60 2e 0a 0a 43 6f 6e 73 65 73 20 61 st.like.regular.`let`...Conses.a
6faa0 6e 64 20 6c 69 73 74 73 3a 0a 0a 20 20 20 20 28 61 29 20 2d 20 62 69 6e 64 20 60 63 61 72 60 20 nd.lists:......(a).-.bind.`car`.
6fac0 6f 66 20 63 6f 6e 73 2f 6c 69 73 74 20 74 6f 20 60 61 60 0a 0a 20 20 20 20 28 61 20 2e 20 62 29 of.cons/list.to.`a`......(a...b)
6fae0 20 2d 20 62 69 6e 64 20 63 61 72 20 6f 66 20 63 6f 6e 73 20 74 6f 20 60 61 60 20 61 6e 64 20 60 .-.bind.car.of.cons.to.`a`.and.`
6fb00 63 64 72 60 20 74 6f 20 60 62 60 0a 0a 20 20 20 20 28 61 20 62 29 20 2d 20 62 69 6e 64 20 63 61 cdr`.to.`b`......(a.b).-.bind.ca
6fb20 72 20 6f 66 20 6c 69 73 74 20 74 6f 20 60 61 60 20 61 6e 64 20 60 63 61 64 72 60 20 74 6f 20 60 r.of.list.to.`a`.and.`cadr`.to.`
6fb40 62 60 0a 0a 20 20 20 20 28 61 31 20 61 32 20 61 33 20 2e 2e 2e 29 20 2d 20 62 69 6e 64 20 30 74 b`......(a1.a2.a3....).-.bind.0t
6fb60 68 20 63 61 72 20 6f 66 20 6c 69 73 74 20 74 6f 20 60 61 31 60 2c 20 31 73 74 20 74 6f 20 60 61 h.car.of.list.to.`a1`,.1st.to.`a
6fb80 32 60 2c 20 32 6e 64 20 74 6f 20 60 61 33 60 2e 2e 2e 0a 0a 20 20 20 20 28 61 31 20 61 32 20 61 2`,.2nd.to.`a3`.........(a1.a2.a
6fba0 33 20 2e 2e 2e 20 61 4e 20 2e 20 72 65 73 74 29 20 2d 20 61 73 20 61 62 6f 76 65 2c 20 62 75 74 3.....aN...rest).-.as.above,.but
6fbc0 20 62 69 6e 64 20 74 68 65 20 60 6e 60 74 68 20 63 64 72 20 74 6f 20 60 72 65 73 74 60 2e 0a 0a .bind.the.`n`th.cdr.to.`rest`...
6fbe0 56 65 63 74 6f 72 73 3a 0a 0a 20 20 20 20 5b 61 5d 20 2d 20 62 69 6e 64 20 30 74 68 20 65 6c 65 Vectors:......[a].-.bind.0th.ele
6fc00 6d 65 6e 74 20 6f 66 20 61 20 6e 6f 6e 2d 6c 69 73 74 20 73 65 71 75 65 6e 63 65 20 74 6f 20 60 ment.of.a.non-list.sequence.to.`
6fc20 61 60 20 28 77 6f 72 6b 73 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 20 76 65 63 74 6f 72 73 a`.(works.with...........vectors
6fc40 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 0a 20 20 20 20 5b ,.strings,.bit.arrays...)......[
6fc60 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 6d 65 6e 74 a1.a2.a3....].-.bind.0th.element
6fc80 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 60 61 30 60 2c 20 31 .of.non-list.sequence.to.`a0`,.1
6fca0 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 20 20 60 61 31 60 2c st.to......................`a1`,
6fcc0 20 32 6e 64 20 74 6f 20 60 61 32 60 2c 20 2e 2e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .2nd.to.`a2`,...................
6fce0 20 20 20 20 20 20 20 49 66 20 74 68 65 20 60 70 61 74 74 65 72 6e 60 20 69 73 20 73 68 6f 72 74 .......If.the.`pattern`.is.short
6fd00 65 72 20 74 68 61 6e 20 60 73 6f 75 72 63 65 60 2c 20 74 68 65 20 76 61 6c 75 65 73 20 61 74 0a er.than.`source`,.the.values.at.
6fd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6c 61 63 65 73 20 6e 6f 74 20 .....................places.not.
6fd40 69 6e 20 60 70 61 74 74 65 72 6e 60 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 0a 20 20 20 20 20 20 in.`pattern`.are.ignored........
6fd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 60 70 61 74 74 65 72 6e 60 20 ...............If.the.`pattern`.
6fd80 69 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 60 73 6f 75 72 63 65 60 2c 20 61 6e 20 60 65 72 72 is.longer.than.`source`,.an.`err
6fda0 6f 72 60 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 74 68 72 6f or`.is......................thro
6fdc0 77 6e 2e 0a 0a 20 20 20 20 5b 61 31 20 61 32 20 61 33 20 2e 2e 2e 20 26 72 65 73 74 20 72 65 73 wn.......[a1.a2.a3.....&rest.res
6fde0 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 72 65 73 74 t].-.as.above,.but.bind.the.rest
6fe00 20 6f 66 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 .of.............................
6fe20 20 20 20 20 74 68 65 20 73 65 71 75 65 6e 63 65 20 74 6f 20 60 72 65 73 74 60 2e 20 20 54 68 69 ....the.sequence.to.`rest`...Thi
6fe40 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 20 20 20 20 s.is............................
6fe60 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 69 6d .....conceptually.the.same.as.im
6fe80 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 20 20 proper.list.....................
6fea0 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.....
6fec0 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:...
6fee0 20 20 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 ...(&plist.key0.a0.....keyN.aN).
6ff00 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 74 -.bind.value.mapped.by.keyK.in.t
6ff20 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..............................
6ff40 20 20 20 20 20 20 60 73 6f 75 72 63 65 60 20 70 6c 69 73 74 20 74 6f 20 61 4b 2e 20 20 49 66 20 ......`source`.plist.to.aK...If.
6ff60 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.............................
6ff80 20 20 20 20 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 .......value.is.not.found,.aK.is
6ffa0 20 6e 69 6c 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 .nil............................
6ffc0 20 20 20 20 20 20 20 20 20 55 73 65 73 20 60 70 6c 69 73 74 2d 67 65 74 60 20 74 6f 20 66 65 74 .........Uses.`plist-get`.to.fet
6ffe0 63 68 20 76 61 6c 75 65 73 2e 0a 0a 20 20 20 20 28 26 61 6c 69 73 74 20 6b 65 79 30 20 61 30 20 ch.values.......(&alist.key0.a0.
70000 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 6d 61 70 70 65 64 ....keyN.aN).-.bind.value.mapped
70020 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .by.keyK.in.the.................
70040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 73 6f 75 72 63 65 60 20 61 6c 69 73 ...................`source`.alis
70060 74 20 74 6f 20 61 4b 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.to.aK...If.the................
70080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 ....................value.is.not
700a0 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 6e 69 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .found,.aK.is.nil...............
700c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 73 65 73 20 60 61 73 73 6f ......................Uses.`asso
700e0 63 60 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e 0a 0a 20 20 20 20 28 26 68 61 73 68 20 c`.to.fetch.values.......(&hash.
70100 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 6e 64 20 76 61 6c 75 key0.a0.....keyN.aN).-.bind.valu
70120 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 20 20 20 20 20 20 20 e.mapped.by.keyK.in.the.........
70140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 73 6f 75 72 63 ..........................`sourc
70160 65 60 20 68 61 73 68 20 74 61 62 6c 65 20 74 6f 20 61 4b 2e 20 20 49 66 20 74 68 65 0a 20 20 20 e`.hash.table.to.aK...If.the....
70180 20 20 20 20 20 20 20 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
701a0 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....
701c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
701e0 55 73 65 73 20 60 67 65 74 68 61 73 68 60 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e 0a Uses.`gethash`.to.fetch.values..
70200 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 73 20 .Further,.special.keyword.&keys.
70220 73 75 70 70 6f 72 74 73 20 22 69 6e 6c 69 6e 65 22 20 6d 61 74 63 68 69 6e 67 20 6f 66 0a 70 6c supports."inline".matching.of.pl
70240 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 6d 69 6c 61 ist-like.key-value.pairs,.simila
70260 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 64 65 66 75 rly.to.&keys.keyword.of.`cl-defu
70280 6e 60 2e 0a 0a 20 20 20 20 28 61 31 20 61 32 20 2e 2e 2e 20 61 4e 20 26 6b 65 79 73 20 6b 65 79 n`.......(a1.a2.....aN.&keys.key
702a0 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 60 6e 1.b1.....keyN.bK)..This.binds.`n
702c0 60 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 `.values.from.the.list.to.a1....
702e0 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.
70300 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.
70320 61 62 6f 76 65 29 2e 0a 0a 60 61 60 20 73 68 6f 72 74 68 61 6e 64 20 6e 6f 74 61 74 69 6f 6e 20 above)...`a`.shorthand.notation.
70340 66 6f 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 for.kv-destructuring.exists.whic
70360 68 20 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 h.allows.the.patterns.be.optiona
70380 6c 6c 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 lly.left.out.and.derived.from.th
703a0 65 20 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 e.key.name.in.the.following.fash
703c0 69 6f 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 ion:..-.a.key.:foo.is.converted.
703e0 69 6e 74 6f 20 60 66 6f 6f 60 20 70 61 74 74 65 72 6e 2c 0a 2d 20 61 20 6b 65 79 20 27 62 61 72 into.`foo`.pattern,.-.a.key.'bar
70400 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 60 62 61 72 60 20 70 61 74 74 65 72 6e .is.converted.into.`bar`.pattern
70420 2c 0a 2d 20 61 20 6b 65 79 20 22 62 61 7a 22 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 ,.-.a.key."baz".is.converted.int
70440 6f 20 60 62 61 7a 60 20 70 61 74 74 65 72 6e 2e 0a 0a 54 68 61 74 20 69 73 2c 20 74 68 65 20 65 o.`baz`.pattern...That.is,.the.e
70460 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 62 6f 75 ntire.value.under.the.key.is.bou
70480 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 74 68 6f nd.to.the.derived.variable.witho
704a0 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 0a 54 ut.any.further.destructuring...T
704c0 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 20 66 6f his.is.possible.only.when.the.fo
704e0 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 0a 76 61 rm.following.the.key.is.not.a.va
70500 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 6c 2c 20 lid.pattern.(i.e..not.a.symbol,.
70520 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 65 72 77 a.cons.cell.or.a.vector)..Otherw
70540 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 75 73 75 ise.the.matching.proceeds.as.usu
70560 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 73 70 65 al.and.in.case.of.an.invalid.spe
70580 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 74 68 65 c.fails.with.an.error...Thus.the
705a0 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 6f 6c 6c .patterns.are.normalized.as.foll
705c0 6f 77 73 3a 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 ows:.......;;.derive.all.the.mis
705e0 73 69 6e 67 20 70 61 74 74 65 72 6e 73 0a 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 sing.patterns......(&plist.:foo.
70600 27 62 61 72 20 22 62 61 7a 22 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 'bar."baz").=>.(&plist.:foo.foo.
70620 27 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.
70640 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 0a can.specify.some.but.not.others.
70660 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 27 62 61 72 20 65 78 70 6c 69 63 69 74 2d .....(&plist.:foo.'bar.explicit-
70680 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 27 62 61 72 20 65 78 bar).=>.(&plist.:foo.foo.'bar.ex
706a0 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 20 68 61 70 plicit-bar).......;;.nothing.hap
706c0 70 65 6e 73 2c 20 77 65 20 73 74 6f 72 65 20 3a 66 6f 6f 20 69 6e 20 78 0a 20 20 20 20 20 28 26 pens,.we.store.:foo.in.x......(&
706e0 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 3a 66 6f 6f 20 78 29 plist.:foo.x).=>.(&plist.:foo.x)
70700 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 65 20 6d 61 .......;;.nothing.happens,.we.ma
70720 74 63 68 20 72 65 63 75 72 73 69 76 65 6c 79 0a 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f tch.recursively......(&plist.:fo
70740 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 20 62 20 o.(a.b.c)).=>.(&plist.:foo.(a.b.
70760 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 75 73 69 c))..You.can.name.the.source.usi
70780 6e 67 20 74 68 65 20 73 79 6e 74 61 78 20 60 73 79 6d 62 6f 6c 60 20 26 61 73 20 60 70 61 74 74 ng.the.syntax.`symbol`.&as.`patt
707a0 65 72 6e 60 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 ern`..This.syntax.works.with.lis
707c0 74 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 ts.(proper.or.improper),.vectors
707e0 20 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 20 20 28 6c 69 .and.all.types.of.maps.......(li
70800 73 74 20 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 st.&as.a.b.c).(list.1.2.3)..bind
70820 73 20 60 61 60 20 74 6f 20 31 2c 20 60 62 60 20 74 6f 20 32 2c 20 60 63 60 20 74 6f 20 33 20 61 s.`a`.to.1,.`b`.to.2,.`c`.to.3.a
70840 6e 64 20 60 6c 69 73 74 60 20 74 6f 20 28 31 20 32 20 33 29 2e 0a 0a 53 69 6d 69 6c 61 72 6c 79 nd.`list`.to.(1.2.3)...Similarly
70860 3a 0a 0a 20 20 20 20 28 62 6f 75 6e 64 73 20 26 61 73 20 62 65 67 20 2e 20 65 6e 64 29 20 28 63 :......(bounds.&as.beg...end).(c
70880 6f 6e 73 20 31 20 32 29 0a 0a 62 69 6e 64 73 20 60 62 65 67 60 20 74 6f 20 31 2c 20 60 65 6e 64 ons.1.2)..binds.`beg`.to.1,.`end
708a0 60 20 74 6f 20 32 20 61 6e 64 20 60 62 6f 75 6e 64 73 60 20 74 6f 20 28 31 20 2e 20 32 29 2e 0a `.to.2.and.`bounds`.to.(1...2)..
708c0 0a 20 20 20 20 28 69 74 65 6d 73 20 26 61 73 20 66 69 72 73 74 20 2e 20 72 65 73 74 29 20 28 6c .....(items.&as.first...rest).(l
708e0 69 73 74 20 31 20 32 20 33 29 0a 0a 62 69 6e 64 73 20 60 66 69 72 73 74 60 20 74 6f 20 31 2c 20 ist.1.2.3)..binds.`first`.to.1,.
70900 60 72 65 73 74 60 20 74 6f 20 28 32 20 33 29 20 61 6e 64 20 60 69 74 65 6d 73 60 20 74 6f 20 28 `rest`.to.(2.3).and.`items`.to.(
70920 31 20 32 20 33 29 0a 0a 20 20 20 20 5b 76 65 63 74 20 26 61 73 20 5f 20 62 20 63 5d 20 5b 31 20 1.2.3)......[vect.&as._.b.c].[1.
70940 32 20 33 5d 0a 0a 62 69 6e 64 73 20 60 62 60 20 74 6f 20 32 2c 20 60 63 60 20 74 6f 20 33 20 61 2.3]..binds.`b`.to.2,.`c`.to.3.a
70960 6e 64 20 60 76 65 63 74 60 20 74 6f 20 5b 31 20 32 20 33 5d 20 28 5f 20 61 76 6f 69 64 73 20 62 nd.`vect`.to.[1.2.3].(_.avoids.b
70980 69 6e 64 69 6e 67 20 61 73 20 75 73 75 61 6c 29 2e 0a 0a 20 20 20 20 28 70 6c 69 73 74 20 26 61 inding.as.usual).......(plist.&a
709a0 73 20 26 70 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 s.&plist.:b.b).(list.:a.1.:b.2.:
709c0 63 20 33 29 0a 0a 62 69 6e 64 73 20 60 62 60 20 74 6f 20 32 20 61 6e 64 20 60 70 6c 69 73 74 60 c.3)..binds.`b`.to.2.and.`plist`
709e0 20 74 6f 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 .to.(:a.1.:b.2.:c.3)...Same.for.
70a00 26 61 6c 69 73 74 20 61 6e 64 20 26 68 61 73 68 2e 0a 0a 54 68 69 73 20 69 73 20 65 73 70 65 63 &alist.and.&hash...This.is.espec
70a20 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 20 74 6f 20 63 61 70 ially.useful.when.we.want.to.cap
70a40 74 75 72 65 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 0a 63 6f 6d 70 75 74 61 74 69 6f 6e ture.the.result.of.a.computation
70a60 20 61 6e 64 20 64 65 73 74 72 75 63 74 75 72 65 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d .and.destructure.at.the.same.tim
70a80 65 2e 20 20 43 6f 6e 73 69 64 65 72 20 74 68 65 0a 66 6f 72 6d 20 28 66 75 6e 63 74 69 6f 6e 2d e...Consider.the.form.(function-
70aa0 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 20 72 65 74 returning-complex-structure).ret
70ac0 75 72 6e 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 0a 74 77 6f 20 76 65 63 74 6f 72 73 20 77 69 74 urning.a.list.of.two.vectors.wit
70ae0 68 20 74 77 6f 20 69 74 65 6d 73 20 65 61 63 68 2e 20 20 57 65 20 77 61 6e 74 20 74 6f 20 63 61 h.two.items.each...We.want.to.ca
70b00 70 74 75 72 65 20 74 68 69 73 20 65 6e 74 69 72 65 0a 72 65 73 75 6c 74 20 61 6e 64 20 70 61 73 pture.this.entire.result.and.pas
70b20 73 20 69 74 20 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 s.it.to.another.computation,.but
70b40 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 0a 77 65 20 77 61 6e 74 20 74 6f 20 67 65 74 .at.the.same.time.we.want.to.get
70b60 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
70b80 72 2e 20 20 57 65 20 63 61 6e 20 61 63 68 69 65 76 65 0a 69 74 20 77 69 74 68 20 70 61 74 74 65 r...We.can.achieve.it.with.patte
70ba0 72 6e 0a 0a 20 20 20 20 28 72 65 73 75 6c 74 20 26 61 73 20 5b 5f 20 61 5d 20 5b 5f 20 62 5d 29 rn......(result.&as.[_.a].[_.b])
70bc0 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 65 78 2d 73 74 72 .(function-returning-complex-str
70be0 75 63 74 75 72 65 29 0a 0a 4e 6f 74 65 3a 20 43 6c 6f 6a 75 72 65 20 70 72 6f 67 72 61 6d 6d 65 ucture)..Note:.Clojure.programme
70c00 72 73 20 6d 61 79 20 6b 6e 6f 77 20 74 68 69 73 20 66 65 61 74 75 72 65 20 61 73 20 74 68 65 20 rs.may.know.this.feature.as.the.
70c20 22 3a 61 73 0a 62 69 6e 64 69 6e 67 22 2e 20 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 69 ":as.binding"...The.difference.i
70c40 73 20 74 68 61 74 20 77 65 20 70 75 74 20 74 68 65 20 26 61 73 20 61 74 20 74 68 65 20 66 72 6f s.that.we.put.the.&as.at.the.fro
70c60 6e 74 0a 62 65 63 61 75 73 65 20 77 65 20 6e 65 65 64 20 74 6f 20 73 75 70 70 6f 72 74 20 69 6d nt.because.we.need.to.support.im
70c80 70 72 6f 70 65 72 20 6c 69 73 74 20 62 69 6e 64 69 6e 67 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6c 65 proper.list.binding...```el.(-le
70ca0 74 20 28 28 5b 61 20 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 t.(([a.(b.c).d].[1.(2.3).4])).(l
70cc0 69 73 74 20 61 20 62 20 63 20 64 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 29 0a 28 2d ist.a.b.c.d)).;;.=>.(1.2.3.4).(-
70ce0 6c 65 74 20 5b 28 61 20 62 20 63 20 2e 20 64 29 20 28 6c 69 73 74 20 31 20 32 20 33 20 34 20 35 let.[(a.b.c...d).(list.1.2.3.4.5
70d00 20 36 29 5d 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 .6)].(list.a.b.c.d)).;;.=>.(1.2.
70d20 33 20 28 34 20 35 20 36 29 29 0a 28 2d 6c 65 74 20 5b 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 3.(4.5.6)).(-let.[(&plist.:foo.f
70d40 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 66 6f 6f 20 31 oo.:bar.bar).(list.:baz.3.:foo.1
70d60 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 62 61 72 29 29 .:qux.4.:bar.2)].(list.foo.bar))
70d80 20 3b 3b 20 3d 3e 20 28 31 20 32 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6c 65 74 2a 20 60 28 76 .;;.=>.(1.2).```..####.-let*.`(v
70da0 61 72 6c 69 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a 0a 42 69 6e 64 20 76 61 72 69 61 62 arlist.&rest.body)`..Bind.variab
70dc0 6c 65 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 60 76 61 72 6c 69 73 74 60 20 74 68 65 6e 20 les.according.to.`varlist`.then.
70de0 65 76 61 6c 20 60 62 6f 64 79 60 2e 0a 0a 60 76 61 72 6c 69 73 74 60 20 69 73 20 61 20 6c 69 73 eval.`body`...`varlist`.is.a.lis
70e00 74 20 6f 66 20 6c 69 73 74 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 60 70 61 74 74 65 72 6e t.of.lists.of.the.form.(`pattern
70e20 60 20 60 73 6f 75 72 63 65 60 29 2e 20 20 45 61 63 68 0a 60 70 61 74 74 65 72 6e 60 20 69 73 20 `.`source`)...Each.`pattern`.is.
70e40 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 74 68 65 20 60 73 6f 75 72 63 65 60 20 73 74 72 matched.against.the.`source`.str
70e60 75 63 74 75 72 61 6c 6c 79 2e 20 20 60 73 6f 75 72 63 65 60 20 69 73 0a 6f 6e 6c 79 20 65 76 61 ucturally...`source`.is.only.eva
70e80 6c 75 61 74 65 64 20 6f 6e 63 65 20 66 6f 72 20 65 61 63 68 20 60 70 61 74 74 65 72 6e 60 2e 0a luated.once.for.each.`pattern`..
70ea0 0a 45 61 63 68 20 60 73 6f 75 72 63 65 60 20 63 61 6e 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 .Each.`source`.can.refer.to.the.
70ec0 73 79 6d 62 6f 6c 73 20 61 6c 72 65 61 64 79 20 62 6f 75 6e 64 20 62 79 20 74 68 69 73 0a 60 76 symbols.already.bound.by.this.`v
70ee0 61 72 6c 69 73 74 60 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 69 66 20 79 6f 75 20 arlist`...This.is.useful.if.you.
70f00 77 61 6e 74 20 74 6f 20 64 65 73 74 72 75 63 74 75 72 65 20 60 73 6f 75 72 63 65 60 0a 72 65 63 want.to.destructure.`source`.rec
70f20 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 61 6d 65 20 74 ursively.but.also.want.to.name.t
70f40 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 0a 0a 53 65 65 he.intermediate.structures...See
70f60 20 5b 60 2d 6c 65 74 60 5d 28 23 2d 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 .[`-let`](#-let-varlist-rest-bod
70f80 79 29 20 66 6f 72 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 20 y).for.the.list.of.all.possible.
70fa0 70 61 74 74 65 72 6e 73 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6c 65 74 2a 20 28 28 28 61 20 2e 20 62 patterns...```el.(-let*.(((a...b
70fc0 29 20 28 63 6f 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 ).(cons.1.2)).((c...d).(cons.3.4
70fe0 29 29 29 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 ))).(list.a.b.c.d)).;;.=>.(1.2.3
71000 20 34 29 0a 28 2d 6c 65 74 2a 20 28 28 28 61 20 2e 20 62 29 20 28 63 6f 6e 73 20 31 20 28 63 6f .4).(-let*.(((a...b).(cons.1.(co
71020 6e 73 20 32 20 33 29 29 29 20 28 28 63 20 2e 20 64 29 20 62 29 29 20 28 6c 69 73 74 20 61 20 62 ns.2.3))).((c...d).b)).(list.a.b
71040 20 63 20 64 29 29 20 3b 3b 20 3d 3e 20 28 31 20 28 32 20 2e 20 33 29 20 32 20 33 29 0a 28 2d 6c .c.d)).;;.=>.(1.(2...3).2.3).(-l
71060 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 62 61 72 22 20 62 61 et*.(((&alist."foo".foo."bar".ba
71080 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 63 6f 6e 73 20 22 62 r).(list.(cons."foo".1).(cons."b
710a0 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 61 20 62 20 63 29 20 ar".(list.'a.'b.'c)))).((a.b.c).
710c0 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 29 29 20 3b 3b 20 3d bar)).(list.foo.a.b.c.bar)).;;.=
710e0 3e 20 28 31 20 61 20 62 20 63 20 28 61 20 62 20 63 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6c >.(1.a.b.c.(a.b.c)).```..####.-l
71100 61 6d 62 64 61 20 60 28 6d 61 74 63 68 2d 66 6f 72 6d 20 26 72 65 73 74 20 62 6f 64 79 29 60 0a ambda.`(match-form.&rest.body)`.
71120 0a 52 65 74 75 72 6e 20 61 20 6c 61 6d 62 64 61 20 77 68 69 63 68 20 64 65 73 74 72 75 63 74 75 .Return.a.lambda.which.destructu
71140 72 65 73 20 69 74 73 20 69 6e 70 75 74 20 61 73 20 60 6d 61 74 63 68 2d 66 6f 72 6d 60 20 61 6e res.its.input.as.`match-form`.an
71160 64 20 65 78 65 63 75 74 65 73 20 60 62 6f 64 79 60 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 79 6f d.executes.`body`...Note.that.yo
71180 75 20 68 61 76 65 20 74 6f 20 65 6e 63 6c 6f 73 65 20 74 68 65 20 60 6d 61 74 63 68 2d 66 6f 72 u.have.to.enclose.the.`match-for
711a0 6d 60 20 69 6e 20 61 20 70 61 69 72 20 6f 66 20 70 61 72 65 6e 73 2c 0a 73 75 63 68 20 74 68 61 m`.in.a.pair.of.parens,.such.tha
711c0 74 3a 0a 0a 20 20 20 20 28 2d 6c 61 6d 62 64 61 20 28 78 29 20 62 6f 64 79 29 0a 20 20 20 20 28 t:......(-lambda.(x).body).....(
711e0 2d 6c 61 6d 62 64 61 20 28 78 20 79 20 2e 2e 2e 29 20 62 6f 64 79 29 0a 0a 68 61 73 20 74 68 65 -lambda.(x.y....).body)..has.the
71200 20 75 73 75 61 6c 20 73 65 6d 61 6e 74 69 63 73 20 6f 66 20 60 6c 61 6d 62 64 61 60 2e 20 20 46 .usual.semantics.of.`lambda`...F
71220 75 72 74 68 65 72 6d 6f 72 65 2c 20 74 68 65 73 65 20 67 65 74 0a 74 72 61 6e 73 6c 61 74 65 64 urthermore,.these.get.translated
71240 20 69 6e 74 6f 20 6e 6f 72 6d 61 6c 20 60 6c 61 6d 62 64 61 60 2c 20 73 6f 20 74 68 65 72 65 20 .into.normal.`lambda`,.so.there.
71260 69 73 20 6e 6f 20 70 65 72 66 6f 72 6d 61 6e 63 65 0a 70 65 6e 61 6c 74 79 2e 0a 0a 53 65 65 20 is.no.performance.penalty...See.
71280 5b 60 2d 6c 65 74 60 5d 28 23 2d 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 [`-let`](#-let-varlist-rest-body
712a0 29 20 66 6f 72 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 64 65 73 74 72 ).for.a.description.of.the.destr
712c0 75 63 74 75 72 69 6e 67 20 6d 65 63 68 61 6e 69 73 6d 2e 0a 0a 60 60 60 65 6c 0a 28 2d 6d 61 70 ucturing.mechanism...```el.(-map
712e0 20 28 2d 6c 61 6d 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 .(-lambda.((x.y)).(+.x.y)).'((1.
71300 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 29 20 3b 3b 20 3d 3e 20 28 33 20 37 20 31 31 29 0a 2).(3.4).(5.6))).;;.=>.(3.7.11).
71320 28 2d 6d 61 70 20 28 2d 6c 61 6d 62 64 61 20 28 5b 78 20 79 5d 29 20 28 2b 20 78 20 79 29 29 20 (-map.(-lambda.([x.y]).(+.x.y)).
71340 27 28 5b 31 20 32 5d 20 5b 33 20 34 5d 20 5b 35 20 36 5d 29 29 20 3b 3b 20 3d 3e 20 28 33 20 37 '([1.2].[3.4].[5.6])).;;.=>.(3.7
71360 20 31 31 29 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6c 61 6d 62 64 61 20 28 28 5f 20 2e 20 61 29 20 .11).(funcall.(-lambda.((_...a).
71380 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 31 20 32 20 33 29 (_...b)).(-concat.a.b)).'(1.2.3)
713a0 20 27 28 34 20 35 20 36 29 29 20 3b 3b 20 3d 3e 20 28 32 20 33 20 35 20 36 29 0a 60 60 60 0a 0a .'(4.5.6)).;;.=>.(2.3.5.6).```..
713c0 23 23 23 23 20 2d 73 65 74 71 20 60 28 5b 6d 61 74 63 68 2d 66 6f 72 6d 20 76 61 6c 5d 20 2e 2e ####.-setq.`([match-form.val]...
713e0 2e 29 60 0a 0a 42 69 6e 64 20 65 61 63 68 20 60 6d 61 74 63 68 2d 66 6f 72 6d 60 20 74 6f 20 74 .)`..Bind.each.`match-form`.to.t
71400 68 65 20 76 61 6c 75 65 20 6f 66 20 69 74 73 20 60 76 61 6c 60 2e 0a 0a 60 6d 61 74 63 68 2d 66 he.value.of.its.`val`...`match-f
71420 6f 72 6d 60 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 orm`.destructuring.is.done.accor
71440 64 69 6e 67 20 74 6f 20 74 68 65 20 72 75 6c 65 73 20 6f 66 20 5b 60 2d 6c 65 74 60 5d 28 23 2d ding.to.the.rules.of.[`-let`](#-
71460 6c 65 74 2d 76 61 72 6c 69 73 74 2d 72 65 73 74 2d 62 6f 64 79 29 2e 0a 0a 54 68 69 73 20 6d 61 let-varlist-rest-body)...This.ma
71480 63 72 6f 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 62 69 6e 64 20 6d 75 6c 74 69 70 6c 65 20 cro.allows.you.to.bind.multiple.
714a0 76 61 72 69 61 62 6c 65 73 20 62 79 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 0a 74 68 65 20 76 variables.by.destructuring.the.v
714c0 61 6c 75 65 2c 20 73 6f 20 66 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 20 20 28 2d 73 65 74 alue,.so.for.example:......(-set
714e0 71 20 28 61 20 62 29 20 78 0a 20 20 20 20 20 20 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a 63 20 q.(a.b).x............(&plist.:c.
71500 63 29 20 70 6c 69 73 74 29 0a 0a 65 78 70 61 6e 64 73 20 72 6f 75 67 68 6c 79 20 73 70 65 61 6b c).plist)..expands.roughly.speak
71520 69 6e 67 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 0a 0a 20 20 20 20 28 ing.to.the.following.code......(
71540 73 65 74 71 20 61 20 28 63 61 72 20 78 29 0a 20 20 20 20 20 20 20 20 20 20 62 20 28 63 61 64 72 setq.a.(car.x)...........b.(cadr
71560 20 78 29 0a 20 20 20 20 20 20 20 20 20 20 63 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 .x)...........c.(plist-get.plist
71580 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 76 61 .:c))..Care.is.taken.to.only.eva
715a0 6c 75 61 74 65 20 65 61 63 68 20 60 76 61 6c 60 20 6f 6e 63 65 20 73 6f 20 74 68 61 74 20 69 6e luate.each.`val`.once.so.that.in
715c0 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
715e0 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.
71600 65 66 66 65 63 74 73 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 74 20 28 61 29 20 28 2d 73 65 74 71 20 effects...```el.(let.(a).(-setq.
71620 61 20 31 29 20 61 29 20 3b 3b 20 3d 3e 20 31 0a 28 6c 65 74 20 28 61 20 62 29 20 28 2d 73 65 74 a.1).a).;;.=>.1.(let.(a.b).(-set
71640 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 61 20 62 29 29 20 q.(a.b).(list.1.2)).(list.a.b)).
71660 3b 3b 20 3d 3e 20 28 31 20 32 29 0a 28 6c 65 74 20 28 63 29 20 28 2d 73 65 74 71 20 28 26 70 6c ;;.=>.(1.2).(let.(c).(-setq.(&pl
71680 69 73 74 20 3a 63 20 63 29 20 28 6c 69 73 74 20 3a 63 20 22 63 22 29 29 20 63 29 20 3b 3b 20 3d ist.:c.c).(list.:c."c")).c).;;.=
716a0 3e 20 22 63 22 0a 60 60 60 0a 0a 23 23 20 53 69 64 65 20 65 66 66 65 63 74 73 0a 0a 46 75 6e 63 >."c".```..##.Side.effects..Func
716c0 74 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 tions.iterating.over.lists.for.s
716e0 69 64 65 20 65 66 66 65 63 74 20 6f 6e 6c 79 2e 0a 0a 23 23 23 23 20 2d 65 61 63 68 20 60 28 6c ide.effect.only...####.-each.`(l
71700 69 73 74 20 66 6e 29 60 0a 0a 43 61 6c 6c 20 60 66 6e 60 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d ist.fn)`..Call.`fn`.on.each.elem
71720 65 6e 74 20 6f 66 20 60 6c 69 73 74 60 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 ent.of.`list`..Return.nil;.this.
71740 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 65 20 65 66 function.is.intended.for.side.ef
71760 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 72 70 61 72 fects...Its.anaphoric.counterpar
71780 74 20 69 73 20 60 2d 2d 65 61 63 68 60 2e 0a 0a 46 6f 72 20 61 63 63 65 73 73 20 74 6f 20 74 68 t.is.`--each`...For.access.to.th
717a0 65 20 63 75 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 60 6c 69 e.current.element's.index.in.`li
717c0 73 74 60 2c 20 73 65 65 0a 5b 60 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 60 5d 28 23 2d 65 61 63 st`,.see.[`-each-indexed`](#-eac
717e0 68 2d 69 6e 64 65 78 65 64 2d 6c 69 73 74 2d 66 6e 29 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 74 20 h-indexed-list-fn)...```el.(let.
71800 28 6c 29 20 28 2d 65 61 63 68 20 27 28 31 20 32 20 33 29 20 28 6c 61 6d 62 64 61 20 28 78 29 20 (l).(-each.'(1.2.3).(lambda.(x).
71820 28 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 33 20 32 20 31 29 0a 28 6c (push.x.l))).l).;;.=>.(3.2.1).(l
71840 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 74 et.(l).(--each.'(1.2.3).(push.it
71860 20 6c 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 33 20 32 20 31 29 0a 28 2d 65 61 63 68 20 27 28 31 .l)).l).;;.=>.(3.2.1).(-each.'(1
71880 20 32 20 33 29 20 23 27 69 64 65 6e 74 69 74 79 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a .2.3).#'identity).;;.=>.nil.```.
718a0 0a 23 23 23 23 20 2d 65 61 63 68 2d 77 68 69 6c 65 20 60 28 6c 69 73 74 20 70 72 65 64 20 66 6e .####.-each-while.`(list.pred.fn
718c0 29 60 0a 0a 43 61 6c 6c 20 60 66 6e 60 20 6f 6e 20 65 61 63 68 20 60 69 74 65 6d 60 20 69 6e 20 )`..Call.`fn`.on.each.`item`.in.
718e0 60 6c 69 73 74 60 2c 20 77 68 69 6c 65 20 28 60 70 72 65 64 60 20 60 69 74 65 6d 60 29 20 69 73 `list`,.while.(`pred`.`item`).is
71900 20 6e 6f 6e 2d 6e 69 6c 2e 0a 4f 6e 63 65 20 61 6e 20 60 69 74 65 6d 60 20 69 73 20 72 65 61 63 .non-nil..Once.an.`item`.is.reac
71920 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 75 72 6e 73 20 6e 69 6c hed.for.which.`pred`.returns.nil
71940 2c 20 60 66 6e 60 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 ,.`fn`.is.no.longer.called...Ret
71960 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 20 69 6e 74 65 6e 64 urn.nil;.this.function.is.intend
71980 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 20 61 6e 61 70 68 6f ed.for.side.effects...Its.anapho
719a0 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 68 2d 77 68 69 6c 65 ric.counterpart.is.`--each-while
719c0 60 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 77 68 69 6c 65 20 `...```el.(let.(l).(-each-while.
719e0 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 78 29 20 28 '(2.4.5.6).#'even?.(lambda.(x).(
71a00 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 34 20 32 29 0a 28 6c 65 74 20 push.x.l))).l).;;.=>.(4.2).(let.
71a20 28 6c 29 20 28 2d 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 (l).(--each-while.'(1.2.3.4).(<.
71a40 69 74 20 33 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 32 20 31 it.3).(push.it.l)).l).;;.=>.(2.1
71a60 29 0a 28 6c 65 74 20 28 28 73 20 30 29 29 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 27 28 31 ).(let.((s.0)).(--each-while.'(1
71a80 20 33 20 34 20 35 29 20 28 3c 20 69 74 20 35 29 20 28 73 65 74 71 20 73 20 28 2b 20 73 20 69 74 .3.4.5).(<.it.5).(setq.s.(+.s.it
71aa0 29 29 29 20 73 29 20 3b 3b 20 3d 3e 20 38 0a 60 60 60 0a 0a 23 23 23 23 20 2d 65 61 63 68 2d 69 ))).s).;;.=>.8.```..####.-each-i
71ac0 6e 64 65 78 65 64 20 60 28 6c 69 73 74 20 66 6e 29 60 0a 0a 43 61 6c 6c 20 60 66 6e 60 20 6f 6e ndexed.`(list.fn)`..Call.`fn`.on
71ae0 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 60 6c 69 73 74 .each.index.and.element.of.`list
71b00 60 2e 0a 46 6f 72 20 65 61 63 68 20 60 69 74 65 6d 60 20 61 74 20 60 69 6e 64 65 78 60 20 69 6e `..For.each.`item`.at.`index`.in
71b20 20 60 6c 69 73 74 60 2c 20 63 61 6c 6c 20 28 66 75 6e 63 61 6c 6c 20 60 66 6e 60 20 60 69 6e 64 .`list`,.call.(funcall.`fn`.`ind
71b40 65 78 60 20 60 69 74 65 6d 60 29 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 ex`.`item`)..Return.nil;.this.fu
71b60 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 65 20 65 66 66 65 nction.is.intended.for.side.effe
71b80 63 74 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 6d 61 70 2d 69 6e 64 65 78 65 64 60 5d cts...See.also:.[`-map-indexed`]
71ba0 28 23 2d 6d 61 70 2d 69 6e 64 65 78 65 64 2d 66 6e 2d 6c 69 73 74 29 2e 0a 0a 60 60 60 65 6c 0a (#-map-indexed-fn-list)...```el.
71bc0 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 27 28 61 20 62 20 63 29 (let.(l).(-each-indexed.'(a.b.c)
71be0 20 28 6c 61 6d 62 64 61 20 28 69 20 78 29 20 28 70 75 73 68 20 28 6c 69 73 74 20 78 20 69 29 20 .(lambda.(i.x).(push.(list.x.i).
71c00 6c 29 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 28 63 20 32 29 20 28 62 20 31 29 20 28 61 20 30 29 l))).l).;;.=>.((c.2).(b.1).(a.0)
71c20 29 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 27 28 61 20 62 ).(let.(l).(--each-indexed.'(a.b
71c40 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 78 29 20 6c 29 29 .c).(push.(list.it.it-index).l))
71c60 20 6c 29 20 3b 3b 20 3d 3e 20 28 28 63 20 32 29 20 28 62 20 31 29 20 28 61 20 30 29 29 0a 28 6c .l).;;.=>.((c.2).(b.1).(a.0)).(l
71c80 65 74 20 28 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 et.(l).(--each-indexed.().(push.
71ca0 69 74 20 6c 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 65 61 it.l)).l).;;.=>.().```..####.-ea
71cc0 63 68 2d 72 20 60 28 6c 69 73 74 20 66 6e 29 60 0a 0a 43 61 6c 6c 20 60 66 6e 60 20 6f 6e 20 65 ch-r.`(list.fn)`..Call.`fn`.on.e
71ce0 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 6c 69 73 74 60 20 69 6e 20 72 65 76 65 72 73 65 ach.element.of.`list`.in.reverse
71d00 64 20 6f 72 64 65 72 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e 63 74 69 d.order..Return.nil;.this.functi
71d20 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 73 2e on.is.intended.for.side.effects.
71d40 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 20 60 ..Its.anaphoric.counterpart.is.`
71d60 2d 2d 65 61 63 68 2d 72 60 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 --each-r`...```el.(let.(l).(-eac
71d80 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 73 68 20 78 h-r.'(1.2.3).(lambda.(x).(push.x
71da0 20 6c 29 29 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 28 6c 65 74 20 28 6c 29 20 .l))).l).;;.=>.(1.2.3).(let.(l).
71dc0 28 2d 2d 65 61 63 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 (--each-r.'(1.2.3).(push.it.l)).
71de0 6c 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 29 0a 28 2d 65 61 63 68 2d 72 20 27 28 31 20 32 20 l).;;.=>.(1.2.3).(-each-r.'(1.2.
71e00 33 29 20 23 27 69 64 65 6e 74 69 74 79 29 20 3b 3b 20 3d 3e 20 6e 69 6c 0a 60 60 60 0a 0a 23 23 3).#'identity).;;.=>.nil.```..##
71e20 23 23 20 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 60 28 6c 69 73 74 20 70 72 65 64 20 66 6e 29 ##.-each-r-while.`(list.pred.fn)
71e40 60 0a 0a 43 61 6c 6c 20 60 66 6e 60 20 6f 6e 20 65 61 63 68 20 60 69 74 65 6d 60 20 69 6e 20 72 `..Call.`fn`.on.each.`item`.in.r
71e60 65 76 65 72 73 65 64 20 60 6c 69 73 74 60 2c 20 77 68 69 6c 65 20 28 60 70 72 65 64 60 20 60 69 eversed.`list`,.while.(`pred`.`i
71e80 74 65 6d 60 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 4f 6e 63 65 20 61 6e 20 60 69 74 65 6d 60 tem`).is.non-nil..Once.an.`item`
71ea0 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 60 70 72 65 64 60 20 72 65 74 .is.reached.for.which.`pred`.ret
71ec0 75 72 6e 73 20 6e 69 6c 2c 20 60 66 6e 60 20 69 73 20 6e 6f 0a 6c 6f 6e 67 65 72 20 63 61 6c 6c urns.nil,.`fn`.is.no.longer.call
71ee0 65 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 ed...Return.nil;.this.function.i
71f00 73 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 s.intended.for.side.effects...It
71f20 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 2d 2d 65 61 s.anaphoric.counterpart.is.`--ea
71f40 63 68 2d 72 2d 77 68 69 6c 65 60 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 74 20 28 6c 29 20 28 2d 65 ch-r-while`...```el.(let.(l).(-e
71f60 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 20 28 ach-r-while.'(2.4.5.6).#'even?.(
71f80 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 20 3b 3b 20 3d 3e lambda.(x).(push.x.l))).l).;;.=>
71fa0 20 28 36 29 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 27 28 .(6).(let.(l).(--each-r-while.'(
71fc0 31 20 32 20 33 20 34 29 20 28 3e 3d 20 69 74 20 33 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 1.2.3.4).(>=.it.3).(push.it.l)).
71fe0 6c 29 20 3b 3b 20 3d 3e 20 28 33 20 34 29 0a 28 6c 65 74 20 28 28 73 20 30 29 29 20 28 2d 2d 65 l).;;.=>.(3.4).(let.((s.0)).(--e
72000 61 63 68 2d 72 2d 77 68 69 6c 65 20 27 28 31 20 32 20 33 20 35 29 20 28 3e 20 69 74 20 31 29 20 ach-r-while.'(1.2.3.5).(>.it.1).
72020 28 73 65 74 71 20 73 20 28 2b 20 73 20 69 74 29 29 29 20 73 29 20 3b 3b 20 3d 3e 20 31 30 0a 60 (setq.s.(+.s.it))).s).;;.=>.10.`
72040 60 60 0a 0a 23 23 23 23 20 2d 64 6f 74 69 6d 65 73 20 60 28 6e 75 6d 20 66 6e 29 60 0a 0a 43 61 ``..####.-dotimes.`(num.fn)`..Ca
72060 6c 6c 20 60 66 6e 60 20 60 6e 75 6d 60 20 74 69 6d 65 73 2c 20 70 72 65 73 75 6d 61 62 6c 79 20 ll.`fn`.`num`.times,.presumably.
72080 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 60 66 6e 60 20 69 73 20 63 61 6c 6c 65 64 for.side.effects..`fn`.is.called
720a0 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 20 73 75 63 63 65 .with.a.single.argument.on.succe
720c0 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 6d 20 30 2c 20 69 ssive.integers.running.from.0,.i
720e0 6e 63 6c 75 73 69 76 65 2c 20 74 6f 20 60 6e 75 6d 60 2c 20 65 78 63 6c 75 73 69 76 65 2e 20 20 nclusive,.to.`num`,.exclusive...
72100 60 66 6e 60 20 69 73 20 6e 6f 74 20 63 61 6c 6c 65 64 0a 69 66 20 60 6e 75 6d 60 20 69 73 20 6c `fn`.is.not.called.if.`num`.is.l
72120 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
72140 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
72160 60 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 74 20 28 73 29 20 28 2d 64 6f 74 69 6d 65 73 20 33 20 28 `...```el.(let.(s).(-dotimes.3.(
72180 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 20 3b 3b 20 3d 3e lambda.(n).(push.n.s))).s).;;.=>
721a0 20 28 32 20 31 20 30 29 0a 28 6c 65 74 20 28 73 29 20 28 2d 64 6f 74 69 6d 65 73 20 30 20 28 6c .(2.1.0).(let.(s).(-dotimes.0.(l
721c0 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 20 3b 3b 20 3d 3e 20 ambda.(n).(push.n.s))).s).;;.=>.
721e0 28 29 0a 28 6c 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 ().(let.(s).(--dotimes.5.(push.i
72200 74 20 73 29 29 20 73 29 20 3b 3b 20 3d 3e 20 28 34 20 33 20 32 20 31 20 30 29 0a 60 60 60 0a 0a t.s)).s).;;.=>.(4.3.2.1.0).```..
72220 23 23 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 4d 61 63 72 6f ##.Destructive.operations..Macro
72240 73 20 74 68 61 74 20 6d 6f 64 69 66 79 20 76 61 72 69 61 62 6c 65 73 20 68 6f 6c 64 69 6e 67 20 s.that.modify.variables.holding.
72260 6c 69 73 74 73 2e 0a 0a 23 23 23 23 20 21 63 6f 6e 73 20 60 28 63 61 72 20 63 64 72 29 60 0a 0a lists...####.!cons.`(car.cdr)`..
72280 44 65 73 74 72 75 63 74 69 76 65 3a 20 53 65 74 20 60 63 64 72 60 20 74 6f 20 74 68 65 20 63 6f Destructive:.Set.`cdr`.to.the.co
722a0 6e 73 20 6f 66 20 60 63 61 72 60 20 61 6e 64 20 60 63 64 72 60 2e 0a 0a 60 60 60 65 6c 0a 28 6c ns.of.`car`.and.`cdr`...```el.(l
722c0 65 74 20 28 6c 29 20 28 21 63 6f 6e 73 20 35 20 6c 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 35 29 0a et.(l).(!cons.5.l).l).;;.=>.(5).
722e0 28 6c 65 74 20 28 28 6c 20 27 28 33 29 29 29 20 28 21 63 6f 6e 73 20 35 20 6c 29 20 6c 29 20 3b (let.((l.'(3))).(!cons.5.l).l).;
72300 3b 20 3d 3e 20 28 35 20 33 29 0a 60 60 60 0a 0a 23 23 23 23 20 21 63 64 72 20 60 28 6c 69 73 74 ;.=>.(5.3).```..####.!cdr.`(list
72320 29 60 0a 0a 44 65 73 74 72 75 63 74 69 76 65 3a 20 53 65 74 20 60 6c 69 73 74 60 20 74 6f 20 74 )`..Destructive:.Set.`list`.to.t
72340 68 65 20 63 64 72 20 6f 66 20 60 6c 69 73 74 60 2e 0a 0a 60 60 60 65 6c 0a 28 6c 65 74 20 28 28 he.cdr.of.`list`...```el.(let.((
72360 6c 20 27 28 33 29 29 29 20 28 21 63 64 72 20 6c 29 20 6c 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 6c l.'(3))).(!cdr.l).l).;;.=>.().(l
72380 65 74 20 28 28 6c 20 27 28 33 20 35 29 29 29 20 28 21 63 64 72 20 6c 29 20 6c 29 20 3b 3b 20 3d et.((l.'(3.5))).(!cdr.l).l).;;.=
723a0 3e 20 28 35 29 0a 60 60 60 0a 0a 23 23 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f >.(5).```..##.Function.combinato
723c0 72 73 0a 0a 46 75 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 rs..Functions.that.manipulate.an
723e0 64 20 63 6f 6d 70 6f 73 65 20 6f 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 23 23 23 23 d.compose.other.functions...####
72400 20 2d 70 61 72 74 69 61 6c 20 60 28 66 75 6e 20 26 72 65 73 74 20 61 72 67 73 29 60 0a 0a 52 65 .-partial.`(fun.&rest.args)`..Re
72420 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 74 69 61 turn.a.function.that.is.a.partia
72440 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 60 66 75 6e 60 20 74 6f 20 60 61 72 67 73 60 l.application.of.`fun`.to.`args`
72460 2e 0a 60 61 72 67 73 60 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 ..`args`.is.a.list.of.the.first.
72480 60 6e 60 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 70 61 73 73 20 74 6f 20 60 66 75 6e 60 2e 0a `n`.arguments.to.pass.to.`fun`..
724a0 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 6e 65 77 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 The.result.is.a.new.function.whi
724c0 63 68 20 64 6f 65 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 60 66 75 6e 60 2c 20 65 78 63 65 70 ch.does.the.same.as.`fun`,.excep
724e0 74 20 74 68 61 74 0a 74 68 65 20 66 69 72 73 74 20 60 6e 60 20 61 72 67 75 6d 65 6e 74 73 20 61 t.that.the.first.`n`.arguments.a
72500 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 74 68 20 77 68 69 63 re.fixed.at.the.values.with.whic
72520 68 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 77 61 73 20 63 61 6c 6c 65 64 2e 0a 0a 60 60 60 h.this.function.was.called...```
72540 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 27 2b 20 35 29 29 20 3b 3b el.(funcall.(-partial.#'+.5)).;;
72560 20 3d 3e 20 35 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 27 2d 20 35 29 20 .=>.5.(funcall.(-partial.#'-.5).
72580 33 29 20 3b 3b 20 3d 3e 20 32 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 27 3).;;.=>.2.(funcall.(-partial.#'
725a0 2b 20 35 20 32 29 20 33 29 20 3b 3b 20 3d 3e 20 31 30 0a 60 60 60 0a 0a 23 23 23 23 20 2d 72 70 +.5.2).3).;;.=>.10.```..####.-rp
725c0 61 72 74 69 61 6c 20 60 28 66 6e 20 26 72 65 73 74 20 61 72 67 73 29 60 0a 0a 52 65 74 75 72 6e artial.`(fn.&rest.args)`..Return
725e0 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 74 69 61 6c 20 61 70 .a.function.that.is.a.partial.ap
72600 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 60 66 6e 60 20 74 6f 20 60 61 72 67 73 60 2e 0a 60 61 72 plication.of.`fn`.to.`args`..`ar
72620 67 73 60 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6c 61 73 74 20 60 6e 60 20 61 72 gs`.is.a.list.of.the.last.`n`.ar
72640 67 75 6d 65 6e 74 73 20 74 6f 20 70 61 73 73 20 74 6f 20 60 66 6e 60 2e 20 20 54 68 65 20 72 65 guments.to.pass.to.`fn`...The.re
72660 73 75 6c 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 sult.is.a.new.function.which.doe
72680 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 60 66 6e 60 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 s.the.same.as.`fn`,.except.that.
726a0 74 68 65 20 6c 61 73 74 0a 60 6e 60 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 the.last.`n`.arguments.are.fixed
726c0 20 61 74 20 74 68 65 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 .at.the.values.with.which.this.f
726e0 75 6e 63 74 69 6f 6e 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 unction.was.called...This.is.lik
72700 65 20 5b 60 2d 70 61 72 74 69 61 6c 60 5d 28 23 2d 70 61 72 74 69 61 6c 2d 66 75 6e 2d 72 65 73 e.[`-partial`](#-partial-fun-res
72720 74 2d 61 72 67 73 29 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 t-args),.except.the.arguments.ar
72740 65 20 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 e.fixed.starting.from.the.right.
72760 72 61 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 6c 65 66 74 2e 0a 0a 60 60 60 65 6c 0a 28 66 75 rather.than.the.left...```el.(fu
72780 6e 63 61 6c 6c 20 28 2d 72 70 61 72 74 69 61 6c 20 23 27 2d 20 35 29 29 20 3b 3b 20 3d 3e 20 2d ncall.(-rpartial.#'-.5)).;;.=>.-
727a0 35 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 72 70 61 72 74 69 61 6c 20 23 27 2d 20 35 29 20 38 29 20 5.(funcall.(-rpartial.#'-.5).8).
727c0 3b 3b 20 3d 3e 20 33 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 72 70 61 72 74 69 61 6c 20 23 27 2d 20 ;;.=>.3.(funcall.(-rpartial.#'-.
727e0 35 20 32 29 20 31 30 29 20 3b 3b 20 3d 3e 20 33 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6a 75 78 74 5.2).10).;;.=>.3.```..####.-juxt
72800 20 60 28 26 72 65 73 74 20 66 6e 73 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f .`(&rest.fns)`..Return.a.functio
72820 6e 20 74 68 61 74 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 60 n.that.is.the.juxtaposition.of.`
72840 66 6e 73 60 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 fns`..The.returned.function.take
72860 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 60 61 72 67 73 60 2c 20 61 s.a.variable.number.of.`args`,.a
72880 70 70 6c 69 65 73 0a 65 61 63 68 20 6f 66 20 60 66 6e 73 60 20 69 6e 20 74 75 72 6e 20 74 6f 20 pplies.each.of.`fns`.in.turn.to.
728a0 60 61 72 67 73 60 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 `args`,.and.returns.the.list.of.
728c0 72 65 73 75 6c 74 73 2e 0a 0a 60 60 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6a 75 78 74 29 results...```el.(funcall.(-juxt)
728e0 20 31 20 32 29 20 3b 3b 20 3d 3e 20 28 29 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6a 75 78 74 20 23 .1.2).;;.=>.().(funcall.(-juxt.#
72900 27 2b 20 23 27 2d 20 23 27 2a 20 23 27 2f 29 20 37 20 35 29 20 3b 3b 20 3d 3e 20 28 31 32 20 32 '+.#'-.#'*.#'/).7.5).;;.=>.(12.2
72920 20 33 35 20 31 29 0a 28 6d 61 70 63 61 72 20 28 2d 6a 75 78 74 20 23 27 6e 75 6d 62 65 72 2d 74 .35.1).(mapcar.(-juxt.#'number-t
72940 6f 2d 73 74 72 69 6e 67 20 23 27 31 2b 29 20 27 28 31 20 32 29 29 20 3b 3b 20 3d 3e 20 28 28 22 o-string.#'1+).'(1.2)).;;.=>.(("
72960 31 22 20 32 29 20 28 22 32 22 20 33 29 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 6f 6d 70 6f 73 1".2).("2".3)).```..####.-compos
72980 65 20 60 28 26 72 65 73 74 20 66 6e 73 29 60 0a 0a 43 6f 6d 70 6f 73 65 20 60 66 6e 73 60 20 69 e.`(&rest.fns)`..Compose.`fns`.i
729a0 6e 74 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 nto.a.single.composite.function.
729c0 0a 52 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 .Return.a.function.that.takes.a.
729e0 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 60 61 72 67 73 60 2c 20 61 70 70 6c 69 variable.number.of.`args`,.appli
72a00 65 73 0a 74 68 65 20 6c 61 73 74 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 60 66 6e 73 60 20 74 6f es.the.last.function.in.`fns`.to
72a20 20 60 61 72 67 73 60 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 72 65 73 75 6c 74 20 .`args`,.and.returns.the.result.
72a40 6f 66 0a 63 61 6c 6c 69 6e 67 20 65 61 63 68 20 72 65 6d 61 69 6e 69 6e 67 20 66 75 6e 63 74 69 of.calling.each.remaining.functi
72a60 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 72 65 76 69 6f 75 73 on.on.the.result.of.the.previous
72a80 0a 66 75 6e 63 74 69 6f 6e 2c 20 72 69 67 68 74 2d 74 6f 2d 6c 65 66 74 2e 20 20 49 66 20 6e 6f .function,.right-to-left...If.no
72aa0 20 60 66 6e 73 60 20 61 72 65 20 67 69 76 65 6e 2c 20 72 65 74 75 72 6e 20 61 20 76 61 72 69 61 .`fns`.are.given,.return.a.varia
72ac0 64 69 63 0a 60 69 64 65 6e 74 69 74 79 60 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 60 60 60 65 6c 0a dic.`identity`.function...```el.
72ae0 28 66 75 6e 63 61 6c 6c 20 28 2d 63 6f 6d 70 6f 73 65 20 23 27 2d 20 23 27 31 2b 20 23 27 2b 29 (funcall.(-compose.#'-.#'1+.#'+)
72b00 20 31 20 32 20 33 29 20 3b 3b 20 3d 3e 20 2d 37 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 63 6f 6d 70 .1.2.3).;;.=>.-7.(funcall.(-comp
72b20 6f 73 65 20 23 27 69 64 65 6e 74 69 74 79 20 23 27 31 2b 29 20 33 29 20 3b 3b 20 3d 3e 20 34 0a ose.#'identity.#'1+).3).;;.=>.4.
72b40 28 6d 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 (mapcar.(-compose.#'not.#'string
72b60 70 29 20 27 28 6e 69 6c 20 22 22 29 29 20 3b 3b 20 3d 3e 20 28 74 20 6e 69 6c 29 0a 60 60 60 0a p).'(nil."")).;;.=>.(t.nil).```.
72b80 0a 23 23 23 23 20 2d 61 70 70 6c 69 66 79 20 60 28 66 6e 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 .####.-applify.`(fn)`..Return.a.
72ba0 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 70 70 6c 69 65 73 20 60 66 6e 60 20 74 6f 20 61 20 function.that.applies.`fn`.to.a.
72bc0 73 69 6e 67 6c 65 20 6c 69 73 74 20 6f 66 20 61 72 67 73 2e 0a 54 68 69 73 20 63 68 61 6e 67 65 single.list.of.args..This.change
72be0 73 20 74 68 65 20 61 72 69 74 79 20 6f 66 20 60 66 6e 60 20 66 72 6f 6d 20 74 61 6b 69 6e 67 20 s.the.arity.of.`fn`.from.taking.
72c00 60 6e 60 20 64 69 73 74 69 6e 63 74 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 0a 74 61 6b 69 6e 67 `n`.distinct.arguments.to.taking
72c20 20 31 20 61 72 67 75 6d 65 6e 74 20 77 68 69 63 68 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 60 .1.argument.which.is.a.list.of.`
72c40 6e 60 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 60 60 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d n`.arguments...```el.(funcall.(-
72c60 61 70 70 6c 69 66 79 20 23 27 2b 29 20 6e 69 6c 29 20 3b 3b 20 3d 3e 20 30 0a 28 6d 61 70 63 61 applify.#'+).nil).;;.=>.0.(mapca
72c80 72 20 28 2d 61 70 70 6c 69 66 79 20 23 27 2b 29 20 27 28 28 31 20 31 20 31 29 20 28 31 20 32 20 r.(-applify.#'+).'((1.1.1).(1.2.
72ca0 33 29 20 28 35 20 35 20 35 29 29 29 20 3b 3b 20 3d 3e 20 28 33 20 36 20 31 35 29 0a 28 66 75 6e 3).(5.5.5))).;;.=>.(3.6.15).(fun
72cc0 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 20 3b 3b 20 3d call.(-applify.#'<).'(3.6)).;;.=
72ce0 3e 20 74 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6f 6e 20 60 28 6f 70 20 74 72 61 6e 73 29 60 0a 0a >.t.```..####.-on.`(op.trans)`..
72d00 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 60 74 72 Return.a.function.that.calls.`tr
72d20 61 6e 73 60 20 6f 6e 20 65 61 63 68 20 61 72 67 20 61 6e 64 20 60 6f 70 60 20 6f 6e 20 74 68 65 ans`.on.each.arg.and.`op`.on.the
72d40 20 72 65 73 75 6c 74 73 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 .results..The.returned.function.
72d60 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d takes.a.variable.number.of.argum
72d80 65 6e 74 73 2c 20 63 61 6c 6c 73 0a 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 74 72 61 6e 73 60 ents,.calls.the.function.`trans`
72da0 20 6f 6e 20 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 20 70 .on.each.one.in.turn,.and.then.p
72dc0 61 73 73 65 73 20 74 68 6f 73 65 0a 72 65 73 75 6c 74 73 20 61 73 20 74 68 65 20 6c 69 73 74 20 asses.those.results.as.the.list.
72de0 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 60 6f 70 60 2c 20 69 6e 20 74 68 65 20 73 61 6d of.arguments.to.`op`,.in.the.sam
72e00 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 65 20 66 6f 6c 6c 6f e.order...For.example,.the.follo
72e20 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 20 61 72 65 20 6d 6f wing.pairs.of.expressions.are.mo
72e40 72 61 6c 6c 79 0a 65 71 75 69 76 61 6c 65 6e 74 3a 0a 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 rally.equivalent:......(funcall.
72e60 28 2d 6f 6e 20 23 27 2b 20 23 27 31 2b 29 20 31 20 32 20 33 29 20 3d 20 28 2b 20 28 31 2b 20 31 (-on.#'+.#'1+).1.2.3).=.(+.(1+.1
72e80 29 20 28 31 2b 20 32 29 20 28 31 2b 20 33 29 29 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d ).(1+.2).(1+.3)).....(funcall.(-
72ea0 6f 6e 20 23 27 2b 20 23 27 31 2b 29 29 20 20 20 20 20 20 20 3d 20 28 2b 29 0a 0a 60 60 60 65 6c on.#'+.#'1+)).......=.(+)..```el
72ec0 0a 28 2d 73 6f 72 74 20 28 2d 6f 6e 20 23 27 3c 20 23 27 6c 65 6e 67 74 68 29 20 27 28 28 31 20 .(-sort.(-on.#'<.#'length).'((1.
72ee0 32 20 33 29 20 28 31 29 20 28 31 20 32 29 29 29 20 3b 3b 20 3d 3e 20 28 28 31 29 20 28 31 20 32 2.3).(1).(1.2))).;;.=>.((1).(1.2
72f00 29 20 28 31 20 32 20 33 29 29 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6f 6e 20 23 27 6d 69 6e 20 23 ).(1.2.3)).(funcall.(-on.#'min.#
72f20 27 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 29 20 22 32 32 22 20 22 32 22 20 22 31 22 20 'string-to-number)."22"."2"."1".
72f40 22 31 32 22 29 20 3b 3b 20 3d 3e 20 31 0a 28 2d 6d 69 6e 2d 62 79 20 28 2d 6f 6e 20 23 27 3e 20 "12").;;.=>.1.(-min-by.(-on.#'>.
72f60 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 29 20 #'length).'((1.2.3).(4).(1.2))).
72f80 3b 3b 20 3d 3e 20 28 34 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 66 6c 69 70 20 60 28 66 6e 29 60 ;;.=>.(4).```..####.-flip.`(fn)`
72fa0 0a 0a 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 60 ..Return.a.function.that.calls.`
72fc0 66 6e 60 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 65 64 2e fn`.with.its.arguments.reversed.
72fe0 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 74 68 65 .The.returned.function.takes.the
73000 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 60 66 6e .same.number.of.arguments.as.`fn
73020 60 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 74 `...For.example,.the.following.t
73040 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 76 wo.expressions.are.morally.equiv
73060 61 6c 65 6e 74 3a 0a 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 66 6c 69 70 20 23 27 2d 29 alent:......(funcall.(-flip.#'-)
73080 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 5b 60 2d 72 6f .1.2).=.(-.2.1)..See.also:.[`-ro
730a0 74 61 74 65 2d 61 72 67 73 60 5d 28 23 2d 72 6f 74 61 74 65 2d 61 72 67 73 2d 6e 2d 66 6e 29 2e tate-args`](#-rotate-args-n-fn).
730c0 0a 0a 60 60 60 65 6c 0a 28 2d 73 6f 72 74 20 28 2d 66 6c 69 70 20 23 27 3c 29 20 27 28 34 20 33 ..```el.(-sort.(-flip.#'<).'(4.3
730e0 20 36 20 31 29 29 20 3b 3b 20 3d 3e 20 28 36 20 34 20 33 20 31 29 0a 28 66 75 6e 63 61 6c 6c 20 .6.1)).;;.=>.(6.4.3.1).(funcall.
73100 28 2d 66 6c 69 70 20 23 27 2d 29 20 33 20 32 20 31 20 31 30 29 20 3b 3b 20 3d 3e 20 34 0a 28 66 (-flip.#'-).3.2.1.10).;;.=>.4.(f
73120 75 6e 63 61 6c 6c 20 28 2d 66 6c 69 70 20 23 27 31 2b 29 20 31 29 20 3b 3b 20 3d 3e 20 32 0a 60 uncall.(-flip.#'1+).1).;;.=>.2.`
73140 60 60 0a 0a 23 23 23 23 20 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 60 28 6e 20 66 6e 29 60 0a 0a ``..####.-rotate-args.`(n.fn)`..
73160 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 60 66 6e Return.a.function.that.calls.`fn
73180 60 20 77 69 74 68 20 61 72 67 73 20 72 6f 74 61 74 65 64 20 60 6e 60 20 70 6c 61 63 65 73 20 74 `.with.args.rotated.`n`.places.t
731a0 6f 20 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 o.the.right..The.returned.functi
731c0 6f 6e 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 on.takes.the.same.number.of.argu
731e0 6d 65 6e 74 73 20 61 73 20 60 66 6e 60 2c 0a 72 6f 74 61 74 65 73 20 74 68 65 20 6c 69 73 74 20 ments.as.`fn`,.rotates.the.list.
73200 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 60 6e 60 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 of.arguments.`n`.places.to.the.r
73220 69 67 68 74 20 28 6c 65 66 74 20 69 66 20 60 6e 60 20 69 73 0a 6e 65 67 61 74 69 76 65 29 20 6a ight.(left.if.`n`.is.negative).j
73240 75 73 74 20 6c 69 6b 65 20 5b 60 2d 72 6f 74 61 74 65 60 5d 28 23 2d 72 6f 74 61 74 65 2d 6e 2d ust.like.[`-rotate`](#-rotate-n-
73260 6c 69 73 74 29 2c 20 61 6e 64 20 61 70 70 6c 69 65 73 20 60 66 6e 60 20 74 6f 20 74 68 65 20 72 list),.and.applies.`fn`.to.the.r
73280 65 73 75 6c 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 66 6c 69 70 60 5d 28 23 2d 66 6c esult...See.also:.[`-flip`](#-fl
732a0 69 70 2d 66 6e 29 2e 0a 0a 60 60 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 72 6f 74 61 74 65 ip-fn)...```el.(funcall.(-rotate
732c0 2d 61 72 67 73 20 2d 31 20 23 27 6c 69 73 74 29 20 31 20 32 20 33 20 34 29 20 3b 3b 20 3d 3e 20 -args.-1.#'list).1.2.3.4).;;.=>.
732e0 28 32 20 33 20 34 20 31 29 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 72 6f 74 61 74 65 2d 61 72 67 73 (2.3.4.1).(funcall.(-rotate-args
73300 20 31 20 23 27 2d 29 20 31 20 31 30 20 31 30 30 29 20 3b 3b 20 3d 3e 20 38 39 0a 28 66 75 6e 63 .1.#'-).1.10.100).;;.=>.89.(func
73320 61 6c 6c 20 28 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 32 20 23 27 6c 69 73 74 29 20 33 20 34 20 all.(-rotate-args.2.#'list).3.4.
73340 35 20 31 20 32 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 20 34 20 35 29 0a 60 60 60 0a 0a 23 23 5.1.2).;;.=>.(1.2.3.4.5).```..##
73360 23 23 20 2d 63 6f 6e 73 74 20 60 28 63 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 ##.-const.`(c)`..Return.a.functi
73380 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 60 63 60 20 69 67 6e 6f 72 69 6e 67 20 61 6e 79 on.that.returns.`c`.ignoring.any
733a0 20 61 64 64 69 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 49 6e 20 74 79 70 65 73 .additional.arguments...In.types
733c0 3a 20 61 20 2d 3e 20 62 20 2d 3e 20 61 0a 0a 60 60 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d :.a.->.b.->.a..```el.(funcall.(-
733e0 63 6f 6e 73 74 20 32 29 20 31 20 33 20 22 66 6f 6f 22 29 20 3b 3b 20 3d 3e 20 32 0a 28 6d 61 70 const.2).1.3."foo").;;.=>.2.(map
73400 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 20 22 64 22 car.(-const.1).'("a"."b"."c"."d"
73420 29 29 20 3b 3b 20 3d 3e 20 28 31 20 31 20 31 20 31 29 0a 28 2d 73 75 6d 20 28 6d 61 70 63 61 72 )).;;.=>.(1.1.1.1).(-sum.(mapcar
73440 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 20 22 64 22 29 29 29 .(-const.1).'("a"."b"."c"."d")))
73460 20 3b 3b 20 3d 3e 20 34 0a 60 60 60 0a 0a 23 23 23 23 20 2d 63 75 74 20 60 28 26 72 65 73 74 20 .;;.=>.4.```..####.-cut.`(&rest.
73480 70 61 72 61 6d 73 29 60 0a 0a 54 61 6b 65 20 6e 2d 61 72 79 20 66 75 6e 63 74 69 6f 6e 20 61 6e params)`..Take.n-ary.function.an
734a0 64 20 6e 20 61 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 d.n.arguments.and.specialize.som
734c0 65 20 6f 66 20 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 e.of.them..Arguments.denoted.by.
734e0 3c 3e 20 77 69 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 <>.will.be.left.unspecialized...
73500 53 65 65 20 60 73 72 66 69 2d 32 36 60 20 66 6f 72 20 64 65 74 61 69 6c 65 64 20 64 65 73 63 72 See.`srfi-26`.for.detailed.descr
73520 69 70 74 69 6f 6e 2e 0a 0a 60 60 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 63 75 74 20 6c 69 iption...```el.(funcall.(-cut.li
73540 73 74 20 31 20 3c 3e 20 33 20 3c 3e 20 35 29 20 32 20 34 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 st.1.<>.3.<>.5).2.4).;;.=>.(1.2.
73560 33 20 34 20 35 29 0a 28 2d 6d 61 70 20 28 2d 63 75 74 20 66 75 6e 63 61 6c 6c 20 3c 3e 20 35 29 3.4.5).(-map.(-cut.funcall.<>.5)
73580 20 60 28 31 2b 20 31 2d 20 2c 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2f 20 31 2e 30 20 78 29 29 .`(1+.1-.,(lambda.(x).(/.1.0.x))
735a0 29 29 20 3b 3b 20 3d 3e 20 28 36 20 34 20 30 2e 32 29 0a 28 2d 6d 61 70 20 28 2d 63 75 74 20 3c )).;;.=>.(6.4.0.2).(-map.(-cut.<
735c0 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 29 20 >.1.2.3).'(list.vector.string)).
735e0 3b 3b 20 3d 3e 20 28 28 31 20 32 20 33 29 20 5b 31 20 32 20 33 5d 20 22 5c 31 5c 32 5c 33 22 29 ;;.=>.((1.2.3).[1.2.3]."\1\2\3")
73600 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6e 6f 74 20 60 28 70 72 65 64 29 60 0a 0a 52 65 74 75 72 6e .```..####.-not.`(pred)`..Return
73620 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 61 74 20 6e 65 67 61 74 65 73 20 74 68 65 20 72 65 .a.predicate.that.negates.the.re
73640 73 75 6c 74 20 6f 66 20 60 70 72 65 64 60 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 sult.of.`pred`..The.returned.pre
73660 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 73 20 74 6f 20 60 dicate.passes.its.arguments.to.`
73680 70 72 65 64 60 2e 20 20 49 66 20 60 70 72 65 64 60 0a 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 74 pred`...If.`pred`.returns.nil,.t
736a0 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 65 20 he.result.is.non-nil;.otherwise.
736c0 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 5b 60 the.result.is.nil...See.also:.[`
736e0 2d 61 6e 64 66 6e 60 5d 28 23 2d 61 6e 64 66 6e 2d 72 65 73 74 2d 70 72 65 64 73 29 20 61 6e 64 -andfn`](#-andfn-rest-preds).and
73700 20 5b 60 2d 6f 72 66 6e 60 5d 28 23 2d 6f 72 66 6e 2d 72 65 73 74 2d 70 72 65 64 73 29 2e 0a 0a .[`-orfn`](#-orfn-rest-preds)...
73720 60 60 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6e 6f 74 20 23 27 6e 75 6d 62 65 72 70 29 20 ```el.(funcall.(-not.#'numberp).
73740 22 35 22 29 20 3b 3b 20 3d 3e 20 74 0a 28 2d 73 6f 72 74 20 28 2d 6e 6f 74 20 23 27 3c 29 20 27 "5").;;.=>.t.(-sort.(-not.#'<).'
73760 28 35 20 32 20 31 20 30 20 36 29 29 20 3b 3b 20 3d 3e 20 28 36 20 35 20 32 20 31 20 30 29 0a 28 (5.2.1.0.6)).;;.=>.(6.5.2.1.0).(
73780 2d 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 -filter.(-not.(-partial.#'<.4)).
737a0 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 20 33 '(1.2.3.4.5.6.7.8)).;;.=>.(1.2.3
737c0 20 34 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 6f 72 66 6e 20 60 28 26 72 65 73 74 20 70 72 65 64 .4).```..####.-orfn.`(&rest.pred
737e0 73 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 61 74 20 72 65 74 s)`..Return.a.predicate.that.ret
73800 75 72 6e 73 20 74 68 65 20 66 69 72 73 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 urns.the.first.non-nil.result.of
73820 20 60 70 72 65 64 73 60 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 .`preds`..The.returned.predicate
73840 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 6f 66 20 61 72 67 75 .takes.a.variable.number.of.argu
73860 6d 65 6e 74 73 2c 0a 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 ments,.passes.them.to.each.predi
73880 63 61 74 65 20 69 6e 20 60 70 72 65 64 73 60 20 69 6e 20 74 75 72 6e 20 75 6e 74 69 6c 20 6f 6e cate.in.`preds`.in.turn.until.on
738a0 65 20 6f 66 20 74 68 65 6d 0a 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 61 6e 64 20 72 e.of.them.returns.non-nil,.and.r
738c0 65 74 75 72 6e 73 20 74 68 61 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 77 69 74 68 6f eturns.that.non-nil.result.witho
738e0 75 74 20 63 61 6c 6c 69 6e 67 0a 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 60 70 72 65 64 73 60 ut.calling.the.remaining.`preds`
73900 2e 20 20 49 66 20 61 6c 6c 20 60 70 72 65 64 73 60 20 72 65 74 75 72 6e 20 6e 69 6c 2c 20 6f 72 ...If.all.`preds`.return.nil,.or
73920 20 69 66 20 6e 6f 20 60 70 72 65 64 73 60 20 61 72 65 0a 67 69 76 65 6e 2c 20 74 68 65 20 72 65 .if.no.`preds`.are.given,.the.re
73940 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 0a 53 turned.predicate.returns.nil...S
73960 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 61 6e 64 66 6e 60 5d 28 23 2d 61 6e 64 66 6e 2d 72 65 73 74 ee.also:.[`-andfn`](#-andfn-rest
73980 2d 70 72 65 64 73 29 20 61 6e 64 20 5b 60 2d 6e 6f 74 60 5d 28 23 2d 6e 6f 74 2d 70 72 65 64 29 -preds).and.[`-not`](#-not-pred)
739a0 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 69 6c 74 65 72 20 28 2d 6f 72 66 6e 20 23 27 6e 61 74 6e 75 ...```el.(-filter.(-orfn.#'natnu
739c0 6d 70 20 23 27 62 6f 6f 6c 65 61 6e 70 29 20 27 28 31 20 6e 69 6c 20 22 61 22 20 2d 34 20 62 20 mp.#'booleanp).'(1.nil."a".-4.b.
739e0 63 20 74 29 29 20 3b 3b 20 3d 3e 20 28 31 20 6e 69 6c 20 74 29 0a 28 66 75 6e 63 61 6c 6c 20 28 c.t)).;;.=>.(1.nil.t).(funcall.(
73a00 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 6d 61 74 -orfn.#'symbolp.(-cut.string-mat
73a20 63 68 2d 70 20 22 78 22 20 3c 3e 29 29 20 22 61 78 65 22 29 20 3b 3b 20 3d 3e 20 31 0a 28 66 75 ch-p."x".<>))."axe").;;.=>.1.(fu
73a40 6e 63 61 6c 6c 20 28 2d 6f 72 66 6e 20 23 27 3d 20 23 27 2b 29 20 31 20 31 29 20 3b 3b 20 3d 3e ncall.(-orfn.#'=.#'+).1.1).;;.=>
73a60 20 74 0a 60 60 60 0a 0a 23 23 23 23 20 2d 61 6e 64 66 6e 20 60 28 26 72 65 73 74 20 70 72 65 64 .t.```..####.-andfn.`(&rest.pred
73a80 73 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 61 74 20 72 65 74 s)`..Return.a.predicate.that.ret
73aa0 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 61 6c 6c 20 60 70 72 65 64 73 60 20 64 6f 20 73 urns.non-nil.if.all.`preds`.do.s
73ac0 6f 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 60 70 60 20 74 61 o..The.returned.predicate.`p`.ta
73ae0 6b 65 73 20 61 20 76 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 kes.a.variable.number.of.argumen
73b00 74 73 20 61 6e 64 0a 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 ts.and.passes.them.to.each.predi
73b20 63 61 74 65 20 69 6e 20 60 70 72 65 64 73 60 20 69 6e 20 74 75 72 6e 2e 20 20 49 66 20 61 6e 79 cate.in.`preds`.in.turn...If.any
73b40 20 6f 6e 65 20 6f 66 0a 60 70 72 65 64 73 60 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 60 70 60 .one.of.`preds`.returns.nil,.`p`
73b60 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 6c 6c 69 6e .also.returns.nil.without.callin
73b80 67 20 74 68 65 0a 72 65 6d 61 69 6e 69 6e 67 20 60 70 72 65 64 73 60 2e 20 20 49 66 20 61 6c 6c g.the.remaining.`preds`...If.all
73ba0 20 60 70 72 65 64 73 60 20 72 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 60 70 60 20 72 65 74 .`preds`.return.non-nil,.`p`.ret
73bc0 75 72 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 urns.the.last.such.value...If.no
73be0 20 60 70 72 65 64 73 60 20 61 72 65 20 67 69 76 65 6e 2c 20 60 70 60 20 61 6c 77 61 79 73 20 72 .`preds`.are.given,.`p`.always.r
73c00 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 5b 60 2d 6f 72 eturns.non-nil...See.also:.[`-or
73c20 66 6e 60 5d 28 23 2d 6f 72 66 6e 2d 72 65 73 74 2d 70 72 65 64 73 29 20 61 6e 64 20 5b 60 2d 6e fn`](#-orfn-rest-preds).and.[`-n
73c40 6f 74 60 5d 28 23 2d 6e 6f 74 2d 70 72 65 64 29 2e 0a 0a 60 60 60 65 6c 0a 28 2d 66 69 6c 74 65 ot`](#-not-pred)...```el.(-filte
73c60 72 20 28 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 r.(-andfn.#'numberp.(-cut.<.<>.5
73c80 29 29 20 27 28 61 20 31 20 62 20 36 20 63 20 32 29 29 20 3b 3b 20 3d 3e 20 28 31 20 32 29 0a 28 )).'(a.1.b.6.c.2)).;;.=>.(1.2).(
73ca0 6d 61 70 63 61 72 20 28 2d 61 6e 64 66 6e 20 23 27 6e 75 6d 62 65 72 70 20 23 27 31 2b 29 20 27 mapcar.(-andfn.#'numberp.#'1+).'
73cc0 28 61 20 31 20 62 20 36 29 29 20 3b 3b 20 3d 3e 20 28 6e 69 6c 20 32 20 6e 69 6c 20 37 29 0a 28 (a.1.b.6)).;;.=>.(nil.2.nil.7).(
73ce0 66 75 6e 63 61 6c 6c 20 28 2d 61 6e 64 66 6e 20 23 27 3d 20 23 27 2b 29 20 31 20 31 29 20 3b 3b funcall.(-andfn.#'=.#'+).1.1).;;
73d00 20 3d 3e 20 32 0a 60 60 60 0a 0a 23 23 23 23 20 2d 69 74 65 72 61 74 65 66 6e 20 60 28 66 6e 20 .=>.2.```..####.-iteratefn.`(fn.
73d20 6e 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 60 66 6e 60 20 63 6f 6d 70 n)`..Return.a.function.`fn`.comp
73d40 6f 73 65 64 20 60 6e 60 20 74 69 6d 65 73 20 77 69 74 68 20 69 74 73 65 6c 66 2e 0a 0a 60 66 6e osed.`n`.times.with.itself...`fn
73d60 60 20 69 73 20 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 `.is.a.unary.function...If.you.n
73d80 65 65 64 20 74 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 eed.to.use.a.function.of.higher.
73da0 61 72 69 74 79 2c 20 75 73 65 20 5b 60 2d 61 70 70 6c 69 66 79 60 5d 28 23 2d 61 70 70 6c 69 66 arity,.use.[`-applify`](#-applif
73dc0 79 2d 66 6e 29 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 y-fn).first.to.turn.it.into.a.un
73de0 61 72 79 20 66 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 ary.function...With.n.=.0,.this.
73e00 61 63 74 73 20 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 acts.as.identity.function...In.t
73e20 79 70 65 73 3a 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 ypes:.(a.->.a).->.Int.->.a.->.a.
73e40 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 66 6f ..This.function.satisfies.the.fo
73e60 6c 6c 6f 77 69 6e 67 20 6c 61 77 3a 0a 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 llowing.law:......(funcall.(-ite
73e80 72 61 74 65 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 ratefn.fn.n).init).=.(-last-item
73ea0 20 28 2d 69 74 65 72 61 74 65 20 66 6e 20 69 6e 69 74 20 28 31 2b 20 6e 29 29 29 2e 0a 0a 60 60 .(-iterate.fn.init.(1+.n)))...``
73ec0 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 28 6c 61 6d 62 64 61 `el.(funcall.(-iteratefn.(lambda
73ee0 20 28 78 29 20 28 2a 20 78 20 78 29 29 20 33 29 20 32 29 20 3b 3b 20 3d 3e 20 32 35 36 0a 28 66 .(x).(*.x.x)).3).2).;;.=>.256.(f
73f00 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 27 31 2b 20 33 29 20 31 29 20 3b 3b 20 uncall.(-iteratefn.'1+.3).1).;;.
73f20 3d 3e 20 34 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 27 63 64 72 20 33 =>.4.(funcall.(-iteratefn.'cdr.3
73f40 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 20 3b 3b 20 3d 3e 20 28 34 20 35 29 0a 60 60 60 0a ).'(1.2.3.4.5)).;;.=>.(4.5).```.
73f60 0a 23 23 23 23 20 2d 66 69 78 66 6e 20 60 28 66 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 65 71 75 61 .####.-fixfn.`(fn.&optional.equa
73f80 6c 2d 74 65 73 74 20 68 61 6c 74 2d 74 65 73 74 29 60 0a 0a 52 65 74 75 72 6e 20 61 20 66 75 6e l-test.halt-test)`..Return.a.fun
73fa0 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 73 74 29 20 ction.that.computes.the.(least).
73fc0 66 69 78 70 6f 69 6e 74 20 6f 66 20 60 66 6e 60 2e 0a 0a 60 66 6e 60 20 6d 75 73 74 20 62 65 20 fixpoint.of.`fn`...`fn`.must.be.
73fe0 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 64 20 6c a.unary.function..The.returned.l
74000 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 2c 20 60 ambda.takes.a.single.argument,.`
74020 78 60 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 69 x`,.the.initial.value.for.the.fi
74040 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 20 xpoint.iteration..The.iteration.
74060 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 69 halts.when.either.of.the.followi
74080 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 2e ng.conditions.is.satisfied:...1.
740a0 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 70 .Iteration.converges.to.the.fixp
740c0 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 20 20 oint,.with.equality.being.......
740e0 74 65 73 74 65 64 20 75 73 69 6e 67 20 60 65 71 75 61 6c 2d 74 65 73 74 60 2e 20 49 66 20 60 65 tested.using.`equal-test`..If.`e
74100 71 75 61 6c 2d 74 65 73 74 60 20 69 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 2c 0a 20 20 20 qual-test`.is.not.specified,....
74120 20 20 20 60 65 71 75 61 6c 60 20 69 73 20 75 73 65 64 2e 20 46 6f 72 20 66 75 6e 63 74 69 6f 6e ...`equal`.is.used..For.function
74140 73 20 6f 76 65 72 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 0a 20 20 20 20 20 20 s.over.the.floating.point.......
74160 6e 75 6d 62 65 72 73 2c 20 69 74 20 6d 61 79 20 62 65 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 numbers,.it.may.be.necessary.to.
74180 70 72 6f 76 69 64 65 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 0a 20 20 20 20 20 20 61 70 70 provide.an.appropriate.......app
741a0 72 6f 78 69 6d 61 74 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 74 65 73 74 2e 0a 0a 20 32 2e 20 60 roximate.comparison.test....2..`
741c0 68 61 6c 74 2d 74 65 73 74 60 20 72 65 74 75 72 6e 73 20 61 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c halt-test`.returns.a.non-nil.val
741e0 75 65 2e 20 60 68 61 6c 74 2d 74 65 73 74 60 20 64 65 66 61 75 6c 74 73 20 74 6f 20 61 0a 20 20 ue..`halt-test`.defaults.to.a...
74200 20 20 20 20 73 69 6d 70 6c 65 20 63 6f 75 6e 74 65 72 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 ....simple.counter.that.returns.
74220 74 20 61 66 74 65 72 20 60 2d 66 69 78 66 6e 2d 6d 61 78 2d 69 74 65 72 61 74 69 6f 6e 73 60 2c t.after.`-fixfn-max-iterations`,
74240 0a 20 20 20 20 20 20 74 6f 20 67 75 61 72 64 20 61 67 61 69 6e 73 74 20 69 6e 66 69 6e 69 74 65 .......to.guard.against.infinite
74260 20 69 74 65 72 61 74 69 6f 6e 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 60 68 61 6c 74 2d 74 65 73 .iteration..Otherwise,.`halt-tes
74280 74 60 0a 20 20 20 20 20 20 6d 75 73 74 20 62 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 t`.......must.be.a.function.that
742a0 20 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 0a .accepts.a.single.argument,.the.
742c0 20 20 20 20 20 20 63 75 72 72 65 6e 74 20 76 61 6c 75 65 20 6f 66 20 60 78 60 2c 20 61 6e 64 20 ......current.value.of.`x`,.and.
742e0 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 69 74 65 72 61 returns.non-nil.as.long.as.itera
74300 74 69 6f 6e 0a 20 20 20 20 20 20 73 68 6f 75 6c 64 20 63 6f 6e 74 69 6e 75 65 2e 20 49 6e 20 74 tion.......should.continue..In.t
74320 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 0a 20 20 his.way,.a.more.sophisticated...
74340 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 70 ....convergence.test.may.be.supp
74360 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 20 lied.by.the.caller...The.return.
74380 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 68 value.of.the.lambda.is.either.th
743a0 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 74 e.fixpoint.or,.if.iteration.halt
743c0 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 74 ed.before.converging,.a.cons.wit
743e0 68 20 63 61 72 20 60 68 61 6c 74 65 64 60 20 61 6e 64 0a 63 64 72 20 74 68 65 20 66 69 6e 61 6c h.car.`halted`.and.cdr.the.final
74400 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 60 68 61 6c 74 2d 74 65 73 74 60 2e 0a 0a 49 6e 20 74 79 .output.from.`halt-test`...In.ty
74420 70 65 73 3a 20 28 61 20 2d 3e 20 61 29 20 2d 3e 20 61 20 2d 3e 20 61 2e 0a 0a 60 60 60 65 6c 0a pes:.(a.->.a).->.a.->.a...```el.
74440 28 66 75 6e 63 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 (funcall.(-fixfn.#'cos.#'approx=
74460 29 20 30 2e 37 29 20 3b 3b 20 7e 3e 20 30 2e 37 33 39 30 38 35 31 33 33 32 31 35 31 36 30 37 0a ).0.7).;;.~>.0.7390851332151607.
74480 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 66 6e 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 65 78 (funcall.(-fixfn.(lambda.(x).(ex
744a0 70 74 20 28 2b 20 78 20 31 30 29 20 30 2e 32 35 29 29 29 20 32 2e 30 29 20 3b 3b 20 3d 3e 20 31 pt.(+.x.10).0.25))).2.0).;;.=>.1
744c0 2e 38 35 35 35 38 34 35 32 38 36 34 30 39 33 37 38 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 .8555845286409378.(funcall.(-fix
744e0 66 6e 20 23 27 73 69 6e 20 23 27 61 70 70 72 6f 78 3d 29 20 30 2e 31 29 20 3b 3b 20 3d 3e 20 28 fn.#'sin.#'approx=).0.1).;;.=>.(
74500 68 61 6c 74 65 64 20 2e 20 74 29 0a 60 60 60 0a 0a 23 23 23 23 20 2d 70 72 6f 64 66 6e 20 60 28 halted...t).```..####.-prodfn.`(
74520 26 72 65 73 74 20 66 6e 73 29 60 0a 0a 54 61 6b 65 20 61 20 6c 69 73 74 20 6f 66 20 6e 20 66 75 &rest.fns)`..Take.a.list.of.n.fu
74540 6e 63 74 69 6f 6e 73 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 nctions.and.return.a.function.th
74560 61 74 20 74 61 6b 65 73 20 61 0a 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 6e 2c 20 61 70 70 at.takes.a.list.of.length.n,.app
74580 6c 79 69 6e 67 20 69 2d 74 68 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 69 2d 74 68 20 65 6c 65 6d lying.i-th.function.to.i-th.elem
745a0 65 6e 74 20 6f 66 20 74 68 65 0a 69 6e 70 75 74 20 6c 69 73 74 2e 20 20 52 65 74 75 72 6e 73 20 ent.of.the.input.list...Returns.
745c0 61 20 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 6e 2e 0a 0a 49 6e 20 74 79 70 65 73 20 28 66 a.list.of.length.n...In.types.(f
745e0 6f 72 20 6e 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 or.n=2):.((a.->.b),.(c.->.d)).->
74600 20 28 61 2c 20 63 29 20 2d 3e 20 28 62 2c 20 64 29 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e .(a,.c).->.(b,.d)..This.function
74620 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 73 3a 0a 0a .satisfies.the.following.laws:..
74640 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 2e 2e 2e 29 20 ....(-compose.(-prodfn.f.g....).
74660 28 2d 70 72 6f 64 66 6e 20 66 27 20 67 27 20 2e 2e 2e 29 29 20 3d 20 28 2d 70 72 6f 64 66 6e 20 (-prodfn.f'.g'....)).=.(-prodfn.
74680 28 2d 63 6f 6d 70 6f 73 65 20 66 20 66 27 29 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 67 27 29 20 (-compose.f.f').(-compose.g.g').
746a0 2e 2e 2e 29 0a 20 20 20 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 2e 2e 2e 29 20 3d 20 28 2d 6a ...).....(-prodfn.f.g....).=.(-j
746c0 75 78 74 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 28 2d 70 61 72 74 69 61 6c 20 27 6e 74 68 20 30 uxt.(-compose.f.(-partial.'nth.0
746e0 29 29 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 28 2d 70 61 72 74 69 61 6c 20 27 6e 74 68 20 31 29 )).(-compose.g.(-partial.'nth.1)
74700 29 20 2e 2e 2e 29 0a 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 )....).....(-compose.(-prodfn.f.
74720 67 20 2e 2e 2e 29 20 28 2d 6a 75 78 74 20 66 27 20 67 27 20 2e 2e 2e 29 29 20 3d 20 28 2d 6a 75 g....).(-juxt.f'.g'....)).=.(-ju
74740 78 74 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 66 27 29 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 67 xt.(-compose.f.f').(-compose.g.g
74760 27 29 20 2e 2e 2e 29 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 ')....).....(-compose.(-partial.
74780 27 6e 74 68 20 6e 29 20 28 2d 70 72 6f 64 20 66 31 20 66 32 20 2e 2e 2e 29 29 20 3d 20 28 2d 63 'nth.n).(-prod.f1.f2....)).=.(-c
747a0 6f 6d 70 6f 73 65 20 66 6e 20 28 2d 70 61 72 74 69 61 6c 20 27 6e 74 68 20 6e 29 29 0a 0a 60 60 ompose.fn.(-partial.'nth.n))..``
747c0 60 65 6c 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 70 72 6f 64 66 6e 20 27 31 2b 20 27 31 2d 20 27 6e `el.(funcall.(-prodfn.'1+.'1-.'n
747e0 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 20 3b 3b 20 3d 3e umber-to-string).'(1.2.3)).;;.=>
74800 20 28 32 20 31 20 22 33 22 29 0a 28 2d 6d 61 70 20 28 2d 70 72 6f 64 66 6e 20 27 31 2b 20 27 31 .(2.1."3").(-map.(-prodfn.'1+.'1
74820 2d 29 20 27 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 20 28 37 20 38 29 29 29 20 3b -).'((1.2).(3.4).(5.6).(7.8))).;
74840 3b 20 3d 3e 20 28 28 32 20 31 29 20 28 34 20 33 29 20 28 36 20 35 29 20 28 38 20 37 29 29 0a 28 ;.=>.((2.1).(4.3).(6.5).(8.7)).(
74860 61 70 70 6c 79 20 27 2b 20 28 66 75 6e 63 61 6c 6c 20 28 2d 70 72 6f 64 66 6e 20 27 6c 65 6e 67 apply.'+.(funcall.(-prodfn.'leng
74880 74 68 20 27 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 29 20 27 28 28 31 20 32 20 33 29 20 th.'string-to-number).'((1.2.3).
748a0 22 31 35 22 29 29 29 20 3b 3b 20 3d 3e 20 31 38 0a 60 60 60 0a 0a 23 23 20 43 6f 6e 74 72 69 62 "15"))).;;.=>.18.```..##.Contrib
748c0 75 74 65 0a 0a 59 65 73 2c 20 70 6c 65 61 73 65 20 64 6f 2e 20 20 50 75 72 65 20 66 75 6e 63 74 ute..Yes,.please.do...Pure.funct
748e0 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 74 69 6f 6e 20 72 65 ions.in.the.list.manipulation.re
74900 61 6c 6d 20 6f 6e 6c 79 2c 0a 70 6c 65 61 73 65 2e 20 20 54 68 65 72 65 27 73 20 61 20 73 75 69 alm.only,.please...There's.a.sui
74920 74 65 20 6f 66 20 65 78 61 6d 70 6c 65 73 2f 74 65 73 74 73 20 69 6e 20 60 64 65 76 2f 65 78 61 te.of.examples/tests.in.`dev/exa
74940 6d 70 6c 65 73 2e 65 6c 60 2c 20 73 6f 0a 72 65 6d 65 6d 62 65 72 20 74 6f 20 61 64 64 20 74 65 mples.el`,.so.remember.to.add.te
74960 73 74 73 20 66 6f 72 20 79 6f 75 72 20 61 64 64 69 74 69 6f 6e 73 2c 20 6f 72 20 49 20 6d 69 67 sts.for.your.additions,.or.I.mig
74980 68 74 20 62 72 65 61 6b 20 74 68 65 6d 20 6c 61 74 65 72 2e 0a 0a 59 6f 75 27 6c 6c 20 66 69 6e ht.break.them.later...You'll.fin
749a0 64 20 74 68 65 20 72 65 70 6f 20 61 74 3a 0a 0a 20 20 20 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 d.the.repo.at:......https://gith
749c0 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 0a 0a 52 75 6e 20 74 68 65 20 ub.com/magnars/dash.el..Run.the.
749e0 74 65 73 74 73 20 77 69 74 68 3a 0a 0a 20 20 20 20 6d 61 6b 65 20 63 68 65 63 6b 0a 0a 52 65 67 tests.with:......make.check..Reg
74a00 65 6e 65 72 61 74 65 20 74 68 65 20 64 6f 63 73 20 77 69 74 68 3a 0a 0a 20 20 20 20 6d 61 6b 65 enerate.the.docs.with:......make
74a20 20 64 6f 63 73 0a 0a 49 20 68 69 67 68 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 20 74 68 61 74 20 79 .docs..I.highly.recommend.that.y
74a40 6f 75 20 69 6e 73 74 61 6c 6c 20 74 68 65 73 65 20 61 73 20 61 20 70 72 65 2d 63 6f 6d 6d 69 74 ou.install.these.as.a.pre-commit
74a60 20 68 6f 6f 6b 2c 20 73 6f 0a 74 68 61 74 20 74 68 65 20 74 65 73 74 73 20 61 72 65 20 61 6c 77 .hook,.so.that.the.tests.are.alw
74a80 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 20 61 6c 77 ays.running.and.the.docs.are.alw
74aa0 61 79 73 20 69 6e 20 73 79 6e 63 3a 0a 0a 20 20 20 20 63 70 20 64 65 76 2f 70 72 65 2d 63 6f 6d ays.in.sync:......cp.dev/pre-com
74ac0 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 0a 0a 4f 68 mit.sh..git/hooks/pre-commit..Oh
74ae0 2c 20 61 6e 64 20 64 6f 6e 27 74 20 65 64 69 74 20 60 52 45 41 44 4d 45 2e 6d 64 60 20 6f 72 20 ,.and.don't.edit.`README.md`.or.
74b00 60 64 61 73 68 2e 74 65 78 69 60 20 64 69 72 65 63 74 6c 79 3b 20 74 68 65 79 20 61 72 65 0a 61 `dash.texi`.directly;.they.are.a
74b20 75 74 6f 2d 67 65 6e 65 72 61 74 65 64 2e 20 20 43 68 61 6e 67 65 20 60 72 65 61 64 6d 65 2d 74 uto-generated...Change.`readme-t
74b40 65 6d 70 6c 61 74 65 2e 6d 64 60 20 6f 72 20 60 64 61 73 68 2d 74 65 6d 70 6c 61 74 65 2e 74 65 emplate.md`.or.`dash-template.te
74b60 78 69 60 0a 69 6e 73 74 65 61 64 2c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 0a 0a 54 6f 20 65 xi`.instead,.respectively...To.e
74b80 6e 73 75 72 65 20 74 68 61 74 20 60 64 61 73 68 2e 65 6c 60 20 63 61 6e 20 62 65 20 64 69 73 74 nsure.that.`dash.el`.can.be.dist
74ba0 72 69 62 75 74 65 64 20 77 69 74 68 20 47 4e 55 20 45 4c 50 41 20 6f 72 20 45 6d 61 63 73 2c 20 ributed.with.GNU.ELPA.or.Emacs,.
74bc0 77 65 0a 72 65 71 75 69 72 65 20 74 68 61 74 20 61 6c 6c 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 we.require.that.all.contributors
74be0 20 61 73 73 69 67 6e 20 63 6f 70 79 72 69 67 68 74 20 74 6f 20 74 68 65 20 46 72 65 65 20 53 6f .assign.copyright.to.the.Free.So
74c00 66 74 77 61 72 65 0a 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 46 6f 72 20 6d 6f 72 65 20 6f 6e 20 ftware.Foundation...For.more.on.
74c20 74 68 69 73 2c 20 73 65 65 20 5b 60 28 69 6e 66 6f 20 22 28 65 6d 61 63 73 29 20 43 6f 70 79 72 this,.see.[`(info."(emacs).Copyr
74c40 69 67 68 74 0a 41 73 73 69 67 6e 6d 65 6e 74 22 29 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e ight.Assignment")`](https://gnu.
74c60 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e org/software/emacs/manual/html_n
74c80 6f 64 65 2f 65 6d 61 63 73 2f 43 6f 70 79 72 69 67 68 74 2d 41 73 73 69 67 6e 6d 65 6e 74 2e 68 ode/emacs/Copyright-Assignment.h
74ca0 74 6d 6c 29 2e 0a 0a 23 23 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 0a 0a 2d 20 5b 4d 61 74 75 73 tml)...##.Contributors..-.[Matus
74cc0 20 47 6f 6c 6a 65 72 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 46 75 63 6f .Goljer](https://github.com/Fuco
74ce0 31 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 6c 6f 74 73 20 6f 66 20 66 65 61 74 75 72 65 73 20 1).contributed.lots.of.features.
74d00 61 6e 64 0a 20 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 2d 20 5b 54 61 6b 61 66 75 6d 69 20 41 72 61 and...functions..-.[Takafumi.Ara
74d20 6b 61 6b 69 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 6b 66 29 20 63 6f kaki](https://github.com/tkf).co
74d40 6e 74 72 69 62 75 74 65 64 20 60 2d 67 72 6f 75 70 2d 62 79 60 2e 0a 2d 20 5b 74 61 6c 69 37 31 ntributed.`-group-by`..-.[tali71
74d60 33 5d 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 3](https://github.com/tali713).i
74d80 73 20 74 68 65 20 61 75 74 68 6f 72 20 6f 66 20 60 2d 61 70 70 6c 69 66 79 60 2e 0a 2d 20 5b 56 s.the.author.of.`-applify`..-.[V
74da0 c3 ad 63 74 6f 72 20 4d 2e 20 56 61 6c 65 6e 7a 75 65 6c 61 5d 28 68 74 74 70 73 3a 2f 2f 67 69 ..ctor.M..Valenzuela](https://gi
74dc0 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 64 20 60 2d 72 65 70 thub.com/vemv).contributed.`-rep
74de0 65 61 74 60 2e 0a 2d 20 5b 4e 69 63 20 46 65 72 72 69 65 72 5d 28 68 74 74 70 73 3a 2f 2f 67 69 eat`..-.[Nic.Ferrier](https://gi
74e00 74 68 75 62 2e 63 6f 6d 2f 6e 69 63 66 65 72 72 69 65 72 29 20 63 6f 6e 74 72 69 62 75 74 65 64 thub.com/nicferrier).contributed
74e20 20 60 2d 63 6f 6e 73 2a 60 2e 0a 2d 20 5b 57 69 6c 66 72 65 64 20 48 75 67 68 65 73 5d 28 68 74 .`-cons*`..-.[Wilfred.Hughes](ht
74e40 74 70 73 3a 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 tps://github.com/Wilfred).contri
74e60 62 75 74 65 64 20 60 2d 73 6c 69 63 65 60 2c 0a 20 20 60 2d 66 69 72 73 74 2d 69 74 65 6d 60 2c buted.`-slice`,...`-first-item`,
74e80 20 61 6e 64 20 60 2d 6c 61 73 74 2d 69 74 65 6d 60 2e 0a 2d 20 5b 45 6d 61 6e 75 65 6c 20 45 76 .and.`-last-item`..-.[Emanuel.Ev
74ea0 61 6e 73 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 68 6f 73 74 69 29 20 ans](https://github.com/shosti).
74ec0 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 69 66 2d 6c 65 74 60 2c 20 60 2d 77 68 65 6e 2d 6c 65 contributed.`-if-let`,.`-when-le
74ee0 74 60 2c 0a 20 20 61 6e 64 20 60 2d 69 6e 73 65 72 74 2d 61 74 60 2e 0a 2d 20 5b 4a 6f 68 61 6e t`,...and.`-insert-at`..-.[Johan
74f00 20 41 6e 64 65 72 73 73 6f 6e 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 .Andersson](https://github.com/r
74f20 65 6a 65 65 70 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 73 75 6d 60 2c 20 60 2d 70 72 6f ejeep).contributed.`-sum`,.`-pro
74f40 64 75 63 74 60 2c 0a 20 20 61 6e 64 20 60 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 60 2e 0a 2d 20 5b duct`,...and.`-same-items?`..-.[
74f60 43 68 72 69 73 74 69 6e 61 20 57 68 79 74 65 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e Christina.Whyte](https://github.
74f80 63 6f 6d 2f 6b 75 72 69 73 75 77 68 79 74 65 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 63 com/kurisuwhyte).contributed.`-c
74fa0 6f 6d 70 6f 73 65 60 2e 0a 2d 20 5b 53 74 65 76 65 20 4c 61 6d 62 5d 28 68 74 74 70 73 3a 2f 2f ompose`..-.[Steve.Lamb](https://
74fc0 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 62 75 github.com/steventlamb).contribu
74fe0 74 65 64 20 60 2d 63 79 63 6c 65 60 2c 20 60 2d 70 61 64 60 2c 0a 20 20 60 2d 61 6e 6e 6f 74 61 ted.`-cycle`,.`-pad`,...`-annota
75000 74 65 60 2c 20 60 2d 7a 69 70 2d 66 69 6c 6c 60 2c 20 61 6e 64 20 61 20 76 61 72 69 61 64 69 63 te`,.`-zip-fill`,.and.a.variadic
75020 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 2d 7a 69 70 60 2e 0a 2d 20 5b 46 72 65 64 72 69 6b 20 42 .version.of.`-zip`..-.[Fredrik.B
75040 65 72 67 72 6f 74 68 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 66 62 65 72 ergroth](https://github.com/fber
75060 67 72 6f 74 68 29 20 6d 61 64 65 20 74 68 65 20 60 2d 69 66 2d 6c 65 74 60 20 66 61 6d 69 6c 79 groth).made.the.`-if-let`.family
75080 20 75 73 65 0a 20 20 60 2d 6c 65 74 60 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 61 6e 64 20 .use...`-let`.destructuring.and.
750a0 69 6d 70 72 6f 76 65 64 20 74 68 65 20 73 63 72 69 70 74 20 66 6f 72 20 67 65 6e 65 72 61 74 69 improved.the.script.for.generati
750c0 6e 67 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 2d 20 5b 4d 61 72 6b 20 4f 74 65 69 7a 61 ng.documentation..-.[Mark.Oteiza
750e0 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 68 6f 6c 6f 6d 6f 72 70 68 29 20 ](https://github.com/holomorph).
75100 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 69 6f 74 61 60 20 61 6e 64 0a 20 20 74 68 65 20 73 63 contributed.`-iota`.and...the.sc
75120 72 69 70 74 20 74 6f 20 63 72 65 61 74 65 20 61 6e 20 49 6e 66 6f 20 6d 61 6e 75 61 6c 2e 0a 2d ript.to.create.an.Info.manual..-
75140 20 5b 56 61 73 69 6c 69 6a 20 53 63 68 6e 65 69 64 65 72 6d 61 6e 6e 5d 28 68 74 74 70 73 3a 2f .[Vasilij.Schneidermann](https:/
75160 2f 67 69 74 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 /github.com/wasamasa).contribute
75180 64 20 60 2d 73 6f 6d 65 60 2e 0a 2d 20 5b 57 69 6c 6c 69 61 6d 20 57 65 73 74 5d 28 68 74 74 70 d.`-some`..-.[William.West](http
751a0 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6f 63 63 69 64 65 6e 73 29 20 6d 61 64 65 20 60 2d s://github.com/occidens).made.`-
751c0 66 69 78 66 6e 60 20 6d 6f 72 65 20 72 6f 62 75 73 74 20 61 74 0a 20 20 68 61 6e 64 6c 69 6e 67 fixfn`.more.robust.at...handling
751e0 20 66 6c 6f 61 74 73 2e 0a 2d 20 5b 43 61 6d 20 53 61 75 6c 5d 28 68 74 74 70 73 3a 2f 2f 67 69 .floats..-.[Cam.Saul](https://gi
75200 74 68 75 62 2e 63 6f 6d 2f 63 61 6d 73 61 75 6c 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d thub.com/camsaul).contributed.`-
75220 73 6f 6d 65 2d 3e 60 2c 20 60 2d 73 6f 6d 65 2d 3e 3e 60 2c 20 61 6e 64 0a 20 20 60 2d 73 6f 6d some->`,.`-some->>`,.and...`-som
75240 65 2d 2d 3e 60 2e 0a 2d 20 5b 42 61 73 69 6c 20 4c 2e 20 43 6f 6e 74 6f 76 6f 75 6e 65 73 69 6f e-->`..-.[Basil.L..Contovounesio
75260 73 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 61 73 69 6c 2d 63 6f 6e 74 s](https://github.com/basil-cont
75280 6f 29 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 20 20 60 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 o).contributed...`-common-prefix
752a0 60 2c 20 60 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 60 2c 20 61 6e 64 20 76 61 72 69 6f 75 73 `,.`-common-suffix`,.and.various
752c0 20 6f 74 68 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2e 0a 2d 20 5b 50 61 75 6c 20 50 6f 67 .other.improvements..-.[Paul.Pog
752e0 6f 6e 79 73 68 65 76 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 64 6f 75 62 onyshev](https://github.com/doub
75300 6c 65 70 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 65 61 63 68 2d 72 60 20 61 6e 64 0a 20 lep).contributed.`-each-r`.and..
75320 20 60 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 60 2e 0a 0a 54 68 61 6e 6b 73 21 0a 0a 4e 65 77 20 .`-each-r-while`...Thanks!..New.
75340 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 72 65 20 76 65 72 79 20 77 65 6c 63 6f 6d 65 2e 20 20 contributors.are.very.welcome...
75360 53 65 65 20 74 68 65 0a 5b 60 43 6f 6e 74 72 69 62 75 74 65 60 5d 28 23 63 6f 6e 74 72 69 62 75 See.the.[`Contribute`](#contribu
75380 74 65 29 20 73 65 63 74 69 6f 6e 20 61 62 6f 76 65 2e 0a 0a 23 23 20 4c 69 63 65 6e 73 65 0a 0a te).section.above...##.License..
753a0 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 32 2d 32 30 32 31 20 46 72 65 65 20 53 6f 66 Copyright.(C).2012-2021.Free.Sof
753c0 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 41 75 74 68 6f 72 3a 20 tware.Foundation,.Inc...Author:.
753e0 4d 61 67 6e 61 72 20 53 76 65 65 6e 20 3c 6d 61 67 6e 61 72 73 40 67 6d 61 69 6c 2e 63 6f 6d 3e Magnar.Sveen.<magnars@gmail.com>
75400 0a 0a 54 68 69 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 ..This.program.is.free.software:
75420 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 6e 64 2f 6f 72 20 .you.can.redistribute.it.and/or.
75440 6d 6f 64 69 66 79 0a 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 modify.it.under.the.terms.of.the
75460 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 61 73 20 70 .GNU.General.Public.License.as.p
75480 75 62 6c 69 73 68 65 64 20 62 79 0a 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f ublished.by.the.Free.Software.Fo
754a0 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 68 undation,.either.version.3.of.th
754c0 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 e.License,.or.(at.your.option).a
754e0 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 54 68 69 73 20 70 72 6f 67 72 61 6d 20 ny.later.version...This.program.
75500 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 65 20 74 68 61 74 20 is.distributed.in.the.hope.that.
75520 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 62 75 74 20 57 49 54 48 4f 55 54 20 41 it.will.be.useful,.but.WITHOUT.A
75540 4e 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 NY.WARRANTY;.without.even.the.im
75560 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 plied.warranty.of.MERCHANTABILIT
75580 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 52 20 50 55 Y.or.FITNESS.FOR.A.PARTICULAR.PU
755a0 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c RPOSE...See.the.GNU.General.Publ
755c0 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 59 6f ic.License.for.more.details...Yo
755e0 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 u.should.have.received.a.copy.of
75600 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 0a .the.GNU.General.Public.License.
75620 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 along.with.this.program...If.not
75640 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e ,.see.<https://www.gnu.org/licen
75660 73 65 73 2f 3e 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 00 00 ses/>...........................
75680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
756a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
756c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
756e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
757a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
757c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
757e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75800 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 6f 63 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/doc/................
75820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75860 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
75880 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 37 32 37 00 20 35 00 00 00 0000000.00000000000.011727..5...
758a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
758c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
758e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75900 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...................
75920 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...................
75940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
759a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
759c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
759e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75a00 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 6f 63 2f 67 70 6c 2e 74 65 78 69 00 00 00 00 00 00 00 00 dash-2.19.1/doc/gpl.texi........
75a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75a60 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
75a80 30 31 30 34 34 32 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 34 30 36 00 20 30 00 00 00 0104421.00000000000.013406..0...
75aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75b00 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...................
75b20 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...................
75b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75c00 40 63 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 @c.The.GNU.General.Public.Licens
75c20 65 2e 0a 40 63 65 6e 74 65 72 20 56 65 72 73 69 6f 6e 20 33 2c 20 32 39 20 4a 75 6e 65 20 32 30 e..@center.Version.3,.29.June.20
75c40 30 37 0a 0a 40 63 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 07..@c.This.file.is.intended.to.
75c60 62 65 20 69 6e 63 6c 75 64 65 64 20 77 69 74 68 69 6e 20 61 6e 6f 74 68 65 72 20 64 6f 63 75 6d be.included.within.another.docum
75c80 65 6e 74 2c 0a 40 63 20 68 65 6e 63 65 20 6e 6f 20 73 65 63 74 69 6f 6e 69 6e 67 20 63 6f 6d 6d ent,.@c.hence.no.sectioning.comm
75ca0 61 6e 64 20 6f 72 20 40 6e 6f 64 65 2e 0a 0a 40 64 69 73 70 6c 61 79 0a 43 6f 70 79 72 69 67 68 and.or.@node...@display.Copyrigh
75cc0 74 20 40 63 6f 70 79 72 69 67 68 74 7b 7d 20 32 30 30 37 20 46 72 65 65 20 53 6f 66 74 77 61 72 t.@copyright{}.2007.Free.Softwar
75ce0 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 20 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f e.Foundation,.Inc..@url{https://
75d00 66 73 66 2e 6f 72 67 2f 7d 0a 0a 45 76 65 72 79 6f 6e 65 20 69 73 20 70 65 72 6d 69 74 74 65 64 fsf.org/}..Everyone.is.permitted
75d20 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 69 6d .to.copy.and.distribute.verbatim
75d40 20 63 6f 70 69 65 73 20 6f 66 20 74 68 69 73 0a 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 .copies.of.this.license.document
75d60 2c 20 62 75 74 20 63 68 61 6e 67 69 6e 67 20 69 74 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 ,.but.changing.it.is.not.allowed
75d80 2e 0a 40 65 6e 64 20 64 69 73 70 6c 61 79 0a 0a 40 68 65 61 64 69 6e 67 20 50 72 65 61 6d 62 6c ..@end.display..@heading.Preambl
75da0 65 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 4c 69 63 65 6e 73 e..The.GNU.General.Public.Licens
75dc0 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 6e 73 65 20 66 6f e.is.a.free,.copyleft.license.fo
75de0 72 0a 73 6f 66 74 77 61 72 65 20 61 6e 64 20 6f 74 68 65 72 20 6b 69 6e 64 73 20 6f 66 20 77 6f r.software.and.other.kinds.of.wo
75e00 72 6b 73 2e 0a 0a 54 68 65 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 6d 6f 73 74 20 73 6f 66 74 rks...The.licenses.for.most.soft
75e20 77 61 72 65 20 61 6e 64 20 6f 74 68 65 72 20 70 72 61 63 74 69 63 61 6c 20 77 6f 72 6b 73 20 61 ware.and.other.practical.works.a
75e40 72 65 20 64 65 73 69 67 6e 65 64 0a 74 6f 20 74 61 6b 65 20 61 77 61 79 20 79 6f 75 72 20 66 72 re.designed.to.take.away.your.fr
75e60 65 65 64 6f 6d 20 74 6f 20 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 74 68 65 20 77 6f eedom.to.share.and.change.the.wo
75e80 72 6b 73 2e 20 20 42 79 20 63 6f 6e 74 72 61 73 74 2c 0a 74 68 65 20 47 4e 55 20 47 65 6e 65 72 rks...By.contrast,.the.GNU.Gener
75ea0 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f al.Public.License.is.intended.to
75ec0 20 67 75 61 72 61 6e 74 65 65 20 79 6f 75 72 20 66 72 65 65 64 6f 6d 0a 74 6f 20 73 68 61 72 65 .guarantee.your.freedom.to.share
75ee0 20 61 6e 64 20 63 68 61 6e 67 65 20 61 6c 6c 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 61 20 70 72 .and.change.all.versions.of.a.pr
75f00 6f 67 72 61 6d 2d 2d 2d 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 69 74 20 72 65 6d 61 69 6e 73 0a ogram---to.make.sure.it.remains.
75f20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 66 6f 72 20 61 6c 6c 20 69 74 73 20 75 73 65 72 73 2e free.software.for.all.its.users.
75f40 20 20 57 65 2c 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 ..We,.the.Free.Software.Foundati
75f60 6f 6e 2c 0a 75 73 65 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 on,.use.the.GNU.General.Public.L
75f80 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 73 74 20 6f 66 20 6f 75 72 20 73 6f 66 74 77 61 72 65 3b icense.for.most.of.our.software;
75fa0 20 69 74 0a 61 70 70 6c 69 65 73 20 61 6c 73 6f 20 74 6f 20 61 6e 79 20 6f 74 68 65 72 20 77 6f .it.applies.also.to.any.other.wo
75fc0 72 6b 20 72 65 6c 65 61 73 65 64 20 74 68 69 73 20 77 61 79 20 62 79 20 69 74 73 20 61 75 74 68 rk.released.this.way.by.its.auth
75fe0 6f 72 73 2e 20 20 59 6f 75 0a 63 61 6e 20 61 70 70 6c 79 20 69 74 20 74 6f 20 79 6f 75 72 20 70 ors...You.can.apply.it.to.your.p
76000 72 6f 67 72 61 6d 73 2c 20 74 6f 6f 2e 0a 0a 57 68 65 6e 20 77 65 20 73 70 65 61 6b 20 6f 66 20 rograms,.too...When.we.speak.of.
76020 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 77 65 20 61 72 65 20 72 65 66 65 72 72 69 6e 67 20 free.software,.we.are.referring.
76040 74 6f 20 66 72 65 65 64 6f 6d 2c 20 6e 6f 74 0a 70 72 69 63 65 2e 20 20 4f 75 72 20 47 65 6e 65 to.freedom,.not.price...Our.Gene
76060 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 73 20 61 72 65 20 64 65 73 69 67 6e 65 64 ral.Public.Licenses.are.designed
76080 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 79 6f 75 0a 68 61 76 65 20 74 68 65 20 .to.make.sure.that.you.have.the.
760a0 66 72 65 65 64 6f 6d 20 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 freedom.to.distribute.copies.of.
760c0 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 28 61 6e 64 20 63 68 61 72 67 65 20 66 6f 72 0a 74 68 free.software.(and.charge.for.th
760e0 65 6d 20 69 66 20 79 6f 75 20 77 69 73 68 29 2c 20 74 68 61 74 20 79 6f 75 20 72 65 63 65 69 76 em.if.you.wish),.that.you.receiv
76100 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 20 69 66 20 79 e.source.code.or.can.get.it.if.y
76120 6f 75 0a 77 61 6e 74 20 69 74 2c 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 68 61 6e 67 65 20 ou.want.it,.that.you.can.change.
76140 74 68 65 20 73 6f 66 74 77 61 72 65 20 6f 72 20 75 73 65 20 70 69 65 63 65 73 20 6f 66 20 69 74 the.software.or.use.pieces.of.it
76160 20 69 6e 20 6e 65 77 0a 66 72 65 65 20 70 72 6f 67 72 61 6d 73 2c 20 61 6e 64 20 74 68 61 74 20 .in.new.free.programs,.and.that.
76180 79 6f 75 20 6b 6e 6f 77 20 79 6f 75 20 63 61 6e 20 64 6f 20 74 68 65 73 65 20 74 68 69 6e 67 73 you.know.you.can.do.these.things
761a0 2e 0a 0a 54 6f 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 73 2c 20 77 65 20 6e 65 ...To.protect.your.rights,.we.ne
761c0 65 64 20 74 6f 20 70 72 65 76 65 6e 74 20 6f 74 68 65 72 73 20 66 72 6f 6d 20 64 65 6e 79 69 6e ed.to.prevent.others.from.denyin
761e0 67 20 79 6f 75 0a 74 68 65 73 65 20 72 69 67 68 74 73 20 6f 72 20 61 73 6b 69 6e 67 20 79 6f 75 g.you.these.rights.or.asking.you
76200 20 74 6f 20 73 75 72 72 65 6e 64 65 72 20 74 68 65 20 72 69 67 68 74 73 2e 20 20 54 68 65 72 65 .to.surrender.the.rights...There
76220 66 6f 72 65 2c 20 79 6f 75 0a 68 61 76 65 20 63 65 72 74 61 69 6e 20 72 65 73 70 6f 6e 73 69 62 fore,.you.have.certain.responsib
76240 69 6c 69 74 69 65 73 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 ilities.if.you.distribute.copies
76260 20 6f 66 20 74 68 65 0a 73 6f 66 74 77 61 72 65 2c 20 6f 72 20 69 66 20 79 6f 75 20 6d 6f 64 69 .of.the.software,.or.if.you.modi
76280 66 79 20 69 74 3a 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 69 65 73 20 74 6f 20 72 65 73 70 65 fy.it:.responsibilities.to.respe
762a0 63 74 20 74 68 65 20 66 72 65 65 64 6f 6d 0a 6f 66 20 6f 74 68 65 72 73 2e 0a 0a 46 6f 72 20 65 ct.the.freedom.of.others...For.e
762c0 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 xample,.if.you.distribute.copies
762e0 20 6f 66 20 73 75 63 68 20 61 20 70 72 6f 67 72 61 6d 2c 20 77 68 65 74 68 65 72 0a 67 72 61 74 .of.such.a.program,.whether.grat
76300 69 73 20 6f 72 20 66 6f 72 20 61 20 66 65 65 2c 20 79 6f 75 20 6d 75 73 74 20 70 61 73 73 20 6f is.or.for.a.fee,.you.must.pass.o
76320 6e 20 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 73 20 74 68 65 20 73 61 6d 65 0a 66 72 65 n.to.the.recipients.the.same.fre
76340 65 64 6f 6d 73 20 74 68 61 74 20 79 6f 75 20 72 65 63 65 69 76 65 64 2e 20 20 59 6f 75 20 6d 75 edoms.that.you.received...You.mu
76360 73 74 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 74 68 65 79 2c 20 74 6f 6f 2c 0a 72 65 63 st.make.sure.that.they,.too,.rec
76380 65 69 76 65 20 6f 72 20 63 61 6e 20 67 65 74 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2e eive.or.can.get.the.source.code.
763a0 20 20 41 6e 64 20 79 6f 75 20 6d 75 73 74 20 73 68 6f 77 20 74 68 65 6d 20 74 68 65 73 65 0a 74 ..And.you.must.show.them.these.t
763c0 65 72 6d 73 20 73 6f 20 74 68 65 79 20 6b 6e 6f 77 20 74 68 65 69 72 20 72 69 67 68 74 73 2e 0a erms.so.they.know.their.rights..
763e0 0a 44 65 76 65 6c 6f 70 65 72 73 20 74 68 61 74 20 75 73 65 20 74 68 65 20 47 4e 55 20 47 50 4c .Developers.that.use.the.GNU.GPL
76400 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 73 20 77 69 74 68 20 74 77 6f 20 73 74 .protect.your.rights.with.two.st
76420 65 70 73 3a 0a 28 31 29 20 61 73 73 65 72 74 20 63 6f 70 79 72 69 67 68 74 20 6f 6e 20 74 68 65 eps:.(1).assert.copyright.on.the
76440 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 28 32 29 20 6f 66 66 65 72 20 79 6f 75 20 74 68 69 .software,.and.(2).offer.you.thi
76460 73 20 4c 69 63 65 6e 73 65 0a 67 69 76 69 6e 67 20 79 6f 75 20 6c 65 67 61 6c 20 70 65 72 6d 69 s.License.giving.you.legal.permi
76480 73 73 69 6f 6e 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 ssion.to.copy,.distribute.and/or
764a0 20 6d 6f 64 69 66 79 20 69 74 2e 0a 0a 46 6f 72 20 74 68 65 20 64 65 76 65 6c 6f 70 65 72 73 27 .modify.it...For.the.developers'
764c0 20 61 6e 64 20 61 75 74 68 6f 72 73 27 20 70 72 6f 74 65 63 74 69 6f 6e 2c 20 74 68 65 20 47 50 .and.authors'.protection,.the.GP
764e0 4c 20 63 6c 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 L.clearly.explains.that.there.is
76500 20 6e 6f 20 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 .no.warranty.for.this.free.softw
76520 61 72 65 2e 20 20 46 6f 72 20 62 6f 74 68 20 75 73 65 72 73 27 20 61 6e 64 0a 61 75 74 68 6f 72 are...For.both.users'.and.author
76540 73 27 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 s'.sake,.the.GPL.requires.that.m
76560 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
76580 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
765a0 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
765c0 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
765e0 2e 0a 0a 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 74 6f 20 ...Some.devices.are.designed.to.
76600 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 6f 72 20 deny.users.access.to.install.or.
76620 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 73 6f 66 run.modified.versions.of.the.sof
76640 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 68 65 0a tware.inside.them,.although.the.
76660 6d 61 6e 75 66 61 63 74 75 72 65 72 20 63 61 6e 20 64 6f 20 73 6f 2e 20 20 54 68 69 73 20 69 73 manufacturer.can.do.so...This.is
76680 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 69 74 68 .fundamentally.incompatible.with
766a0 20 74 68 65 0a 61 69 6d 20 6f 66 20 70 72 6f 74 65 63 74 69 6e 67 20 75 73 65 72 73 27 20 66 72 .the.aim.of.protecting.users'.fr
766c0 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 65 2e 20 20 54 eedom.to.change.the.software...T
766e0 68 65 0a 73 79 73 74 65 6d 61 74 69 63 20 70 61 74 74 65 72 6e 20 6f 66 20 73 75 63 68 20 61 62 he.systematic.pattern.of.such.ab
76700 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 72 6f 64 75 63 use.occurs.in.the.area.of.produc
76720 74 73 20 66 6f 72 0a 69 6e 64 69 76 69 64 75 61 6c 73 20 74 6f 20 75 73 65 2c 20 77 68 69 63 68 ts.for.individuals.to.use,.which
76740 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 6f 73 74 20 75 .is.precisely.where.it.is.most.u
76760 6e 61 63 63 65 70 74 61 62 6c 65 2e 0a 54 68 65 72 65 66 6f 72 65 2c 20 77 65 20 68 61 76 65 20 nacceptable..Therefore,.we.have.
76780 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 68 65 20 47 50 4c designed.this.version.of.the.GPL
767a0 20 74 6f 20 70 72 6f 68 69 62 69 74 20 74 68 65 0a 70 72 61 63 74 69 63 65 20 66 6f 72 20 74 68 .to.prohibit.the.practice.for.th
767c0 6f 73 65 20 70 72 6f 64 75 63 74 73 2e 20 20 49 66 20 73 75 63 68 20 70 72 6f 62 6c 65 6d 73 20 ose.products...If.such.problems.
767e0 61 72 69 73 65 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 69 6e 0a 6f 74 68 65 72 20 64 6f 6d arise.substantially.in.other.dom
76800 61 69 6e 73 2c 20 77 65 20 73 74 61 6e 64 20 72 65 61 64 79 20 74 6f 20 65 78 74 65 6e 64 20 74 ains,.we.stand.ready.to.extend.t
76820 68 69 73 20 70 72 6f 76 69 73 69 6f 6e 20 74 6f 20 74 68 6f 73 65 0a 64 6f 6d 61 69 6e 73 20 69 his.provision.to.those.domains.i
76840 6e 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 47 50 4c 2c 20 61 73 n.future.versions.of.the.GPL,.as
76860 20 6e 65 65 64 65 64 20 74 6f 20 70 72 6f 74 65 63 74 20 74 68 65 0a 66 72 65 65 64 6f 6d 20 6f .needed.to.protect.the.freedom.o
76880 66 20 75 73 65 72 73 2e 0a 0a 46 69 6e 61 6c 6c 79 2c 20 65 76 65 72 79 20 70 72 6f 67 72 61 6d f.users...Finally,.every.program
768a0 20 69 73 20 74 68 72 65 61 74 65 6e 65 64 20 63 6f 6e 73 74 61 6e 74 6c 79 20 62 79 20 73 6f 66 .is.threatened.constantly.by.sof
768c0 74 77 61 72 65 20 70 61 74 65 6e 74 73 2e 0a 53 74 61 74 65 73 20 73 68 6f 75 6c 64 20 6e 6f 74 tware.patents..States.should.not
768e0 20 61 6c 6c 6f 77 20 70 61 74 65 6e 74 73 20 74 6f 20 72 65 73 74 72 69 63 74 20 64 65 76 65 6c .allow.patents.to.restrict.devel
76900 6f 70 6d 65 6e 74 20 61 6e 64 20 75 73 65 20 6f 66 0a 73 6f 66 74 77 61 72 65 20 6f 6e 20 67 65 opment.and.use.of.software.on.ge
76920 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 63 6f 6d 70 75 74 65 72 73 2c 20 62 75 74 20 69 6e 20 neral-purpose.computers,.but.in.
76940 74 68 6f 73 65 20 74 68 61 74 20 64 6f 2c 20 77 65 20 77 69 73 68 0a 74 6f 20 61 76 6f 69 64 20 those.that.do,.we.wish.to.avoid.
76960 74 68 65 20 73 70 65 63 69 61 6c 20 64 61 6e 67 65 72 20 74 68 61 74 20 70 61 74 65 6e 74 73 20 the.special.danger.that.patents.
76980 61 70 70 6c 69 65 64 20 74 6f 20 61 20 66 72 65 65 20 70 72 6f 67 72 61 6d 0a 63 6f 75 6c 64 20 applied.to.a.free.program.could.
769a0 6d 61 6b 65 20 69 74 20 65 66 66 65 63 74 69 76 65 6c 79 20 70 72 6f 70 72 69 65 74 61 72 79 2e make.it.effectively.proprietary.
769c0 20 20 54 6f 20 70 72 65 76 65 6e 74 20 74 68 69 73 2c 20 74 68 65 20 47 50 4c 0a 61 73 73 75 72 ..To.prevent.this,.the.GPL.assur
769e0 65 73 20 74 68 61 74 20 70 61 74 65 6e 74 73 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 74 es.that.patents.cannot.be.used.t
76a00 6f 20 72 65 6e 64 65 72 20 74 68 65 20 70 72 6f 67 72 61 6d 20 6e 6f 6e 2d 66 72 65 65 2e 0a 0a o.render.the.program.non-free...
76a20 54 68 65 20 70 72 65 63 69 73 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 The.precise.terms.and.conditions
76a40 20 66 6f 72 20 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 0a 6d .for.copying,.distribution.and.m
76a60 6f 64 69 66 69 63 61 74 69 6f 6e 20 66 6f 6c 6c 6f 77 2e 0a 0a 40 68 65 61 64 69 6e 67 20 54 45 odification.follow...@heading.TE
76a80 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 0a 40 65 6e 75 6d 65 72 61 74 65 20 30 RMS.AND.CONDITIONS..@enumerate.0
76aa0 0a 40 69 74 65 6d 20 44 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 0a 60 60 54 68 69 73 20 4c 69 63 65 .@item.Definitions...``This.Lice
76ac0 6e 73 65 27 27 20 72 65 66 65 72 73 20 74 6f 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 nse''.refers.to.version.3.of.the
76ae0 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 2e 0a 0a 60 60 .GNU.General.Public.License...``
76b00 43 6f 70 79 72 69 67 68 74 27 27 20 61 6c 73 6f 20 6d 65 61 6e 73 20 63 6f 70 79 72 69 67 68 74 Copyright''.also.means.copyright
76b20 2d 6c 69 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 20 6b -like.laws.that.apply.to.other.k
76b40 69 6e 64 73 0a 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 64 75 inds.of.works,.such.as.semicondu
76b60 63 74 6f 72 20 6d 61 73 6b 73 2e 0a 0a 60 60 54 68 65 20 50 72 6f 67 72 61 6d 27 27 20 72 65 66 ctor.masks...``The.Program''.ref
76b80 65 72 73 20 74 6f 20 61 6e 79 20 63 6f 70 79 72 69 67 68 74 61 62 6c 65 20 77 6f 72 6b 20 6c 69 ers.to.any.copyrightable.work.li
76ba0 63 65 6e 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 2e 20 20 45 61 63 68 censed.under.this.License...Each
76bc0 20 6c 69 63 65 6e 73 65 65 20 69 73 20 61 64 64 72 65 73 73 65 64 20 61 73 20 60 60 79 6f 75 27 .licensee.is.addressed.as.``you'
76be0 27 2e 20 20 60 60 4c 69 63 65 6e 73 65 65 73 27 27 20 61 6e 64 0a 60 60 72 65 63 69 70 69 65 6e '...``Licensees''.and.``recipien
76c00 74 73 27 27 20 6d 61 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 ts''.may.be.individuals.or.organ
76c20 69 7a 61 74 69 6f 6e 73 2e 0a 0a 54 6f 20 60 60 6d 6f 64 69 66 79 27 27 20 61 20 77 6f 72 6b 20 izations...To.``modify''.a.work.
76c40 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.
76c60 6f 72 20 70 61 72 74 20 6f 66 20 74 68 65 20 77 6f 72 6b 0a 69 6e 20 61 20 66 61 73 68 69 6f 6e or.part.of.the.work.in.a.fashion
76c80 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 73 69 6f 6e 2c .requiring.copyright.permission,
76ca0 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 6d 61 6b 69 6e 67 20 6f 66 0a 61 6e 20 65 78 61 .other.than.the.making.of.an.exa
76cc0 63 74 20 63 6f 70 79 2e 20 20 54 68 65 20 72 65 73 75 6c 74 69 6e 67 20 77 6f 72 6b 20 69 73 20 ct.copy...The.resulting.work.is.
76ce0 63 61 6c 6c 65 64 20 61 20 60 60 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 27 27 20 6f 66 called.a.``modified.version''.of
76d00 0a 74 68 65 20 65 61 72 6c 69 65 72 20 77 6f 72 6b 20 6f 72 20 61 20 77 6f 72 6b 20 60 60 62 61 .the.earlier.work.or.a.work.``ba
76d20 73 65 64 20 6f 6e 27 27 20 74 68 65 20 65 61 72 6c 69 65 72 20 77 6f 72 6b 2e 0a 0a 41 20 60 60 sed.on''.the.earlier.work...A.``
76d40 63 6f 76 65 72 65 64 20 77 6f 72 6b 27 27 20 6d 65 61 6e 73 20 65 69 74 68 65 72 20 74 68 65 20 covered.work''.means.either.the.
76d60 75 6e 6d 6f 64 69 66 69 65 64 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 20 77 6f 72 6b 20 62 61 73 unmodified.Program.or.a.work.bas
76d80 65 64 0a 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 54 6f 20 60 60 70 72 6f 70 61 67 61 ed.on.the.Program...To.``propaga
76da0 74 65 27 27 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 6f 20 64 6f 20 61 6e 79 74 68 69 6e 67 te''.a.work.means.to.do.anything
76dc0 20 77 69 74 68 20 69 74 20 74 68 61 74 2c 20 77 69 74 68 6f 75 74 0a 70 65 72 6d 69 73 73 69 6f .with.it.that,.without.permissio
76de0 6e 2c 20 77 6f 75 6c 64 20 6d 61 6b 65 20 79 6f 75 20 64 69 72 65 63 74 6c 79 20 6f 72 20 73 65 n,.would.make.you.directly.or.se
76e00 63 6f 6e 64 61 72 69 6c 79 20 6c 69 61 62 6c 65 20 66 6f 72 0a 69 6e 66 72 69 6e 67 65 6d 65 6e condarily.liable.for.infringemen
76e20 74 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 t.under.applicable.copyright.law
76e40 2c 20 65 78 63 65 70 74 20 65 78 65 63 75 74 69 6e 67 20 69 74 20 6f 6e 20 61 0a 63 6f 6d 70 75 ,.except.executing.it.on.a.compu
76e60 74 65 72 20 6f 72 20 6d 6f 64 69 66 79 69 6e 67 20 61 20 70 72 69 76 61 74 65 20 63 6f 70 79 2e ter.or.modifying.a.private.copy.
76e80 20 20 50 72 6f 70 61 67 61 74 69 6f 6e 20 69 6e 63 6c 75 64 65 73 20 63 6f 70 79 69 6e 67 2c 0a ..Propagation.includes.copying,.
76ea0 64 69 73 74 72 69 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 distribution.(with.or.without.mo
76ec0 64 69 66 69 63 61 74 69 6f 6e 29 2c 20 6d 61 6b 69 6e 67 20 61 76 61 69 6c 61 62 6c 65 20 74 6f dification),.making.available.to
76ee0 20 74 68 65 0a 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 .the.public,.and.in.some.countri
76f00 65 73 20 6f 74 68 65 72 20 61 63 74 69 76 69 74 69 65 73 20 61 73 20 77 65 6c 6c 2e 0a 0a 54 6f es.other.activities.as.well...To
76f20 20 60 60 63 6f 6e 76 65 79 27 27 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 61 6e 79 20 6b 69 6e .``convey''.a.work.means.any.kin
76f40 64 20 6f 66 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 74 68 61 74 20 65 6e 61 62 6c 65 73 20 6f 74 d.of.propagation.that.enables.ot
76f60 68 65 72 0a 70 61 72 74 69 65 73 20 74 6f 20 6d 61 6b 65 20 6f 72 20 72 65 63 65 69 76 65 20 63 her.parties.to.make.or.receive.c
76f80 6f 70 69 65 73 2e 20 20 4d 65 72 65 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 77 69 74 68 20 61 20 opies...Mere.interaction.with.a.
76fa0 75 73 65 72 0a 74 68 72 6f 75 67 68 20 61 20 63 6f 6d 70 75 74 65 72 20 6e 65 74 77 6f 72 6b 2c user.through.a.computer.network,
76fc0 20 77 69 74 68 20 6e 6f 20 74 72 61 6e 73 66 65 72 20 6f 66 20 61 20 63 6f 70 79 2c 20 69 73 20 .with.no.transfer.of.a.copy,.is.
76fe0 6e 6f 74 0a 63 6f 6e 76 65 79 69 6e 67 2e 0a 0a 41 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 75 not.conveying...An.interactive.u
77000 73 65 72 20 69 6e 74 65 72 66 61 63 65 20 64 69 73 70 6c 61 79 73 20 60 60 41 70 70 72 6f 70 72 ser.interface.displays.``Appropr
77020 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 27 27 20 74 6f 0a 74 68 65 20 65 78 74 65 iate.Legal.Notices''.to.the.exte
77040 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 65 6e 69 65 6e 74 nt.that.it.includes.a.convenient
77060 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 66 65 61 74 75 72 65 .and.prominently.visible.feature
77080 20 74 68 61 74 20 28 31 29 20 64 69 73 70 6c 61 79 73 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 .that.(1).displays.an.appropriat
770a0 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 2c 20 61 6e 64 20 28 32 29 0a 74 65 6c 6c e.copyright.notice,.and.(2).tell
770c0 73 20 74 68 65 20 75 73 65 72 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 72 72 s.the.user.that.there.is.no.warr
770e0 61 6e 74 79 20 66 6f 72 20 74 68 65 20 77 6f 72 6b 20 28 65 78 63 65 70 74 20 74 6f 20 74 68 65 anty.for.the.work.(except.to.the
77100 0a 65 78 74 65 6e 74 20 74 68 61 74 20 77 61 72 72 61 6e 74 69 65 73 20 61 72 65 20 70 72 6f 76 .extent.that.warranties.are.prov
77120 69 64 65 64 29 2c 20 74 68 61 74 20 6c 69 63 65 6e 73 65 65 73 20 6d 61 79 20 63 6f 6e 76 65 79 ided),.that.licensees.may.convey
77140 20 74 68 65 0a 77 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 .the.work.under.this.License,.an
77160 64 20 68 6f 77 20 74 6f 20 76 69 65 77 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 d.how.to.view.a.copy.of.this.Lic
77180 65 6e 73 65 2e 20 20 49 66 0a 74 68 65 20 69 6e 74 65 72 66 61 63 65 20 70 72 65 73 65 6e 74 73 ense...If.the.interface.presents
771a0 20 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 20 6f 70 74 69 .a.list.of.user.commands.or.opti
771c0 6f 6e 73 2c 20 73 75 63 68 20 61 73 20 61 0a 6d 65 6e 75 2c 20 61 20 70 72 6f 6d 69 6e 65 6e 74 ons,.such.as.a.menu,.a.prominent
771e0 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 20 63 72 69 .item.in.the.list.meets.this.cri
77200 74 65 72 69 6f 6e 2e 0a 0a 40 69 74 65 6d 20 53 6f 75 72 63 65 20 43 6f 64 65 2e 0a 0a 54 68 65 terion...@item.Source.Code...The
77220 20 60 60 73 6f 75 72 63 65 20 63 6f 64 65 27 27 20 66 6f 72 20 61 20 77 6f 72 6b 20 6d 65 61 6e .``source.code''.for.a.work.mean
77240 73 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 66 6f 72 6d 20 6f 66 20 74 68 65 20 77 6f 72 6b s.the.preferred.form.of.the.work
77260 20 66 6f 72 0a 6d 61 6b 69 6e 67 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 74 6f 20 69 74 2e .for.making.modifications.to.it.
77280 20 20 60 60 4f 62 6a 65 63 74 20 63 6f 64 65 27 27 20 6d 65 61 6e 73 20 61 6e 79 20 6e 6f 6e 2d ..``Object.code''.means.any.non-
772a0 73 6f 75 72 63 65 20 66 6f 72 6d 0a 6f 66 20 61 20 77 6f 72 6b 2e 0a 0a 41 20 60 60 53 74 61 6e source.form.of.a.work...A.``Stan
772c0 64 61 72 64 20 49 6e 74 65 72 66 61 63 65 27 27 20 6d 65 61 6e 73 20 61 6e 20 69 6e 74 65 72 66 dard.Interface''.means.an.interf
772e0 61 63 65 20 74 68 61 74 20 65 69 74 68 65 72 20 69 73 20 61 6e 20 6f 66 66 69 63 69 61 6c 0a 73 ace.that.either.is.an.official.s
77300 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 67 6e 69 7a 65 64 20 tandard.defined.by.a.recognized.
77320 73 74 61 6e 64 61 72 64 73 20 62 6f 64 79 2c 20 6f 72 2c 20 69 6e 20 74 68 65 20 63 61 73 65 20 standards.body,.or,.in.the.case.
77340 6f 66 0a 69 6e 74 65 72 66 61 63 65 73 20 73 70 65 63 69 66 69 65 64 20 66 6f 72 20 61 20 70 61 of.interfaces.specified.for.a.pa
77360 72 74 69 63 75 6c 61 72 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 2c 20 6f rticular.programming.language,.o
77380 6e 65 20 74 68 61 74 0a 69 73 20 77 69 64 65 6c 79 20 75 73 65 64 20 61 6d 6f 6e 67 20 64 65 76 ne.that.is.widely.used.among.dev
773a0 65 6c 6f 70 65 72 73 20 77 6f 72 6b 69 6e 67 20 69 6e 20 74 68 61 74 20 6c 61 6e 67 75 61 67 65 elopers.working.in.that.language
773c0 2e 0a 0a 54 68 65 20 60 60 53 79 73 74 65 6d 20 4c 69 62 72 61 72 69 65 73 27 27 20 6f 66 20 61 ...The.``System.Libraries''.of.a
773e0 6e 20 65 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 n.executable.work.include.anythi
77400 6e 67 2c 20 6f 74 68 65 72 0a 74 68 61 6e 20 74 68 65 20 77 6f 72 6b 20 61 73 20 61 20 77 68 6f ng,.other.than.the.work.as.a.who
77420 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 65 20 le,.that.(a).is.included.in.the.
77440 6e 6f 72 6d 61 6c 20 66 6f 72 6d 20 6f 66 0a 70 61 63 6b 61 67 69 6e 67 20 61 20 4d 61 6a 6f 72 normal.form.of.packaging.a.Major
77460 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 6e 6f 74 20 70 61 72 .Component,.but.which.is.not.par
77480 74 20 6f 66 20 74 68 61 74 20 4d 61 6a 6f 72 0a 43 6f 6d 70 6f 6e 65 6e 74 2c 20 61 6e 64 20 28 t.of.that.Major.Component,.and.(
774a0 62 29 20 73 65 72 76 65 73 20 6f 6e 6c 79 20 74 6f 20 65 6e 61 62 6c 65 20 75 73 65 20 6f 66 20 b).serves.only.to.enable.use.of.
774c0 74 68 65 20 77 6f 72 6b 20 77 69 74 68 20 74 68 61 74 0a 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 the.work.with.that.Major.Compone
774e0 6e 74 2c 20 6f 72 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 61 20 53 74 61 6e 64 61 72 64 20 49 nt,.or.to.implement.a.Standard.I
77500 6e 74 65 72 66 61 63 65 20 66 6f 72 20 77 68 69 63 68 20 61 6e 0a 69 6d 70 6c 65 6d 65 6e 74 61 nterface.for.which.an.implementa
77520 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 tion.is.available.to.the.public.
77540 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 2e 20 20 41 0a 60 60 4d 61 6a 6f 72 20 in.source.code.form...A.``Major.
77560 43 6f 6d 70 6f 6e 65 6e 74 27 27 2c 20 69 6e 20 74 68 69 73 20 63 6f 6e 74 65 78 74 2c 20 6d 65 Component'',.in.this.context,.me
77580 61 6e 73 20 61 20 6d 61 6a 6f 72 20 65 73 73 65 6e 74 69 61 6c 20 63 6f 6d 70 6f 6e 65 6e 74 0a ans.a.major.essential.component.
775a0 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 20 6f (kernel,.window.system,.and.so.o
775c0 6e 29 20 6f 66 20 74 68 65 20 73 70 65 63 69 66 69 63 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 n).of.the.specific.operating.sys
775e0 74 65 6d 0a 28 69 66 20 61 6e 79 29 20 6f 6e 20 77 68 69 63 68 20 74 68 65 20 65 78 65 63 75 74 tem.(if.any).on.which.the.execut
77600 61 62 6c 65 20 77 6f 72 6b 20 72 75 6e 73 2c 20 6f 72 20 61 20 63 6f 6d 70 69 6c 65 72 20 75 73 able.work.runs,.or.a.compiler.us
77620 65 64 20 74 6f 0a 70 72 6f 64 75 63 65 20 74 68 65 20 77 6f 72 6b 2c 20 6f 72 20 61 6e 20 6f 62 ed.to.produce.the.work,.or.an.ob
77640 6a 65 63 74 20 63 6f 64 65 20 69 6e 74 65 72 70 72 65 74 65 72 20 75 73 65 64 20 74 6f 20 72 75 ject.code.interpreter.used.to.ru
77660 6e 20 69 74 2e 0a 0a 54 68 65 20 60 60 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 n.it...The.``Corresponding.Sourc
77680 65 27 27 20 66 6f 72 20 61 20 77 6f 72 6b 20 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 66 6f e''.for.a.work.in.object.code.fo
776a0 72 6d 20 6d 65 61 6e 73 20 61 6c 6c 0a 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6e 65 65 rm.means.all.the.source.code.nee
776c0 64 65 64 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 ded.to.generate,.install,.and.(f
776e0 6f 72 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 0a 77 6f 72 6b 29 20 72 75 6e 20 74 68 65 20 6f or.an.executable.work).run.the.o
77700 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 6f 72 bject.code.and.to.modify.the.wor
77720 6b 2c 20 69 6e 63 6c 75 64 69 6e 67 20 73 63 72 69 70 74 73 20 74 6f 0a 63 6f 6e 74 72 6f 6c 20 k,.including.scripts.to.control.
77740 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 72 2c 20 69 74 20 64 those.activities...However,.it.d
77760 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 74 68 65 20 77 6f 72 6b 27 73 0a 53 79 73 74 65 oes.not.include.the.work's.Syste
77780 6d 20 4c 69 62 72 61 72 69 65 73 2c 20 6f 72 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 m.Libraries,.or.general-purpose.
777a0 74 6f 6f 6c 73 20 6f 72 20 67 65 6e 65 72 61 6c 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 66 72 65 tools.or.generally.available.fre
777c0 65 0a 70 72 6f 67 72 61 6d 73 20 77 68 69 63 68 20 61 72 65 20 75 73 65 64 20 75 6e 6d 6f 64 69 e.programs.which.are.used.unmodi
777e0 66 69 65 64 20 69 6e 20 70 65 72 66 6f 72 6d 69 6e 67 20 74 68 6f 73 65 20 61 63 74 69 76 69 74 fied.in.performing.those.activit
77800 69 65 73 20 62 75 74 0a 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 74 68 ies.but.which.are.not.part.of.th
77820 65 20 77 6f 72 6b 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 43 6f 72 72 65 73 70 6f 6e 64 e.work...For.example,.Correspond
77840 69 6e 67 20 53 6f 75 72 63 65 0a 69 6e 63 6c 75 64 65 73 20 69 6e 74 65 72 66 61 63 65 20 64 65 ing.Source.includes.interface.de
77860 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 73 finition.files.associated.with.s
77880 6f 75 72 63 65 20 66 69 6c 65 73 20 66 6f 72 0a 74 68 65 20 77 6f 72 6b 2c 20 61 6e 64 20 74 68 ource.files.for.the.work,.and.th
778a0 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 69 e.source.code.for.shared.librari
778c0 65 73 20 61 6e 64 20 64 79 6e 61 6d 69 63 61 6c 6c 79 0a 6c 69 6e 6b 65 64 20 73 75 62 70 72 6f es.and.dynamically.linked.subpro
778e0 67 72 61 6d 73 20 74 68 61 74 20 74 68 65 20 77 6f 72 6b 20 69 73 20 73 70 65 63 69 66 69 63 61 grams.that.the.work.is.specifica
77900 6c 6c 79 20 64 65 73 69 67 6e 65 64 20 74 6f 20 72 65 71 75 69 72 65 2c 0a 73 75 63 68 20 61 73 lly.designed.to.require,.such.as
77920 20 62 79 20 69 6e 74 69 6d 61 74 65 20 64 61 74 61 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 .by.intimate.data.communication.
77940 6f 72 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 62 65 74 77 65 65 6e 20 74 68 6f 73 65 0a 73 75 or.control.flow.between.those.su
77960 62 70 72 6f 67 72 61 6d 73 20 61 6e 64 20 6f 74 68 65 72 20 70 61 72 74 73 20 6f 66 20 74 68 65 bprograms.and.other.parts.of.the
77980 20 77 6f 72 6b 2e 0a 0a 54 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 .work...The.Corresponding.Source
779a0 20 6e 65 65 64 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 .need.not.include.anything.that.
779c0 75 73 65 72 73 20 63 61 6e 0a 72 65 67 65 6e 65 72 61 74 65 20 61 75 74 6f 6d 61 74 69 63 61 6c users.can.regenerate.automatical
779e0 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
77a00 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 2e 0a 0a 54 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 sponding.Source...The.Correspond
77a20 69 6e 67 20 53 6f 75 72 63 65 20 66 6f 72 20 61 20 77 6f 72 6b 20 69 6e 20 73 6f 75 72 63 65 20 ing.Source.for.a.work.in.source.
77a40 63 6f 64 65 20 66 6f 72 6d 20 69 73 20 74 68 61 74 20 73 61 6d 65 0a 77 6f 72 6b 2e 0a 0a 40 69 code.form.is.that.same.work...@i
77a60 74 65 6d 20 42 61 73 69 63 20 50 65 72 6d 69 73 73 69 6f 6e 73 2e 0a 0a 41 6c 6c 20 72 69 67 68 tem.Basic.Permissions...All.righ
77a80 74 73 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 72 ts.granted.under.this.License.ar
77aa0 65 20 67 72 61 6e 74 65 64 20 66 6f 72 20 74 68 65 20 74 65 72 6d 20 6f 66 0a 63 6f 70 79 72 69 e.granted.for.the.term.of.copyri
77ac0 67 68 74 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 61 6e 64 20 61 72 65 20 69 72 72 65 ght.on.the.Program,.and.are.irre
77ae0 76 6f 63 61 62 6c 65 20 70 72 6f 76 69 64 65 64 20 74 68 65 20 73 74 61 74 65 64 0a 63 6f 6e 64 vocable.provided.the.stated.cond
77b00 69 74 69 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 itions.are.met...This.License.ex
77b20 70 6c 69 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 plicitly.affirms.your.unlimited.
77b40 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 65 64 permission.to.run.the.unmodified
77b60 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 6e 69 .Program...The.output.from.runni
77b80 6e 67 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 73 20 63 6f 76 65 72 65 64 20 62 79 20 ng.a.covered.work.is.covered.by.
77ba0 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 6f 75 74 70 75 74 2c this.License.only.if.the.output,
77bc0 20 67 69 76 65 6e 20 69 74 73 0a 63 6f 6e 74 65 6e 74 2c 20 63 6f 6e 73 74 69 74 75 74 65 73 20 .given.its.content,.constitutes.
77be0 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2e 20 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 61 63 a.covered.work...This.License.ac
77c00 6b 6e 6f 77 6c 65 64 67 65 73 20 79 6f 75 72 0a 72 69 67 68 74 73 20 6f 66 20 66 61 69 72 20 75 knowledges.your.rights.of.fair.u
77c20 73 65 20 6f 72 20 6f 74 68 65 72 20 65 71 75 69 76 61 6c 65 6e 74 2c 20 61 73 20 70 72 6f 76 69 se.or.other.equivalent,.as.provi
77c40 64 65 64 20 62 79 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 2e 0a 0a 59 6f 75 20 6d 61 79 20 6d ded.by.copyright.law...You.may.m
77c60 61 6b 65 2c 20 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 ake,.run.and.propagate.covered.w
77c80 6f 72 6b 73 20 74 68 61 74 20 79 6f 75 20 64 6f 20 6e 6f 74 20 63 6f 6e 76 65 79 2c 0a 77 69 74 orks.that.you.do.not.convey,.wit
77ca0 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.
77cc0 6c 69 63 65 6e 73 65 20 6f 74 68 65 72 77 69 73 65 20 72 65 6d 61 69 6e 73 20 69 6e 20 66 6f 72 license.otherwise.remains.in.for
77ce0 63 65 2e 0a 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 ce..You.may.convey.covered.works
77d00 20 74 6f 20 6f 74 68 65 72 73 20 66 6f 72 20 74 68 65 20 73 6f 6c 65 20 70 75 72 70 6f 73 65 20 .to.others.for.the.sole.purpose.
77d20 6f 66 20 68 61 76 69 6e 67 0a 74 68 65 6d 20 6d 61 6b 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e of.having.them.make.modification
77d40 73 20 65 78 63 6c 75 73 69 76 65 6c 79 20 66 6f 72 20 79 6f 75 2c 20 6f 72 20 70 72 6f 76 69 64 s.exclusively.for.you,.or.provid
77d60 65 20 79 6f 75 20 77 69 74 68 0a 66 61 63 69 6c 69 74 69 65 73 20 66 6f 72 20 72 75 6e 6e 69 6e e.you.with.facilities.for.runnin
77d80 67 20 74 68 6f 73 65 20 77 6f 72 6b 73 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 g.those.works,.provided.that.you
77da0 20 63 6f 6d 70 6c 79 20 77 69 74 68 20 74 68 65 0a 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c .comply.with.the.terms.of.this.L
77dc0 69 63 65 6e 73 65 20 69 6e 20 63 6f 6e 76 65 79 69 6e 67 20 61 6c 6c 20 6d 61 74 65 72 69 61 6c icense.in.conveying.all.material
77de0 20 66 6f 72 20 77 68 69 63 68 20 79 6f 75 20 64 6f 20 6e 6f 74 0a 63 6f 6e 74 72 6f 6c 20 63 6f .for.which.you.do.not.control.co
77e00 70 79 72 69 67 68 74 2e 20 20 54 68 6f 73 65 20 74 68 75 73 20 6d 61 6b 69 6e 67 20 6f 72 20 72 pyright...Those.thus.making.or.r
77e20 75 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 0a 79 6f 75 unning.the.covered.works.for.you
77e40 20 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 20 .must.do.so.exclusively.on.your.
77e60 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 20 61 6e 64 behalf,.under.your.direction.and
77e80 0a 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 69 62 69 74 .control,.on.terms.that.prohibit
77ea0 20 74 68 65 6d 20 66 72 6f 6d 20 6d 61 6b 69 6e 67 20 61 6e 79 20 63 6f 70 69 65 73 20 6f 66 20 .them.from.making.any.copies.of.
77ec0 79 6f 75 72 0a 63 6f 70 79 72 69 67 68 74 65 64 20 6d 61 74 65 72 69 61 6c 20 6f 75 74 73 69 64 your.copyrighted.material.outsid
77ee0 65 20 74 68 65 69 72 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 20 77 69 74 68 20 79 6f 75 2e 0a 0a e.their.relationship.with.you...
77f00 43 6f 6e 76 65 79 69 6e 67 20 75 6e 64 65 72 20 61 6e 79 20 6f 74 68 65 72 20 63 69 72 63 75 6d Conveying.under.any.other.circum
77f20 73 74 61 6e 63 65 73 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 73 6f 6c 65 6c 79 20 75 6e 64 65 stances.is.permitted.solely.unde
77f40 72 20 74 68 65 0a 63 6f 6e 64 69 74 69 6f 6e 73 20 73 74 61 74 65 64 20 62 65 6c 6f 77 2e 20 20 r.the.conditions.stated.below...
77f60 53 75 62 6c 69 63 65 6e 73 69 6e 67 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 3b 20 73 65 63 Sublicensing.is.not.allowed;.sec
77f80 74 69 6f 6e 20 31 30 0a 6d 61 6b 65 73 20 69 74 20 75 6e 6e 65 63 65 73 73 61 72 79 2e 0a 0a 40 tion.10.makes.it.unnecessary...@
77fa0 69 74 65 6d 20 50 72 6f 74 65 63 74 69 6e 67 20 55 73 65 72 73 27 20 4c 65 67 61 6c 20 52 69 67 item.Protecting.Users'.Legal.Rig
77fc0 68 74 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 hts.From.Anti-Circumvention.Law.
77fe0 0a 0a 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 65 6d 65 ..No.covered.work.shall.be.deeme
78000 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 6c 6f 67 d.part.of.an.effective.technolog
78020 69 63 61 6c 0a 6d 65 61 73 75 72 65 20 75 6e 64 65 72 20 61 6e 79 20 61 70 70 6c 69 63 61 62 6c ical.measure.under.any.applicabl
78040 65 20 6c 61 77 20 66 75 6c 66 69 6c 6c 69 6e 67 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 75 6e 64 e.law.fulfilling.obligations.und
78060 65 72 20 61 72 74 69 63 6c 65 0a 31 31 20 6f 66 20 74 68 65 20 57 49 50 4f 20 63 6f 70 79 72 69 er.article.11.of.the.WIPO.copyri
78080 67 68 74 20 74 72 65 61 74 79 20 61 64 6f 70 74 65 64 20 6f 6e 20 32 30 20 44 65 63 65 6d 62 65 ght.treaty.adopted.on.20.Decembe
780a0 72 20 31 39 39 36 2c 20 6f 72 0a 73 69 6d 69 6c 61 72 20 6c 61 77 73 20 70 72 6f 68 69 62 69 74 r.1996,.or.similar.laws.prohibit
780c0 69 6e 67 20 6f 72 20 72 65 73 74 72 69 63 74 69 6e 67 20 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e ing.or.restricting.circumvention
780e0 20 6f 66 20 73 75 63 68 0a 6d 65 61 73 75 72 65 73 2e 0a 0a 57 68 65 6e 20 79 6f 75 20 63 6f 6e .of.such.measures...When.you.con
78100 76 65 79 20 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 vey.a.covered.work,.you.waive.an
78120 79 20 6c 65 67 61 6c 20 70 6f 77 65 72 20 74 6f 20 66 6f 72 62 69 64 0a 63 69 72 63 75 6d 76 65 y.legal.power.to.forbid.circumve
78140 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 20 ntion.of.technological.measures.
78160 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 73 75 63 68 0a 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e to.the.extent.such.circumvention
78180 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 20 72 69 67 68 74 .is.effected.by.exercising.right
781a0 73 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 74 68 0a 72 65 73 70 65 63 s.under.this.License.with.respec
781c0 74 20 74 6f 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 79 6f 75 20 64 t.to.the.covered.work,.and.you.d
781e0 69 73 63 6c 61 69 6d 20 61 6e 79 20 69 6e 74 65 6e 74 69 6f 6e 20 74 6f 20 6c 69 6d 69 74 0a 6f isclaim.any.intention.to.limit.o
78200 70 65 72 61 74 69 6f 6e 20 6f 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 peration.or.modification.of.the.
78220 77 6f 72 6b 20 61 73 20 61 20 6d 65 61 6e 73 20 6f 66 20 65 6e 66 6f 72 63 69 6e 67 2c 20 61 67 work.as.a.means.of.enforcing,.ag
78240 61 69 6e 73 74 0a 74 68 65 20 77 6f 72 6b 27 73 20 75 73 65 72 73 2c 20 79 6f 75 72 20 6f 72 20 ainst.the.work's.users,.your.or.
78260 74 68 69 72 64 20 70 61 72 74 69 65 73 27 20 6c 65 67 61 6c 20 72 69 67 68 74 73 20 74 6f 20 66 third.parties'.legal.rights.to.f
78280 6f 72 62 69 64 0a 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 orbid.circumvention.of.technolog
782a0 69 63 61 6c 20 6d 65 61 73 75 72 65 73 2e 0a 0a 40 69 74 65 6d 20 43 6f 6e 76 65 79 69 6e 67 20 ical.measures...@item.Conveying.
782c0 56 65 72 62 61 74 69 6d 20 43 6f 70 69 65 73 2e 0a 0a 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 Verbatim.Copies...You.may.convey
782e0 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 6d 27 .verbatim.copies.of.the.Program'
78300 73 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61 73 20 79 6f 75 0a 72 65 63 65 69 76 65 20 69 74 2c s.source.code.as.you.receive.it,
78320 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f .in.any.medium,.provided.that.yo
78340 75 20 63 6f 6e 73 70 69 63 75 6f 75 73 6c 79 20 61 6e 64 0a 61 70 70 72 6f 70 72 69 61 74 65 6c u.conspicuously.and.appropriatel
78360 79 20 70 75 62 6c 69 73 68 20 6f 6e 20 65 61 63 68 20 63 6f 70 79 20 61 6e 20 61 70 70 72 6f 70 y.publish.on.each.copy.an.approp
78380 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 3b 0a 6b 65 65 70 20 69 6e 74 riate.copyright.notice;.keep.int
783a0 61 63 74 20 61 6c 6c 20 6e 6f 74 69 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 74 68 69 act.all.notices.stating.that.thi
783c0 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 0a 6e 6f 6e 2d 70 65 72 6d 69 73 73 69 76 65 s.License.and.any.non-permissive
783e0 20 74 65 72 6d 73 20 61 64 64 65 64 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 73 65 63 74 .terms.added.in.accord.with.sect
78400 69 6f 6e 20 37 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 63 6f 64 65 3b 0a 6b 65 65 70 20 69 6e ion.7.apply.to.the.code;.keep.in
78420 74 61 63 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 tact.all.notices.of.the.absence.
78440 6f 66 20 61 6e 79 20 77 61 72 72 61 6e 74 79 3b 20 61 6e 64 20 67 69 76 65 20 61 6c 6c 0a 72 65 of.any.warranty;.and.give.all.re
78460 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 65 20 cipients.a.copy.of.this.License.
78480 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 59 6f 75 20 6d 61 79 along.with.the.Program...You.may
784a0 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 72 69 63 65 20 66 6f .charge.any.price.or.no.price.fo
784c0 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 65 79 2c 0a 61 6e 64 r.each.copy.that.you.convey,.and
784e0 20 79 6f 75 20 6d 61 79 20 6f 66 66 65 72 20 73 75 70 70 6f 72 74 20 6f 72 20 77 61 72 72 61 6e .you.may.offer.support.or.warran
78500 74 79 20 70 72 6f 74 65 63 74 69 6f 6e 20 66 6f 72 20 61 20 66 65 65 2e 0a 0a 40 69 74 65 6d 20 ty.protection.for.a.fee...@item.
78520 43 6f 6e 76 65 79 69 6e 67 20 4d 6f 64 69 66 69 65 64 20 53 6f 75 72 63 65 20 56 65 72 73 69 6f Conveying.Modified.Source.Versio
78540 6e 73 2e 0a 0a 59 6f 75 20 6d 61 79 20 63 6f 6e 76 65 79 20 61 20 77 6f 72 6b 20 62 61 73 65 64 ns...You.may.convey.a.work.based
78560 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 6f 72 20 74 68 65 20 6d 6f 64 69 66 69 63 61 .on.the.Program,.or.the.modifica
78580 74 69 6f 6e 73 20 74 6f 0a 70 72 6f 64 75 63 65 20 69 74 20 66 72 6f 6d 20 74 68 65 20 50 72 6f tions.to.produce.it.from.the.Pro
785a0 67 72 61 6d 2c 20 69 6e 20 74 68 65 20 66 6f 72 6d 20 6f 66 20 73 6f 75 72 63 65 20 63 6f 64 65 gram,.in.the.form.of.source.code
785c0 20 75 6e 64 65 72 20 74 68 65 0a 74 65 72 6d 73 20 6f 66 20 73 65 63 74 69 6f 6e 20 34 2c 20 70 .under.the.terms.of.section.4,.p
785e0 72 6f 76 69 64 65 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 rovided.that.you.also.meet.all.o
78600 66 20 74 68 65 73 65 0a 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 40 65 6e 75 6d 65 72 61 74 65 20 f.these.conditions:..@enumerate.
78620 61 0a 40 69 74 65 6d 0a 54 68 65 20 77 6f 72 6b 20 6d 75 73 74 20 63 61 72 72 79 20 70 72 6f 6d a.@item.The.work.must.carry.prom
78640 69 6e 65 6e 74 20 6e 6f 74 69 63 65 73 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 79 6f 75 20 6d inent.notices.stating.that.you.m
78660 6f 64 69 66 69 65 64 20 69 74 2c 0a 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
78680 74 20 64 61 74 65 2e 0a 0a 40 69 74 65 6d 0a 54 68 65 20 77 6f 72 6b 20 6d 75 73 74 20 63 61 72 t.date...@item.The.work.must.car
786a0 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 20 74 68 61 ry.prominent.notices.stating.tha
786c0 74 20 69 74 20 69 73 20 72 65 6c 65 61 73 65 64 0a 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 t.it.is.released.under.this.Lice
786e0 6e 73 65 20 61 6e 64 20 61 6e 79 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 64 64 65 64 20 75 6e 64 nse.and.any.conditions.added.und
78700 65 72 20 73 65 63 74 69 6f 6e 20 37 2e 20 20 54 68 69 73 0a 72 65 71 75 69 72 65 6d 65 6e 74 20 er.section.7...This.requirement.
78720 6d 6f 64 69 66 69 65 73 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 20 69 6e 20 73 65 63 74 modifies.the.requirement.in.sect
78740 69 6f 6e 20 34 20 74 6f 20 60 60 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 0a 6e 6f 74 69 63 ion.4.to.``keep.intact.all.notic
78760 65 73 27 27 2e 0a 0a 40 69 74 65 6d 0a 59 6f 75 20 6d 75 73 74 20 6c 69 63 65 6e 73 65 20 74 68 es''...@item.You.must.license.th
78780 65 20 65 6e 74 69 72 65 20 77 6f 72 6b 2c 20 61 73 20 61 20 77 68 6f 6c 65 2c 20 75 6e 64 65 72 e.entire.work,.as.a.whole,.under
787a0 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 0a 61 6e 79 6f 6e 65 20 77 68 6f 20 63 6f 6d 65 .this.License.to.anyone.who.come
787c0 73 20 69 6e 74 6f 20 70 6f 73 73 65 73 73 69 6f 6e 20 6f 66 20 61 20 63 6f 70 79 2e 20 20 54 68 s.into.possession.of.a.copy...Th
787e0 69 73 20 4c 69 63 65 6e 73 65 20 77 69 6c 6c 0a 74 68 65 72 65 66 6f 72 65 20 61 70 70 6c 79 2c is.License.will.therefore.apply,
78800 20 61 6c 6f 6e 67 20 77 69 74 68 20 61 6e 79 20 61 70 70 6c 69 63 61 62 6c 65 20 73 65 63 74 69 .along.with.any.applicable.secti
78820 6f 6e 20 37 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 0a 74 6f 20 74 68 65 20 77 68 on.7.additional.terms,.to.the.wh
78840 6f 6c 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 2c 20 61 6e 64 20 61 6c 6c 20 69 74 73 20 70 61 72 ole.of.the.work,.and.all.its.par
78860 74 73 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 68 6f 77 20 74 68 65 79 0a 61 72 65 20 70 ts,.regardless.of.how.they.are.p
78880 61 63 6b 61 67 65 64 2e 20 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 67 69 76 65 73 20 6e 6f 20 ackaged...This.License.gives.no.
788a0 70 65 72 6d 69 73 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 permission.to.license.the.work.i
788c0 6e 0a 61 6e 79 20 6f 74 68 65 72 20 77 61 79 2c 20 62 75 74 20 69 74 20 64 6f 65 73 20 6e 6f 74 n.any.other.way,.but.it.does.not
788e0 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 69 66 20 79 .invalidate.such.permission.if.y
78900 6f 75 20 68 61 76 65 0a 73 65 70 61 72 61 74 65 6c 79 20 72 65 63 65 69 76 65 64 20 69 74 2e 0a ou.have.separately.received.it..
78920 0a 40 69 74 65 6d 0a 49 66 20 74 68 65 20 77 6f 72 6b 20 68 61 73 20 69 6e 74 65 72 61 63 74 69 .@item.If.the.work.has.interacti
78940 76 65 20 75 73 65 72 20 69 6e 74 65 72 66 61 63 65 73 2c 20 65 61 63 68 20 6d 75 73 74 20 64 69 ve.user.interfaces,.each.must.di
78960 73 70 6c 61 79 0a 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 splay.Appropriate.Legal.Notices;
78980 20 68 6f 77 65 76 65 72 2c 20 69 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 68 61 73 20 69 6e 74 .however,.if.the.Program.has.int
789a0 65 72 61 63 74 69 76 65 0a 69 6e 74 65 72 66 61 63 65 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 eractive.interfaces.that.do.not.
789c0 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 20 4e 6f 74 69 63 65 display.Appropriate.Legal.Notice
789e0 73 2c 20 79 6f 75 72 20 77 6f 72 6b 0a 6e 65 65 64 20 6e 6f 74 20 6d 61 6b 65 20 74 68 65 6d 20 s,.your.work.need.not.make.them.
78a00 64 6f 20 73 6f 2e 0a 40 65 6e 64 20 65 6e 75 6d 65 72 61 74 65 0a 0a 41 20 63 6f 6d 70 69 6c 61 do.so..@end.enumerate..A.compila
78a20 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 68 20 6f 74 68 65 tion.of.a.covered.work.with.othe
78a40 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 0a 77 6f 72 6b 73 r.separate.and.independent.works
78a60 2c 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 62 79 20 74 68 65 69 72 20 6e 61 74 75 72 65 20 ,.which.are.not.by.their.nature.
78a80 65 78 74 65 6e 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 0a extensions.of.the.covered.work,.
78aa0 61 6e 64 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 and.which.are.not.combined.with.
78ac0 69 74 20 73 75 63 68 20 61 73 20 74 6f 20 66 6f 72 6d 20 61 20 6c 61 72 67 65 72 20 70 72 6f 67 it.such.as.to.form.a.larger.prog
78ae0 72 61 6d 2c 0a 69 6e 20 6f 72 20 6f 6e 20 61 20 76 6f 6c 75 6d 65 20 6f 66 20 61 20 73 74 6f 72 ram,.in.or.on.a.volume.of.a.stor
78b00 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 6d 2c 20 69 73 20 63 age.or.distribution.medium,.is.c
78b20 61 6c 6c 65 64 20 61 6e 0a 60 60 61 67 67 72 65 67 61 74 65 27 27 20 69 66 20 74 68 65 20 63 6f alled.an.``aggregate''.if.the.co
78b40 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 69 74 73 20 72 65 73 75 6c 74 69 6e 67 20 63 6f 70 79 mpilation.and.its.resulting.copy
78b60 72 69 67 68 74 20 61 72 65 20 6e 6f 74 0a 75 73 65 64 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 right.are.not.used.to.limit.the.
78b80 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 20 63 6f access.or.legal.rights.of.the.co
78ba0 6d 70 69 6c 61 74 69 6f 6e 27 73 20 75 73 65 72 73 0a 62 65 79 6f 6e 64 20 77 68 61 74 20 74 68 mpilation's.users.beyond.what.th
78bc0 65 20 69 6e 64 69 76 69 64 75 61 6c 20 77 6f 72 6b 73 20 70 65 72 6d 69 74 2e 20 20 49 6e 63 6c e.individual.works.permit...Incl
78be0 75 73 69 6f 6e 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 69 6e 20 61 6e 20 61 67 usion.of.a.covered.work.in.an.ag
78c00 67 72 65 67 61 74 65 20 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 74 68 69 73 20 4c 69 63 65 gregate.does.not.cause.this.Lice
78c20 6e 73 65 20 74 6f 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 6f 74 68 65 72 0a 70 61 72 74 73 20 nse.to.apply.to.the.other.parts.
78c40 6f 66 20 74 68 65 20 61 67 67 72 65 67 61 74 65 2e 0a 0a 40 69 74 65 6d 20 20 43 6f 6e 76 65 79 of.the.aggregate...@item..Convey
78c60 69 6e 67 20 4e 6f 6e 2d 53 6f 75 72 63 65 20 46 6f 72 6d 73 2e 0a 0a 59 6f 75 20 6d 61 79 20 63 ing.Non-Source.Forms...You.may.c
78c80 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 6f 62 6a 65 63 74 20 63 onvey.a.covered.work.in.object.c
78ca0 6f 64 65 20 66 6f 72 6d 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 0a 73 65 63 74 ode.form.under.the.terms.of.sect
78cc0 69 6f 6e 73 20 34 20 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 ions.4.and.5,.provided.that.you.
78ce0 61 6c 73 6f 20 63 6f 6e 76 65 79 20 74 68 65 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 also.convey.the.machine-readable
78d00 0a 43 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 .Corresponding.Source.under.the.
78d20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 69 6e 20 6f 6e 65 20 6f 66 terms.of.this.License,.in.one.of
78d40 20 74 68 65 73 65 0a 77 61 79 73 3a 0a 0a 40 65 6e 75 6d 65 72 61 74 65 20 61 0a 40 69 74 65 6d .these.ways:..@enumerate.a.@item
78d60 0a 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 72 20 65 .Convey.the.object.code.in,.or.e
78d80 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 74 0a 28 mbodied.in,.a.physical.product.(
78da0 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 75 74 69 6f including.a.physical.distributio
78dc0 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 65 0a 43 6f n.medium),.accompanied.by.the.Co
78de0 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 69 78 65 64 20 6f 6e 20 61 20 64 75 rresponding.Source.fixed.on.a.du
78e00 72 61 62 6c 65 20 70 68 79 73 69 63 61 6c 20 6d 65 64 69 75 6d 20 63 75 73 74 6f 6d 61 72 69 6c rable.physical.medium.customaril
78e20 79 0a 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 65 2e y.used.for.software.interchange.
78e40 0a 0a 40 69 74 65 6d 0a 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 ..@item.Convey.the.object.code.i
78e60 6e 2c 20 6f 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 n,.or.embodied.in,.a.physical.pr
78e80 6f 64 75 63 74 0a 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 oduct.(including.a.physical.dist
78ea0 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 69 65 64 20 62 79 ribution.medium),.accompanied.by
78ec0 20 61 20 77 72 69 74 74 65 6e 0a 6f 66 66 65 72 2c 20 76 61 6c 69 64 20 66 6f 72 20 61 74 20 6c .a.written.offer,.valid.for.at.l
78ee0 65 61 73 74 20 74 68 72 65 65 20 79 65 61 72 73 20 61 6e 64 20 76 61 6c 69 64 20 66 6f 72 20 61 east.three.years.and.valid.for.a
78f00 73 20 6c 6f 6e 67 20 61 73 20 79 6f 75 0a 6f 66 66 65 72 20 73 70 61 72 65 20 70 61 72 74 73 20 s.long.as.you.offer.spare.parts.
78f20 6f 72 20 63 75 73 74 6f 6d 65 72 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 61 74 20 70 72 6f or.customer.support.for.that.pro
78f40 64 75 63 74 20 6d 6f 64 65 6c 2c 20 74 6f 20 67 69 76 65 0a 61 6e 79 6f 6e 65 20 77 68 6f 20 70 duct.model,.to.give.anyone.who.p
78f60 6f 73 73 65 73 73 65 73 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 65 69 74 68 65 72 20 ossesses.the.object.code.either.
78f80 28 31 29 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 (1).a.copy.of.the.Corresponding.
78fa0 53 6f 75 72 63 65 20 66 6f 72 20 61 6c 6c 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 69 6e 20 74 Source.for.all.the.software.in.t
78fc0 68 65 20 70 72 6f 64 75 63 74 20 74 68 61 74 20 69 73 0a 63 6f 76 65 72 65 64 20 62 79 20 74 68 he.product.that.is.covered.by.th
78fe0 69 73 20 4c 69 63 65 6e 73 65 2c 20 6f 6e 20 61 20 64 75 72 61 62 6c 65 20 70 68 79 73 69 63 61 is.License,.on.a.durable.physica
79000 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 0a 66 6f 72 20 73 6f l.medium.customarily.used.for.so
79020 66 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 65 2c 20 66 6f 72 20 61 20 70 72 69 63 65 20 ftware.interchange,.for.a.price.
79040 6e 6f 20 6d 6f 72 65 20 74 68 61 6e 20 79 6f 75 72 20 72 65 61 73 6f 6e 61 62 6c 65 0a 63 6f 73 no.more.than.your.reasonable.cos
79060 74 20 6f 66 20 70 68 79 73 69 63 61 6c 6c 79 20 70 65 72 66 6f 72 6d 69 6e 67 20 74 68 69 73 20 t.of.physically.performing.this.
79080 63 6f 6e 76 65 79 69 6e 67 20 6f 66 20 73 6f 75 72 63 65 2c 20 6f 72 20 28 32 29 20 61 63 63 65 conveying.of.source,.or.(2).acce
790a0 73 73 0a 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 ss.to.copy.the.Corresponding.Sou
790c0 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 20 rce.from.a.network.server.at.no.
790e0 63 68 61 72 67 65 2e 0a 0a 40 69 74 65 6d 0a 43 6f 6e 76 65 79 20 69 6e 64 69 76 69 64 75 61 6c charge...@item.Convey.individual
79100 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 69 74 68 20 .copies.of.the.object.code.with.
79120 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 77 72 69 74 74 65 6e 0a 6f 66 66 65 72 20 74 6f 20 70 a.copy.of.the.written.offer.to.p
79140 72 6f 76 69 64 65 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 2e rovide.the.Corresponding.Source.
79160 20 20 54 68 69 73 20 61 6c 74 65 72 6e 61 74 69 76 65 20 69 73 0a 61 6c 6c 6f 77 65 64 20 6f 6e ..This.alternative.is.allowed.on
79180 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 69 61 ly.occasionally.and.noncommercia
791a0 6c 6c 79 2c 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 79 6f 75 0a 72 65 63 65 69 76 65 64 20 74 68 lly,.and.only.if.you.received.th
791c0 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 77 69 74 68 20 73 75 63 68 20 61 6e 20 6f 66 66 65 72 e.object.code.with.such.an.offer
791e0 2c 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 73 75 62 73 65 63 74 69 6f 6e 0a 36 62 2e 0a ,.in.accord.with.subsection.6b..
79200 0a 40 69 74 65 6d 0a 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 .@item.Convey.the.object.code.by
79220 20 6f 66 66 65 72 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 .offering.access.from.a.designat
79240 65 64 20 70 6c 61 63 65 0a 28 67 72 61 74 69 73 20 6f 72 20 66 6f 72 20 61 20 63 68 61 72 67 65 ed.place.(gratis.or.for.a.charge
79260 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 73 73 20 74 ),.and.offer.equivalent.access.t
79280 6f 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 69 6e 20 74 68 o.the.Corresponding.Source.in.th
792a0 65 20 73 61 6d 65 20 77 61 79 20 74 68 72 6f 75 67 68 20 74 68 65 20 73 61 6d 65 20 70 6c 61 63 e.same.way.through.the.same.plac
792c0 65 20 61 74 20 6e 6f 0a 66 75 72 74 68 65 72 20 63 68 61 72 67 65 2e 20 20 59 6f 75 20 6e 65 65 e.at.no.further.charge...You.nee
792e0 64 20 6e 6f 74 20 72 65 71 75 69 72 65 20 72 65 63 69 70 69 65 6e 74 73 20 74 6f 20 63 6f 70 79 d.not.require.recipients.to.copy
79300 20 74 68 65 0a 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 67 20 .the.Corresponding.Source.along.
79320 77 69 74 68 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 2e 20 20 49 66 20 74 68 65 20 70 6c with.the.object.code...If.the.pl
79340 61 63 65 20 74 6f 20 63 6f 70 79 0a 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 73 20 61 ace.to.copy.the.object.code.is.a
79360 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 2c 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 .network.server,.the.Correspondi
79380 6e 67 20 53 6f 75 72 63 65 20 6d 61 79 20 62 65 0a 6f 6e 20 61 20 64 69 66 66 65 72 65 6e 74 20 ng.Source.may.be.on.a.different.
793a0 73 65 72 76 65 72 20 28 6f 70 65 72 61 74 65 64 20 62 79 20 79 6f 75 20 6f 72 20 61 20 74 68 69 server.(operated.by.you.or.a.thi
793c0 72 64 20 70 61 72 74 79 29 20 74 68 61 74 20 73 75 70 70 6f 72 74 73 0a 65 71 75 69 76 61 6c 65 rd.party).that.supports.equivale
793e0 6e 74 20 63 6f 70 79 69 6e 67 20 66 61 63 69 6c 69 74 69 65 73 2c 20 70 72 6f 76 69 64 65 64 20 nt.copying.facilities,.provided.
79400 79 6f 75 20 6d 61 69 6e 74 61 69 6e 20 63 6c 65 61 72 20 64 69 72 65 63 74 69 6f 6e 73 0a 6e 65 you.maintain.clear.directions.ne
79420 78 74 20 74 6f 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 73 61 79 69 6e 67 20 77 68 65 xt.to.the.object.code.saying.whe
79440 72 65 20 74 6f 20 66 69 6e 64 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 re.to.find.the.Corresponding.Sou
79460 72 63 65 2e 0a 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 rce..Regardless.of.what.server.h
79480 6f 73 74 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 osts.the.Corresponding.Source,.y
794a0 6f 75 20 72 65 6d 61 69 6e 0a 6f 62 6c 69 67 61 74 65 64 20 74 6f 20 65 6e 73 75 72 65 20 74 68 ou.remain.obligated.to.ensure.th
794c0 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 20 6c 6f 6e 67 20 61 at.it.is.available.for.as.long.a
794e0 73 20 6e 65 65 64 65 64 20 74 6f 0a 73 61 74 69 73 66 79 20 74 68 65 73 65 20 72 65 71 75 69 72 s.needed.to.satisfy.these.requir
79500 65 6d 65 6e 74 73 2e 0a 0a 40 69 74 65 6d 0a 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 ements...@item.Convey.the.object
79520 20 63 6f 64 65 20 75 73 69 6e 67 20 70 65 65 72 2d 74 6f 2d 70 65 65 72 20 74 72 61 6e 73 6d 69 .code.using.peer-to-peer.transmi
79540 73 73 69 6f 6e 2c 20 70 72 6f 76 69 64 65 64 20 79 6f 75 0a 69 6e 66 6f 72 6d 20 6f 74 68 65 72 ssion,.provided.you.inform.other
79560 20 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 .peers.where.the.object.code.and
79580 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6f 66 0a 74 68 65 20 77 6f 72 .Corresponding.Source.of.the.wor
795a0 6b 20 61 72 65 20 62 65 69 6e 67 20 6f 66 66 65 72 65 64 20 74 6f 20 74 68 65 20 67 65 6e 65 72 k.are.being.offered.to.the.gener
795c0 61 6c 20 70 75 62 6c 69 63 20 61 74 20 6e 6f 20 63 68 61 72 67 65 20 75 6e 64 65 72 0a 73 75 62 al.public.at.no.charge.under.sub
795e0 73 65 63 74 69 6f 6e 20 36 64 2e 0a 0a 40 65 6e 64 20 65 6e 75 6d 65 72 61 74 65 0a 0a 41 20 73 section.6d...@end.enumerate..A.s
79600 65 70 61 72 61 62 6c 65 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 63 eparable.portion.of.the.object.c
79620 6f 64 65 2c 20 77 68 6f 73 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 20 65 78 63 6c 75 64 ode,.whose.source.code.is.exclud
79640 65 64 0a 66 72 6f 6d 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 ed.from.the.Corresponding.Source
79660 20 61 73 20 61 20 53 79 73 74 65 6d 20 4c 69 62 72 61 72 79 2c 20 6e 65 65 64 20 6e 6f 74 20 62 .as.a.System.Library,.need.not.b
79680 65 0a 69 6e 63 6c 75 64 65 64 20 69 6e 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 20 6f 62 6a 65 e.included.in.conveying.the.obje
796a0 63 74 20 63 6f 64 65 20 77 6f 72 6b 2e 0a 0a 41 20 60 60 55 73 65 72 20 50 72 6f 64 75 63 74 27 ct.code.work...A.``User.Product'
796c0 27 20 69 73 20 65 69 74 68 65 72 20 28 31 29 20 61 20 60 60 63 6f 6e 73 75 6d 65 72 20 70 72 6f '.is.either.(1).a.``consumer.pro
796e0 64 75 63 74 27 27 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 20 61 6e 79 0a 74 61 6e 67 69 62 6c 65 duct'',.which.means.any.tangible
79700 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
79720 61 6c 6c 79 20 75 73 65 64 20 66 6f 72 20 70 65 72 73 6f 6e 61 6c 2c 0a 66 61 6d 69 6c 79 2c 20 ally.used.for.personal,.family,.
79740 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 32 29 20 61 6e or.household.purposes,.or.(2).an
79760 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 0a 69 6e 63 6f ything.designed.or.sold.for.inco
79780 72 70 6f 72 61 74 69 6f 6e 20 69 6e 74 6f 20 61 20 64 77 65 6c 6c 69 6e 67 2e 20 20 49 6e 20 64 rporation.into.a.dwelling...In.d
797a0 65 74 65 72 6d 69 6e 69 6e 67 20 77 68 65 74 68 65 72 20 61 20 70 72 6f 64 75 63 74 20 69 73 20 etermining.whether.a.product.is.
797c0 61 0a 63 6f 6e 73 75 6d 65 72 20 70 72 6f 64 75 63 74 2c 20 64 6f 75 62 74 66 75 6c 20 63 61 73 a.consumer.product,.doubtful.cas
797e0 65 73 20 73 68 61 6c 6c 20 62 65 20 72 65 73 6f 6c 76 65 64 20 69 6e 20 66 61 76 6f 72 20 6f 66 es.shall.be.resolved.in.favor.of
79800 0a 63 6f 76 65 72 61 67 65 2e 20 20 46 6f 72 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 70 72 6f .coverage...For.a.particular.pro
79820 64 75 63 74 20 72 65 63 65 69 76 65 64 20 62 79 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 duct.received.by.a.particular.us
79840 65 72 2c 0a 60 60 6e 6f 72 6d 61 6c 6c 79 20 75 73 65 64 27 27 20 72 65 66 65 72 73 20 74 6f 20 er,.``normally.used''.refers.to.
79860 61 20 74 79 70 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 a.typical.or.common.use.of.that.
79880 63 6c 61 73 73 20 6f 66 0a 70 72 6f 64 75 63 74 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 class.of.product,.regardless.of.
798a0 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
798c0 72 20 6f 72 20 6f 66 20 74 68 65 20 77 61 79 0a 69 6e 20 77 68 69 63 68 20 74 68 65 20 70 61 72 r.or.of.the.way.in.which.the.par
798e0 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 20 6f 72 20 65 ticular.user.actually.uses,.or.e
79900 78 70 65 63 74 73 20 6f 72 20 69 73 20 65 78 70 65 63 74 65 64 0a 74 6f 20 75 73 65 2c 20 74 68 xpects.or.is.expected.to.use,.th
79920 65 20 70 72 6f 64 75 63 74 2e 20 20 41 20 70 72 6f 64 75 63 74 20 69 73 20 61 20 63 6f 6e 73 75 e.product...A.product.is.a.consu
79940 6d 65 72 20 70 72 6f 64 75 63 74 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 0a 77 68 65 74 68 65 mer.product.regardless.of.whethe
79960 72 20 74 68 65 20 70 72 6f 64 75 63 74 20 68 61 73 20 73 75 62 73 74 61 6e 74 69 61 6c 20 63 6f r.the.product.has.substantial.co
79980 6d 6d 65 72 63 69 61 6c 2c 20 69 6e 64 75 73 74 72 69 61 6c 20 6f 72 0a 6e 6f 6e 2d 63 6f 6e 73 mmercial,.industrial.or.non-cons
799a0 75 6d 65 72 20 75 73 65 73 2c 20 75 6e 6c 65 73 73 20 73 75 63 68 20 75 73 65 73 20 72 65 70 72 umer.uses,.unless.such.uses.repr
799c0 65 73 65 6e 74 20 74 68 65 20 6f 6e 6c 79 20 73 69 67 6e 69 66 69 63 61 6e 74 0a 6d 6f 64 65 20 esent.the.only.significant.mode.
799e0 6f 66 20 75 73 65 20 6f 66 20 74 68 65 20 70 72 6f 64 75 63 74 2e 0a 0a 60 60 49 6e 73 74 61 6c of.use.of.the.product...``Instal
79a00 6c 61 74 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 27 27 20 66 6f 72 20 61 20 55 73 65 72 20 lation.Information''.for.a.User.
79a20 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 70 72 6f 63 65 Product.means.any.methods,.proce
79a40 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 6f 72 20 6f 74 dures,.authorization.keys,.or.ot
79a60 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 0a 69 6e 73 74 her.information.required.to.inst
79a80 61 6c 6c 20 61 6e 64 20 65 78 65 63 75 74 65 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e all.and.execute.modified.version
79aa0 73 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 74 68 61 74 20 55 73 65 72 s.of.a.covered.work.in.that.User
79ac0 0a 50 72 6f 64 75 63 74 20 66 72 6f 6d 20 61 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e .Product.from.a.modified.version
79ae0 20 6f 66 20 69 74 73 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 .of.its.Corresponding.Source...T
79b00 68 65 0a 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6d 75 73 74 20 73 75 66 66 69 63 65 20 74 6f 20 65 he.information.must.suffice.to.e
79b20 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 63 6f 6e 74 69 6e 75 65 64 20 66 75 6e 63 74 69 6f nsure.that.the.continued.functio
79b40 6e 69 6e 67 20 6f 66 0a 74 68 65 20 6d 6f 64 69 66 69 65 64 20 6f 62 6a 65 63 74 20 63 6f 64 65 ning.of.the.modified.object.code
79b60 20 69 73 20 69 6e 20 6e 6f 20 63 61 73 65 20 70 72 65 76 65 6e 74 65 64 20 6f 72 20 69 6e 74 65 .is.in.no.case.prevented.or.inte
79b80 72 66 65 72 65 64 20 77 69 74 68 0a 73 6f 6c 65 6c 79 20 62 65 63 61 75 73 65 20 6d 6f 64 69 66 rfered.with.solely.because.modif
79ba0 69 63 61 74 69 6f 6e 20 68 61 73 20 62 65 65 6e 20 6d 61 64 65 2e 0a 0a 49 66 20 79 6f 75 20 63 ication.has.been.made...If.you.c
79bc0 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 72 20 onvey.an.object.code.work.under.
79be0 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 20 6f 72 0a 73 70 65 this.section.in,.or.with,.or.spe
79c00 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 73 65 72 20 50 72 6f cifically.for.use.in,.a.User.Pro
79c20 64 75 63 74 2c 20 61 6e 64 20 74 68 65 20 63 6f 6e 76 65 79 69 6e 67 20 6f 63 63 75 72 73 20 61 duct,.and.the.conveying.occurs.a
79c40 73 0a 70 61 72 74 20 6f 66 20 61 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 69 6e 20 77 68 69 63 68 s.part.of.a.transaction.in.which
79c60 20 74 68 65 20 72 69 67 68 74 20 6f 66 20 70 6f 73 73 65 73 73 69 6f 6e 20 61 6e 64 20 75 73 65 .the.right.of.possession.and.use
79c80 20 6f 66 20 74 68 65 0a 55 73 65 72 20 50 72 6f 64 75 63 74 20 69 73 20 74 72 61 6e 73 66 65 72 .of.the.User.Product.is.transfer
79ca0 72 65 64 20 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 20 69 6e 20 70 65 72 70 65 74 75 69 red.to.the.recipient.in.perpetui
79cc0 74 79 20 6f 72 20 66 6f 72 20 61 0a 66 69 78 65 64 20 74 65 72 6d 20 28 72 65 67 61 72 64 6c 65 ty.or.for.a.fixed.term.(regardle
79ce0 73 73 20 6f 66 20 68 6f 77 20 74 68 65 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 69 73 20 63 68 61 ss.of.how.the.transaction.is.cha
79d00 72 61 63 74 65 72 69 7a 65 64 29 2c 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 racterized),.the.Corresponding.S
79d20 6f 75 72 63 65 20 63 6f 6e 76 65 79 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f ource.conveyed.under.this.sectio
79d40 6e 20 6d 75 73 74 20 62 65 20 61 63 63 6f 6d 70 61 6e 69 65 64 0a 62 79 20 74 68 65 20 49 6e 73 n.must.be.accompanied.by.the.Ins
79d60 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 20 74 68 69 73 tallation.Information...But.this
79d80 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 0a 69 66 20 6e .requirement.does.not.apply.if.n
79da0 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 72 74 79 20 72 either.you.nor.any.third.party.r
79dc0 65 74 61 69 6e 73 20 74 68 65 20 61 62 69 6c 69 74 79 20 74 6f 20 69 6e 73 74 61 6c 6c 0a 6d 6f etains.the.ability.to.install.mo
79de0 64 69 66 69 65 64 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 6f 6e 20 74 68 65 20 55 73 65 72 20 50 dified.object.code.on.the.User.P
79e00 72 6f 64 75 63 74 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 77 6f 72 6b 20 68 61 roduct.(for.example,.the.work.ha
79e20 73 0a 62 65 65 6e 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 20 52 4f 4d 29 2e 0a 0a 54 68 65 20 72 s.been.installed.in.ROM)...The.r
79e40 65 71 75 69 72 65 6d 65 6e 74 20 74 6f 20 70 72 6f 76 69 64 65 20 49 6e 73 74 61 6c 6c 61 74 69 equirement.to.provide.Installati
79e60 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 on.Information.does.not.include.
79e80 61 0a 72 65 71 75 69 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 a.requirement.to.continue.to.pro
79ea0 76 69 64 65 20 73 75 70 70 6f 72 74 20 73 65 72 76 69 63 65 2c 20 77 61 72 72 61 6e 74 79 2c 20 vide.support.service,.warranty,.
79ec0 6f 72 0a 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 or.updates.for.a.work.that.has.b
79ee0 65 65 6e 20 6d 6f 64 69 66 69 65 64 20 6f 72 20 69 6e 73 74 61 6c 6c 65 64 20 62 79 20 74 68 65 een.modified.or.installed.by.the
79f00 0a 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 72 6f 64 .recipient,.or.for.the.User.Prod
79f20 75 63 74 20 69 6e 20 77 68 69 63 68 20 69 74 20 68 61 73 20 62 65 65 6e 20 6d 6f 64 69 66 69 65 uct.in.which.it.has.been.modifie
79f40 64 20 6f 72 0a 69 6e 73 74 61 6c 6c 65 64 2e 20 20 41 63 63 65 73 73 20 74 6f 20 61 20 6e 65 74 d.or.installed...Access.to.a.net
79f60 77 6f 72 6b 20 6d 61 79 20 62 65 20 64 65 6e 69 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 64 69 work.may.be.denied.when.the.modi
79f80 66 69 63 61 74 69 6f 6e 0a 69 74 73 65 6c 66 20 6d 61 74 65 72 69 61 6c 6c 79 20 61 6e 64 20 61 fication.itself.materially.and.a
79fa0 64 76 65 72 73 65 6c 79 20 61 66 66 65 63 74 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 6f dversely.affects.the.operation.o
79fc0 66 20 74 68 65 20 6e 65 74 77 6f 72 6b 0a 6f 72 20 76 69 6f 6c 61 74 65 73 20 74 68 65 20 72 75 f.the.network.or.violates.the.ru
79fe0 6c 65 73 20 61 6e 64 20 70 72 6f 74 6f 63 6f 6c 73 20 66 6f 72 20 63 6f 6d 6d 75 6e 69 63 61 74 les.and.protocols.for.communicat
7a000 69 6f 6e 20 61 63 72 6f 73 73 20 74 68 65 0a 6e 65 74 77 6f 72 6b 2e 0a 0a 43 6f 72 72 65 73 70 ion.across.the.network...Corresp
7a020 6f 6e 64 69 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 onding.Source.conveyed,.and.Inst
7a040 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 70 72 6f 76 69 64 65 64 2c 0a 69 allation.Information.provided,.i
7a060 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 20 n.accord.with.this.section.must.
7a080 62 65 20 69 6e 20 61 20 66 6f 72 6d 61 74 20 74 68 61 74 20 69 73 20 70 75 62 6c 69 63 6c 79 0a be.in.a.format.that.is.publicly.
7a0a0 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 70 6c 65 6d 65 6e documented.(and.with.an.implemen
7a0c0 74 61 74 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20 69 tation.available.to.the.public.i
7a0e0 6e 0a 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 6d 29 2c 20 61 6e 64 20 6d 75 73 74 20 72 65 n.source.code.form),.and.must.re
7a100 71 75 69 72 65 20 6e 6f 20 73 70 65 63 69 61 6c 20 70 61 73 73 77 6f 72 64 20 6f 72 20 6b 65 79 quire.no.special.password.or.key
7a120 20 66 6f 72 0a 75 6e 70 61 63 6b 69 6e 67 2c 20 72 65 61 64 69 6e 67 20 6f 72 20 63 6f 70 79 69 .for.unpacking,.reading.or.copyi
7a140 6e 67 2e 0a 0a 40 69 74 65 6d 20 41 64 64 69 74 69 6f 6e 61 6c 20 54 65 72 6d 73 2e 0a 0a 60 60 ng...@item.Additional.Terms...``
7a160 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 27 27 20 61 72 65 20 74 65 72 Additional.permissions''.are.ter
7a180 6d 73 20 74 68 61 74 20 73 75 70 70 6c 65 6d 65 6e 74 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 ms.that.supplement.the.terms.of.
7a1a0 74 68 69 73 0a 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 this.License.by.making.exception
7a1c0 73 20 66 72 6f 6d 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 66 20 69 74 73 20 63 6f 6e 64 69 74 s.from.one.or.more.of.its.condit
7a1e0 69 6f 6e 73 2e 0a 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 61 ions..Additional.permissions.tha
7a200 74 20 61 72 65 20 61 70 70 6c 69 63 61 62 6c 65 20 74 6f 20 74 68 65 20 65 6e 74 69 72 65 20 50 t.are.applicable.to.the.entire.P
7a220 72 6f 67 72 61 6d 20 73 68 61 6c 6c 0a 62 65 20 74 72 65 61 74 65 64 20 61 73 20 74 68 6f 75 67 rogram.shall.be.treated.as.thoug
7a240 68 20 74 68 65 79 20 77 65 72 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 69 73 20 4c 69 63 h.they.were.included.in.this.Lic
7a260 65 6e 73 65 2c 20 74 6f 20 74 68 65 20 65 78 74 65 6e 74 0a 74 68 61 74 20 74 68 65 79 20 61 72 ense,.to.the.extent.that.they.ar
7a280 65 20 76 61 6c 69 64 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 2e 20 20 49 e.valid.under.applicable.law...I
7a2a0 66 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 0a 61 70 70 6c 79 20 6f f.additional.permissions.apply.o
7a2c0 6e 6c 79 20 74 6f 20 70 61 72 74 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 74 68 61 74 nly.to.part.of.the.Program,.that
7a2e0 20 70 61 72 74 20 6d 61 79 20 62 65 20 75 73 65 64 20 73 65 70 61 72 61 74 65 6c 79 0a 75 6e 64 .part.may.be.used.separately.und
7a300 65 72 20 74 68 6f 73 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 2c 20 62 75 74 20 74 68 65 20 65 6e er.those.permissions,.but.the.en
7a320 74 69 72 65 20 50 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 tire.Program.remains.governed.by
7a340 0a 74 68 69 73 20 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 20 .this.License.without.regard.to.
7a360 74 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 57 68 65 the.additional.permissions...Whe
7a380 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 65 72 65 64 n.you.convey.a.copy.of.a.covered
7a3a0 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 6e 0a 72 65 .work,.you.may.at.your.option.re
7a3c0 6d 6f 76 65 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 move.any.additional.permissions.
7a3e0 66 72 6f 6d 20 74 68 61 74 20 63 6f 70 79 2c 20 6f 72 20 66 72 6f 6d 20 61 6e 79 20 70 61 72 74 from.that.copy,.or.from.any.part
7a400 20 6f 66 0a 69 74 2e 20 20 28 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 .of.it...(Additional.permissions
7a420 20 6d 61 79 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f 20 72 65 71 75 69 72 65 20 74 68 65 69 72 .may.be.written.to.require.their
7a440 20 6f 77 6e 0a 72 65 6d 6f 76 61 6c 20 69 6e 20 63 65 72 74 61 69 6e 20 63 61 73 65 73 20 77 68 .own.removal.in.certain.cases.wh
7a460 65 6e 20 79 6f 75 20 6d 6f 64 69 66 79 20 74 68 65 20 77 6f 72 6b 2e 29 20 20 59 6f 75 20 6d 61 en.you.modify.the.work.)..You.ma
7a480 79 20 70 6c 61 63 65 0a 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 6f y.place.additional.permissions.o
7a4a0 6e 20 6d 61 74 65 72 69 61 6c 2c 20 61 64 64 65 64 20 62 79 20 79 6f 75 20 74 6f 20 61 20 63 6f n.material,.added.by.you.to.a.co
7a4c0 76 65 72 65 64 20 77 6f 72 6b 2c 0a 66 6f 72 20 77 68 69 63 68 20 79 6f 75 20 68 61 76 65 20 6f vered.work,.for.which.you.have.o
7a4e0 72 20 63 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 r.can.give.appropriate.copyright
7a500 20 70 65 72 6d 69 73 73 69 6f 6e 2e 0a 0a 4e 6f 74 77 69 74 68 73 74 61 6e 64 69 6e 67 20 61 6e .permission...Notwithstanding.an
7a520 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 6e 73 y.other.provision.of.this.Licens
7a540 65 2c 20 66 6f 72 20 6d 61 74 65 72 69 61 6c 20 79 6f 75 0a 61 64 64 20 74 6f 20 61 20 63 6f 76 e,.for.material.you.add.to.a.cov
7a560 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 74 68 6f 72 69 7a 65 ered.work,.you.may.(if.authorize
7a580 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 73 0a 6f 66 20 74 68 d.by.the.copyright.holders.of.th
7a5a0 61 74 20 6d 61 74 65 72 69 61 6c 29 20 73 75 70 70 6c 65 6d 65 6e 74 20 74 68 65 20 74 65 72 6d at.material).supplement.the.term
7a5c0 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 74 68 20 74 65 72 6d 73 3a 0a 0a 40 s.of.this.License.with.terms:..@
7a5e0 65 6e 75 6d 65 72 61 74 65 20 61 0a 40 69 74 65 6d 0a 44 69 73 63 6c 61 69 6d 69 6e 67 20 77 61 enumerate.a.@item.Disclaiming.wa
7a600 72 72 61 6e 74 79 20 6f 72 20 6c 69 6d 69 74 69 6e 67 20 6c 69 61 62 69 6c 69 74 79 20 64 69 66 rranty.or.limiting.liability.dif
7a620 66 65 72 65 6e 74 6c 79 20 66 72 6f 6d 20 74 68 65 20 74 65 72 6d 73 0a 6f 66 20 73 65 63 74 69 ferently.from.the.terms.of.secti
7a640 6f 6e 73 20 31 35 20 61 6e 64 20 31 36 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 3b 20 6f ons.15.and.16.of.this.License;.o
7a660 72 0a 0a 40 69 74 65 6d 0a 52 65 71 75 69 72 69 6e 67 20 70 72 65 73 65 72 76 61 74 69 6f 6e 20 r..@item.Requiring.preservation.
7a680 6f 66 20 73 70 65 63 69 66 69 65 64 20 72 65 61 73 6f 6e 61 62 6c 65 20 6c 65 67 61 6c 20 6e 6f of.specified.reasonable.legal.no
7a6a0 74 69 63 65 73 20 6f 72 20 61 75 74 68 6f 72 0a 61 74 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 tices.or.author.attributions.in.
7a6c0 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
7a6e0 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 63 65 73 0a 64 69 73 70 6c 61 79 65 64 20 62 79 20 77 ate.Legal.Notices.displayed.by.w
7a700 6f 72 6b 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 69 74 3b 20 6f 72 0a 0a 40 69 74 65 6d 0a 50 72 orks.containing.it;.or..@item.Pr
7a720 6f 68 69 62 69 74 69 6e 67 20 6d 69 73 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 ohibiting.misrepresentation.of.t
7a740 68 65 20 6f 72 69 67 69 6e 20 6f 66 20 74 68 61 74 20 6d 61 74 65 72 69 61 6c 2c 20 6f 72 0a 72 he.origin.of.that.material,.or.r
7a760 65 71 75 69 72 69 6e 67 20 74 68 61 74 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 equiring.that.modified.versions.
7a780 6f 66 20 73 75 63 68 20 6d 61 74 65 72 69 61 6c 20 62 65 20 6d 61 72 6b 65 64 20 69 6e 0a 72 65 of.such.material.be.marked.in.re
7a7a0 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 6d 20 asonable.ways.as.different.from.
7a7c0 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 40 69 74 65 6d 0a the.original.version;.or..@item.
7a7e0 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 63 69 74 79 20 70 Limiting.the.use.for.publicity.p
7a800 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 6f 72 73 20 6f 72 urposes.of.names.of.licensors.or
7a820 0a 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 20 6d 61 74 65 72 69 61 6c 3b 20 6f 72 0a 0a 40 69 .authors.of.the.material;.or..@i
7a840 74 65 6d 0a 44 65 63 6c 69 6e 69 6e 67 20 74 6f 20 67 72 61 6e 74 20 72 69 67 68 74 73 20 75 6e tem.Declining.to.grant.rights.un
7a860 64 65 72 20 74 72 61 64 65 6d 61 72 6b 20 6c 61 77 20 66 6f 72 20 75 73 65 20 6f 66 20 73 6f 6d der.trademark.law.for.use.of.som
7a880 65 20 74 72 61 64 65 0a 6e 61 6d 65 73 2c 20 74 72 61 64 65 6d 61 72 6b 73 2c 20 6f 72 20 73 65 e.trade.names,.trademarks,.or.se
7a8a0 72 76 69 63 65 20 6d 61 72 6b 73 3b 20 6f 72 0a 0a 40 69 74 65 6d 0a 52 65 71 75 69 72 69 6e 67 rvice.marks;.or..@item.Requiring
7a8c0 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 61 6e .indemnification.of.licensors.an
7a8e0 64 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 61 74 20 6d 61 74 65 72 69 61 6c 20 62 79 0a 61 6e d.authors.of.that.material.by.an
7a900 79 6f 6e 65 20 77 68 6f 20 63 6f 6e 76 65 79 73 20 74 68 65 20 6d 61 74 65 72 69 61 6c 20 28 6f yone.who.conveys.the.material.(o
7a920 72 20 6d 6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 69 74 29 20 77 69 74 68 0a r.modified.versions.of.it).with.
7a940 63 6f 6e 74 72 61 63 74 75 61 6c 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 6f 66 20 6c 69 61 62 69 contractual.assumptions.of.liabi
7a960 6c 69 74 79 20 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 2c 20 66 6f 72 20 61 6e 79 0a 6c lity.to.the.recipient,.for.any.l
7a980 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 20 iability.that.these.contractual.
7a9a0 61 73 73 75 6d 70 74 69 6f 6e 73 20 64 69 72 65 63 74 6c 79 20 69 6d 70 6f 73 65 20 6f 6e 20 74 assumptions.directly.impose.on.t
7a9c0 68 6f 73 65 0a 6c 69 63 65 6e 73 6f 72 73 20 61 6e 64 20 61 75 74 68 6f 72 73 2e 0a 40 65 6e 64 hose.licensors.and.authors..@end
7a9e0 20 65 6e 75 6d 65 72 61 74 65 0a 0a 41 6c 6c 20 6f 74 68 65 72 20 6e 6f 6e 2d 70 65 72 6d 69 73 .enumerate..All.other.non-permis
7aa00 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
7aa20 65 72 65 64 20 60 60 66 75 72 74 68 65 72 0a 72 65 73 74 72 69 63 74 69 6f 6e 73 27 27 20 77 69 ered.``further.restrictions''.wi
7aa40 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 6f 6e 20 31 30 2e 20 thin.the.meaning.of.section.10..
7aa60 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 61 73 20 79 6f 75 0a 72 65 63 65 69 76 65 64 20 .If.the.Program.as.you.received.
7aa80 69 74 2c 20 6f 72 20 61 6e 79 20 70 61 72 74 20 6f 66 20 69 74 2c 20 63 6f 6e 74 61 69 6e 73 20 it,.or.any.part.of.it,.contains.
7aaa0 61 20 6e 6f 74 69 63 65 20 73 74 61 74 69 6e 67 20 74 68 61 74 20 69 74 20 69 73 0a 67 6f 76 65 a.notice.stating.that.it.is.gove
7aac0 72 6e 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 rned.by.this.License.along.with.
7aae0 61 20 74 65 72 6d 20 74 68 61 74 20 69 73 20 61 20 66 75 72 74 68 65 72 0a 72 65 73 74 72 69 63 a.term.that.is.a.further.restric
7ab00 74 69 6f 6e 2c 20 79 6f 75 20 6d 61 79 20 72 65 6d 6f 76 65 20 74 68 61 74 20 74 65 72 6d 2e 20 tion,.you.may.remove.that.term..
7ab20 20 49 66 20 61 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 20 63 6f 6e 74 61 69 6e 73 0a .If.a.license.document.contains.
7ab40 61 20 66 75 72 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 a.further.restriction.but.permit
7ab60 73 20 72 65 6c 69 63 65 6e 73 69 6e 67 20 6f 72 20 63 6f 6e 76 65 79 69 6e 67 20 75 6e 64 65 72 s.relicensing.or.conveying.under
7ab80 20 74 68 69 73 0a 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.
7aba0 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 20 62 covered.work.material.governed.b
7abc0 79 20 74 68 65 20 74 65 72 6d 73 0a 6f 66 20 74 68 61 74 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 y.the.terms.of.that.license.docu
7abe0 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 74 68 65 72 20 ment,.provided.that.the.further.
7ac00 72 65 73 74 72 69 63 74 69 6f 6e 20 64 6f 65 73 0a 6e 6f 74 20 73 75 72 76 69 76 65 20 73 75 63 restriction.does.not.survive.suc
7ac20 68 20 72 65 6c 69 63 65 6e 73 69 6e 67 20 6f 72 20 63 6f 6e 76 65 79 69 6e 67 2e 0a 0a 49 66 20 h.relicensing.or.conveying...If.
7ac40 79 6f 75 20 61 64 64 20 74 65 72 6d 73 20 74 6f 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 you.add.terms.to.a.covered.work.
7ac60 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 2c 20 79 6f 75 in.accord.with.this.section,.you
7ac80 0a 6d 75 73 74 20 70 6c 61 63 65 2c 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 73 6f 75 .must.place,.in.the.relevant.sou
7aca0 72 63 65 20 66 69 6c 65 73 2c 20 61 20 73 74 61 74 65 6d 65 6e 74 20 6f 66 20 74 68 65 0a 61 64 rce.files,.a.statement.of.the.ad
7acc0 64 69 74 69 6f 6e 61 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 ditional.terms.that.apply.to.tho
7ace0 73 65 20 66 69 6c 65 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 se.files,.or.a.notice.indicating
7ad00 0a 77 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 .where.to.find.the.applicable.te
7ad20 72 6d 73 2e 0a 0a 41 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 20 70 65 72 6d 69 73 73 69 rms...Additional.terms,.permissi
7ad40 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 73 74 61 ve.or.non-permissive,.may.be.sta
7ad60 74 65 64 20 69 6e 20 74 68 65 0a 66 6f 72 6d 20 6f 66 20 61 20 73 65 70 61 72 61 74 65 6c 79 20 ted.in.the.form.of.a.separately.
7ad80 77 72 69 74 74 65 6e 20 6c 69 63 65 6e 73 65 2c 20 6f 72 20 73 74 61 74 65 64 20 61 73 20 65 78 written.license,.or.stated.as.ex
7ada0 63 65 70 74 69 6f 6e 73 3b 20 74 68 65 0a 61 62 6f 76 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 ceptions;.the.above.requirements
7adc0 20 61 70 70 6c 79 20 65 69 74 68 65 72 20 77 61 79 2e 0a 0a 40 69 74 65 6d 20 54 65 72 6d 69 6e .apply.either.way...@item.Termin
7ade0 61 74 69 6f 6e 2e 0a 0a 59 6f 75 20 6d 61 79 20 6e 6f 74 20 70 72 6f 70 61 67 61 74 65 20 6f 72 ation...You.may.not.propagate.or
7ae00 20 6d 6f 64 69 66 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 65 78 63 65 70 74 20 61 73 .modify.a.covered.work.except.as
7ae20 20 65 78 70 72 65 73 73 6c 79 0a 70 72 6f 76 69 64 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c .expressly.provided.under.this.L
7ae40 69 63 65 6e 73 65 2e 20 20 41 6e 79 20 61 74 74 65 6d 70 74 20 6f 74 68 65 72 77 69 73 65 20 74 icense...Any.attempt.otherwise.t
7ae60 6f 20 70 72 6f 70 61 67 61 74 65 20 6f 72 0a 6d 6f 64 69 66 79 20 69 74 20 69 73 20 76 6f 69 64 o.propagate.or.modify.it.is.void
7ae80 2c 20 61 6e 64 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 ,.and.will.automatically.termina
7aea0 74 65 20 79 6f 75 72 20 72 69 67 68 74 73 20 75 6e 64 65 72 0a 74 68 69 73 20 4c 69 63 65 6e 73 te.your.rights.under.this.Licens
7aec0 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
7aee0 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 65 20 74 68 69 72 64 0a 70 61 72 61 67 72 61 .granted.under.the.third.paragra
7af00 70 68 20 6f 66 20 73 65 63 74 69 6f 6e 20 31 31 29 2e 0a 0a 48 6f 77 65 76 65 72 2c 20 69 66 20 ph.of.section.11)...However,.if.
7af20 79 6f 75 20 63 65 61 73 65 20 61 6c 6c 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 you.cease.all.violation.of.this.
7af40 4c 69 63 65 6e 73 65 2c 20 74 68 65 6e 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 0a 66 72 6f 6d 20 License,.then.your.license.from.
7af60 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 a.particular.copyright.holder.is
7af80 20 72 65 69 6e 73 74 61 74 65 64 20 28 61 29 20 70 72 6f 76 69 73 69 6f 6e 61 6c 6c 79 2c 0a 75 .reinstated.(a).provisionally,.u
7afa0 6e 6c 65 73 73 20 61 6e 64 20 75 6e 74 69 6c 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f nless.and.until.the.copyright.ho
7afc0 6c 64 65 72 20 65 78 70 6c 69 63 69 74 6c 79 20 61 6e 64 20 66 69 6e 61 6c 6c 79 0a 74 65 72 6d lder.explicitly.and.finally.term
7afe0 69 6e 61 74 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 inates.your.license,.and.(b).per
7b000 6d 61 6e 65 6e 74 6c 79 2c 20 69 66 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 manently,.if.the.copyright.holde
7b020 72 0a 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 r.fails.to.notify.you.of.the.vio
7b040 6c 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 20 lation.by.some.reasonable.means.
7b060 70 72 69 6f 72 20 74 6f 0a 36 30 20 64 61 79 73 20 61 66 74 65 72 20 74 68 65 20 63 65 73 73 61 prior.to.60.days.after.the.cessa
7b080 74 69 6f 6e 2e 0a 0a 4d 6f 72 65 6f 76 65 72 2c 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 66 72 tion...Moreover,.your.license.fr
7b0a0 6f 6d 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 om.a.particular.copyright.holder
7b0c0 20 69 73 0a 72 65 69 6e 73 74 61 74 65 64 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 69 66 20 74 68 .is.reinstated.permanently.if.th
7b0e0 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 6e 6f 74 69 66 69 65 73 20 79 6f 75 20 e.copyright.holder.notifies.you.
7b100 6f 66 20 74 68 65 0a 76 69 6f 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 of.the.violation.by.some.reasona
7b120 62 6c 65 20 6d 65 61 6e 73 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73 74 20 74 69 6d ble.means,.this.is.the.first.tim
7b140 65 20 79 6f 75 20 68 61 76 65 0a 72 65 63 65 69 76 65 64 20 6e 6f 74 69 63 65 20 6f 66 20 76 69 e.you.have.received.notice.of.vi
7b160 6f 6c 61 74 69 6f 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 olation.of.this.License.(for.any
7b180 20 77 6f 72 6b 29 20 66 72 6f 6d 20 74 68 61 74 0a 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 .work).from.that.copyright.holde
7b1a0 72 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 r,.and.you.cure.the.violation.pr
7b1c0 69 6f 72 20 74 6f 20 33 30 20 64 61 79 73 20 61 66 74 65 72 0a 79 6f 75 72 20 72 65 63 65 69 70 ior.to.30.days.after.your.receip
7b1e0 74 20 6f 66 20 74 68 65 20 6e 6f 74 69 63 65 2e 0a 0a 54 65 72 6d 69 6e 61 74 69 6f 6e 20 6f 66 t.of.the.notice...Termination.of
7b200 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 63 74 69 6f 6e 20 .your.rights.under.this.section.
7b220 64 6f 65 73 20 6e 6f 74 20 74 65 72 6d 69 6e 61 74 65 20 74 68 65 0a 6c 69 63 65 6e 73 65 73 20 does.not.terminate.the.licenses.
7b240 6f 66 20 70 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 63 6f 70 of.parties.who.have.received.cop
7b260 69 65 73 20 6f 72 20 72 69 67 68 74 73 20 66 72 6f 6d 20 79 6f 75 20 75 6e 64 65 72 0a 74 68 69 ies.or.rights.from.you.under.thi
7b280 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 72 20 72 69 67 68 74 73 20 68 61 76 65 20 s.License...If.your.rights.have.
7b2a0 62 65 65 6e 20 74 65 72 6d 69 6e 61 74 65 64 20 61 6e 64 20 6e 6f 74 20 70 65 72 6d 61 6e 65 6e been.terminated.and.not.permanen
7b2c0 74 6c 79 0a 72 65 69 6e 73 74 61 74 65 64 2c 20 79 6f 75 20 64 6f 20 6e 6f 74 20 71 75 61 6c 69 tly.reinstated,.you.do.not.quali
7b2e0 66 79 20 74 6f 20 72 65 63 65 69 76 65 20 6e 65 77 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 74 fy.to.receive.new.licenses.for.t
7b300 68 65 20 73 61 6d 65 0a 6d 61 74 65 72 69 61 6c 20 75 6e 64 65 72 20 73 65 63 74 69 6f 6e 20 31 he.same.material.under.section.1
7b320 30 2e 0a 0a 40 69 74 65 6d 20 41 63 63 65 70 74 61 6e 63 65 20 4e 6f 74 20 52 65 71 75 69 72 65 0...@item.Acceptance.Not.Require
7b340 64 20 66 6f 72 20 48 61 76 69 6e 67 20 43 6f 70 69 65 73 2e 0a 0a 59 6f 75 20 61 72 65 20 6e 6f d.for.Having.Copies...You.are.no
7b360 74 20 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 t.required.to.accept.this.Licens
7b380 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 72 65 63 65 69 76 65 20 6f 72 20 72 75 6e 0a 61 20 63 e.in.order.to.receive.or.run.a.c
7b3a0 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 79 20 70 opy.of.the.Program...Ancillary.p
7b3c0 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 6f 63 63 ropagation.of.a.covered.work.occ
7b3e0 75 72 72 69 6e 67 20 73 6f 6c 65 6c 79 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f urring.solely.as.a.consequence.o
7b400 66 20 75 73 69 6e 67 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 f.using.peer-to-peer.transmissio
7b420 6e 0a 74 6f 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6c 69 6b 65 77 69 73 65 20 64 6f 65 n.to.receive.a.copy.likewise.doe
7b440 73 20 6e 6f 74 20 72 65 71 75 69 72 65 20 61 63 63 65 70 74 61 6e 63 65 2e 20 20 48 6f 77 65 76 s.not.require.acceptance...Howev
7b460 65 72 2c 0a 6e 6f 74 68 69 6e 67 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 69 73 20 4c 69 63 65 er,.nothing.other.than.this.Lice
7b480 6e 73 65 20 67 72 61 6e 74 73 20 79 6f 75 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 70 72 6f nse.grants.you.permission.to.pro
7b4a0 70 61 67 61 74 65 20 6f 72 0a 6d 6f 64 69 66 79 20 61 6e 79 20 63 6f 76 65 72 65 64 20 77 6f 72 pagate.or.modify.any.covered.wor
7b4c0 6b 2e 20 20 54 68 65 73 65 20 61 63 74 69 6f 6e 73 20 69 6e 66 72 69 6e 67 65 20 63 6f 70 79 72 k...These.actions.infringe.copyr
7b4e0 69 67 68 74 20 69 66 20 79 6f 75 20 64 6f 0a 6e 6f 74 20 61 63 63 65 70 74 20 74 68 69 73 20 4c ight.if.you.do.not.accept.this.L
7b500 69 63 65 6e 73 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 62 79 20 6d 6f 64 69 66 79 69 6e 67 icense...Therefore,.by.modifying
7b520 20 6f 72 20 70 72 6f 70 61 67 61 74 69 6e 67 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 .or.propagating.a.covered.work,.
7b540 79 6f 75 20 69 6e 64 69 63 61 74 65 20 79 6f 75 72 20 61 63 63 65 70 74 61 6e 63 65 20 6f 66 20 you.indicate.your.acceptance.of.
7b560 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 20 64 6f 20 73 6f 2e 0a 0a 40 69 74 65 6d 20 41 75 this.License.to.do.so...@item.Au
7b580 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 74 72 65 61 6d 20 tomatic.Licensing.of.Downstream.
7b5a0 52 65 63 69 70 69 65 6e 74 73 2e 0a 0a 45 61 63 68 20 74 69 6d 65 20 79 6f 75 20 63 6f 6e 76 65 Recipients...Each.time.you.conve
7b5c0 79 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 20 y.a.covered.work,.the.recipient.
7b5e0 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 72 65 63 65 69 76 65 73 20 61 20 6c 69 63 65 6e 73 65 automatically.receives.a.license
7b600 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6c 69 63 65 6e 73 6f 72 73 2c 20 74 6f .from.the.original.licensors,.to
7b620 20 72 75 6e 2c 20 6d 6f 64 69 66 79 20 61 6e 64 0a 70 72 6f 70 61 67 61 74 65 20 74 68 61 74 20 .run,.modify.and.propagate.that.
7b640 77 6f 72 6b 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 work,.subject.to.this.License...
7b660 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 65 73 70 6f 6e 73 69 62 6c 65 0a 66 6f 72 20 65 6e 66 6f You.are.not.responsible.for.enfo
7b680 72 63 69 6e 67 20 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 rcing.compliance.by.third.partie
7b6a0 73 20 77 69 74 68 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 41 6e 20 60 60 65 6e 74 69 74 s.with.this.License...An.``entit
7b6c0 79 20 74 72 61 6e 73 61 63 74 69 6f 6e 27 27 20 69 73 20 61 20 74 72 61 6e 73 61 63 74 69 6f 6e y.transaction''.is.a.transaction
7b6e0 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 6e 0a 6f 72 67 61 .transferring.control.of.an.orga
7b700 6e 69 7a 61 74 69 6f 6e 2c 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 61 6c 6c 20 61 nization,.or.substantially.all.a
7b720 73 73 65 74 73 20 6f 66 20 6f 6e 65 2c 20 6f 72 20 73 75 62 64 69 76 69 64 69 6e 67 20 61 6e 0a ssets.of.one,.or.subdividing.an.
7b740 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 2c 20 6f 72 20 6d 65 72 67 69 6e 67 20 6f 72 67 61 6e 69 7a organization,.or.merging.organiz
7b760 61 74 69 6f 6e 73 2e 20 20 49 66 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20 61 20 63 6f 76 ations...If.propagation.of.a.cov
7b780 65 72 65 64 0a 77 6f 72 6b 20 72 65 73 75 6c 74 73 20 66 72 6f 6d 20 61 6e 20 65 6e 74 69 74 79 ered.work.results.from.an.entity
7b7a0 20 74 72 61 6e 73 61 63 74 69 6f 6e 2c 20 65 61 63 68 20 70 61 72 74 79 20 74 6f 20 74 68 61 74 .transaction,.each.party.to.that
7b7c0 0a 74 72 61 6e 73 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 .transaction.who.receives.a.copy
7b7e0 20 6f 66 20 74 68 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 .of.the.work.also.receives.whate
7b800 76 65 72 0a 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 ver.licenses.to.the.work.the.par
7b820 74 79 27 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 64 ty's.predecessor.in.interest.had
7b840 20 6f 72 20 63 6f 75 6c 64 0a 67 69 76 65 20 75 6e 64 65 72 20 74 68 65 20 70 72 65 76 69 6f 75 .or.could.give.under.the.previou
7b860 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 74 6f 20 70 6f 73 s.paragraph,.plus.a.right.to.pos
7b880 73 65 73 73 69 6f 6e 20 6f 66 20 74 68 65 0a 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 session.of.the.Corresponding.Sou
7b8a0 72 63 65 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 66 72 6f 6d 20 74 68 65 20 70 72 65 64 65 63 65 rce.of.the.work.from.the.predece
7b8c0 73 73 6f 72 20 69 6e 20 69 6e 74 65 72 65 73 74 2c 20 69 66 0a 74 68 65 20 70 72 65 64 65 63 65 ssor.in.interest,.if.the.predece
7b8e0 73 73 6f 72 20 68 61 73 20 69 74 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 20 77 69 74 68 20 72 ssor.has.it.or.can.get.it.with.r
7b900 65 61 73 6f 6e 61 62 6c 65 20 65 66 66 6f 72 74 73 2e 0a 0a 59 6f 75 20 6d 61 79 20 6e 6f 74 20 easonable.efforts...You.may.not.
7b920 69 6d 70 6f 73 65 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 impose.any.further.restrictions.
7b940 6f 6e 20 74 68 65 20 65 78 65 72 63 69 73 65 20 6f 66 20 74 68 65 0a 72 69 67 68 74 73 20 67 72 on.the.exercise.of.the.rights.gr
7b960 61 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 anted.or.affirmed.under.this.Lic
7b980 65 6e 73 65 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 79 6f 75 20 6d 61 79 0a 6e 6f 74 20 ense...For.example,.you.may.not.
7b9a0 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 79 2c 20 6f impose.a.license.fee,.royalty,.o
7b9c0 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 20 6f 66 0a 72 r.other.charge.for.exercise.of.r
7b9e0 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 ights.granted.under.this.License
7ba00 2c 20 61 6e 64 20 79 6f 75 20 6d 61 79 20 6e 6f 74 20 69 6e 69 74 69 61 74 65 20 6c 69 74 69 67 ,.and.you.may.not.initiate.litig
7ba20 61 74 69 6f 6e 0a 28 69 6e 63 6c 75 64 69 6e 67 20 61 20 63 72 6f 73 73 2d 63 6c 61 69 6d 20 6f ation.(including.a.cross-claim.o
7ba40 72 20 63 6f 75 6e 74 65 72 63 6c 61 69 6d 20 69 6e 20 61 20 6c 61 77 73 75 69 74 29 20 61 6c 6c r.counterclaim.in.a.lawsuit).all
7ba60 65 67 69 6e 67 20 74 68 61 74 0a 61 6e 79 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 20 69 73 20 69 eging.that.any.patent.claim.is.i
7ba80 6e 66 72 69 6e 67 65 64 20 62 79 20 6d 61 6b 69 6e 67 2c 20 75 73 69 6e 67 2c 20 73 65 6c 6c 69 nfringed.by.making,.using,.selli
7baa0 6e 67 2c 20 6f 66 66 65 72 69 6e 67 20 66 6f 72 0a 73 61 6c 65 2c 20 6f 72 20 69 6d 70 6f 72 74 ng,.offering.for.sale,.or.import
7bac0 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e 79 20 70 6f 72 74 69 6f 6e 20 6f ing.the.Program.or.any.portion.o
7bae0 66 20 69 74 2e 0a 0a 40 69 74 65 6d 20 50 61 74 65 6e 74 73 2e 0a 0a 41 20 60 60 63 6f 6e 74 72 f.it...@item.Patents...A.``contr
7bb00 69 62 75 74 6f 72 27 27 20 69 73 20 61 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 77 ibutor''.is.a.copyright.holder.w
7bb20 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 0a 4c 69 63 ho.authorizes.use.under.this.Lic
7bb40 65 6e 73 65 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 20 77 6f 72 6b 20 6f 6e ense.of.the.Program.or.a.work.on
7bb60 20 77 68 69 63 68 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 73 20 62 61 73 65 64 2e 20 20 54 68 .which.the.Program.is.based...Th
7bb80 65 0a 77 6f 72 6b 20 74 68 75 73 20 6c 69 63 65 6e 73 65 64 20 69 73 20 63 61 6c 6c 65 64 20 74 e.work.thus.licensed.is.called.t
7bba0 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 27 73 20 60 60 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 he.contributor's.``contributor.v
7bbc0 65 72 73 69 6f 6e 27 27 2e 0a 0a 41 20 63 6f 6e 74 72 69 62 75 74 6f 72 27 73 20 60 60 65 73 73 ersion''...A.contributor's.``ess
7bbe0 65 6e 74 69 61 6c 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 27 27 20 61 72 65 20 61 6c 6c 20 70 ential.patent.claims''.are.all.p
7bc00 61 74 65 6e 74 20 63 6c 61 69 6d 73 20 6f 77 6e 65 64 0a 6f 72 20 63 6f 6e 74 72 6f 6c 6c 65 64 atent.claims.owned.or.controlled
7bc20 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 20 61 6c 72 .by.the.contributor,.whether.alr
7bc40 65 61 64 79 20 61 63 71 75 69 72 65 64 20 6f 72 0a 68 65 72 65 61 66 74 65 72 20 61 63 71 75 69 eady.acquired.or.hereafter.acqui
7bc60 72 65 64 2c 20 74 68 61 74 20 77 6f 75 6c 64 20 62 65 20 69 6e 66 72 69 6e 67 65 64 20 62 79 20 red,.that.would.be.infringed.by.
7bc80 73 6f 6d 65 20 6d 61 6e 6e 65 72 2c 20 70 65 72 6d 69 74 74 65 64 0a 62 79 20 74 68 69 73 20 4c some.manner,.permitted.by.this.L
7bca0 69 63 65 6e 73 65 2c 20 6f 66 20 6d 61 6b 69 6e 67 2c 20 75 73 69 6e 67 2c 20 6f 72 20 73 65 6c icense,.of.making,.using,.or.sel
7bcc0 6c 69 6e 67 20 69 74 73 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2c 0a 62 75 ling.its.contributor.version,.bu
7bce0 74 20 64 6f 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 63 6c 61 69 6d 73 20 74 68 61 74 20 77 6f 75 t.do.not.include.claims.that.wou
7bd00 6c 64 20 62 65 20 69 6e 66 72 69 6e 67 65 64 20 6f 6e 6c 79 20 61 73 20 61 0a 63 6f 6e 73 65 71 ld.be.infringed.only.as.a.conseq
7bd20 75 65 6e 63 65 20 6f 66 20 66 75 72 74 68 65 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 6f 66 uence.of.further.modification.of
7bd40 20 74 68 65 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 0a 70 .the.contributor.version...For.p
7bd60 75 72 70 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 60 60 63 6f urposes.of.this.definition,.``co
7bd80 6e 74 72 6f 6c 27 27 20 69 6e 63 6c 75 64 65 73 20 74 68 65 20 72 69 67 68 74 20 74 6f 20 67 72 ntrol''.includes.the.right.to.gr
7bda0 61 6e 74 0a 70 61 74 65 6e 74 20 73 75 62 6c 69 63 65 6e 73 65 73 20 69 6e 20 61 20 6d 61 6e 6e ant.patent.sublicenses.in.a.mann
7bdc0 65 72 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 er.consistent.with.the.requireme
7bde0 6e 74 73 20 6f 66 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 45 61 63 68 20 63 6f 6e 74 72 nts.of.this.License...Each.contr
7be00 69 62 75 74 6f 72 20 67 72 61 6e 74 73 20 79 6f 75 20 61 20 6e 6f 6e 2d 65 78 63 6c 75 73 69 76 ibutor.grants.you.a.non-exclusiv
7be20 65 2c 20 77 6f 72 6c 64 77 69 64 65 2c 20 72 6f 79 61 6c 74 79 2d 66 72 65 65 0a 70 61 74 65 6e e,.worldwide,.royalty-free.paten
7be40 74 20 6c 69 63 65 6e 73 65 20 75 6e 64 65 72 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 27 t.license.under.the.contributor'
7be60 73 20 65 73 73 65 6e 74 69 61 6c 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 2c 20 74 6f 0a 6d 61 s.essential.patent.claims,.to.ma
7be80 6b 65 2c 20 75 73 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 ke,.use,.sell,.offer.for.sale,.i
7bea0 6d 70 6f 72 74 20 61 6e 64 20 6f 74 68 65 72 77 69 73 65 20 72 75 6e 2c 20 6d 6f 64 69 66 79 20 mport.and.otherwise.run,.modify.
7bec0 61 6e 64 0a 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 and.propagate.the.contents.of.it
7bee0 73 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 49 6e 20 74 68 65 20 66 s.contributor.version...In.the.f
7bf00 6f 6c 6c 6f 77 69 6e 67 20 74 68 72 65 65 20 70 61 72 61 67 72 61 70 68 73 2c 20 61 20 60 60 70 ollowing.three.paragraphs,.a.``p
7bf20 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 27 27 20 69 73 20 61 6e 79 20 65 78 70 72 65 73 73 0a 61 atent.license''.is.any.express.a
7bf40 67 72 65 65 6d 65 6e 74 20 6f 72 20 63 6f 6d 6d 69 74 6d 65 6e 74 2c 20 68 6f 77 65 76 65 72 20 greement.or.commitment,.however.
7bf60 64 65 6e 6f 6d 69 6e 61 74 65 64 2c 20 6e 6f 74 20 74 6f 20 65 6e 66 6f 72 63 65 20 61 20 70 61 denominated,.not.to.enforce.a.pa
7bf80 74 65 6e 74 0a 28 73 75 63 68 20 61 73 20 61 6e 20 65 78 70 72 65 73 73 20 70 65 72 6d 69 73 73 tent.(such.as.an.express.permiss
7bfa0 69 6f 6e 20 74 6f 20 70 72 61 63 74 69 63 65 20 61 20 70 61 74 65 6e 74 20 6f 72 20 63 6f 76 65 ion.to.practice.a.patent.or.cove
7bfc0 6e 61 6e 74 20 6e 6f 74 20 74 6f 0a 73 75 65 20 66 6f 72 20 70 61 74 65 6e 74 20 69 6e 66 72 69 nant.not.to.sue.for.patent.infri
7bfe0 6e 67 65 6d 65 6e 74 29 2e 20 20 54 6f 20 60 60 67 72 61 6e 74 27 27 20 73 75 63 68 20 61 20 70 ngement)...To.``grant''.such.a.p
7c000 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 74 6f 20 61 0a 70 61 72 74 79 20 6d 65 61 6e 73 20 74 atent.license.to.a.party.means.t
7c020 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 20 63 6f 6d 6d o.make.such.an.agreement.or.comm
7c040 69 74 6d 65 6e 74 20 6e 6f 74 20 74 6f 20 65 6e 66 6f 72 63 65 20 61 0a 70 61 74 65 6e 74 20 61 itment.not.to.enforce.a.patent.a
7c060 67 61 69 6e 73 74 20 74 68 65 20 70 61 72 74 79 2e 0a 0a 49 66 20 79 6f 75 20 63 6f 6e 76 65 79 gainst.the.party...If.you.convey
7c080 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 6b 6e 6f 77 69 6e 67 6c 79 20 72 65 6c 79 69 .a.covered.work,.knowingly.relyi
7c0a0 6e 67 20 6f 6e 20 61 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 2c 0a 61 6e 64 20 74 68 65 20 ng.on.a.patent.license,.and.the.
7c0c0 43 6f 72 72 65 73 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 Corresponding.Source.of.the.work
7c0e0 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 61 6e 79 6f 6e 65 0a 74 6f 20 .is.not.available.for.anyone.to.
7c100 63 6f 70 79 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 20 61 6e 64 20 75 6e 64 65 72 20 74 copy,.free.of.charge.and.under.t
7c120 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 74 68 72 6f 75 67 he.terms.of.this.License,.throug
7c140 68 20 61 0a 70 75 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 h.a.publicly.available.network.s
7c160 65 72 76 65 72 20 6f 72 20 6f 74 68 65 72 20 72 65 61 64 69 6c 79 20 61 63 63 65 73 73 69 62 6c erver.or.other.readily.accessibl
7c180 65 20 6d 65 61 6e 73 2c 0a 74 68 65 6e 20 79 6f 75 20 6d 75 73 74 20 65 69 74 68 65 72 20 28 31 e.means,.then.you.must.either.(1
7c1a0 29 20 63 61 75 73 65 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 ).cause.the.Corresponding.Source
7c1c0 20 74 6f 20 62 65 20 73 6f 0a 61 76 61 69 6c 61 62 6c 65 2c 20 6f 72 20 28 32 29 20 61 72 72 61 .to.be.so.available,.or.(2).arra
7c1e0 6e 67 65 20 74 6f 20 64 65 70 72 69 76 65 20 79 6f 75 72 73 65 6c 66 20 6f 66 20 74 68 65 20 62 nge.to.deprive.yourself.of.the.b
7c200 65 6e 65 66 69 74 20 6f 66 20 74 68 65 0a 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 66 6f 72 enefit.of.the.patent.license.for
7c220 20 74 68 69 73 20 70 61 72 74 69 63 75 6c 61 72 20 77 6f 72 6b 2c 20 6f 72 20 28 33 29 20 61 72 .this.particular.work,.or.(3).ar
7c240 72 61 6e 67 65 2c 20 69 6e 20 61 20 6d 61 6e 6e 65 72 0a 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 range,.in.a.manner.consistent.wi
7c260 74 68 20 74 68 65 20 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 th.the.requirements.of.this.Lice
7c280 6e 73 65 2c 20 74 6f 20 65 78 74 65 6e 64 20 74 68 65 20 70 61 74 65 6e 74 0a 6c 69 63 65 6e 73 nse,.to.extend.the.patent.licens
7c2a0 65 20 74 6f 20 64 6f 77 6e 73 74 72 65 61 6d 20 72 65 63 69 70 69 65 6e 74 73 2e 20 20 60 60 4b e.to.downstream.recipients...``K
7c2c0 6e 6f 77 69 6e 67 6c 79 20 72 65 6c 79 69 6e 67 27 27 20 6d 65 61 6e 73 20 79 6f 75 20 68 61 76 nowingly.relying''.means.you.hav
7c2e0 65 0a 61 63 74 75 61 6c 20 6b 6e 6f 77 6c 65 64 67 65 20 74 68 61 74 2c 20 62 75 74 20 66 6f 72 e.actual.knowledge.that,.but.for
7c300 20 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 .the.patent.license,.your.convey
7c320 69 6e 67 20 74 68 65 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 61 20 63 6f 75 6e 74 72 ing.the.covered.work.in.a.countr
7c340 79 2c 20 6f 72 20 79 6f 75 72 20 72 65 63 69 70 69 65 6e 74 27 73 20 75 73 65 20 6f 66 20 74 68 y,.or.your.recipient's.use.of.th
7c360 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 69 6e 20 61 20 63 6f 75 6e 74 72 79 2c 20 77 6f 75 e.covered.work.in.a.country,.wou
7c380 6c 64 20 69 6e 66 72 69 6e 67 65 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 69 64 65 6e 74 69 66 69 ld.infringe.one.or.more.identifi
7c3a0 61 62 6c 65 20 70 61 74 65 6e 74 73 20 69 6e 20 74 68 61 74 0a 63 6f 75 6e 74 72 79 20 74 68 61 able.patents.in.that.country.tha
7c3c0 74 20 79 6f 75 20 68 61 76 65 20 72 65 61 73 6f 6e 20 74 6f 20 62 65 6c 69 65 76 65 20 61 72 65 t.you.have.reason.to.believe.are
7c3e0 20 76 61 6c 69 64 2e 0a 0a 49 66 2c 20 70 75 72 73 75 61 6e 74 20 74 6f 20 6f 72 20 69 6e 20 63 .valid...If,.pursuant.to.or.in.c
7c400 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 20 74 72 61 6e 73 61 63 74 onnection.with.a.single.transact
7c420 69 6f 6e 20 6f 72 0a 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 ion.or.arrangement,.you.convey,.
7c440 6f 72 20 70 72 6f 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 or.propagate.by.procuring.convey
7c460 61 6e 63 65 20 6f 66 2c 20 61 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 67 72 61 ance.of,.a.covered.work,.and.gra
7c480 6e 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 nt.a.patent.license.to.some.of.t
7c4a0 68 65 20 70 61 72 74 69 65 73 0a 72 65 63 65 69 76 69 6e 67 20 74 68 65 20 63 6f 76 65 72 65 64 he.parties.receiving.the.covered
7c4c0 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 65 2c 20 70 .work.authorizing.them.to.use,.p
7c4e0 72 6f 70 61 67 61 74 65 2c 20 6d 6f 64 69 66 79 0a 6f 72 20 63 6f 6e 76 65 79 20 61 20 73 70 65 ropagate,.modify.or.convey.a.spe
7c500 63 69 66 69 63 20 63 6f 70 79 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 cific.copy.of.the.covered.work,.
7c520 74 68 65 6e 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 0a 79 6f 75 20 67 72 61 6e then.the.patent.license.you.gran
7c540 74 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 78 74 65 6e 64 65 64 20 74 6f 20 61 t.is.automatically.extended.to.a
7c560 6c 6c 20 72 65 63 69 70 69 65 6e 74 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 0a 77 6f 72 ll.recipients.of.the.covered.wor
7c580 6b 20 61 6e 64 20 77 6f 72 6b 73 20 62 61 73 65 64 20 6f 6e 20 69 74 2e 0a 0a 41 20 70 61 74 65 k.and.works.based.on.it...A.pate
7c5a0 6e 74 20 6c 69 63 65 6e 73 65 20 69 73 20 60 60 64 69 73 63 72 69 6d 69 6e 61 74 6f 72 79 27 27 nt.license.is.``discriminatory''
7c5c0 20 69 66 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 77 69 74 68 69 6e 20 74 .if.it.does.not.include.within.t
7c5e0 68 65 0a 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 he.scope.of.its.coverage,.prohib
7c600 69 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 20 63 6f 6e 64 69 its.the.exercise.of,.or.is.condi
7c620 74 69 6f 6e 65 64 20 6f 6e 0a 74 68 65 20 6e 6f 6e 2d 65 78 65 72 63 69 73 65 20 6f 66 20 6f 6e tioned.on.the.non-exercise.of.on
7c640 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 20 61 72 65 e.or.more.of.the.rights.that.are
7c660 20 73 70 65 63 69 66 69 63 61 6c 6c 79 0a 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 74 68 69 73 .specifically.granted.under.this
7c680 20 4c 69 63 65 6e 73 65 2e 20 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 63 6f 6e 76 65 79 20 61 20 .License...You.may.not.convey.a.
7c6a0 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 66 20 79 6f 75 0a 61 72 65 20 61 20 70 61 72 74 79 20 covered.work.if.you.are.a.party.
7c6c0 74 6f 20 61 6e 20 61 72 72 61 6e 67 65 6d 65 6e 74 20 77 69 74 68 20 61 20 74 68 69 72 64 20 70 to.an.arrangement.with.a.third.p
7c6e0 61 72 74 79 20 74 68 61 74 20 69 73 20 69 6e 20 74 68 65 0a 62 75 73 69 6e 65 73 73 20 6f 66 20 arty.that.is.in.the.business.of.
7c700 64 69 73 74 72 69 62 75 74 69 6e 67 20 73 6f 66 74 77 61 72 65 2c 20 75 6e 64 65 72 20 77 68 69 distributing.software,.under.whi
7c720 63 68 20 79 6f 75 20 6d 61 6b 65 20 70 61 79 6d 65 6e 74 20 74 6f 20 74 68 65 0a 74 68 69 72 64 ch.you.make.payment.to.the.third
7c740 20 70 61 72 74 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 65 78 74 65 6e 74 20 6f 66 20 79 6f .party.based.on.the.extent.of.yo
7c760 75 72 20 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 0a 77 6f 72 ur.activity.of.conveying.the.wor
7c780 6b 2c 20 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 k,.and.under.which.the.third.par
7c7a0 74 79 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 65 73 ty.grants,.to.any.of.the.parties
7c7c0 0a 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 20 77 .who.would.receive.the.covered.w
7c7e0 6f 72 6b 20 66 72 6f 6d 20 79 6f 75 2c 20 61 20 64 69 73 63 72 69 6d 69 6e 61 74 6f 72 79 20 70 ork.from.you,.a.discriminatory.p
7c800 61 74 65 6e 74 0a 6c 69 63 65 6e 73 65 20 28 61 29 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 atent.license.(a).in.connection.
7c820 77 69 74 68 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 with.copies.of.the.covered.work.
7c840 63 6f 6e 76 65 79 65 64 20 62 79 0a 79 6f 75 20 28 6f 72 20 63 6f 70 69 65 73 20 6d 61 64 65 20 conveyed.by.you.(or.copies.made.
7c860 66 72 6f 6d 20 74 68 6f 73 65 20 63 6f 70 69 65 73 29 2c 20 6f 72 20 28 62 29 20 70 72 69 6d 61 from.those.copies),.or.(b).prima
7c880 72 69 6c 79 20 66 6f 72 20 61 6e 64 20 69 6e 0a 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 rily.for.and.in.connection.with.
7c8a0 73 70 65 63 69 66 69 63 20 70 72 6f 64 75 63 74 73 20 6f 72 20 63 6f 6d 70 69 6c 61 74 69 6f 6e specific.products.or.compilation
7c8c0 73 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 20 74 68 65 0a 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c s.that.contain.the.covered.work,
7c8e0 20 75 6e 6c 65 73 73 20 79 6f 75 20 65 6e 74 65 72 65 64 20 69 6e 74 6f 20 74 68 61 74 20 61 72 .unless.you.entered.into.that.ar
7c900 72 61 6e 67 65 6d 65 6e 74 2c 20 6f 72 20 74 68 61 74 20 70 61 74 65 6e 74 0a 6c 69 63 65 6e 73 rangement,.or.that.patent.licens
7c920 65 20 77 61 73 20 67 72 61 6e 74 65 64 2c 20 70 72 69 6f 72 20 74 6f 20 32 38 20 4d 61 72 63 68 e.was.granted,.prior.to.28.March
7c940 20 32 30 30 37 2e 0a 0a 4e 6f 74 68 69 6e 67 20 69 6e 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 .2007...Nothing.in.this.License.
7c960 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 64 69 6e 67 20 shall.be.construed.as.excluding.
7c980 6f 72 20 6c 69 6d 69 74 69 6e 67 0a 61 6e 79 20 69 6d 70 6c 69 65 64 20 6c 69 63 65 6e 73 65 20 or.limiting.any.implied.license.
7c9a0 6f 72 20 6f 74 68 65 72 20 64 65 66 65 6e 73 65 73 20 74 6f 20 69 6e 66 72 69 6e 67 65 6d 65 6e or.other.defenses.to.infringemen
7c9c0 74 20 74 68 61 74 20 6d 61 79 0a 6f 74 68 65 72 77 69 73 65 20 62 65 20 61 76 61 69 6c 61 62 6c t.that.may.otherwise.be.availabl
7c9e0 65 20 74 6f 20 79 6f 75 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 20 70 61 74 65 6e 74 e.to.you.under.applicable.patent
7ca00 20 6c 61 77 2e 0a 0a 40 69 74 65 6d 20 4e 6f 20 53 75 72 72 65 6e 64 65 72 20 6f 66 20 4f 74 68 .law...@item.No.Surrender.of.Oth
7ca20 65 72 73 27 20 46 72 65 65 64 6f 6d 2e 0a 0a 49 66 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 ers'.Freedom...If.conditions.are
7ca40 20 69 6d 70 6f 73 65 64 20 6f 6e 20 79 6f 75 20 28 77 68 65 74 68 65 72 20 62 79 20 63 6f 75 72 .imposed.on.you.(whether.by.cour
7ca60 74 20 6f 72 64 65 72 2c 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 0a 6f 74 68 65 72 77 69 73 65 29 t.order,.agreement.or.otherwise)
7ca80 20 74 68 61 74 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 .that.contradict.the.conditions.
7caa0 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 79 20 64 6f 20 6e 6f 74 0a 65 78 63 of.this.License,.they.do.not.exc
7cac0 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
7cae0 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 20 63 61 6e 6e 6f 74 20 63 6f 6e 76 his.License...If.you.cannot.conv
7cb00 65 79 0a 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 73 6f 20 61 73 20 74 6f 20 73 61 74 69 73 ey.a.covered.work.so.as.to.satis
7cb20 66 79 20 73 69 6d 75 6c 74 61 6e 65 6f 75 73 6c 79 20 79 6f 75 72 20 6f 62 6c 69 67 61 74 69 6f fy.simultaneously.your.obligatio
7cb40 6e 73 20 75 6e 64 65 72 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 20 6f 74 ns.under.this.License.and.any.ot
7cb60 68 65 72 20 70 65 72 74 69 6e 65 6e 74 20 6f 62 6c 69 67 61 74 69 6f 6e 73 2c 20 74 68 65 6e 20 her.pertinent.obligations,.then.
7cb80 61 73 20 61 0a 63 6f 6e 73 65 71 75 65 6e 63 65 20 79 6f 75 20 6d 61 79 20 6e 6f 74 20 63 6f 6e as.a.consequence.you.may.not.con
7cba0 76 65 79 20 69 74 20 61 74 20 61 6c 6c 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 vey.it.at.all...For.example,.if.
7cbc0 79 6f 75 20 61 67 72 65 65 0a 74 6f 20 74 65 72 6d 73 20 74 68 61 74 20 6f 62 6c 69 67 61 74 65 you.agree.to.terms.that.obligate
7cbe0 20 79 6f 75 20 74 6f 20 63 6f 6c 6c 65 63 74 20 61 20 72 6f 79 61 6c 74 79 20 66 6f 72 20 66 75 .you.to.collect.a.royalty.for.fu
7cc00 72 74 68 65 72 20 63 6f 6e 76 65 79 69 6e 67 0a 66 72 6f 6d 20 74 68 6f 73 65 20 74 6f 20 77 68 rther.conveying.from.those.to.wh
7cc20 6f 6d 20 79 6f 75 20 63 6f 6e 76 65 79 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 74 68 65 20 6f om.you.convey.the.Program,.the.o
7cc40 6e 6c 79 20 77 61 79 20 79 6f 75 20 63 6f 75 6c 64 0a 73 61 74 69 73 66 79 20 62 6f 74 68 20 74 nly.way.you.could.satisfy.both.t
7cc60 68 6f 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 hose.terms.and.this.License.woul
7cc80 64 20 62 65 20 74 6f 20 72 65 66 72 61 69 6e 20 65 6e 74 69 72 65 6c 79 0a 66 72 6f 6d 20 63 6f d.be.to.refrain.entirely.from.co
7cca0 6e 76 65 79 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 40 69 74 65 6d 20 55 73 65 20 nveying.the.Program...@item.Use.
7ccc0 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 75 62 6c with.the.GNU.Affero.General.Publ
7cce0 69 63 20 4c 69 63 65 6e 73 65 2e 0a 0a 4e 6f 74 77 69 74 68 73 74 61 6e 64 69 6e 67 20 61 6e 79 ic.License...Notwithstanding.any
7cd00 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 6e 73 65 .other.provision.of.this.License
7cd20 2c 20 79 6f 75 20 68 61 76 65 0a 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 6c 69 6e 6b 20 6f 72 ,.you.have.permission.to.link.or
7cd40 20 63 6f 6d 62 69 6e 65 20 61 6e 79 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 77 69 74 68 20 61 .combine.any.covered.work.with.a
7cd60 20 77 6f 72 6b 20 6c 69 63 65 6e 73 65 64 0a 75 6e 64 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f .work.licensed.under.version.3.o
7cd80 66 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 75 62 6c 69 63 20 f.the.GNU.Affero.General.Public.
7cda0 4c 69 63 65 6e 73 65 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 0a 63 6f 6d 62 69 6e 65 64 20 77 License.into.a.single.combined.w
7cdc0 6f 72 6b 2c 20 61 6e 64 20 74 6f 20 63 6f 6e 76 65 79 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 ork,.and.to.convey.the.resulting
7cde0 20 77 6f 72 6b 2e 20 20 54 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 0a 4c 69 63 65 6e 73 .work...The.terms.of.this.Licens
7ce00 65 20 77 69 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 e.will.continue.to.apply.to.the.
7ce20 70 61 72 74 20 77 68 69 63 68 20 69 73 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 0a part.which.is.the.covered.work,.
7ce40 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 20 but.the.special.requirements.of.
7ce60 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 the.GNU.Affero.General.Public.Li
7ce80 63 65 6e 73 65 2c 0a 73 65 63 74 69 6f 6e 20 31 33 2c 20 63 6f 6e 63 65 72 6e 69 6e 67 20 69 6e cense,.section.13,.concerning.in
7cea0 74 65 72 61 63 74 69 6f 6e 20 74 68 72 6f 75 67 68 20 61 20 6e 65 74 77 6f 72 6b 20 77 69 6c 6c teraction.through.a.network.will
7cec0 20 61 70 70 6c 79 20 74 6f 20 74 68 65 0a 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 61 73 20 73 75 63 .apply.to.the.combination.as.suc
7cee0 68 2e 0a 0a 40 69 74 65 6d 20 52 65 76 69 73 65 64 20 56 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 h...@item.Revised.Versions.of.th
7cf00 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 54 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 is.License...The.Free.Software.F
7cf20 6f 75 6e 64 61 74 69 6f 6e 20 6d 61 79 20 70 75 62 6c 69 73 68 20 72 65 76 69 73 65 64 20 61 6e oundation.may.publish.revised.an
7cf40 64 2f 6f 72 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 0a 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e d/or.new.versions.of.the.GNU.Gen
7cf60 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 72 6f 6d 20 74 69 6d 65 20 74 6f eral.Public.License.from.time.to
7cf80 20 74 69 6d 65 2e 20 20 53 75 63 68 20 6e 65 77 0a 76 65 72 73 69 6f 6e 73 20 77 69 6c 6c 20 62 .time...Such.new.versions.will.b
7cfa0 65 20 73 69 6d 69 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 e.similar.in.spirit.to.the.prese
7cfc0 6e 74 20 76 65 72 73 69 6f 6e 2c 20 62 75 74 20 6d 61 79 0a 64 69 66 66 65 72 20 69 6e 20 64 65 nt.version,.but.may.differ.in.de
7cfe0 74 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 tail.to.address.new.problems.or.
7d000 63 6f 6e 63 65 72 6e 73 2e 0a 0a 45 61 63 68 20 76 65 72 73 69 6f 6e 20 69 73 20 67 69 76 65 6e concerns...Each.version.is.given
7d020 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 6d 62 65 72 .a.distinguishing.version.number
7d040 2e 20 20 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 73 70 65 63 69 66 69 65 73 20 74 68 61 74 ...If.the.Program.specifies.that
7d060 20 61 20 63 65 72 74 61 69 6e 20 6e 75 6d 62 65 72 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 .a.certain.numbered.version.of.t
7d080 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 0a 4c 69 63 65 6e 73 65 20 60 60 he.GNU.General.Public.License.``
7d0a0 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 27 27 20 61 70 70 6c 69 65 73 20 74 or.any.later.version''.applies.t
7d0c0 6f 20 69 74 2c 20 79 6f 75 20 68 61 76 65 20 74 68 65 20 6f 70 74 69 6f 6e 20 6f 66 0a 66 6f 6c o.it,.you.have.the.option.of.fol
7d0e0 6c 6f 77 69 6e 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 lowing.the.terms.and.conditions.
7d100 65 69 74 68 65 72 20 6f 66 20 74 68 61 74 20 6e 75 6d 62 65 72 65 64 20 76 65 72 73 69 6f 6e 20 either.of.that.numbered.version.
7d120 6f 72 0a 6f 66 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 or.of.any.later.version.publishe
7d140 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 64 61 74 69 6f d.by.the.Free.Software.Foundatio
7d160 6e 2e 20 20 49 66 0a 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 n...If.the.Program.does.not.spec
7d180 69 66 79 20 61 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 65 20 47 4e 55 20 ify.a.version.number.of.the.GNU.
7d1a0 47 65 6e 65 72 61 6c 0a 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 6d 61 79 20 General.Public.License,.you.may.
7d1c0 63 68 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 choose.any.version.ever.publishe
7d1e0 64 20 62 79 20 74 68 65 20 46 72 65 65 0a 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f d.by.the.Free.Software.Foundatio
7d200 6e 2e 0a 0a 49 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 73 70 65 63 69 66 69 65 73 20 74 68 61 n...If.the.Program.specifies.tha
7d220 74 20 61 20 70 72 6f 78 79 20 63 61 6e 20 64 65 63 69 64 65 20 77 68 69 63 68 20 66 75 74 75 72 t.a.proxy.can.decide.which.futur
7d240 65 20 76 65 72 73 69 6f 6e 73 0a 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 e.versions.of.the.GNU.General.Pu
7d260 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 63 61 6e 20 62 65 20 75 73 65 64 2c 20 74 68 61 74 20 70 blic.License.can.be.used,.that.p
7d280 72 6f 78 79 27 73 20 70 75 62 6c 69 63 0a 73 74 61 74 65 6d 65 6e 74 20 6f 66 20 61 63 63 65 70 roxy's.public.statement.of.accep
7d2a0 74 61 6e 63 65 20 6f 66 20 61 20 76 65 72 73 69 6f 6e 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 61 tance.of.a.version.permanently.a
7d2c0 75 74 68 6f 72 69 7a 65 73 20 79 6f 75 20 74 6f 0a 63 68 6f 6f 73 65 20 74 68 61 74 20 76 65 72 uthorizes.you.to.choose.that.ver
7d2e0 73 69 6f 6e 20 66 6f 72 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 4c 61 74 65 72 20 6c 69 63 sion.for.the.Program...Later.lic
7d300 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 64 64 69 74 ense.versions.may.give.you.addit
7d320 69 6f 6e 61 6c 20 6f 72 20 64 69 66 66 65 72 65 6e 74 0a 70 65 72 6d 69 73 73 69 6f 6e 73 2e 20 ional.or.different.permissions..
7d340 20 48 6f 77 65 76 65 72 2c 20 6e 6f 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 62 6c 69 67 61 74 69 .However,.no.additional.obligati
7d360 6f 6e 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e 20 61 6e 79 0a 61 75 74 68 6f 72 20 6f 72 ons.are.imposed.on.any.author.or
7d380 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 61 73 20 61 20 72 65 73 75 6c 74 20 6f 66 .copyright.holder.as.a.result.of
7d3a0 20 79 6f 75 72 20 63 68 6f 6f 73 69 6e 67 20 74 6f 20 66 6f 6c 6c 6f 77 20 61 0a 6c 61 74 65 72 .your.choosing.to.follow.a.later
7d3c0 20 76 65 72 73 69 6f 6e 2e 0a 0a 40 69 74 65 6d 20 44 69 73 63 6c 61 69 6d 65 72 20 6f 66 20 57 .version...@item.Disclaimer.of.W
7d3e0 61 72 72 61 6e 74 79 2e 0a 0a 54 48 45 52 45 20 49 53 20 4e 4f 20 57 41 52 52 41 4e 54 59 20 46 arranty...THERE.IS.NO.WARRANTY.F
7d400 4f 52 20 54 48 45 20 50 52 4f 47 52 41 4d 2c 20 54 4f 20 54 48 45 20 45 58 54 45 4e 54 20 50 45 OR.THE.PROGRAM,.TO.THE.EXTENT.PE
7d420 52 4d 49 54 54 45 44 20 42 59 0a 41 50 50 4c 49 43 41 42 4c 45 20 4c 41 57 40 2e 20 20 45 58 43 RMITTED.BY.APPLICABLE.LAW@...EXC
7d440 45 50 54 20 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 EPT.WHEN.OTHERWISE.STATED.IN.WRI
7d460 54 49 4e 47 20 54 48 45 20 43 4f 50 59 52 49 47 48 54 0a 48 4f 4c 44 45 52 53 20 41 4e 44 2f 4f TING.THE.COPYRIGHT.HOLDERS.AND/O
7d480 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 47 R.OTHER.PARTIES.PROVIDE.THE.PROG
7d4a0 52 41 4d 20 60 60 41 53 20 49 53 27 27 20 57 49 54 48 4f 55 54 0a 57 41 52 52 41 4e 54 59 20 4f RAM.``AS.IS''.WITHOUT.WARRANTY.O
7d4c0 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 49 54 48 45 52 20 45 58 50 52 45 53 53 45 44 20 4f 52 20 F.ANY.KIND,.EITHER.EXPRESSED.OR.
7d4e0 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 2c 20 42 55 54 20 4e 4f 54 0a 4c 49 4d 49 IMPLIED,.INCLUDING,.BUT.NOT.LIMI
7d500 54 45 44 20 54 4f 2c 20 54 48 45 20 49 4d 50 4c 49 45 44 20 57 41 52 52 41 4e 54 49 45 53 20 4f TED.TO,.THE.IMPLIED.WARRANTIES.O
7d520 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 41 4e 44 20 46 49 54 4e 45 53 53 20 46 4f F.MERCHANTABILITY.AND.FITNESS.FO
7d540 52 0a 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 40 2e 20 20 54 48 45 20 45 4e R.A.PARTICULAR.PURPOSE@...THE.EN
7d560 54 49 52 45 20 52 49 53 4b 20 41 53 20 54 4f 20 54 48 45 20 51 55 41 4c 49 54 59 20 41 4e 44 0a TIRE.RISK.AS.TO.THE.QUALITY.AND.
7d580 50 45 52 46 4f 52 4d 41 4e 43 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d 20 49 53 20 57 49 PERFORMANCE.OF.THE.PROGRAM.IS.WI
7d5a0 54 48 20 59 4f 55 40 2e 20 20 53 48 4f 55 4c 44 20 54 48 45 20 50 52 4f 47 52 41 4d 20 50 52 4f TH.YOU@...SHOULD.THE.PROGRAM.PRO
7d5c0 56 45 0a 44 45 46 45 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 VE.DEFECTIVE,.YOU.ASSUME.THE.COS
7d5e0 54 20 4f 46 20 41 4c 4c 20 4e 45 43 45 53 53 41 52 59 20 53 45 52 56 49 43 49 4e 47 2c 20 52 45 T.OF.ALL.NECESSARY.SERVICING,.RE
7d600 50 41 49 52 20 4f 52 0a 43 4f 52 52 45 43 54 49 4f 4e 2e 0a 0a 40 69 74 65 6d 20 4c 69 6d 69 74 PAIR.OR.CORRECTION...@item.Limit
7d620 61 74 69 6f 6e 20 6f 66 20 4c 69 61 62 69 6c 69 74 79 2e 0a 0a 49 4e 20 4e 4f 20 45 56 45 4e 54 ation.of.Liability...IN.NO.EVENT
7d640 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 45 20 4c .UNLESS.REQUIRED.BY.APPLICABLE.L
7d660 41 57 20 4f 52 20 41 47 52 45 45 44 20 54 4f 20 49 4e 20 57 52 49 54 49 4e 47 0a 57 49 4c 4c 20 AW.OR.AGREED.TO.IN.WRITING.WILL.
7d680 41 4e 59 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 2c 20 4f 52 20 41 4e 59 20 4f 54 48 ANY.COPYRIGHT.HOLDER,.OR.ANY.OTH
7d6a0 45 52 20 50 41 52 54 59 20 57 48 4f 20 4d 4f 44 49 46 49 45 53 20 41 4e 44 2f 4f 52 0a 43 4f 4e ER.PARTY.WHO.MODIFIES.AND/OR.CON
7d6c0 56 45 59 53 20 54 48 45 20 50 52 4f 47 52 41 4d 20 41 53 20 50 45 52 4d 49 54 54 45 44 20 41 42 VEYS.THE.PROGRAM.AS.PERMITTED.AB
7d6e0 4f 56 45 2c 20 42 45 20 4c 49 41 42 4c 45 20 54 4f 20 59 4f 55 20 46 4f 52 20 44 41 4d 41 47 45 OVE,.BE.LIABLE.TO.YOU.FOR.DAMAGE
7d700 53 2c 0a 49 4e 43 4c 55 44 49 4e 47 20 41 4e 59 20 47 45 4e 45 52 41 4c 2c 20 53 50 45 43 49 41 S,.INCLUDING.ANY.GENERAL,.SPECIA
7d720 4c 2c 20 49 4e 43 49 44 45 4e 54 41 4c 20 4f 52 20 43 4f 4e 53 45 51 55 45 4e 54 49 41 4c 20 44 L,.INCIDENTAL.OR.CONSEQUENTIAL.D
7d740 41 4d 41 47 45 53 0a 41 52 49 53 49 4e 47 20 4f 55 54 20 4f 46 20 54 48 45 20 55 53 45 20 4f 52 AMAGES.ARISING.OUT.OF.THE.USE.OR
7d760 20 49 4e 41 42 49 4c 49 54 59 20 54 4f 20 55 53 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 28 49 .INABILITY.TO.USE.THE.PROGRAM.(I
7d780 4e 43 4c 55 44 49 4e 47 20 42 55 54 0a 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 4c 4f 53 53 NCLUDING.BUT.NOT.LIMITED.TO.LOSS
7d7a0 20 4f 46 20 44 41 54 41 20 4f 52 20 44 41 54 41 20 42 45 49 4e 47 20 52 45 4e 44 45 52 45 44 20 .OF.DATA.OR.DATA.BEING.RENDERED.
7d7c0 49 4e 41 43 43 55 52 41 54 45 20 4f 52 0a 4c 4f 53 53 45 53 20 53 55 53 54 41 49 4e 45 44 20 42 INACCURATE.OR.LOSSES.SUSTAINED.B
7d7e0 59 20 59 4f 55 20 4f 52 20 54 48 49 52 44 20 50 41 52 54 49 45 53 20 4f 52 20 41 20 46 41 49 4c Y.YOU.OR.THIRD.PARTIES.OR.A.FAIL
7d800 55 52 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d 0a 54 4f 20 4f 50 45 52 41 54 45 20 57 49 URE.OF.THE.PROGRAM.TO.OPERATE.WI
7d820 54 48 20 41 4e 59 20 4f 54 48 45 52 20 50 52 4f 47 52 41 4d 53 29 2c 20 45 56 45 4e 20 49 46 20 TH.ANY.OTHER.PROGRAMS),.EVEN.IF.
7d840 53 55 43 48 20 48 4f 4c 44 45 52 20 4f 52 20 4f 54 48 45 52 0a 50 41 52 54 59 20 48 41 53 20 42 SUCH.HOLDER.OR.OTHER.PARTY.HAS.B
7d860 45 45 4e 20 41 44 56 49 53 45 44 20 4f 46 20 54 48 45 20 50 4f 53 53 49 42 49 4c 49 54 59 20 4f EEN.ADVISED.OF.THE.POSSIBILITY.O
7d880 46 20 53 55 43 48 20 44 41 4d 41 47 45 53 2e 0a 0a 40 69 74 65 6d 20 49 6e 74 65 72 70 72 65 74 F.SUCH.DAMAGES...@item.Interpret
7d8a0 61 74 69 6f 6e 20 6f 66 20 53 65 63 74 69 6f 6e 73 20 31 35 20 61 6e 64 20 31 36 2e 0a 0a 49 66 ation.of.Sections.15.and.16...If
7d8c0 20 74 68 65 20 64 69 73 63 6c 61 69 6d 65 72 20 6f 66 20 77 61 72 72 61 6e 74 79 20 61 6e 64 20 .the.disclaimer.of.warranty.and.
7d8e0 6c 69 6d 69 74 61 74 69 6f 6e 20 6f 66 20 6c 69 61 62 69 6c 69 74 79 20 70 72 6f 76 69 64 65 64 limitation.of.liability.provided
7d900 0a 61 62 6f 76 65 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 .above.cannot.be.given.local.leg
7d920 61 6c 20 65 66 66 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 al.effect.according.to.their.ter
7d940 6d 73 2c 0a 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 ms,.reviewing.courts.shall.apply
7d960 20 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 20 61 70 70 .local.law.that.most.closely.app
7d980 72 6f 78 69 6d 61 74 65 73 0a 61 6e 20 61 62 73 6f 6c 75 74 65 20 77 61 69 76 65 72 20 6f 66 20 roximates.an.absolute.waiver.of.
7d9a0 61 6c 6c 20 63 69 76 69 6c 20 6c 69 61 62 69 6c 69 74 79 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f all.civil.liability.in.connectio
7d9c0 6e 20 77 69 74 68 20 74 68 65 0a 50 72 6f 67 72 61 6d 2c 20 75 6e 6c 65 73 73 20 61 20 77 61 72 n.with.the.Program,.unless.a.war
7d9e0 72 61 6e 74 79 20 6f 72 20 61 73 73 75 6d 70 74 69 6f 6e 20 6f 66 20 6c 69 61 62 69 6c 69 74 79 ranty.or.assumption.of.liability
7da00 20 61 63 63 6f 6d 70 61 6e 69 65 73 20 61 0a 63 6f 70 79 20 6f 66 20 74 68 65 20 50 72 6f 67 72 .accompanies.a.copy.of.the.Progr
7da20 61 6d 20 69 6e 20 72 65 74 75 72 6e 20 66 6f 72 20 61 20 66 65 65 2e 0a 0a 40 65 6e 64 20 65 6e am.in.return.for.a.fee...@end.en
7da40 75 6d 65 72 61 74 65 0a 0a 40 68 65 61 64 69 6e 67 20 45 4e 44 20 4f 46 20 54 45 52 4d 53 20 41 umerate..@heading.END.OF.TERMS.A
7da60 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 0a 40 68 65 61 64 69 6e 67 20 48 6f 77 20 74 6f 20 41 ND.CONDITIONS..@heading.How.to.A
7da80 70 70 6c 79 20 54 68 65 73 65 20 54 65 72 6d 73 20 74 6f 20 59 6f 75 72 20 4e 65 77 20 50 72 6f pply.These.Terms.to.Your.New.Pro
7daa0 67 72 61 6d 73 0a 0a 49 66 20 79 6f 75 20 64 65 76 65 6c 6f 70 20 61 20 6e 65 77 20 70 72 6f 67 grams..If.you.develop.a.new.prog
7dac0 72 61 6d 2c 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 20 69 74 20 74 6f 20 62 65 20 6f 66 20 74 68 ram,.and.you.want.it.to.be.of.th
7dae0 65 20 67 72 65 61 74 65 73 74 0a 70 6f 73 73 69 62 6c 65 20 75 73 65 20 74 6f 20 74 68 65 20 70 e.greatest.possible.use.to.the.p
7db00 75 62 6c 69 63 2c 20 74 68 65 20 62 65 73 74 20 77 61 79 20 74 6f 20 61 63 68 69 65 76 65 20 74 ublic,.the.best.way.to.achieve.t
7db20 68 69 73 20 69 73 20 74 6f 20 6d 61 6b 65 20 69 74 0a 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 his.is.to.make.it.free.software.
7db40 77 68 69 63 68 20 65 76 65 72 79 6f 6e 65 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 which.everyone.can.redistribute.
7db60 61 6e 64 20 63 68 61 6e 67 65 20 75 6e 64 65 72 20 74 68 65 73 65 0a 74 65 72 6d 73 2e 0a 0a 54 and.change.under.these.terms...T
7db80 6f 20 64 6f 20 73 6f 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 o.do.so,.attach.the.following.no
7dba0 74 69 63 65 73 20 74 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 tices.to.the.program...It.is.saf
7dbc0 65 73 74 0a 74 6f 20 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 est.to.attach.them.to.the.start.
7dbe0 6f 66 20 65 61 63 68 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 of.each.source.file.to.most.effe
7dc00 63 74 69 76 65 6c 79 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 ctively.state.the.exclusion.of.w
7dc20 61 72 72 61 6e 74 79 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 arranty;.and.each.file.should.ha
7dc40 76 65 20 61 74 20 6c 65 61 73 74 0a 74 68 65 20 60 60 63 6f 70 79 72 69 67 68 74 27 27 20 6c 69 ve.at.least.the.``copyright''.li
7dc60 6e 65 20 61 6e 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 ne.and.a.pointer.to.where.the.fu
7dc80 6c 6c 20 6e 6f 74 69 63 65 20 69 73 20 66 6f 75 6e 64 2e 0a 0a 40 73 6d 61 6c 6c 65 78 61 6d 70 ll.notice.is.found...@smallexamp
7dca0 6c 65 0a 40 76 61 72 7b 6f 6e 65 20 6c 69 6e 65 20 74 6f 20 67 69 76 65 20 74 68 65 20 70 72 6f le.@var{one.line.to.give.the.pro
7dcc0 67 72 61 6d 27 73 20 6e 61 6d 65 20 61 6e 64 20 61 20 62 72 69 65 66 20 69 64 65 61 20 6f 66 20 gram's.name.and.a.brief.idea.of.
7dce0 77 68 61 74 20 69 74 20 64 6f 65 73 2e 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 40 76 61 what.it.does.}.Copyright.(C).@va
7dd00 72 7b 79 65 61 72 7d 20 40 76 61 72 7b 6e 61 6d 65 20 6f 66 20 61 75 74 68 6f 72 7d 0a 0a 54 68 r{year}.@var{name.of.author}..Th
7dd20 69 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 is.program.is.free.software:.you
7dd40 20 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 .can.redistribute.it.and/or.modi
7dd60 66 79 0a 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 4e 55 fy.it.under.the.terms.of.the.GNU
7dd80 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 6c 69 .General.Public.License.as.publi
7dda0 73 68 65 64 20 62 79 0a 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 shed.by.the.Free.Software.Founda
7ddc0 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 68 65 20 4c 69 tion,.either.version.3.of.the.Li
7dde0 63 65 6e 73 65 2c 20 6f 72 20 28 61 74 0a 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c cense,.or.(at.your.option).any.l
7de00 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 ater.version...This.program.is.d
7de20 69 73 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 istributed.in.the.hope.that.it.w
7de40 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 20 62 75 74 0a 57 49 54 48 4f 55 54 20 41 4e 59 20 57 ill.be.useful,.but.WITHOUT.ANY.W
7de60 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 6c 69 65 ARRANTY;.without.even.the.implie
7de80 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 d.warranty.of.MERCHANTABILITY.or
7dea0 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 20 50 55 52 50 4f 53 .FITNESS.FOR.A.PARTICULAR.PURPOS
7dec0 45 40 2e 20 20 53 65 65 20 74 68 65 20 47 4e 55 0a 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 E@...See.the.GNU.General.Public.
7dee0 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 59 6f 75 20 73 License.for.more.details...You.s
7df00 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 hould.have.received.a.copy.of.th
7df20 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 0a 61 6c 6f e.GNU.General.Public.License.alo
7df40 6e 67 20 77 69 74 68 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 ng.with.this.program...If.not,.s
7df60 65 65 20 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 ee.@url{https://www.gnu.org/lice
7df80 6e 73 65 73 2f 7d 2e 0a 40 65 6e 64 20 73 6d 61 6c 6c 65 78 61 6d 70 6c 65 0a 0a 41 6c 73 6f 20 nses/}..@end.smallexample..Also.
7dfa0 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 74 61 63 add.information.on.how.to.contac
7dfc0 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 20 6d 61 t.you.by.electronic.and.paper.ma
7dfe0 69 6c 2e 0a 0a 49 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 64 6f 65 73 20 74 65 72 6d 69 6e 61 il...If.the.program.does.termina
7e000 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 70 75 74 20 61 20 l.interaction,.make.it.output.a.
7e020 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 6e 20 69 74 20 73 short.notice.like.this.when.it.s
7e040 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 64 65 3a 0a 0a 40 tarts.in.an.interactive.mode:..@
7e060 73 6d 61 6c 6c 65 78 61 6d 70 6c 65 0a 40 76 61 72 7b 70 72 6f 67 72 61 6d 7d 20 43 6f 70 79 72 smallexample.@var{program}.Copyr
7e080 69 67 68 74 20 28 43 29 20 40 76 61 72 7b 79 65 61 72 7d 20 40 76 61 72 7b 6e 61 6d 65 20 6f 66 ight.(C).@var{year}.@var{name.of
7e0a0 20 61 75 74 68 6f 72 7d 0a 54 68 69 73 20 70 72 6f 67 72 61 6d 20 63 6f 6d 65 73 20 77 69 74 68 .author}.This.program.comes.with
7e0c0 20 41 42 53 4f 4c 55 54 45 4c 59 20 4e 4f 20 57 41 52 52 41 4e 54 59 3b 20 66 6f 72 20 64 65 74 .ABSOLUTELY.NO.WARRANTY;.for.det
7e0e0 61 69 6c 73 20 74 79 70 65 20 40 73 61 6d 70 7b 73 68 6f 77 20 77 7d 2e 0a 54 68 69 73 20 69 73 ails.type.@samp{show.w}..This.is
7e100 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 79 6f 75 20 61 72 65 20 77 65 6c 63 .free.software,.and.you.are.welc
7e120 6f 6d 65 20 74 6f 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 0a 75 6e 64 65 72 20 63 65 72 ome.to.redistribute.it.under.cer
7e140 74 61 69 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 3b 20 74 79 70 65 20 40 73 61 6d 70 7b 73 68 6f 77 tain.conditions;.type.@samp{show
7e160 20 63 7d 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0a 40 65 6e 64 20 73 6d 61 6c 6c 65 78 61 6d 70 .c}.for.details..@end.smallexamp
7e180 6c 65 0a 0a 54 68 65 20 68 79 70 6f 74 68 65 74 69 63 61 6c 20 63 6f 6d 6d 61 6e 64 73 20 40 73 le..The.hypothetical.commands.@s
7e1a0 61 6d 70 7b 73 68 6f 77 20 77 7d 20 61 6e 64 20 40 73 61 6d 70 7b 73 68 6f 77 20 63 7d 20 73 68 amp{show.w}.and.@samp{show.c}.sh
7e1c0 6f 75 6c 64 20 73 68 6f 77 0a 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 70 61 72 74 73 20 ould.show.the.appropriate.parts.
7e1e0 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 65 6e 73 65 2e 20 20 of.the.General.Public.License...
7e200 4f 66 20 63 6f 75 72 73 65 2c 20 79 6f 75 72 0a 70 72 6f 67 72 61 6d 27 73 20 63 6f 6d 6d 61 6e Of.course,.your.program's.comman
7e220 64 73 20 6d 69 67 68 74 20 62 65 20 64 69 66 66 65 72 65 6e 74 3b 20 66 6f 72 20 61 20 47 55 49 ds.might.be.different;.for.a.GUI
7e240 20 69 6e 74 65 72 66 61 63 65 2c 20 79 6f 75 20 77 6f 75 6c 64 0a 75 73 65 20 61 6e 20 60 60 61 .interface,.you.would.use.an.``a
7e260 62 6f 75 74 20 62 6f 78 27 27 2e 0a 0a 59 6f 75 20 73 68 6f 75 6c 64 20 61 6c 73 6f 20 67 65 74 bout.box''...You.should.also.get
7e280 20 79 6f 75 72 20 65 6d 70 6c 6f 79 65 72 20 28 69 66 20 79 6f 75 20 77 6f 72 6b 20 61 73 20 61 .your.employer.(if.you.work.as.a
7e2a0 20 70 72 6f 67 72 61 6d 6d 65 72 29 20 6f 72 20 73 63 68 6f 6f 6c 2c 0a 69 66 20 61 6e 79 2c 20 .programmer).or.school,.if.any,.
7e2c0 74 6f 20 73 69 67 6e 20 61 20 60 60 63 6f 70 79 72 69 67 68 74 20 64 69 73 63 6c 61 69 6d 65 72 to.sign.a.``copyright.disclaimer
7e2e0 27 27 20 66 6f 72 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 69 66 20 6e 65 63 65 73 73 61 72 79 ''.for.the.program,.if.necessary
7e300 2e 0a 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 2c 20 ..For.more.information.on.this,.
7e320 61 6e 64 20 68 6f 77 20 74 6f 20 61 70 70 6c 79 20 61 6e 64 20 66 6f 6c 6c 6f 77 20 74 68 65 20 and.how.to.apply.and.follow.the.
7e340 47 4e 55 20 47 50 4c 2c 20 73 65 65 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e GNU.GPL,.see.@url{https://www.gn
7e360 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 7d 2e 0a 0a 54 68 65 20 47 4e 55 20 47 65 6e 65 72 u.org/licenses/}...The.GNU.Gener
7e380 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 64 6f 65 73 20 6e 6f 74 20 70 65 72 6d 69 al.Public.License.does.not.permi
7e3a0 74 20 69 6e 63 6f 72 70 6f 72 61 74 69 6e 67 20 79 6f 75 72 0a 70 72 6f 67 72 61 6d 20 69 6e 74 t.incorporating.your.program.int
7e3c0 6f 20 70 72 6f 70 72 69 65 74 61 72 79 20 70 72 6f 67 72 61 6d 73 2e 20 20 49 66 20 79 6f 75 72 o.proprietary.programs...If.your
7e3e0 20 70 72 6f 67 72 61 6d 20 69 73 20 61 20 73 75 62 72 6f 75 74 69 6e 65 0a 6c 69 62 72 61 72 79 .program.is.a.subroutine.library
7e400 2c 20 79 6f 75 20 6d 61 79 20 63 6f 6e 73 69 64 65 72 20 69 74 20 6d 6f 72 65 20 75 73 65 66 75 ,.you.may.consider.it.more.usefu
7e420 6c 20 74 6f 20 70 65 72 6d 69 74 20 6c 69 6e 6b 69 6e 67 20 70 72 6f 70 72 69 65 74 61 72 79 0a l.to.permit.linking.proprietary.
7e440 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 77 69 74 68 20 74 68 65 20 6c 69 62 72 61 72 79 2e 20 20 applications.with.the.library...
7e460 49 66 20 74 68 69 73 20 69 73 20 77 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 6f 2c 20 If.this.is.what.you.want.to.do,.
7e480 75 73 65 0a 74 68 65 20 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 use.the.GNU.Lesser.General.Publi
7e4a0 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 c.License.instead.of.this.Licens
7e4c0 65 2e 20 20 42 75 74 0a 66 69 72 73 74 2c 20 70 6c 65 61 73 65 20 72 65 61 64 20 40 75 72 6c 7b e...But.first,.please.read.@url{
7e4e0 68 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 77 68 79 https://www.gnu.org/licenses/why
7e500 2d 6e 6f 74 2d 6c 67 70 6c 2e 68 74 6d 6c 7d 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -not-lgpl.html}.................
7e520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e600 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 6f 63 2f 66 64 6c 2e 74 65 78 69 00 00 00 00 00 00 00 00 dash-2.19.1/doc/fdl.texi........
7e620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e660 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
7e680 30 30 35 35 36 31 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 34 30 30 00 20 30 00 00 00 0055612.00000000000.013400..0...
7e6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e700 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...................
7e720 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...................
7e740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e800 40 63 20 54 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 @c.The.GNU.Free.Documentation.Li
7e820 63 65 6e 73 65 2e 0a 40 63 65 6e 74 65 72 20 56 65 72 73 69 6f 6e 20 31 2e 33 2c 20 33 20 4e 6f cense..@center.Version.1.3,.3.No
7e840 76 65 6d 62 65 72 20 32 30 30 38 0a 0a 40 63 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 69 6e 74 vember.2008..@c.This.file.is.int
7e860 65 6e 64 65 64 20 74 6f 20 62 65 20 69 6e 63 6c 75 64 65 64 20 77 69 74 68 69 6e 20 61 6e 6f 74 ended.to.be.included.within.anot
7e880 68 65 72 20 64 6f 63 75 6d 65 6e 74 2c 0a 40 63 20 68 65 6e 63 65 20 6e 6f 20 73 65 63 74 69 6f her.document,.@c.hence.no.sectio
7e8a0 6e 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 6f 72 20 40 6e 6f 64 65 2e 0a 0a 40 64 69 73 70 6c 61 79 ning.command.or.@node...@display
7e8c0 0a 43 6f 70 79 72 69 67 68 74 20 40 63 6f 70 79 72 69 67 68 74 7b 7d 20 32 30 30 30 2c 20 32 30 .Copyright.@copyright{}.2000,.20
7e8e0 30 31 2c 20 32 30 30 32 2c 20 32 30 30 37 2c 20 32 30 30 38 20 46 72 65 65 20 53 6f 66 74 77 61 01,.2002,.2007,.2008.Free.Softwa
7e900 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 40 75 72 65 66 7b 68 74 74 70 73 3a re.Foundation,.Inc..@uref{https:
7e920 2f 2f 66 73 66 2e 6f 72 67 2f 7d 0a 0a 45 76 65 72 79 6f 6e 65 20 69 73 20 70 65 72 6d 69 74 74 //fsf.org/}..Everyone.is.permitt
7e940 65 64 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 ed.to.copy.and.distribute.verbat
7e960 69 6d 20 63 6f 70 69 65 73 0a 6f 66 20 74 68 69 73 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 im.copies.of.this.license.docume
7e980 6e 74 2c 20 62 75 74 20 63 68 61 6e 67 69 6e 67 20 69 74 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 nt,.but.changing.it.is.not.allow
7e9a0 65 64 2e 0a 40 65 6e 64 20 64 69 73 70 6c 61 79 0a 0a 40 65 6e 75 6d 65 72 61 74 65 20 30 0a 40 ed..@end.display..@enumerate.0.@
7e9c0 69 74 65 6d 0a 50 52 45 41 4d 42 4c 45 0a 0a 54 68 65 20 70 75 72 70 6f 73 65 20 6f 66 20 74 68 item.PREAMBLE..The.purpose.of.th
7e9e0 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,.
7ea00 74 65 78 74 62 6f 6f 6b 2c 20 6f 72 20 6f 74 68 65 72 0a 66 75 6e 63 74 69 6f 6e 61 6c 20 61 6e textbook,.or.other.functional.an
7ea20 64 20 75 73 65 66 75 6c 20 64 6f 63 75 6d 65 6e 74 20 40 64 66 6e 7b 66 72 65 65 7d 20 69 6e 20 d.useful.document.@dfn{free}.in.
7ea40 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 61 73 73 75 72 65 20 the.sense.of.freedom:.to.assure.
7ea60 65 76 65 72 79 6f 6e 65 20 74 68 65 20 65 66 66 65 63 74 69 76 65 20 66 72 65 65 64 6f 6d 20 74 everyone.the.effective.freedom.t
7ea80 6f 20 63 6f 70 79 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 2c 0a 77 69 74 68 o.copy.and.redistribute.it,.with
7eaa0 20 6f 72 20 77 69 74 68 6f 75 74 20 6d 6f 64 69 66 79 69 6e 67 20 69 74 2c 20 65 69 74 68 65 72 .or.without.modifying.it,.either
7eac0 20 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 20 6f 72 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 .commercially.or.noncommercially
7eae0 2e 0a 53 65 63 6f 6e 64 61 72 69 6c 79 2c 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 70 72 65 73 ..Secondarily,.this.License.pres
7eb00 65 72 76 65 73 20 66 6f 72 20 74 68 65 20 61 75 74 68 6f 72 20 61 6e 64 20 70 75 62 6c 69 73 68 erves.for.the.author.and.publish
7eb20 65 72 20 61 20 77 61 79 0a 74 6f 20 67 65 74 20 63 72 65 64 69 74 20 66 6f 72 20 74 68 65 69 72 er.a.way.to.get.credit.for.their
7eb40 20 77 6f 72 6b 2c 20 77 68 69 6c 65 20 6e 6f 74 20 62 65 69 6e 67 20 63 6f 6e 73 69 64 65 72 65 .work,.while.not.being.considere
7eb60 64 20 72 65 73 70 6f 6e 73 69 62 6c 65 0a 66 6f 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 d.responsible.for.modifications.
7eb80 6d 61 64 65 20 62 79 20 6f 74 68 65 72 73 2e 0a 0a 54 68 69 73 20 4c 69 63 65 6e 73 65 20 69 73 made.by.others...This.License.is
7eba0 20 61 20 6b 69 6e 64 20 6f 66 20 60 60 63 6f 70 79 6c 65 66 74 27 27 2c 20 77 68 69 63 68 20 6d .a.kind.of.``copyleft'',.which.m
7ebc0 65 61 6e 73 20 74 68 61 74 20 64 65 72 69 76 61 74 69 76 65 0a 77 6f 72 6b 73 20 6f 66 20 74 68 eans.that.derivative.works.of.th
7ebe0 65 20 64 6f 63 75 6d 65 6e 74 20 6d 75 73 74 20 74 68 65 6d 73 65 6c 76 65 73 20 62 65 20 66 72 e.document.must.themselves.be.fr
7ec00 65 65 20 69 6e 20 74 68 65 20 73 61 6d 65 20 73 65 6e 73 65 2e 20 20 49 74 0a 63 6f 6d 70 6c 65 ee.in.the.same.sense...It.comple
7ec20 6d 65 6e 74 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 ments.the.GNU.General.Public.Lic
7ec40 65 6e 73 65 2c 20 77 68 69 63 68 20 69 73 20 61 20 63 6f 70 79 6c 65 66 74 0a 6c 69 63 65 6e 73 ense,.which.is.a.copyleft.licens
7ec60 65 20 64 65 73 69 67 6e 65 64 20 66 6f 72 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2e 0a 0a 57 e.designed.for.free.software...W
7ec80 65 20 68 61 76 65 20 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 e.have.designed.this.License.in.
7eca0 6f 72 64 65 72 20 74 6f 20 75 73 65 20 69 74 20 66 6f 72 20 6d 61 6e 75 61 6c 73 20 66 6f 72 20 order.to.use.it.for.manuals.for.
7ecc0 66 72 65 65 0a 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 free.software,.because.free.soft
7ece0 77 61 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 ware.needs.free.documentation:.a
7ed00 20 66 72 65 65 0a 70 72 6f 67 72 61 6d 20 73 68 6f 75 6c 64 20 63 6f 6d 65 20 77 69 74 68 20 6d .free.program.should.come.with.m
7ed20 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 65 64 6f anuals.providing.the.same.freedo
7ed40 6d 73 20 74 68 61 74 20 74 68 65 0a 73 6f 66 74 77 61 72 65 20 64 6f 65 73 2e 20 20 42 75 74 20 ms.that.the.software.does...But.
7ed60 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 73 20 6e 6f 74 20 6c 69 6d 69 74 65 64 20 74 6f 20 73 this.License.is.not.limited.to.s
7ed80 6f 66 74 77 61 72 65 20 6d 61 6e 75 61 6c 73 3b 0a 69 74 20 63 61 6e 20 62 65 20 75 73 65 64 20 oftware.manuals;.it.can.be.used.
7eda0 66 6f 72 20 61 6e 79 20 74 65 78 74 75 61 6c 20 77 6f 72 6b 2c 20 72 65 67 61 72 64 6c 65 73 73 for.any.textual.work,.regardless
7edc0 20 6f 66 20 73 75 62 6a 65 63 74 20 6d 61 74 74 65 72 20 6f 72 0a 77 68 65 74 68 65 72 20 69 74 .of.subject.matter.or.whether.it
7ede0 20 69 73 20 70 75 62 6c 69 73 68 65 64 20 61 73 20 61 20 70 72 69 6e 74 65 64 20 62 6f 6f 6b 2e .is.published.as.a.printed.book.
7ee00 20 20 57 65 20 72 65 63 6f 6d 6d 65 6e 64 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a 70 72 69 6e ..We.recommend.this.License.prin
7ee20 63 69 70 61 6c 6c 79 20 66 6f 72 20 77 6f 72 6b 73 20 77 68 6f 73 65 20 70 75 72 70 6f 73 65 20 cipally.for.works.whose.purpose.
7ee40 69 73 20 69 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 40 69 is.instruction.or.reference...@i
7ee60 74 65 6d 0a 41 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 tem.APPLICABILITY.AND.DEFINITION
7ee80 53 0a 0a 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 S..This.License.applies.to.any.m
7eea0 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
7eec0 75 6d 2c 20 74 68 61 74 0a 63 6f 6e 74 61 69 6e 73 20 61 20 6e 6f 74 69 63 65 20 70 6c 61 63 65 um,.that.contains.a.notice.place
7eee0 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 61 79 69 6e 67 d.by.the.copyright.holder.saying
7ef00 20 69 74 20 63 61 6e 20 62 65 0a 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 68 65 .it.can.be.distributed.under.the
7ef20 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 53 75 63 68 20 61 20 .terms.of.this.License...Such.a.
7ef40 6e 6f 74 69 63 65 20 67 72 61 6e 74 73 20 61 0a 77 6f 72 6c 64 2d 77 69 64 65 2c 20 72 6f 79 61 notice.grants.a.world-wide,.roya
7ef60 6c 74 79 2d 66 72 65 65 20 6c 69 63 65 6e 73 65 2c 20 75 6e 6c 69 6d 69 74 65 64 20 69 6e 20 64 lty-free.license,.unlimited.in.d
7ef80 75 72 61 74 69 6f 6e 2c 20 74 6f 20 75 73 65 20 74 68 61 74 0a 77 6f 72 6b 20 75 6e 64 65 72 20 uration,.to.use.that.work.under.
7efa0 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 73 74 61 74 65 64 20 68 65 72 65 69 6e 2e 20 20 54 the.conditions.stated.herein...T
7efc0 68 65 20 60 60 44 6f 63 75 6d 65 6e 74 27 27 2c 20 62 65 6c 6f 77 2c 0a 72 65 66 65 72 73 20 74 he.``Document'',.below,.refers.t
7efe0 6f 20 61 6e 79 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 o.any.such.manual.or.work...Any.
7f000 6d 65 6d 62 65 72 20 6f 66 20 74 68 65 20 70 75 62 6c 69 63 20 69 73 20 61 0a 6c 69 63 65 6e 73 member.of.the.public.is.a.licens
7f020 65 65 2c 20 61 6e 64 20 69 73 20 61 64 64 72 65 73 73 65 64 20 61 73 20 60 60 79 6f 75 27 27 2e ee,.and.is.addressed.as.``you''.
7f040 20 20 59 6f 75 20 61 63 63 65 70 74 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 66 20 79 6f 75 0a ..You.accept.the.license.if.you.
7f060 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 65 20 74 68 65 20 77 copy,.modify.or.distribute.the.w
7f080 6f 72 6b 20 69 6e 20 61 20 77 61 79 20 72 65 71 75 69 72 69 6e 67 20 70 65 72 6d 69 73 73 69 6f ork.in.a.way.requiring.permissio
7f0a0 6e 0a 75 6e 64 65 72 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 2e 0a 0a 41 20 60 60 4d 6f 64 69 n.under.copyright.law...A.``Modi
7f0c0 66 69 65 64 20 56 65 72 73 69 6f 6e 27 27 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 6d fied.Version''.of.the.Document.m
7f0e0 65 61 6e 73 20 61 6e 79 20 77 6f 72 6b 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 0a 44 6f 63 eans.any.work.containing.the.Doc
7f100 75 6d 65 6e 74 20 6f 72 20 61 20 70 6f 72 74 69 6f 6e 20 6f 66 20 69 74 2c 20 65 69 74 68 65 72 ument.or.a.portion.of.it,.either
7f120 20 63 6f 70 69 65 64 20 76 65 72 62 61 74 69 6d 2c 20 6f 72 20 77 69 74 68 0a 6d 6f 64 69 66 69 .copied.verbatim,.or.with.modifi
7f140 63 61 74 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 cations.and/or.translated.into.a
7f160 6e 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 41 20 60 60 53 65 63 6f 6e 64 61 72 79 20 nother.language...A.``Secondary.
7f180 53 65 63 74 69 6f 6e 27 27 20 69 73 20 61 20 6e 61 6d 65 64 20 61 70 70 65 6e 64 69 78 20 6f 72 Section''.is.a.named.appendix.or
7f1a0 20 61 20 66 72 6f 6e 74 2d 6d 61 74 74 65 72 20 73 65 63 74 69 6f 6e 0a 6f 66 20 74 68 65 20 44 .a.front-matter.section.of.the.D
7f1c0 6f 63 75 6d 65 6e 74 20 74 68 61 74 20 64 65 61 6c 73 20 65 78 63 6c 75 73 69 76 65 6c 79 20 77 ocument.that.deals.exclusively.w
7f1e0 69 74 68 20 74 68 65 20 72 65 6c 61 74 69 6f 6e 73 68 69 70 20 6f 66 20 74 68 65 0a 70 75 62 6c ith.the.relationship.of.the.publ
7f200 69 73 68 65 72 73 20 6f 72 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e ishers.or.authors.of.the.Documen
7f220 74 20 74 6f 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 27 73 20 6f 76 65 72 61 6c 6c 0a 73 75 62 6a t.to.the.Document's.overall.subj
7f240 65 63 74 20 28 6f 72 20 74 6f 20 72 65 6c 61 74 65 64 20 6d 61 74 74 65 72 73 29 20 61 6e 64 20 ect.(or.to.related.matters).and.
7f260 63 6f 6e 74 61 69 6e 73 20 6e 6f 74 68 69 6e 67 20 74 68 61 74 20 63 6f 75 6c 64 20 66 61 6c 6c contains.nothing.that.could.fall
7f280 0a 64 69 72 65 63 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 .directly.within.that.overall.su
7f2a0 62 6a 65 63 74 2e 20 20 28 54 68 75 73 2c 20 69 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 bject...(Thus,.if.the.Document.i
7f2c0 73 20 69 6e 0a 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 s.in.part.a.textbook.of.mathemat
7f2e0 69 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 ics,.a.Secondary.Section.may.not
7f300 20 65 78 70 6c 61 69 6e 0a 61 6e 79 20 6d 61 74 68 65 6d 61 74 69 63 73 2e 29 20 20 54 68 65 20 .explain.any.mathematics.)..The.
7f320 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 65 72 20 6f relationship.could.be.a.matter.o
7f340 66 20 68 69 73 74 6f 72 69 63 61 6c 0a 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 f.historical.connection.with.the
7f360 20 73 75 62 6a 65 63 74 20 6f 72 20 77 69 74 68 20 72 65 6c 61 74 65 64 20 6d 61 74 74 65 72 73 .subject.or.with.related.matters
7f380 2c 20 6f 72 20 6f 66 20 6c 65 67 61 6c 2c 0a 63 6f 6d 6d 65 72 63 69 61 6c 2c 20 70 68 69 6c 6f ,.or.of.legal,.commercial,.philo
7f3a0 73 6f 70 68 69 63 61 6c 2c 20 65 74 68 69 63 61 6c 20 6f 72 20 70 6f 6c 69 74 69 63 61 6c 20 70 sophical,.ethical.or.political.p
7f3c0 6f 73 69 74 69 6f 6e 20 72 65 67 61 72 64 69 6e 67 0a 74 68 65 6d 2e 0a 0a 54 68 65 20 60 60 49 osition.regarding.them...The.``I
7f3e0 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 27 27 20 61 72 65 20 63 65 72 74 61 69 6e 20 nvariant.Sections''.are.certain.
7f400 53 65 63 6f 6e 64 61 72 79 20 53 65 63 74 69 6f 6e 73 20 77 68 6f 73 65 20 74 69 74 6c 65 73 0a Secondary.Sections.whose.titles.
7f420 61 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 are.designated,.as.being.those.o
7f440 66 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 20 6e 6f 74 f.Invariant.Sections,.in.the.not
7f460 69 63 65 0a 74 68 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 ice.that.says.that.the.Document.
7f480 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 73 65 2e 20 is.released.under.this.License..
7f4a0 20 49 66 20 61 0a 73 65 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 66 69 74 20 74 68 65 20 61 .If.a.section.does.not.fit.the.a
7f4c0 62 6f 76 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 53 65 63 6f 6e 64 61 72 79 20 74 68 65 bove.definition.of.Secondary.the
7f4e0 6e 20 69 74 20 69 73 20 6e 6f 74 0a 61 6c 6c 6f 77 65 64 20 74 6f 20 62 65 20 64 65 73 69 67 6e n.it.is.not.allowed.to.be.design
7f500 61 74 65 64 20 61 73 20 49 6e 76 61 72 69 61 6e 74 2e 20 20 54 68 65 20 44 6f 63 75 6d 65 6e 74 ated.as.Invariant...The.Document
7f520 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 7a 65 72 6f 0a 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 .may.contain.zero.Invariant.Sect
7f540 69 6f 6e 73 2e 20 20 49 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 ions...If.the.Document.does.not.
7f560 69 64 65 6e 74 69 66 79 20 61 6e 79 20 49 6e 76 61 72 69 61 6e 74 0a 53 65 63 74 69 6f 6e 73 20 identify.any.Invariant.Sections.
7f580 74 68 65 6e 20 74 68 65 72 65 20 61 72 65 20 6e 6f 6e 65 2e 0a 0a 54 68 65 20 60 60 43 6f 76 65 then.there.are.none...The.``Cove
7f5a0 72 20 54 65 78 74 73 27 27 20 61 72 65 20 63 65 72 74 61 69 6e 20 73 68 6f 72 74 20 70 61 73 73 r.Texts''.are.certain.short.pass
7f5c0 61 67 65 73 20 6f 66 20 74 65 78 74 20 74 68 61 74 20 61 72 65 20 6c 69 73 74 65 64 2c 0a 61 73 ages.of.text.that.are.listed,.as
7f5e0 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 65 72 .Front-Cover.Texts.or.Back-Cover
7f600 20 54 65 78 74 73 2c 20 69 6e 20 74 68 65 20 6e 6f 74 69 63 65 20 74 68 61 74 20 73 61 79 73 20 .Texts,.in.the.notice.that.says.
7f620 74 68 61 74 0a 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 72 65 6c 65 61 73 65 64 20 75 6e that.the.Document.is.released.un
7f640 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 41 20 46 72 6f 6e 74 2d 43 6f 76 65 72 der.this.License...A.Front-Cover
7f660 20 54 65 78 74 20 6d 61 79 0a 62 65 20 61 74 20 6d 6f 73 74 20 35 20 77 6f 72 64 73 2c 20 61 6e .Text.may.be.at.most.5.words,.an
7f680 64 20 61 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 20 6d 61 79 20 62 65 20 61 74 20 6d 6f d.a.Back-Cover.Text.may.be.at.mo
7f6a0 73 74 20 32 35 20 77 6f 72 64 73 2e 0a 0a 41 20 60 60 54 72 61 6e 73 70 61 72 65 6e 74 27 27 20 st.25.words...A.``Transparent''.
7f6c0 63 6f 70 79 20 6f 66 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 copy.of.the.Document.means.a.mac
7f6e0 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 20 63 6f 70 79 2c 0a 72 65 70 72 65 73 65 6e 74 65 64 20 hine-readable.copy,.represented.
7f700 69 6e 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 in.a.format.whose.specification.
7f720 69 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 0a 67 65 6e 65 72 61 6c 20 70 75 62 6c is.available.to.the.general.publ
7f740 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 73 69 6e ic,.that.is.suitable.for.revisin
7f760 67 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 0a 73 74 72 61 69 67 68 74 66 6f 72 77 61 72 64 6c 79 g.the.document.straightforwardly
7f780 20 77 69 74 68 20 67 65 6e 65 72 69 63 20 74 65 78 74 20 65 64 69 74 6f 72 73 20 6f 72 20 28 66 .with.generic.text.editors.or.(f
7f7a0 6f 72 20 69 6d 61 67 65 73 20 63 6f 6d 70 6f 73 65 64 20 6f 66 0a 70 69 78 65 6c 73 29 20 67 65 or.images.composed.of.pixels).ge
7f7c0 6e 65 72 69 63 20 70 61 69 6e 74 20 70 72 6f 67 72 61 6d 73 20 6f 72 20 28 66 6f 72 20 64 72 61 neric.paint.programs.or.(for.dra
7f7e0 77 69 6e 67 73 29 20 73 6f 6d 65 20 77 69 64 65 6c 79 20 61 76 61 69 6c 61 62 6c 65 0a 64 72 61 wings).some.widely.available.dra
7f800 77 69 6e 67 20 65 64 69 74 6f 72 2c 20 61 6e 64 20 74 68 61 74 20 69 73 20 73 75 69 74 61 62 6c wing.editor,.and.that.is.suitabl
7f820 65 20 66 6f 72 20 69 6e 70 75 74 20 74 6f 20 74 65 78 74 20 66 6f 72 6d 61 74 74 65 72 73 20 6f e.for.input.to.text.formatters.o
7f840 72 0a 66 6f 72 20 61 75 74 6f 6d 61 74 69 63 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 74 6f 20 61 r.for.automatic.translation.to.a
7f860 20 76 61 72 69 65 74 79 20 6f 66 20 66 6f 72 6d 61 74 73 20 73 75 69 74 61 62 6c 65 20 66 6f 72 .variety.of.formats.suitable.for
7f880 20 69 6e 70 75 74 0a 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 .input.to.text.formatters...A.co
7f8a0 70 79 20 6d 61 64 65 20 69 6e 20 61 6e 20 6f 74 68 65 72 77 69 73 65 20 54 72 61 6e 73 70 61 72 py.made.in.an.otherwise.Transpar
7f8c0 65 6e 74 20 66 69 6c 65 0a 66 6f 72 6d 61 74 20 77 68 6f 73 65 20 6d 61 72 6b 75 70 2c 20 6f 72 ent.file.format.whose.markup,.or
7f8e0 20 61 62 73 65 6e 63 65 20 6f 66 20 6d 61 72 6b 75 70 2c 20 68 61 73 20 62 65 65 6e 20 61 72 72 .absence.of.markup,.has.been.arr
7f900 61 6e 67 65 64 20 74 6f 20 74 68 77 61 72 74 0a 6f 72 20 64 69 73 63 6f 75 72 61 67 65 20 73 75 anged.to.thwart.or.discourage.su
7f920 62 73 65 71 75 65 6e 74 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 62 79 20 72 65 61 64 65 72 73 bsequent.modification.by.readers
7f940 20 69 73 20 6e 6f 74 20 54 72 61 6e 73 70 61 72 65 6e 74 2e 0a 41 6e 20 69 6d 61 67 65 20 66 6f .is.not.Transparent..An.image.fo
7f960 72 6d 61 74 20 69 73 20 6e 6f 74 20 54 72 61 6e 73 70 61 72 65 6e 74 20 69 66 20 75 73 65 64 20 rmat.is.not.Transparent.if.used.
7f980 66 6f 72 20 61 6e 79 20 73 75 62 73 74 61 6e 74 69 61 6c 20 61 6d 6f 75 6e 74 0a 6f 66 20 74 65 for.any.substantial.amount.of.te
7f9a0 78 74 2e 20 20 41 20 63 6f 70 79 20 74 68 61 74 20 69 73 20 6e 6f 74 20 60 60 54 72 61 6e 73 70 xt...A.copy.that.is.not.``Transp
7f9c0 61 72 65 6e 74 27 27 20 69 73 20 63 61 6c 6c 65 64 20 60 60 4f 70 61 71 75 65 27 27 2e 0a 0a 45 arent''.is.called.``Opaque''...E
7f9e0 78 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 xamples.of.suitable.formats.for.
7fa00 54 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 Transparent.copies.include.plain
7fa20 0a 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 66 6f 20 69 .ASCII.without.markup,.Texinfo.i
7fa40 6e 70 75 74 20 66 6f 72 6d 61 74 2c 20 4c 61 40 54 65 58 7b 7d 20 69 6e 70 75 74 0a 66 6f 72 6d nput.format,.La@TeX{}.input.form
7fa60 61 74 2c 20 53 47 4d 4c 20 6f 72 20 58 4d 4c 20 75 73 69 6e 67 20 61 20 70 75 62 6c 69 63 6c 79 at,.SGML.or.XML.using.a.publicly
7fa80 20 61 76 61 69 6c 61 62 6c 65 0a 44 54 44 2c 20 61 6e 64 20 73 74 61 6e 64 61 72 64 2d 63 6f 6e .available.DTD,.and.standard-con
7faa0 66 6f 72 6d 69 6e 67 20 73 69 6d 70 6c 65 20 48 54 4d 4c 2c 0a 50 6f 73 74 53 63 72 69 70 74 20 forming.simple.HTML,.PostScript.
7fac0 6f 72 20 50 44 46 20 64 65 73 69 67 6e 65 64 20 66 6f 72 20 68 75 6d 61 6e 20 6d 6f 64 69 66 69 or.PDF.designed.for.human.modifi
7fae0 63 61 74 69 6f 6e 2e 20 20 45 78 61 6d 70 6c 65 73 0a 6f 66 20 74 72 61 6e 73 70 61 72 65 6e 74 cation...Examples.of.transparent
7fb00 20 69 6d 61 67 65 20 66 6f 72 6d 61 74 73 20 69 6e 63 6c 75 64 65 20 50 4e 47 2c 20 58 43 46 20 .image.formats.include.PNG,.XCF.
7fb20 61 6e 64 0a 4a 50 47 40 2e 20 20 4f 70 61 71 75 65 20 66 6f 72 6d 61 74 73 20 69 6e 63 6c 75 64 and.JPG@...Opaque.formats.includ
7fb40 65 20 70 72 6f 70 72 69 65 74 61 72 79 20 66 6f 72 6d 61 74 73 20 74 68 61 74 20 63 61 6e 20 62 e.proprietary.formats.that.can.b
7fb60 65 0a 72 65 61 64 20 61 6e 64 20 65 64 69 74 65 64 20 6f 6e 6c 79 20 62 79 20 70 72 6f 70 72 69 e.read.and.edited.only.by.propri
7fb80 65 74 61 72 79 20 77 6f 72 64 20 70 72 6f 63 65 73 73 6f 72 73 2c 20 53 47 4d 4c 20 6f 72 0a 58 etary.word.processors,.SGML.or.X
7fba0 4d 4c 20 66 6f 72 20 77 68 69 63 68 20 74 68 65 20 44 54 44 20 61 6e 64 2f 6f 72 20 70 72 6f 63 ML.for.which.the.DTD.and/or.proc
7fbc0 65 73 73 69 6e 67 20 74 6f 6f 6c 73 20 61 72 65 0a 6e 6f 74 20 67 65 6e 65 72 61 6c 6c 79 20 61 essing.tools.are.not.generally.a
7fbe0 76 61 69 6c 61 62 6c 65 2c 20 61 6e 64 20 74 68 65 20 6d 61 63 68 69 6e 65 2d 67 65 6e 65 72 61 vailable,.and.the.machine-genera
7fc00 74 65 64 20 48 54 4d 4c 2c 0a 50 6f 73 74 53 63 72 69 70 74 20 6f 72 20 50 44 46 20 70 72 6f 64 ted.HTML,.PostScript.or.PDF.prod
7fc20 75 63 65 64 20 62 79 20 73 6f 6d 65 20 77 6f 72 64 20 70 72 6f 63 65 73 73 6f 72 73 20 66 6f 72 uced.by.some.word.processors.for
7fc40 0a 6f 75 74 70 75 74 20 70 75 72 70 6f 73 65 73 20 6f 6e 6c 79 2e 0a 0a 54 68 65 20 60 60 54 69 .output.purposes.only...The.``Ti
7fc60 74 6c 65 20 50 61 67 65 27 27 20 6d 65 61 6e 73 2c 20 66 6f 72 20 61 20 70 72 69 6e 74 65 64 20 tle.Page''.means,.for.a.printed.
7fc80 62 6f 6f 6b 2c 20 74 68 65 20 74 69 74 6c 65 20 70 61 67 65 20 69 74 73 65 6c 66 2c 0a 70 6c 75 book,.the.title.page.itself,.plu
7fca0 73 20 73 75 63 68 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 67 65 73 20 61 73 20 61 72 65 20 6e 65 s.such.following.pages.as.are.ne
7fcc0 65 64 65 64 20 74 6f 20 68 6f 6c 64 2c 20 6c 65 67 69 62 6c 79 2c 20 74 68 65 20 6d 61 74 65 72 eded.to.hold,.legibly,.the.mater
7fce0 69 61 6c 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 20 72 65 71 75 69 72 65 73 20 74 6f 20 61 70 70 ial.this.License.requires.to.app
7fd00 65 61 72 20 69 6e 20 74 68 65 20 74 69 74 6c 65 20 70 61 67 65 2e 20 20 46 6f 72 20 77 6f 72 6b ear.in.the.title.page...For.work
7fd20 73 20 69 6e 0a 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 s.in.formats.which.do.not.have.a
7fd40 6e 79 20 74 69 74 6c 65 20 70 61 67 65 20 61 73 20 73 75 63 68 2c 20 60 60 54 69 74 6c 65 20 50 ny.title.page.as.such,.``Title.P
7fd60 61 67 65 27 27 20 6d 65 61 6e 73 0a 74 68 65 20 74 65 78 74 20 6e 65 61 72 20 74 68 65 20 6d 6f age''.means.the.text.near.the.mo
7fd80 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 65 20 77 st.prominent.appearance.of.the.w
7fda0 6f 72 6b 27 73 20 74 69 74 6c 65 2c 0a 70 72 65 63 65 64 69 6e 67 20 74 68 65 20 62 65 67 69 6e ork's.title,.preceding.the.begin
7fdc0 6e 69 6e 67 20 6f 66 20 74 68 65 20 62 6f 64 79 20 6f 66 20 74 68 65 20 74 65 78 74 2e 0a 0a 54 ning.of.the.body.of.the.text...T
7fde0 68 65 20 60 60 70 75 62 6c 69 73 68 65 72 27 27 20 6d 65 61 6e 73 20 61 6e 79 20 70 65 72 73 6f he.``publisher''.means.any.perso
7fe00 6e 20 6f 72 20 65 6e 74 69 74 79 20 74 68 61 74 20 64 69 73 74 72 69 62 75 74 65 73 20 63 6f 70 n.or.entity.that.distributes.cop
7fe20 69 65 73 0a 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 74 6f 20 74 68 65 20 70 75 62 6c 69 ies.of.the.Document.to.the.publi
7fe40 63 2e 0a 0a 41 20 73 65 63 74 69 6f 6e 20 60 60 45 6e 74 69 74 6c 65 64 20 58 59 5a 27 27 20 6d c...A.section.``Entitled.XYZ''.m
7fe60 65 61 6e 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 eans.a.named.subunit.of.the.Docu
7fe80 6d 65 6e 74 20 77 68 6f 73 65 0a 74 69 74 6c 65 20 65 69 74 68 65 72 20 69 73 20 70 72 65 63 69 ment.whose.title.either.is.preci
7fea0 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 72 65 sely.XYZ.or.contains.XYZ.in.pare
7fec0 6e 74 68 65 73 65 73 20 66 6f 6c 6c 6f 77 69 6e 67 0a 74 65 78 74 20 74 68 61 74 20 74 72 61 6e ntheses.following.text.that.tran
7fee0 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 67 75 61 67 65 2e 20 slates.XYZ.in.another.language..
7ff00 20 28 48 65 72 65 20 58 59 5a 20 73 74 61 6e 64 73 20 66 6f 72 20 61 0a 73 70 65 63 69 66 69 63 .(Here.XYZ.stands.for.a.specific
7ff20 20 73 65 63 74 69 6f 6e 20 6e 61 6d 65 20 6d 65 6e 74 69 6f 6e 65 64 20 62 65 6c 6f 77 2c 20 73 .section.name.mentioned.below,.s
7ff40 75 63 68 20 61 73 20 60 60 41 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 73 27 27 2c 0a 60 60 44 uch.as.``Acknowledgements'',.``D
7ff60 65 64 69 63 61 74 69 6f 6e 73 27 27 2c 20 60 60 45 6e 64 6f 72 73 65 6d 65 6e 74 73 27 27 2c 20 edications'',.``Endorsements'',.
7ff80 6f 72 20 60 60 48 69 73 74 6f 72 79 27 27 2e 29 20 20 54 6f 20 60 60 50 72 65 73 65 72 76 65 20 or.``History''.)..To.``Preserve.
7ffa0 74 68 65 20 54 69 74 6c 65 27 27 0a 6f 66 20 73 75 63 68 20 61 20 73 65 63 74 69 6f 6e 20 77 68 the.Title''.of.such.a.section.wh
7ffc0 65 6e 20 79 6f 75 20 6d 6f 64 69 66 79 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 6d 65 61 6e 73 en.you.modify.the.Document.means
7ffe0 20 74 68 61 74 20 69 74 20 72 65 6d 61 69 6e 73 20 61 0a 73 65 63 74 69 6f 6e 20 60 60 45 6e 74 .that.it.remains.a.section.``Ent
80000 69 74 6c 65 64 20 58 59 5a 27 27 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 69 73 20 64 65 itled.XYZ''.according.to.this.de
80020 66 69 6e 69 74 69 6f 6e 2e 0a 0a 54 68 65 20 44 6f 63 75 6d 65 6e 74 20 6d 61 79 20 69 6e 63 6c finition...The.Document.may.incl
80040 75 64 65 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 20 6e 65 78 74 20 74 6f ude.Warranty.Disclaimers.next.to
80060 20 74 68 65 20 6e 6f 74 69 63 65 20 77 68 69 63 68 0a 73 74 61 74 65 73 20 74 68 61 74 20 74 68 .the.notice.which.states.that.th
80080 69 73 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 20 74 6f 20 74 68 65 20 44 6f 63 75 6d 65 is.License.applies.to.the.Docume
800a0 6e 74 2e 20 20 54 68 65 73 65 20 57 61 72 72 61 6e 74 79 0a 44 69 73 63 6c 61 69 6d 65 72 73 20 nt...These.Warranty.Disclaimers.
800c0 61 72 65 20 63 6f 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 are.considered.to.be.included.by
800e0 20 72 65 66 65 72 65 6e 63 65 20 69 6e 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 2c 20 62 75 74 20 .reference.in.this.License,.but.
80100 6f 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 only.as.regards.disclaiming.warr
80120 61 6e 74 69 65 73 3a 20 61 6e 79 20 6f 74 68 65 72 0a 69 6d 70 6c 69 63 61 74 69 6f 6e 20 74 68 anties:.any.other.implication.th
80140 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 73 20 6d 61 at.these.Warranty.Disclaimers.ma
80160 79 20 68 61 76 65 20 69 73 20 76 6f 69 64 20 61 6e 64 20 68 61 73 0a 6e 6f 20 65 66 66 65 63 74 y.have.is.void.and.has.no.effect
80180 20 6f 6e 20 74 68 65 20 6d 65 61 6e 69 6e 67 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e .on.the.meaning.of.this.License.
801a0 0a 0a 40 69 74 65 6d 0a 56 45 52 42 41 54 49 4d 20 43 4f 50 59 49 4e 47 0a 0a 59 6f 75 20 6d 61 ..@item.VERBATIM.COPYING..You.ma
801c0 79 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 44 6f 63 75 6d 65 y.copy.and.distribute.the.Docume
801e0 6e 74 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c 20 65 69 74 68 65 72 0a 63 6f 6d 6d 65 72 63 nt.in.any.medium,.either.commerc
80200 69 61 6c 6c 79 20 6f 72 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 2c 20 70 72 6f 76 69 64 ially.or.noncommercially,.provid
80220 65 64 20 74 68 61 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 0a 63 6f 70 79 72 69 ed.that.this.License,.the.copyri
80240 67 68 74 20 6e 6f 74 69 63 65 73 2c 20 61 6e 64 20 74 68 65 20 6c 69 63 65 6e 73 65 20 6e 6f 74 ght.notices,.and.the.license.not
80260 69 63 65 20 73 61 79 69 6e 67 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 0a ice.saying.this.License.applies.
80280 74 6f 20 74 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 to.the.Document.are.reproduced.i
802a0 6e 20 61 6c 6c 20 63 6f 70 69 65 73 2c 20 61 6e 64 20 74 68 61 74 20 79 6f 75 20 61 64 64 20 6e n.all.copies,.and.that.you.add.n
802c0 6f 20 6f 74 68 65 72 0a 63 6f 6e 64 69 74 69 6f 6e 73 20 77 68 61 74 73 6f 65 76 65 72 20 74 6f o.other.conditions.whatsoever.to
802e0 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 20 6d 61 79 .those.of.this.License...You.may
80300 20 6e 6f 74 20 75 73 65 0a 74 65 63 68 6e 69 63 61 6c 20 6d 65 61 73 75 72 65 73 20 74 6f 20 6f .not.use.technical.measures.to.o
80320 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 64 69 6e 67 20 6f bstruct.or.control.the.reading.o
80340 72 20 66 75 72 74 68 65 72 0a 63 6f 70 79 69 6e 67 20 6f 66 20 74 68 65 20 63 6f 70 69 65 73 20 r.further.copying.of.the.copies.
80360 79 6f 75 20 6d 61 6b 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 2e 20 20 48 6f 77 65 76 65 72 you.make.or.distribute...However
80380 2c 20 79 6f 75 20 6d 61 79 20 61 63 63 65 70 74 0a 63 6f 6d 70 65 6e 73 61 74 69 6f 6e 20 69 6e ,.you.may.accept.compensation.in
803a0 20 65 78 63 68 61 6e 67 65 20 66 6f 72 20 63 6f 70 69 65 73 2e 20 20 49 66 20 79 6f 75 20 64 69 .exchange.for.copies...If.you.di
803c0 73 74 72 69 62 75 74 65 20 61 20 6c 61 72 67 65 20 65 6e 6f 75 67 68 0a 6e 75 6d 62 65 72 20 6f stribute.a.large.enough.number.o
803e0 66 20 63 6f 70 69 65 73 20 79 6f 75 20 6d 75 73 74 20 61 6c 73 6f 20 66 6f 6c 6c 6f 77 20 74 68 f.copies.you.must.also.follow.th
80400 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 69 6e 20 73 65 63 74 69 6f 6e 20 33 2e 0a 0a 59 6f 75 20 e.conditions.in.section.3...You.
80420 6d 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 may.also.lend.copies,.under.the.
80440 73 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 20 61 6e same.conditions.stated.above,.an
80460 64 0a 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 6f 70 69 65 d.you.may.publicly.display.copie
80480 73 2e 0a 0a 40 69 74 65 6d 0a 43 4f 50 59 49 4e 47 20 49 4e 20 51 55 41 4e 54 49 54 59 0a 0a 49 s...@item.COPYING.IN.QUANTITY..I
804a0 66 20 79 6f 75 20 70 75 62 6c 69 73 68 20 70 72 69 6e 74 65 64 20 63 6f 70 69 65 73 20 28 6f 72 f.you.publish.printed.copies.(or
804c0 20 63 6f 70 69 65 73 20 69 6e 20 6d 65 64 69 61 20 74 68 61 74 20 63 6f 6d 6d 6f 6e 6c 79 20 68 .copies.in.media.that.commonly.h
804e0 61 76 65 0a 70 72 69 6e 74 65 64 20 63 6f 76 65 72 73 29 20 6f 66 20 74 68 65 20 44 6f 63 75 6d ave.printed.covers).of.the.Docum
80500 65 6e 74 2c 20 6e 75 6d 62 65 72 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 20 31 30 30 2c 20 61 6e ent,.numbering.more.than.100,.an
80520 64 20 74 68 65 0a 44 6f 63 75 6d 65 6e 74 27 73 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 20 d.the.Document's.license.notice.
80540 72 65 71 75 69 72 65 73 20 43 6f 76 65 72 20 54 65 78 74 73 2c 20 79 6f 75 20 6d 75 73 74 20 65 requires.Cover.Texts,.you.must.e
80560 6e 63 6c 6f 73 65 20 74 68 65 0a 63 6f 70 69 65 73 20 69 6e 20 63 6f 76 65 72 73 20 74 68 61 74 nclose.the.copies.in.covers.that
80580 20 63 61 72 72 79 2c 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 .carry,.clearly.and.legibly,.all
805a0 20 74 68 65 73 65 20 43 6f 76 65 72 0a 54 65 78 74 73 3a 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 .these.Cover.Texts:.Front-Cover.
805c0 54 65 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 20 42 61 Texts.on.the.front.cover,.and.Ba
805e0 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 73 20 6f 6e 0a 74 68 65 20 62 61 63 6b 20 63 6f 76 65 72 ck-Cover.Texts.on.the.back.cover
80600 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 72 6c 79 ...Both.covers.must.also.clearly
80620 20 61 6e 64 20 6c 65 67 69 62 6c 79 20 69 64 65 6e 74 69 66 79 0a 79 6f 75 20 61 73 20 74 68 65 .and.legibly.identify.you.as.the
80640 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 65 73 65 20 63 6f 70 69 65 73 2e 20 20 54 68 65 .publisher.of.these.copies...The
80660 20 66 72 6f 6e 74 20 63 6f 76 65 72 20 6d 75 73 74 20 70 72 65 73 65 6e 74 0a 74 68 65 20 66 75 .front.cover.must.present.the.fu
80680 6c 6c 20 74 69 74 6c 65 20 77 69 74 68 20 61 6c 6c 20 77 6f 72 64 73 20 6f 66 20 74 68 65 20 74 ll.title.with.all.words.of.the.t
806a0 69 74 6c 65 20 65 71 75 61 6c 6c 79 20 70 72 6f 6d 69 6e 65 6e 74 20 61 6e 64 0a 76 69 73 69 62 itle.equally.prominent.and.visib
806c0 6c 65 2e 20 20 59 6f 75 20 6d 61 79 20 61 64 64 20 6f 74 68 65 72 20 6d 61 74 65 72 69 61 6c 20 le...You.may.add.other.material.
806e0 6f 6e 20 74 68 65 20 63 6f 76 65 72 73 20 69 6e 20 61 64 64 69 74 69 6f 6e 2e 0a 43 6f 70 79 69 on.the.covers.in.addition..Copyi
80700 6e 67 20 77 69 74 68 20 63 68 61 6e 67 65 73 20 6c 69 6d 69 74 65 64 20 74 6f 20 74 68 65 20 63 ng.with.changes.limited.to.the.c
80720 6f 76 65 72 73 2c 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 79 20 70 72 65 73 65 72 76 65 0a overs,.as.long.as.they.preserve.
80740 74 68 65 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 the.title.of.the.Document.and.sa
80760 74 69 73 66 79 20 74 68 65 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 63 61 6e 20 62 65 20 74 tisfy.these.conditions,.can.be.t
80780 72 65 61 74 65 64 0a 61 73 20 76 65 72 62 61 74 69 6d 20 63 6f 70 79 69 6e 67 20 69 6e 20 6f 74 reated.as.verbatim.copying.in.ot
807a0 68 65 72 20 72 65 73 70 65 63 74 73 2e 0a 0a 49 66 20 74 68 65 20 72 65 71 75 69 72 65 64 20 74 her.respects...If.the.required.t
807c0 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 20 74 6f 6f 20 76 6f exts.for.either.cover.are.too.vo
807e0 6c 75 6d 69 6e 6f 75 73 20 74 6f 20 66 69 74 0a 6c 65 67 69 62 6c 79 2c 20 79 6f 75 20 73 68 6f luminous.to.fit.legibly,.you.sho
80800 75 6c 64 20 70 75 74 20 74 68 65 20 66 69 72 73 74 20 6f 6e 65 73 20 6c 69 73 74 65 64 20 28 61 uld.put.the.first.ones.listed.(a
80820 73 20 6d 61 6e 79 20 61 73 20 66 69 74 0a 72 65 61 73 6f 6e 61 62 6c 79 29 20 6f 6e 20 74 68 65 s.many.as.fit.reasonably).on.the
80840 20 61 63 74 75 61 6c 20 63 6f 76 65 72 2c 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65 20 74 68 65 20 .actual.cover,.and.continue.the.
80860 72 65 73 74 20 6f 6e 74 6f 20 61 64 6a 61 63 65 6e 74 0a 70 61 67 65 73 2e 0a 0a 49 66 20 79 6f rest.onto.adjacent.pages...If.yo
80880 75 20 70 75 62 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 u.publish.or.distribute.Opaque.c
808a0 6f 70 69 65 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 6e 75 6d 62 65 72 69 6e 67 0a opies.of.the.Document.numbering.
808c0 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
808e0 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 20 54 72 61 6e 73 70 nclude.a.machine-readable.Transp
80900 61 72 65 6e 74 0a 63 6f 70 79 20 61 6c 6f 6e 67 20 77 69 74 68 20 65 61 63 68 20 4f 70 61 71 75 arent.copy.along.with.each.Opaqu
80920 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 20 65 61 63 68 e.copy,.or.state.in.or.with.each
80940 20 4f 70 61 71 75 65 20 63 6f 70 79 0a 61 20 63 6f 6d 70 75 74 65 72 2d 6e 65 74 77 6f 72 6b 20 .Opaque.copy.a.computer-network.
80960 6c 6f 63 61 74 69 6f 6e 20 66 72 6f 6d 20 77 68 69 63 68 20 74 68 65 20 67 65 6e 65 72 61 6c 20 location.from.which.the.general.
80980 6e 65 74 77 6f 72 6b 2d 75 73 69 6e 67 0a 70 75 62 6c 69 63 20 68 61 73 20 61 63 63 65 73 73 20 network-using.public.has.access.
809a0 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 75 73 69 6e 67 20 70 75 62 6c 69 63 2d 73 74 61 6e 64 61 72 to.download.using.public-standar
809c0 64 20 6e 65 74 77 6f 72 6b 20 70 72 6f 74 6f 63 6f 6c 73 0a 61 20 63 6f 6d 70 6c 65 74 65 20 54 d.network.protocols.a.complete.T
809e0 72 61 6e 73 70 61 72 65 6e 74 20 63 6f 70 79 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c ransparent.copy.of.the.Document,
80a00 20 66 72 65 65 20 6f 66 20 61 64 64 65 64 20 6d 61 74 65 72 69 61 6c 2e 0a 49 66 20 79 6f 75 20 .free.of.added.material..If.you.
80a20 75 73 65 20 74 68 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 use.the.latter.option,.you.must.
80a40 74 61 6b 65 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 0a 77 take.reasonably.prudent.steps,.w
80a60 68 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 hen.you.begin.distribution.of.Op
80a80 61 71 75 65 20 63 6f 70 69 65 73 20 69 6e 20 71 75 61 6e 74 69 74 79 2c 20 74 6f 20 65 6e 73 75 aque.copies.in.quantity,.to.ensu
80aa0 72 65 0a 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 79 20 77 69 re.that.this.Transparent.copy.wi
80ac0 6c 6c 20 72 65 6d 61 69 6e 20 74 68 75 73 20 61 63 63 65 73 73 69 62 6c 65 20 61 74 20 74 68 65 ll.remain.thus.accessible.at.the
80ae0 20 73 74 61 74 65 64 0a 6c 6f 63 61 74 69 6f 6e 20 75 6e 74 69 6c 20 61 74 20 6c 65 61 73 74 20 .stated.location.until.at.least.
80b00 6f 6e 65 20 79 65 61 72 20 61 66 74 65 72 20 74 68 65 20 6c 61 73 74 20 74 69 6d 65 20 79 6f 75 one.year.after.the.last.time.you
80b20 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 0a 4f 70 61 71 75 65 20 63 6f 70 79 20 28 64 69 72 65 .distribute.an.Opaque.copy.(dire
80b40 63 74 6c 79 20 6f 72 20 74 68 72 6f 75 67 68 20 79 6f 75 72 20 61 67 65 6e 74 73 20 6f 72 20 72 ctly.or.through.your.agents.or.r
80b60 65 74 61 69 6c 65 72 73 29 20 6f 66 20 74 68 61 74 0a 65 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 etailers).of.that.edition.to.the
80b80 20 70 75 62 6c 69 63 2e 0a 0a 49 74 20 69 73 20 72 65 71 75 65 73 74 65 64 2c 20 62 75 74 20 6e .public...It.is.requested,.but.n
80ba0 6f 74 20 72 65 71 75 69 72 65 64 2c 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 74 61 63 74 20 74 68 ot.required,.that.you.contact.th
80bc0 65 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 0a 44 6f 63 75 6d 65 6e 74 20 77 65 6c 6c 20 62 e.authors.of.the.Document.well.b
80be0 65 66 6f 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 efore.redistributing.any.large.n
80c00 75 6d 62 65 72 20 6f 66 20 63 6f 70 69 65 73 2c 20 74 6f 20 67 69 76 65 0a 74 68 65 6d 20 61 20 umber.of.copies,.to.give.them.a.
80c20 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 75 70 chance.to.provide.you.with.an.up
80c40 64 61 74 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2e 0a 0a dated.version.of.the.Document...
80c60 40 69 74 65 6d 0a 4d 4f 44 49 46 49 43 41 54 49 4f 4e 53 0a 0a 59 6f 75 20 6d 61 79 20 63 6f 70 @item.MODIFICATIONS..You.may.cop
80c80 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 61 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 y.and.distribute.a.Modified.Vers
80ca0 69 6f 6e 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 75 6e 64 65 72 0a 74 68 65 20 63 6f ion.of.the.Document.under.the.co
80cc0 6e 64 69 74 69 6f 6e 73 20 6f 66 20 73 65 63 74 69 6f 6e 73 20 32 20 61 6e 64 20 33 20 61 62 6f nditions.of.sections.2.and.3.abo
80ce0 76 65 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 72 65 6c 65 61 73 65 0a 74 68 ve,.provided.that.you.release.th
80d00 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 75 6e 64 65 72 20 70 72 65 63 69 73 65 e.Modified.Version.under.precise
80d20 6c 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 77 69 74 68 20 74 68 65 20 4d 6f 64 69 66 69 ly.this.License,.with.the.Modifi
80d40 65 64 0a 56 65 72 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 ed.Version.filling.the.role.of.t
80d60 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 74 68 75 73 20 6c 69 63 65 6e 73 69 6e 67 20 64 69 73 74 he.Document,.thus.licensing.dist
80d80 72 69 62 75 74 69 6f 6e 0a 61 6e 64 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 ribution.and.modification.of.the
80da0 20 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 20 70 6f 73 .Modified.Version.to.whoever.pos
80dc0 73 65 73 73 65 73 20 61 20 63 6f 70 79 0a 6f 66 20 69 74 2e 20 20 49 6e 20 61 64 64 69 74 69 6f sesses.a.copy.of.it...In.additio
80de0 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 69 6e 20 74 n,.you.must.do.these.things.in.t
80e00 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 3a 0a 0a 40 65 6e 75 6d 65 72 61 74 65 he.Modified.Version:..@enumerate
80e20 20 41 0a 40 69 74 65 6d 0a 55 73 65 20 69 6e 20 74 68 65 20 54 69 74 6c 65 20 50 61 67 65 20 28 .A.@item.Use.in.the.Title.Page.(
80e40 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
80e60 6c 65 20 64 69 73 74 69 6e 63 74 0a 66 72 6f 6d 20 74 68 61 74 20 6f 66 20 74 68 65 20 44 6f 63 le.distinct.from.that.of.the.Doc
80e80 75 6d 65 6e 74 2c 20 61 6e 64 20 66 72 6f 6d 20 74 68 6f 73 65 20 6f 66 20 70 72 65 76 69 6f 75 ument,.and.from.those.of.previou
80ea0 73 20 76 65 72 73 69 6f 6e 73 0a 28 77 68 69 63 68 20 73 68 6f 75 6c 64 2c 20 69 66 20 74 68 65 s.versions.(which.should,.if.the
80ec0 72 65 20 77 65 72 65 20 61 6e 79 2c 20 62 65 20 6c 69 73 74 65 64 20 69 6e 20 74 68 65 20 48 69 re.were.any,.be.listed.in.the.Hi
80ee0 73 74 6f 72 79 20 73 65 63 74 69 6f 6e 0a 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 29 2e 20 story.section.of.the.Document)..
80f00 20 59 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 20 61 73 20 61 .You.may.use.the.same.title.as.a
80f20 20 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 0a 69 66 20 74 68 65 20 6f 72 69 67 69 6e 61 .previous.version.if.the.origina
80f40 6c 20 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 61 74 20 76 65 72 73 69 6f 6e 20 67 69 76 65 l.publisher.of.that.version.give
80f60 73 20 70 65 72 6d 69 73 73 69 6f 6e 2e 0a 0a 40 69 74 65 6d 0a 4c 69 73 74 20 6f 6e 20 74 68 65 s.permission...@item.List.on.the
80f80 20 54 69 74 6c 65 20 50 61 67 65 2c 20 61 73 20 61 75 74 68 6f 72 73 2c 20 6f 6e 65 20 6f 72 20 .Title.Page,.as.authors,.one.or.
80fa0 6d 6f 72 65 20 70 65 72 73 6f 6e 73 20 6f 72 20 65 6e 74 69 74 69 65 73 0a 72 65 73 70 6f 6e 73 more.persons.or.entities.respons
80fc0 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
80fe0 69 63 61 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 4d 6f 64 69 66 69 65 64 0a 56 65 72 73 69 6f 6e ications.in.the.Modified.Version
81000 2c 20 74 6f 67 65 74 68 65 72 20 77 69 74 68 20 61 74 20 6c 65 61 73 74 20 66 69 76 65 20 6f 66 ,.together.with.at.least.five.of
81020 20 74 68 65 20 70 72 69 6e 63 69 70 61 6c 20 61 75 74 68 6f 72 73 20 6f 66 20 74 68 65 0a 44 6f .the.principal.authors.of.the.Do
81040 63 75 6d 65 6e 74 20 28 61 6c 6c 20 6f 66 20 69 74 73 20 70 72 69 6e 63 69 70 61 6c 20 61 75 74 cument.(all.of.its.principal.aut
81060 68 6f 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 hors,.if.it.has.fewer.than.five)
81080 2c 0a 75 6e 6c 65 73 73 20 74 68 65 79 20 72 65 6c 65 61 73 65 20 79 6f 75 20 66 72 6f 6d 20 74 ,.unless.they.release.you.from.t
810a0 68 69 73 20 72 65 71 75 69 72 65 6d 65 6e 74 2e 0a 0a 40 69 74 65 6d 0a 53 74 61 74 65 20 6f 6e his.requirement...@item.State.on
810c0 20 74 68 65 20 54 69 74 6c 65 20 70 61 67 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 .the.Title.page.the.name.of.the.
810e0 70 75 62 6c 69 73 68 65 72 20 6f 66 20 74 68 65 0a 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f publisher.of.the.Modified.Versio
81100 6e 2c 20 61 73 20 74 68 65 20 70 75 62 6c 69 73 68 65 72 2e 0a 0a 40 69 74 65 6d 0a 50 72 65 73 n,.as.the.publisher...@item.Pres
81120 65 72 76 65 20 61 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 erve.all.the.copyright.notices.o
81140 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2e 0a 0a 40 69 74 65 6d 0a 41 64 64 20 61 6e 20 61 70 f.the.Document...@item.Add.an.ap
81160 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 20 66 6f 72 20 79 propriate.copyright.notice.for.y
81180 6f 75 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 0a 61 64 6a 61 63 65 6e 74 20 74 6f 20 74 68 our.modifications.adjacent.to.th
811a0 65 20 6f 74 68 65 72 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 73 2e 0a 0a 40 69 74 65 e.other.copyright.notices...@ite
811c0 6d 0a 49 6e 63 6c 75 64 65 2c 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 66 74 65 72 20 74 68 65 m.Include,.immediately.after.the
811e0 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 73 2c 20 61 20 6c 69 63 65 6e 73 65 20 6e 6f .copyright.notices,.a.license.no
81200 74 69 63 65 0a 67 69 76 69 6e 67 20 74 68 65 20 70 75 62 6c 69 63 20 70 65 72 6d 69 73 73 69 6f tice.giving.the.public.permissio
81220 6e 20 74 6f 20 75 73 65 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 75 6e n.to.use.the.Modified.Version.un
81240 64 65 72 20 74 68 65 0a 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
81260 6e 20 74 68 65 20 66 6f 72 6d 20 73 68 6f 77 6e 20 69 6e 20 74 68 65 20 41 64 64 65 6e 64 75 6d n.the.form.shown.in.the.Addendum
81280 20 62 65 6c 6f 77 2e 0a 0a 40 69 74 65 6d 0a 50 72 65 73 65 72 76 65 20 69 6e 20 74 68 61 74 20 .below...@item.Preserve.in.that.
812a0 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 20 74 68 65 20 66 75 6c 6c 20 6c 69 73 74 73 20 6f 66 license.notice.the.full.lists.of
812c0 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 0a 61 6e 64 20 72 65 71 75 69 72 65 64 .Invariant.Sections.and.required
812e0 20 43 6f 76 65 72 20 54 65 78 74 73 20 67 69 76 65 6e 20 69 6e 20 74 68 65 20 44 6f 63 75 6d 65 .Cover.Texts.given.in.the.Docume
81300 6e 74 27 73 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 2e 0a 0a 40 69 74 65 6d 0a 49 6e 63 6c nt's.license.notice...@item.Incl
81320 75 64 65 20 61 6e 20 75 6e 61 6c 74 65 72 65 64 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 ude.an.unaltered.copy.of.this.Li
81340 63 65 6e 73 65 2e 0a 0a 40 69 74 65 6d 0a 50 72 65 73 65 72 76 65 20 74 68 65 20 73 65 63 74 69 cense...@item.Preserve.the.secti
81360 6f 6e 20 45 6e 74 69 74 6c 65 64 20 60 60 48 69 73 74 6f 72 79 27 27 2c 20 50 72 65 73 65 72 76 on.Entitled.``History'',.Preserv
81380 65 20 69 74 73 20 54 69 74 6c 65 2c 20 61 6e 64 20 61 64 64 0a 74 6f 20 69 74 20 61 6e 20 69 74 e.its.Title,.and.add.to.it.an.it
813a0 65 6d 20 73 74 61 74 69 6e 67 20 61 74 20 6c 65 61 73 74 20 74 68 65 20 74 69 74 6c 65 2c 20 79 em.stating.at.least.the.title,.y
813c0 65 61 72 2c 20 6e 65 77 20 61 75 74 68 6f 72 73 2c 20 61 6e 64 0a 70 75 62 6c 69 73 68 65 72 20 ear,.new.authors,.and.publisher.
813e0 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 65 6e of.the.Modified.Version.as.given
81400 20 6f 6e 20 74 68 65 20 54 69 74 6c 65 20 50 61 67 65 2e 20 20 49 66 0a 74 68 65 72 65 20 69 73 .on.the.Title.Page...If.there.is
81420 20 6e 6f 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 60 60 48 69 73 74 6f 72 79 27 27 .no.section.Entitled.``History''
81440 20 69 6e 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 2c 20 63 72 65 61 74 65 20 6f 6e 65 0a 73 74 61 .in.the.Document,.create.one.sta
81460 74 69 6e 67 20 74 68 65 20 74 69 74 6c 65 2c 20 79 65 61 72 2c 20 61 75 74 68 6f 72 73 2c 20 61 ting.the.title,.year,.authors,.a
81480 6e 64 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 73 0a nd.publisher.of.the.Document.as.
814a0 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 61 64 given.on.its.Title.Page,.then.ad
814c0 64 20 61 6e 20 69 74 65 6d 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 4d 6f 64 69 66 69 65 d.an.item.describing.the.Modifie
814e0 64 0a 56 65 72 73 69 6f 6e 20 61 73 20 73 74 61 74 65 64 20 69 6e 20 74 68 65 20 70 72 65 76 69 d.Version.as.stated.in.the.previ
81500 6f 75 73 20 73 65 6e 74 65 6e 63 65 2e 0a 0a 40 69 74 65 6d 0a 50 72 65 73 65 72 76 65 20 74 68 ous.sentence...@item.Preserve.th
81520 65 20 6e 65 74 77 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 e.network.location,.if.any,.give
81540 6e 20 69 6e 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 66 6f 72 0a 70 75 62 6c 69 63 20 61 63 63 n.in.the.Document.for.public.acc
81560 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 20 74 68 65 ess.to.a.Transparent.copy.of.the
81580 20 44 6f 63 75 6d 65 6e 74 2c 20 61 6e 64 20 6c 69 6b 65 77 69 73 65 0a 74 68 65 20 6e 65 74 77 .Document,.and.likewise.the.netw
815a0 6f 72 6b 20 6c 6f 63 61 74 69 6f 6e 73 20 67 69 76 65 6e 20 69 6e 20 74 68 65 20 44 6f 63 75 6d ork.locations.given.in.the.Docum
815c0 65 6e 74 20 66 6f 72 20 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 0a 69 74 20 77 61 73 ent.for.previous.versions.it.was
815e0 20 62 61 73 65 64 20 6f 6e 2e 20 20 54 68 65 73 65 20 6d 61 79 20 62 65 20 70 6c 61 63 65 64 20 .based.on...These.may.be.placed.
81600 69 6e 20 74 68 65 20 60 60 48 69 73 74 6f 72 79 27 27 20 73 65 63 74 69 6f 6e 2e 0a 59 6f 75 20 in.the.``History''.section..You.
81620 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 20 66 6f 72 20 may.omit.a.network.location.for.
81640 61 20 77 6f 72 6b 20 74 68 61 74 20 77 61 73 20 70 75 62 6c 69 73 68 65 64 20 61 74 0a 6c 65 61 a.work.that.was.published.at.lea
81660 73 74 20 66 6f 75 72 20 79 65 61 72 73 20 62 65 66 6f 72 65 20 74 68 65 20 44 6f 63 75 6d 65 6e st.four.years.before.the.Documen
81680 74 20 69 74 73 65 6c 66 2c 20 6f 72 20 69 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a 70 75 62 t.itself,.or.if.the.original.pub
816a0 6c 69 73 68 65 72 20 6f 66 20 74 68 65 20 76 65 72 73 69 6f 6e 20 69 74 20 72 65 66 65 72 73 20 lisher.of.the.version.it.refers.
816c0 74 6f 20 67 69 76 65 73 20 70 65 72 6d 69 73 73 69 6f 6e 2e 0a 0a 40 69 74 65 6d 0a 46 6f 72 20 to.gives.permission...@item.For.
816e0 61 6e 79 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 60 60 41 63 6b 6e 6f 77 6c 65 64 any.section.Entitled.``Acknowled
81700 67 65 6d 65 6e 74 73 27 27 20 6f 72 20 60 60 44 65 64 69 63 61 74 69 6f 6e 73 27 27 2c 20 50 72 gements''.or.``Dedications'',.Pr
81720 65 73 65 72 76 65 0a 74 68 65 20 54 69 74 6c 65 20 6f 66 20 74 68 65 20 73 65 63 74 69 6f 6e 2c eserve.the.Title.of.the.section,
81740 20 61 6e 64 20 70 72 65 73 65 72 76 65 20 69 6e 20 74 68 65 20 73 65 63 74 69 6f 6e 20 61 6c 6c .and.preserve.in.the.section.all
81760 20 74 68 65 0a 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 .the.substance.and.tone.of.each.
81780 6f 66 20 74 68 65 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 61 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 of.the.contributor.acknowledgeme
817a0 6e 74 73 20 61 6e 64 2f 6f 72 0a 64 65 64 69 63 61 74 69 6f 6e 73 20 67 69 76 65 6e 20 74 68 65 nts.and/or.dedications.given.the
817c0 72 65 69 6e 2e 0a 0a 40 69 74 65 6d 0a 50 72 65 73 65 72 76 65 20 61 6c 6c 20 74 68 65 20 49 6e rein...@item.Preserve.all.the.In
817e0 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 variant.Sections.of.the.Document
81800 2c 0a 75 6e 61 6c 74 65 72 65 64 20 69 6e 20 74 68 65 69 72 20 74 65 78 74 20 61 6e 64 20 69 6e ,.unaltered.in.their.text.and.in
81820 20 74 68 65 69 72 20 74 69 74 6c 65 73 2e 20 20 53 65 63 74 69 6f 6e 20 6e 75 6d 62 65 72 73 0a .their.titles...Section.numbers.
81840 6f 72 20 74 68 65 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 64 or.the.equivalent.are.not.consid
81860 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 2e ered.part.of.the.section.titles.
81880 0a 0a 40 69 74 65 6d 0a 44 65 6c 65 74 65 20 61 6e 79 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 ..@item.Delete.any.section.Entit
818a0 6c 65 64 20 60 60 45 6e 64 6f 72 73 65 6d 65 6e 74 73 27 27 2e 20 20 53 75 63 68 20 61 20 73 65 led.``Endorsements''...Such.a.se
818c0 63 74 69 6f 6e 0a 6d 61 79 20 6e 6f 74 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 ction.may.not.be.included.in.the
818e0 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 2e 0a 0a 40 69 74 65 6d 0a 44 6f 20 6e 6f 74 .Modified.Version...@item.Do.not
81900 20 72 65 74 69 74 6c 65 20 61 6e 79 20 65 78 69 73 74 69 6e 67 20 73 65 63 74 69 6f 6e 20 74 6f .retitle.any.existing.section.to
81920 20 62 65 20 45 6e 74 69 74 6c 65 64 20 60 60 45 6e 64 6f 72 73 65 6d 65 6e 74 73 27 27 20 6f 72 .be.Entitled.``Endorsements''.or
81940 0a 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 49 .to.conflict.in.title.with.any.I
81960 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 2e 0a 0a 40 69 74 65 6d 0a 50 72 65 73 65 72 76 nvariant.Section...@item.Preserv
81980 65 20 61 6e 79 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 2e 0a 40 65 6e 64 e.any.Warranty.Disclaimers..@end
819a0 20 65 6e 75 6d 65 72 61 74 65 0a 0a 49 66 20 74 68 65 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 .enumerate..If.the.Modified.Vers
819c0 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 65 72 20 73 65 ion.includes.new.front-matter.se
819e0 63 74 69 6f 6e 73 20 6f 72 0a 61 70 70 65 6e 64 69 63 65 73 20 74 68 61 74 20 71 75 61 6c 69 66 ctions.or.appendices.that.qualif
81a00 79 20 61 73 20 53 65 63 6f 6e 64 61 72 79 20 53 65 63 74 69 6f 6e 73 20 61 6e 64 20 63 6f 6e 74 y.as.Secondary.Sections.and.cont
81a20 61 69 6e 20 6e 6f 20 6d 61 74 65 72 69 61 6c 0a 63 6f 70 69 65 64 20 66 72 6f 6d 20 74 68 65 20 ain.no.material.copied.from.the.
81a40 44 6f 63 75 6d 65 6e 74 2c 20 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e Document,.you.may.at.your.option
81a60 20 64 65 73 69 67 6e 61 74 65 20 73 6f 6d 65 20 6f 72 20 61 6c 6c 0a 6f 66 20 74 68 65 73 65 20 .designate.some.or.all.of.these.
81a80 73 65 63 74 69 6f 6e 73 20 61 73 20 69 6e 76 61 72 69 61 6e 74 2e 20 20 54 6f 20 64 6f 20 74 68 sections.as.invariant...To.do.th
81aa0 69 73 2c 20 61 64 64 20 74 68 65 69 72 20 74 69 74 6c 65 73 20 74 6f 20 74 68 65 0a 6c 69 73 74 is,.add.their.titles.to.the.list
81ac0 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 4d 6f .of.Invariant.Sections.in.the.Mo
81ae0 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 27 73 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 2e dified.Version's.license.notice.
81b00 0a 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 66 .These.titles.must.be.distinct.f
81b20 72 6f 6d 20 61 6e 79 20 6f 74 68 65 72 20 73 65 63 74 69 6f 6e 20 74 69 74 6c 65 73 2e 0a 0a 59 rom.any.other.section.titles...Y
81b40 6f 75 20 6d 61 79 20 61 64 64 20 61 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 60 60 ou.may.add.a.section.Entitled.``
81b60 45 6e 64 6f 72 73 65 6d 65 6e 74 73 27 27 2c 20 70 72 6f 76 69 64 65 64 20 69 74 20 63 6f 6e 74 Endorsements'',.provided.it.cont
81b80 61 69 6e 73 0a 6e 6f 74 68 69 6e 67 20 62 75 74 20 65 6e 64 6f 72 73 65 6d 65 6e 74 73 20 6f 66 ains.nothing.but.endorsements.of
81ba0 20 79 6f 75 72 20 4d 6f 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 20 62 79 20 76 61 72 69 6f 75 .your.Modified.Version.by.variou
81bc0 73 0a 70 61 72 74 69 65 73 2d 2d 2d 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 73 74 61 74 65 6d 65 s.parties---for.example,.stateme
81be0 6e 74 73 20 6f 66 20 70 65 65 72 20 72 65 76 69 65 77 20 6f 72 20 74 68 61 74 20 74 68 65 20 74 nts.of.peer.review.or.that.the.t
81c00 65 78 74 20 68 61 73 0a 62 65 65 6e 20 61 70 70 72 6f 76 65 64 20 62 79 20 61 6e 20 6f 72 67 61 ext.has.been.approved.by.an.orga
81c20 6e 69 7a 61 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 nization.as.the.authoritative.de
81c40 66 69 6e 69 74 69 6f 6e 20 6f 66 20 61 0a 73 74 61 6e 64 61 72 64 2e 0a 0a 59 6f 75 20 6d 61 79 finition.of.a.standard...You.may
81c60 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 76 65 20 77 6f 72 .add.a.passage.of.up.to.five.wor
81c80 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 20 61 6e 64 20 61 0a ds.as.a.Front-Cover.Text,.and.a.
81ca0 70 61 73 73 61 67 65 20 6f 66 20 75 70 20 74 6f 20 32 35 20 77 6f 72 64 73 20 61 73 20 61 20 42 passage.of.up.to.25.words.as.a.B
81cc0 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 2c 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 ack-Cover.Text,.to.the.end.of.th
81ce0 65 20 6c 69 73 74 0a 6f 66 20 43 6f 76 65 72 20 54 65 78 74 73 20 69 6e 20 74 68 65 20 4d 6f 64 e.list.of.Cover.Texts.in.the.Mod
81d00 69 66 69 65 64 20 56 65 72 73 69 6f 6e 2e 20 20 4f 6e 6c 79 20 6f 6e 65 20 70 61 73 73 61 67 65 ified.Version...Only.one.passage
81d20 20 6f 66 0a 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 20 61 6e 64 20 6f 6e 65 20 6f 66 20 .of.Front-Cover.Text.and.one.of.
81d40 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 20 6d 61 79 20 62 65 20 61 64 64 65 64 20 62 79 20 Back-Cover.Text.may.be.added.by.
81d60 28 6f 72 0a 74 68 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 (or.through.arrangements.made.by
81d80 29 20 61 6e 79 20 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 ).any.one.entity...If.the.Docume
81da0 6e 74 20 61 6c 72 65 61 64 79 0a 69 6e 63 6c 75 64 65 73 20 61 20 63 6f 76 65 72 20 74 65 78 74 nt.already.includes.a.cover.text
81dc0 20 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 .for.the.same.cover,.previously.
81de0 61 64 64 65 64 20 62 79 20 79 6f 75 20 6f 72 0a 62 79 20 61 72 72 61 6e 67 65 6d 65 6e 74 20 6d added.by.you.or.by.arrangement.m
81e00 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 72 65 20 61 ade.by.the.same.entity.you.are.a
81e20 63 74 69 6e 67 20 6f 6e 20 62 65 68 61 6c 66 20 6f 66 2c 0a 79 6f 75 20 6d 61 79 20 6e 6f 74 20 cting.on.behalf.of,.you.may.not.
81e40 61 64 64 20 61 6e 6f 74 68 65 72 3b 20 62 75 74 20 79 6f 75 20 6d 61 79 20 72 65 70 6c 61 63 65 add.another;.but.you.may.replace
81e60 20 74 68 65 20 6f 6c 64 20 6f 6e 65 2c 20 6f 6e 20 65 78 70 6c 69 63 69 74 0a 70 65 72 6d 69 73 .the.old.one,.on.explicit.permis
81e80 73 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 70 75 62 6c 69 73 68 65 72 sion.from.the.previous.publisher
81ea0 20 74 68 61 74 20 61 64 64 65 64 20 74 68 65 20 6f 6c 64 20 6f 6e 65 2e 0a 0a 54 68 65 20 61 75 .that.added.the.old.one...The.au
81ec0 74 68 6f 72 28 73 29 20 61 6e 64 20 70 75 62 6c 69 73 68 65 72 28 73 29 20 6f 66 20 74 68 65 20 thor(s).and.publisher(s).of.the.
81ee0 44 6f 63 75 6d 65 6e 74 20 64 6f 20 6e 6f 74 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a Document.do.not.by.this.License.
81f00 67 69 76 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 give.permission.to.use.their.nam
81f20 65 73 20 66 6f 72 20 70 75 62 6c 69 63 69 74 79 20 66 6f 72 20 6f 72 20 74 6f 20 61 73 73 65 72 es.for.publicity.for.or.to.asser
81f40 74 20 6f 72 0a 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 4d 6f t.or.imply.endorsement.of.any.Mo
81f60 64 69 66 69 65 64 20 56 65 72 73 69 6f 6e 2e 0a 0a 40 69 74 65 6d 0a 43 4f 4d 42 49 4e 49 4e 47 dified.Version...@item.COMBINING
81f80 20 44 4f 43 55 4d 45 4e 54 53 0a 0a 59 6f 75 20 6d 61 79 20 63 6f 6d 62 69 6e 65 20 74 68 65 20 .DOCUMENTS..You.may.combine.the.
81fa0 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 6e 74 73 20 72 65 Document.with.other.documents.re
81fc0 6c 65 61 73 65 64 20 75 6e 64 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 2c 20 75 6e 64 65 72 leased.under.this.License,.under
81fe0 20 74 68 65 20 74 65 72 6d 73 20 64 65 66 69 6e 65 64 20 69 6e 20 73 65 63 74 69 6f 6e 20 34 20 .the.terms.defined.in.section.4.
82000 61 62 6f 76 65 20 66 6f 72 20 6d 6f 64 69 66 69 65 64 0a 76 65 72 73 69 6f 6e 73 2c 20 70 72 6f above.for.modified.versions,.pro
82020 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 69 6e 63 6c 75 64 65 20 69 6e 20 74 68 65 20 63 6f vided.that.you.include.in.the.co
82040 6d 62 69 6e 61 74 69 6f 6e 20 61 6c 6c 20 6f 66 20 74 68 65 0a 49 6e 76 61 72 69 61 6e 74 20 53 mbination.all.of.the.Invariant.S
82060 65 63 74 69 6f 6e 73 20 6f 66 20 61 6c 6c 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 64 ections.of.all.of.the.original.d
82080 6f 63 75 6d 65 6e 74 73 2c 20 75 6e 6d 6f 64 69 66 69 65 64 2c 20 61 6e 64 0a 6c 69 73 74 20 74 ocuments,.unmodified,.and.list.t
820a0 68 65 6d 20 61 6c 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 hem.all.as.Invariant.Sections.of
820c0 20 79 6f 75 72 20 63 6f 6d 62 69 6e 65 64 20 77 6f 72 6b 20 69 6e 20 69 74 73 0a 6c 69 63 65 6e .your.combined.work.in.its.licen
820e0 73 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 se.notice,.and.that.you.preserve
82100 20 61 6c 6c 20 74 68 65 69 72 20 57 61 72 72 61 6e 74 79 20 44 69 73 63 6c 61 69 6d 65 72 73 2e .all.their.Warranty.Disclaimers.
82120 0a 0a 54 68 65 20 63 6f 6d 62 69 6e 65 64 20 77 6f 72 6b 20 6e 65 65 64 20 6f 6e 6c 79 20 63 6f ..The.combined.work.need.only.co
82140 6e 74 61 69 6e 20 6f 6e 65 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 ntain.one.copy.of.this.License,.
82160 61 6e 64 0a 6d 75 6c 74 69 70 6c 65 20 69 64 65 6e 74 69 63 61 6c 20 49 6e 76 61 72 69 61 6e 74 and.multiple.identical.Invariant
82180 20 53 65 63 74 69 6f 6e 73 20 6d 61 79 20 62 65 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 61 .Sections.may.be.replaced.with.a
821a0 20 73 69 6e 67 6c 65 0a 63 6f 70 79 2e 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 75 6c 74 .single.copy...If.there.are.mult
821c0 69 70 6c 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 77 69 74 68 20 74 68 65 iple.Invariant.Sections.with.the
821e0 20 73 61 6d 65 20 6e 61 6d 65 20 62 75 74 0a 64 69 66 66 65 72 65 6e 74 20 63 6f 6e 74 65 6e 74 .same.name.but.different.content
82200 73 2c 20 6d 61 6b 65 20 74 68 65 20 74 69 74 6c 65 20 6f 66 20 65 61 63 68 20 73 75 63 68 20 73 s,.make.the.title.of.each.such.s
82220 65 63 74 69 6f 6e 20 75 6e 69 71 75 65 20 62 79 0a 61 64 64 69 6e 67 20 61 74 20 74 68 65 20 65 ection.unique.by.adding.at.the.e
82240 6e 64 20 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 nd.of.it,.in.parentheses,.the.na
82260 6d 65 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a 61 75 74 68 6f 72 20 6f 72 20 70 75 62 me.of.the.original.author.or.pub
82280 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 6e 2c lisher.of.that.section.if.known,
822a0 20 6f 72 20 65 6c 73 65 20 61 20 75 6e 69 71 75 65 20 6e 75 6d 62 65 72 2e 0a 4d 61 6b 65 20 74 .or.else.a.unique.number..Make.t
822c0 68 65 20 73 61 6d 65 20 61 64 6a 75 73 74 6d 65 6e 74 20 74 6f 20 74 68 65 20 73 65 63 74 69 6f he.same.adjustment.to.the.sectio
822e0 6e 20 74 69 74 6c 65 73 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 0a 49 6e 76 61 72 69 61 6e n.titles.in.the.list.of.Invarian
82300 74 20 53 65 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 t.Sections.in.the.license.notice
82320 20 6f 66 20 74 68 65 20 63 6f 6d 62 69 6e 65 64 20 77 6f 72 6b 2e 0a 0a 49 6e 20 74 68 65 20 63 .of.the.combined.work...In.the.c
82340 6f 6d 62 69 6e 61 74 69 6f 6e 2c 20 79 6f 75 20 6d 75 73 74 20 63 6f 6d 62 69 6e 65 20 61 6e 79 ombination,.you.must.combine.any
82360 20 73 65 63 74 69 6f 6e 73 20 45 6e 74 69 74 6c 65 64 20 60 60 48 69 73 74 6f 72 79 27 27 0a 69 .sections.Entitled.``History''.i
82380 6e 20 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 n.the.various.original.documents
823a0 2c 20 66 6f 72 6d 69 6e 67 20 6f 6e 65 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 0a 60 ,.forming.one.section.Entitled.`
823c0 60 48 69 73 74 6f 72 79 27 27 3b 20 6c 69 6b 65 77 69 73 65 20 63 6f 6d 62 69 6e 65 20 61 6e 79 `History'';.likewise.combine.any
823e0 20 73 65 63 74 69 6f 6e 73 20 45 6e 74 69 74 6c 65 64 20 60 60 41 63 6b 6e 6f 77 6c 65 64 67 65 .sections.Entitled.``Acknowledge
82400 6d 65 6e 74 73 27 27 2c 0a 61 6e 64 20 61 6e 79 20 73 65 63 74 69 6f 6e 73 20 45 6e 74 69 74 6c ments'',.and.any.sections.Entitl
82420 65 64 20 60 60 44 65 64 69 63 61 74 69 6f 6e 73 27 27 2e 20 20 59 6f 75 20 6d 75 73 74 20 64 65 ed.``Dedications''...You.must.de
82440 6c 65 74 65 20 61 6c 6c 0a 73 65 63 74 69 6f 6e 73 20 45 6e 74 69 74 6c 65 64 20 60 60 45 6e 64 lete.all.sections.Entitled.``End
82460 6f 72 73 65 6d 65 6e 74 73 2e 27 27 0a 0a 40 69 74 65 6d 0a 43 4f 4c 4c 45 43 54 49 4f 4e 53 20 orsements.''..@item.COLLECTIONS.
82480 4f 46 20 44 4f 43 55 4d 45 4e 54 53 0a 0a 59 6f 75 20 6d 61 79 20 6d 61 6b 65 20 61 20 63 6f 6c OF.DOCUMENTS..You.may.make.a.col
824a0 6c 65 63 74 69 6f 6e 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 lection.consisting.of.the.Docume
824c0 6e 74 20 61 6e 64 20 6f 74 68 65 72 20 64 6f 63 75 6d 65 6e 74 73 0a 72 65 6c 65 61 73 65 64 20 nt.and.other.documents.released.
824e0 75 6e 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 under.this.License,.and.replace.
82500 74 68 65 20 69 6e 64 69 76 69 64 75 61 6c 20 63 6f 70 69 65 73 20 6f 66 20 74 68 69 73 0a 4c 69 the.individual.copies.of.this.Li
82520 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 73 20 77 cense.in.the.various.documents.w
82540 69 74 68 20 61 20 73 69 6e 67 6c 65 20 63 6f 70 79 20 74 68 61 74 20 69 73 20 69 6e 63 6c 75 64 ith.a.single.copy.that.is.includ
82560 65 64 20 69 6e 0a 74 68 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 2c 20 70 72 6f 76 69 64 65 64 20 74 ed.in.the.collection,.provided.t
82580 68 61 74 20 79 6f 75 20 66 6f 6c 6c 6f 77 20 74 68 65 20 72 75 6c 65 73 20 6f 66 20 74 68 69 73 hat.you.follow.the.rules.of.this
825a0 20 4c 69 63 65 6e 73 65 20 66 6f 72 0a 76 65 72 62 61 74 69 6d 20 63 6f 70 79 69 6e 67 20 6f 66 .License.for.verbatim.copying.of
825c0 20 65 61 63 68 20 6f 66 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 73 20 69 6e 20 61 6c 6c 20 6f 74 .each.of.the.documents.in.all.ot
825e0 68 65 72 20 72 65 73 70 65 63 74 73 2e 0a 0a 59 6f 75 20 6d 61 79 20 65 78 74 72 61 63 74 20 61 her.respects...You.may.extract.a
82600 20 73 69 6e 67 6c 65 20 64 6f 63 75 6d 65 6e 74 20 66 72 6f 6d 20 73 75 63 68 20 61 20 63 6f 6c .single.document.from.such.a.col
82620 6c 65 63 74 69 6f 6e 2c 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 0a 69 74 20 69 6e 64 69 76 lection,.and.distribute.it.indiv
82640 69 64 75 61 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 idually.under.this.License,.prov
82660 69 64 65 64 20 79 6f 75 20 69 6e 73 65 72 74 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 0a 4c ided.you.insert.a.copy.of.this.L
82680 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 65 icense.into.the.extracted.docume
826a0 6e 74 2c 20 61 6e 64 20 66 6f 6c 6c 6f 77 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 61 nt,.and.follow.this.License.in.a
826c0 6c 6c 0a 6f 74 68 65 72 20 72 65 73 70 65 63 74 73 20 72 65 67 61 72 64 69 6e 67 20 76 65 72 62 ll.other.respects.regarding.verb
826e0 61 74 69 6d 20 63 6f 70 79 69 6e 67 20 6f 66 20 74 68 61 74 20 64 6f 63 75 6d 65 6e 74 2e 0a 0a atim.copying.of.that.document...
82700 40 69 74 65 6d 0a 41 47 47 52 45 47 41 54 49 4f 4e 20 57 49 54 48 20 49 4e 44 45 50 45 4e 44 45 @item.AGGREGATION.WITH.INDEPENDE
82720 4e 54 20 57 4f 52 4b 53 0a 0a 41 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 44 NT.WORKS..A.compilation.of.the.D
82740 6f 63 75 6d 65 6e 74 20 6f 72 20 69 74 73 20 64 65 72 69 76 61 74 69 76 65 73 20 77 69 74 68 20 ocument.or.its.derivatives.with.
82760 6f 74 68 65 72 20 73 65 70 61 72 61 74 65 0a 61 6e 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 64 other.separate.and.independent.d
82780 6f 63 75 6d 65 6e 74 73 20 6f 72 20 77 6f 72 6b 73 2c 20 69 6e 20 6f 72 20 6f 6e 20 61 20 76 6f ocuments.or.works,.in.or.on.a.vo
827a0 6c 75 6d 65 20 6f 66 20 61 20 73 74 6f 72 61 67 65 20 6f 72 0a 64 69 73 74 72 69 62 75 74 69 6f lume.of.a.storage.or.distributio
827c0 6e 20 6d 65 64 69 75 6d 2c 20 69 73 20 63 61 6c 6c 65 64 20 61 6e 20 60 60 61 67 67 72 65 67 61 n.medium,.is.called.an.``aggrega
827e0 74 65 27 27 20 69 66 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 0a 72 65 73 75 6c 74 69 6e 67 20 te''.if.the.copyright.resulting.
82800 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
82820 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 6c 65 67 61 6c 20 72 69 67 68 74 73 0a 6f 66 20 74 68 .to.limit.the.legal.rights.of.th
82840 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 27 73 20 75 73 65 72 73 20 62 65 79 6f 6e 64 20 77 68 61 e.compilation's.users.beyond.wha
82860 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 74 2e 0a 57 t.the.individual.works.permit..W
82880 68 65 6e 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 hen.the.Document.is.included.in.
828a0 61 6e 20 61 67 67 72 65 67 61 74 65 2c 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 64 6f 65 73 20 an.aggregate,.this.License.does.
828c0 6e 6f 74 0a 61 70 70 6c 79 20 74 6f 20 74 68 65 20 6f 74 68 65 72 20 77 6f 72 6b 73 20 69 6e 20 not.apply.to.the.other.works.in.
828e0 74 68 65 20 61 67 67 72 65 67 61 74 65 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 74 68 65 6d the.aggregate.which.are.not.them
82900 73 65 6c 76 65 73 0a 64 65 72 69 76 61 74 69 76 65 20 77 6f 72 6b 73 20 6f 66 20 74 68 65 20 44 selves.derivative.works.of.the.D
82920 6f 63 75 6d 65 6e 74 2e 0a 0a 49 66 20 74 68 65 20 43 6f 76 65 72 20 54 65 78 74 20 72 65 71 75 ocument...If.the.Cover.Text.requ
82940 69 72 65 6d 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 irement.of.section.3.is.applicab
82960 6c 65 20 74 6f 20 74 68 65 73 65 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 44 6f 63 75 6d 65 le.to.these.copies.of.the.Docume
82980 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 73 nt,.then.if.the.Document.is.less
829a0 20 74 68 61 6e 20 6f 6e 65 20 68 61 6c 66 20 6f 66 0a 74 68 65 20 65 6e 74 69 72 65 20 61 67 67 .than.one.half.of.the.entire.agg
829c0 72 65 67 61 74 65 2c 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 27 73 20 43 6f 76 65 72 20 54 65 78 regate,.the.Document's.Cover.Tex
829e0 74 73 20 6d 61 79 20 62 65 20 70 6c 61 63 65 64 20 6f 6e 0a 63 6f 76 65 72 73 20 74 68 61 74 20 ts.may.be.placed.on.covers.that.
82a00 62 72 61 63 6b 65 74 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 77 69 74 68 69 6e 20 74 68 65 20 bracket.the.Document.within.the.
82a20 61 67 67 72 65 67 61 74 65 2c 20 6f 72 20 74 68 65 0a 65 6c 65 63 74 72 6f 6e 69 63 20 65 71 75 aggregate,.or.the.electronic.equ
82a40 69 76 61 6c 65 6e 74 20 6f 66 20 63 6f 76 65 72 73 20 69 66 20 74 68 65 20 44 6f 63 75 6d 65 6e ivalent.of.covers.if.the.Documen
82a60 74 20 69 73 20 69 6e 20 65 6c 65 63 74 72 6f 6e 69 63 20 66 6f 72 6d 2e 0a 4f 74 68 65 72 77 69 t.is.in.electronic.form..Otherwi
82a80 73 65 20 74 68 65 79 20 6d 75 73 74 20 61 70 70 65 61 72 20 6f 6e 20 70 72 69 6e 74 65 64 20 63 se.they.must.appear.on.printed.c
82aa0 6f 76 65 72 73 20 74 68 61 74 20 62 72 61 63 6b 65 74 20 74 68 65 20 77 68 6f 6c 65 0a 61 67 67 overs.that.bracket.the.whole.agg
82ac0 72 65 67 61 74 65 2e 0a 0a 40 69 74 65 6d 0a 54 52 41 4e 53 4c 41 54 49 4f 4e 0a 0a 54 72 61 6e regate...@item.TRANSLATION..Tran
82ae0 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 20 slation.is.considered.a.kind.of.
82b00 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 64 69 73 74 72 69 62 modification,.so.you.may.distrib
82b20 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 63 75 6d 65 6e 74 ute.translations.of.the.Document
82b40 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 6e 20 34 2e 0a 52 .under.the.terms.of.section.4..R
82b60 65 70 6c 61 63 69 6e 67 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 77 69 74 68 eplacing.Invariant.Sections.with
82b80 20 74 72 61 6e 73 6c 61 74 69 6f 6e 73 20 72 65 71 75 69 72 65 73 20 73 70 65 63 69 61 6c 0a 70 .translations.requires.special.p
82ba0 65 72 6d 69 73 73 69 6f 6e 20 66 72 6f 6d 20 74 68 65 69 72 20 63 6f 70 79 72 69 67 68 74 20 68 ermission.from.their.copyright.h
82bc0 6f 6c 64 65 72 73 2c 20 62 75 74 20 79 6f 75 20 6d 61 79 20 69 6e 63 6c 75 64 65 0a 74 72 61 6e olders,.but.you.may.include.tran
82be0 73 6c 61 74 69 6f 6e 73 20 6f 66 20 73 6f 6d 65 20 6f 72 20 61 6c 6c 20 49 6e 76 61 72 69 61 6e slations.of.some.or.all.Invarian
82c00 74 20 53 65 63 74 69 6f 6e 73 20 69 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 0a 6f 72 t.Sections.in.addition.to.the.or
82c20 69 67 69 6e 61 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 iginal.versions.of.these.Invaria
82c40 6e 74 20 53 65 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 nt.Sections...You.may.include.a.
82c60 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
82c80 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.
82ca0 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 44 69 73 63 6c Document,.and.any.Warranty.Discl
82cc0 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 6c 73 6f 20 69 aimers,.provided.that.you.also.i
82ce0 6e 63 6c 75 64 65 0a 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 45 6e 67 6c 69 73 68 20 76 65 72 73 nclude.the.original.English.vers
82d00 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 74 68 65 20 6f 72 69 67 ion.of.this.License.and.the.orig
82d20 69 6e 61 6c 20 76 65 72 73 69 6f 6e 73 0a 6f 66 20 74 68 6f 73 65 20 6e 6f 74 69 63 65 73 20 61 inal.versions.of.those.notices.a
82d40 6e 64 20 64 69 73 63 6c 61 69 6d 65 72 73 2e 20 20 49 6e 20 63 61 73 65 20 6f 66 20 61 20 64 69 nd.disclaimers...In.case.of.a.di
82d60 73 61 67 72 65 65 6d 65 6e 74 20 62 65 74 77 65 65 6e 0a 74 68 65 20 74 72 61 6e 73 6c 61 74 69 sagreement.between.the.translati
82d80 6f 6e 20 61 6e 64 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 on.and.the.original.version.of.t
82da0 68 69 73 20 4c 69 63 65 6e 73 65 20 6f 72 20 61 20 6e 6f 74 69 63 65 0a 6f 72 20 64 69 73 63 6c his.License.or.a.notice.or.discl
82dc0 61 69 6d 65 72 2c 20 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 aimer,.the.original.version.will
82de0 20 70 72 65 76 61 69 6c 2e 0a 0a 49 66 20 61 20 73 65 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 44 .prevail...If.a.section.in.the.D
82e00 6f 63 75 6d 65 6e 74 20 69 73 20 45 6e 74 69 74 6c 65 64 20 60 60 41 63 6b 6e 6f 77 6c 65 64 67 ocument.is.Entitled.``Acknowledg
82e20 65 6d 65 6e 74 73 27 27 2c 0a 60 60 44 65 64 69 63 61 74 69 6f 6e 73 27 27 2c 20 6f 72 20 60 60 ements'',.``Dedications'',.or.``
82e40 48 69 73 74 6f 72 79 27 27 2c 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 20 28 73 65 63 74 History'',.the.requirement.(sect
82e60 69 6f 6e 20 34 29 20 74 6f 20 50 72 65 73 65 72 76 65 0a 69 74 73 20 54 69 74 6c 65 20 28 73 65 ion.4).to.Preserve.its.Title.(se
82e80 63 74 69 6f 6e 20 31 29 20 77 69 6c 6c 20 74 79 70 69 63 61 6c 6c 79 20 72 65 71 75 69 72 65 20 ction.1).will.typically.require.
82ea0 63 68 61 6e 67 69 6e 67 20 74 68 65 20 61 63 74 75 61 6c 0a 74 69 74 6c 65 2e 0a 0a 40 69 74 65 changing.the.actual.title...@ite
82ec0 6d 0a 54 45 52 4d 49 4e 41 54 49 4f 4e 0a 0a 59 6f 75 20 6d 61 79 20 6e 6f 74 20 63 6f 70 79 2c m.TERMINATION..You.may.not.copy,
82ee0 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 73 74 72 69 62 75 .modify,.sublicense,.or.distribu
82f00 74 65 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 0a 65 78 63 65 70 74 20 61 73 20 65 78 70 72 65 73 te.the.Document.except.as.expres
82f20 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 2e sly.provided.under.this.License.
82f40 20 20 41 6e 79 20 61 74 74 65 6d 70 74 0a 6f 74 68 65 72 77 69 73 65 20 74 6f 20 63 6f 70 79 2c ..Any.attempt.otherwise.to.copy,
82f60 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 73 74 72 69 62 75 .modify,.sublicense,.or.distribu
82f80 74 65 20 69 74 20 69 73 20 76 6f 69 64 2c 20 61 6e 64 0a 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 te.it.is.void,.and.will.automati
82fa0 63 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 20 79 6f 75 72 20 72 69 67 68 74 73 20 75 6e 64 65 cally.terminate.your.rights.unde
82fc0 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 48 6f 77 65 76 65 72 2c 20 69 66 20 79 6f 75 r.this.License...However,.if.you
82fe0 20 63 65 61 73 65 20 61 6c 6c 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 .cease.all.violation.of.this.Lic
83000 65 6e 73 65 2c 20 74 68 65 6e 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 0a 66 72 6f 6d 20 61 20 70 ense,.then.your.license.from.a.p
83020 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 20 72 65 articular.copyright.holder.is.re
83040 69 6e 73 74 61 74 65 64 20 28 61 29 20 70 72 6f 76 69 73 69 6f 6e 61 6c 6c 79 2c 0a 75 6e 6c 65 instated.(a).provisionally,.unle
83060 73 73 20 61 6e 64 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 ss.and.until.the.copyright.holde
83080 72 20 65 78 70 6c 69 63 69 74 6c 79 20 61 6e 64 20 66 69 6e 61 6c 6c 79 0a 74 65 72 6d 69 6e 61 r.explicitly.and.finally.termina
830a0 74 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 tes.your.license,.and.(b).perman
830c0 65 6e 74 6c 79 2c 20 69 66 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 0a 66 ently,.if.the.copyright.holder.f
830e0 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 74 ails.to.notify.you.of.the.violat
83100 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 20 70 72 69 ion.by.some.reasonable.means.pri
83120 6f 72 20 74 6f 0a 36 30 20 64 61 79 73 20 61 66 74 65 72 20 74 68 65 20 63 65 73 73 61 74 69 6f or.to.60.days.after.the.cessatio
83140 6e 2e 0a 0a 4d 6f 72 65 6f 76 65 72 2c 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 n...Moreover,.your.license.from.
83160 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 69 73 a.particular.copyright.holder.is
83180 0a 72 65 69 6e 73 74 61 74 65 64 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 69 66 20 74 68 65 20 63 .reinstated.permanently.if.the.c
831a0 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 6e 6f 74 69 66 69 65 73 20 79 6f 75 20 6f 66 20 opyright.holder.notifies.you.of.
831c0 74 68 65 0a 76 69 6f 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 6f 6e 61 62 6c 65 the.violation.by.some.reasonable
831e0 20 6d 65 61 6e 73 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 79 .means,.this.is.the.first.time.y
83200 6f 75 20 68 61 76 65 0a 72 65 63 65 69 76 65 64 20 6e 6f 74 69 63 65 20 6f 66 20 76 69 6f 6c 61 ou.have.received.notice.of.viola
83220 74 69 6f 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 tion.of.this.License.(for.any.wo
83240 72 6b 29 20 66 72 6f 6d 20 74 68 61 74 0a 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 2c 20 rk).from.that.copyright.holder,.
83260 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 6f 72 and.you.cure.the.violation.prior
83280 20 74 6f 20 33 30 20 64 61 79 73 20 61 66 74 65 72 0a 79 6f 75 72 20 72 65 63 65 69 70 74 20 6f .to.30.days.after.your.receipt.o
832a0 66 20 74 68 65 20 6e 6f 74 69 63 65 2e 0a 0a 54 65 72 6d 69 6e 61 74 69 6f 6e 20 6f 66 20 79 6f f.the.notice...Termination.of.yo
832c0 75 72 20 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 64 6f 65 ur.rights.under.this.section.doe
832e0 73 20 6e 6f 74 20 74 65 72 6d 69 6e 61 74 65 20 74 68 65 0a 6c 69 63 65 6e 73 65 73 20 6f 66 20 s.not.terminate.the.licenses.of.
83300 70 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 63 6f 70 69 65 73 parties.who.have.received.copies
83320 20 6f 72 20 72 69 67 68 74 73 20 66 72 6f 6d 20 79 6f 75 20 75 6e 64 65 72 0a 74 68 69 73 20 4c .or.rights.from.you.under.this.L
83340 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 72 20 72 69 67 68 74 73 20 68 61 76 65 20 62 65 65 icense...If.your.rights.have.bee
83360 6e 20 74 65 72 6d 69 6e 61 74 65 64 20 61 6e 64 20 6e 6f 74 20 70 65 72 6d 61 6e 65 6e 74 6c 79 n.terminated.and.not.permanently
83380 0a 72 65 69 6e 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 .reinstated,.receipt.of.a.copy.o
833a0 66 20 73 6f 6d 65 20 6f 72 20 61 6c 6c 20 6f 66 20 74 68 65 20 73 61 6d 65 20 6d 61 74 65 72 69 f.some.or.all.of.the.same.materi
833c0 61 6c 20 64 6f 65 73 0a 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.
833e0 74 6f 20 75 73 65 20 69 74 2e 0a 0a 40 69 74 65 6d 0a 46 55 54 55 52 45 20 52 45 56 49 53 49 4f to.use.it...@item.FUTURE.REVISIO
83400 4e 53 20 4f 46 20 54 48 49 53 20 4c 49 43 45 4e 53 45 0a 0a 54 68 65 20 46 72 65 65 20 53 6f 66 NS.OF.THIS.LICENSE..The.Free.Sof
83420 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 68 20 6e 65 77 tware.Foundation.may.publish.new
83440 2c 20 72 65 76 69 73 65 64 20 76 65 72 73 69 6f 6e 73 0a 6f 66 20 74 68 65 20 47 4e 55 20 46 72 ,.revised.versions.of.the.GNU.Fr
83460 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 66 72 6f 6d 20 74 69 ee.Documentation.License.from.ti
83480 6d 65 20 74 6f 20 74 69 6d 65 2e 20 20 53 75 63 68 20 6e 65 77 0a 76 65 72 73 69 6f 6e 73 20 77 me.to.time...Such.new.versions.w
834a0 69 6c 6c 20 62 65 20 73 69 6d 69 6c 61 72 20 69 6e 20 73 70 69 72 69 74 20 74 6f 20 74 68 65 20 ill.be.similar.in.spirit.to.the.
834c0 70 72 65 73 65 6e 74 20 76 65 72 73 69 6f 6e 2c 20 62 75 74 20 6d 61 79 0a 64 69 66 66 65 72 20 present.version,.but.may.differ.
834e0 69 6e 20 64 65 74 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 in.detail.to.address.new.problem
83500 73 20 6f 72 20 63 6f 6e 63 65 72 6e 73 2e 20 20 53 65 65 0a 40 75 72 65 66 7b 68 74 74 70 73 3a s.or.concerns...See.@uref{https:
83520 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 7d 2e 0a 0a 45 61 63 68 20 //www.gnu.org/licenses/}...Each.
83540 76 65 72 73 69 6f 6e 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 version.of.the.License.is.given.
83560 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 6d 62 65 72 2e a.distinguishing.version.number.
83580 0a 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 .If.the.Document.specifies.that.
835a0 61 20 70 61 72 74 69 63 75 6c 61 72 20 6e 75 6d 62 65 72 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 a.particular.numbered.version.of
835c0 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 20 60 60 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 .this.License.``or.any.later.ver
835e0 73 69 6f 6e 27 27 20 61 70 70 6c 69 65 73 20 74 6f 20 69 74 2c 20 79 6f 75 20 68 61 76 65 20 74 sion''.applies.to.it,.you.have.t
83600 68 65 20 6f 70 74 69 6f 6e 20 6f 66 0a 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 74 65 72 6d 73 he.option.of.following.the.terms
83620 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 20 74 68 61 74 20 73 .and.conditions.either.of.that.s
83640 70 65 63 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 6f 72 0a 6f 66 20 61 6e 79 20 6c 61 74 65 72 pecified.version.or.of.any.later
83660 20 76 65 72 73 69 6f 6e 20 74 68 61 74 20 68 61 73 20 62 65 65 6e 20 70 75 62 6c 69 73 68 65 64 .version.that.has.been.published
83680 20 28 6e 6f 74 20 61 73 20 61 20 64 72 61 66 74 29 20 62 79 20 74 68 65 0a 46 72 65 65 20 53 6f .(not.as.a.draft).by.the.Free.So
836a0 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 6f 63 75 6d ftware.Foundation...If.the.Docum
836c0 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 76 65 72 73 69 6f 6e 0a 6e ent.does.not.specify.a.version.n
836e0 75 6d 62 65 72 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 6d 61 79 20 63 umber.of.this.License,.you.may.c
83700 68 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 hoose.any.version.ever.published
83720 20 28 6e 6f 74 0a 61 73 20 61 20 64 72 61 66 74 29 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f .(not.as.a.draft).by.the.Free.So
83740 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 6f 63 75 6d ftware.Foundation...If.the.Docum
83760 65 6e 74 0a 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 ent.specifies.that.a.proxy.can.d
83780 65 63 69 64 65 20 77 68 69 63 68 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 ecide.which.future.versions.of.t
837a0 68 69 73 0a 4c 69 63 65 6e 73 65 20 63 61 6e 20 62 65 20 75 73 65 64 2c 20 74 68 61 74 20 70 72 his.License.can.be.used,.that.pr
837c0 6f 78 79 27 73 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 oxy's.public.statement.of.accept
837e0 61 6e 63 65 20 6f 66 20 61 0a 76 65 72 73 69 6f 6e 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 61 75 ance.of.a.version.permanently.au
83800 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
83820 69 6f 6e 20 66 6f 72 20 74 68 65 0a 44 6f 63 75 6d 65 6e 74 2e 0a 0a 40 69 74 65 6d 0a 52 45 4c ion.for.the.Document...@item.REL
83840 49 43 45 4e 53 49 4e 47 0a 0a 60 60 4d 61 73 73 69 76 65 20 4d 75 6c 74 69 61 75 74 68 6f 72 20 ICENSING..``Massive.Multiauthor.
83860 43 6f 6c 6c 61 62 6f 72 61 74 69 6f 6e 20 53 69 74 65 27 27 20 28 6f 72 20 60 60 4d 4d 43 20 53 Collaboration.Site''.(or.``MMC.S
83880 69 74 65 27 27 29 20 6d 65 61 6e 73 20 61 6e 79 0a 57 6f 72 6c 64 20 57 69 64 65 20 57 65 62 20 ite'').means.any.World.Wide.Web.
838a0 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 68 74 61 server.that.publishes.copyrighta
838c0 62 6c 65 20 77 6f 72 6b 73 20 61 6e 64 20 61 6c 73 6f 0a 70 72 6f 76 69 64 65 73 20 70 72 6f 6d ble.works.and.also.provides.prom
838e0 69 6e 65 6e 74 20 66 61 63 69 6c 69 74 69 65 73 20 66 6f 72 20 61 6e 79 62 6f 64 79 20 74 6f 20 inent.facilities.for.anybody.to.
83900 65 64 69 74 20 74 68 6f 73 65 20 77 6f 72 6b 73 2e 20 20 41 0a 70 75 62 6c 69 63 20 77 69 6b 69 edit.those.works...A.public.wiki
83920 20 74 68 61 74 20 61 6e 79 62 6f 64 79 20 63 61 6e 20 65 64 69 74 20 69 73 20 61 6e 20 65 78 61 .that.anybody.can.edit.is.an.exa
83940 6d 70 6c 65 20 6f 66 20 73 75 63 68 20 61 20 73 65 72 76 65 72 2e 20 20 41 0a 60 60 4d 61 73 73 mple.of.such.a.server...A.``Mass
83960 69 76 65 20 4d 75 6c 74 69 61 75 74 68 6f 72 20 43 6f 6c 6c 61 62 6f 72 61 74 69 6f 6e 27 27 20 ive.Multiauthor.Collaboration''.
83980 28 6f 72 20 60 60 4d 4d 43 27 27 29 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 74 68 65 0a 73 69 (or.``MMC'').contained.in.the.si
839a0 74 65 20 6d 65 61 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 te.means.any.set.of.copyrightabl
839c0 65 20 77 6f 72 6b 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 e.works.thus.published.on.the.MM
839e0 43 0a 73 69 74 65 2e 0a 0a 60 60 43 43 2d 42 59 2d 53 41 27 27 20 6d 65 61 6e 73 20 74 68 65 20 C.site...``CC-BY-SA''.means.the.
83a00 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 6f 6e 2d 53 68 61 Creative.Commons.Attribution-Sha
83a20 72 65 20 41 6c 69 6b 65 20 33 2e 30 0a 6c 69 63 65 6e 73 65 20 70 75 62 6c 69 73 68 65 64 20 62 re.Alike.3.0.license.published.b
83a40 79 20 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 43 6f 72 70 6f 72 61 74 69 6f 6e 2c 20 y.Creative.Commons.Corporation,.
83a60 61 20 6e 6f 74 2d 66 6f 72 2d 70 72 6f 66 69 74 0a 63 6f 72 70 6f 72 61 74 69 6f 6e 20 77 69 74 a.not-for-profit.corporation.wit
83a80 68 20 61 20 70 72 69 6e 63 69 70 61 6c 20 70 6c 61 63 65 20 6f 66 20 62 75 73 69 6e 65 73 73 20 h.a.principal.place.of.business.
83aa0 69 6e 20 53 61 6e 20 46 72 61 6e 63 69 73 63 6f 2c 0a 43 61 6c 69 66 6f 72 6e 69 61 2c 20 61 73 in.San.Francisco,.California,.as
83ac0 20 77 65 6c 6c 20 61 73 20 66 75 74 75 72 65 20 63 6f 70 79 6c 65 66 74 20 76 65 72 73 69 6f 6e .well.as.future.copyleft.version
83ae0 73 20 6f 66 20 74 68 61 74 20 6c 69 63 65 6e 73 65 0a 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 s.of.that.license.published.by.t
83b00 68 61 74 20 73 61 6d 65 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 2e 0a 0a 60 60 49 6e 63 6f 72 70 hat.same.organization...``Incorp
83b20 6f 72 61 74 65 27 27 20 6d 65 61 6e 73 20 74 6f 20 70 75 62 6c 69 73 68 20 6f 72 20 72 65 70 75 orate''.means.to.publish.or.repu
83b40 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 69 6e blish.a.Document,.in.whole.or.in
83b60 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 44 6f 63 75 6d 65 .part,.as.part.of.another.Docume
83b80 6e 74 2e 0a 0a 41 6e 20 4d 4d 43 20 69 73 20 60 60 65 6c 69 67 69 62 6c 65 20 66 6f 72 20 72 65 nt...An.MMC.is.``eligible.for.re
83ba0 6c 69 63 65 6e 73 69 6e 67 27 27 20 69 66 20 69 74 20 69 73 20 6c 69 63 65 6e 73 65 64 20 75 6e licensing''.if.it.is.licensed.un
83bc0 64 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 69 66 20 61 6c 6c 20 77 6f 72 der.this.License,.and.if.all.wor
83be0 6b 73 20 74 68 61 74 20 77 65 72 65 20 66 69 72 73 74 20 70 75 62 6c 69 73 68 65 64 20 75 6e 64 ks.that.were.first.published.und
83c00 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a 73 6f 6d 65 77 68 65 72 65 20 6f 74 68 65 72 20 er.this.License.somewhere.other.
83c20 74 68 61 6e 20 74 68 69 73 20 4d 4d 43 2c 20 61 6e 64 20 73 75 62 73 65 71 75 65 6e 74 6c 79 20 than.this.MMC,.and.subsequently.
83c40 69 6e 63 6f 72 70 6f 72 61 74 65 64 20 69 6e 20 77 68 6f 6c 65 0a 6f 72 20 69 6e 20 70 61 72 74 incorporated.in.whole.or.in.part
83c60 20 69 6e 74 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 20 .into.the.MMC,.(1).had.no.cover.
83c80 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 0a 61 6e 64 texts.or.invariant.sections,.and
83ca0 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 6f .(2).were.thus.incorporated.prio
83cc0 72 20 74 6f 20 4e 6f 76 65 6d 62 65 72 20 31 2c 20 32 30 30 38 2e 0a 0a 54 68 65 20 6f 70 65 72 r.to.November.1,.2008...The.oper
83ce0 61 74 6f 72 20 6f 66 20 61 6e 20 4d 4d 43 20 53 69 74 65 20 6d 61 79 20 72 65 70 75 62 6c 69 73 ator.of.an.MMC.Site.may.republis
83d00 68 20 61 6e 20 4d 4d 43 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 74 68 65 20 73 69 74 65 0a 75 h.an.MMC.contained.in.the.site.u
83d20 6e 64 65 72 20 43 43 2d 42 59 2d 53 41 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 73 69 74 65 20 61 nder.CC-BY-SA.on.the.same.site.a
83d40 74 20 61 6e 79 20 74 69 6d 65 20 62 65 66 6f 72 65 20 41 75 67 75 73 74 20 31 2c 20 32 30 30 39 t.any.time.before.August.1,.2009
83d60 2c 0a 70 72 6f 76 69 64 65 64 20 74 68 65 20 4d 4d 43 20 69 73 20 65 6c 69 67 69 62 6c 65 20 66 ,.provided.the.MMC.is.eligible.f
83d80 6f 72 20 72 65 6c 69 63 65 6e 73 69 6e 67 2e 0a 0a 40 65 6e 64 20 65 6e 75 6d 65 72 61 74 65 0a or.relicensing...@end.enumerate.
83da0 0a 40 70 61 67 65 0a 40 68 65 61 64 69 6e 67 20 41 44 44 45 4e 44 55 4d 3a 20 48 6f 77 20 74 6f .@page.@heading.ADDENDUM:.How.to
83dc0 20 75 73 65 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 79 6f 75 72 20 64 6f 63 75 6d .use.this.License.for.your.docum
83de0 65 6e 74 73 0a 0a 54 6f 20 75 73 65 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 61 20 64 ents..To.use.this.License.in.a.d
83e00 6f 63 75 6d 65 6e 74 20 79 6f 75 20 68 61 76 65 20 77 72 69 74 74 65 6e 2c 20 69 6e 63 6c 75 64 ocument.you.have.written,.includ
83e20 65 20 61 20 63 6f 70 79 20 6f 66 0a 74 68 65 20 4c 69 63 65 6e 73 65 20 69 6e 20 74 68 65 20 64 e.a.copy.of.the.License.in.the.d
83e40 6f 63 75 6d 65 6e 74 20 61 6e 64 20 70 75 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f ocument.and.put.the.following.co
83e60 70 79 72 69 67 68 74 20 61 6e 64 0a 6c 69 63 65 6e 73 65 20 6e 6f 74 69 63 65 73 20 6a 75 73 74 pyright.and.license.notices.just
83e80 20 61 66 74 65 72 20 74 68 65 20 74 69 74 6c 65 20 70 61 67 65 3a 0a 0a 40 73 6d 61 6c 6c 65 78 .after.the.title.page:..@smallex
83ea0 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 20 40 76 ample.@group...Copyright.(C)..@v
83ec0 61 72 7b 79 65 61 72 7d 20 20 40 76 61 72 7b 79 6f 75 72 20 6e 61 6d 65 7d 2e 0a 20 20 50 65 72 ar{year}..@var{your.name}....Per
83ee0 6d 69 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 mission.is.granted.to.copy,.dist
83f00 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 74 68 69 73 20 64 6f 63 75 6d 65 ribute.and/or.modify.this.docume
83f20 6e 74 0a 20 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 20 nt...under.the.terms.of.the.GNU.
83f40 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 20 56 65 72 73 Free.Documentation.License,.Vers
83f60 69 6f 6e 20 31 2e 33 0a 20 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 ion.1.3...or.any.later.version.p
83f80 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 46 6f ublished.by.the.Free.Software.Fo
83fa0 75 6e 64 61 74 69 6f 6e 3b 0a 20 20 77 69 74 68 20 6e 6f 20 49 6e 76 61 72 69 61 6e 74 20 53 65 undation;...with.no.Invariant.Se
83fc0 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 20 61 6e ctions,.no.Front-Cover.Texts,.an
83fe0 64 20 6e 6f 20 42 61 63 6b 2d 43 6f 76 65 72 0a 20 20 54 65 78 74 73 2e 20 20 41 20 63 6f 70 79 d.no.Back-Cover...Texts...A.copy
84000 20 6f 66 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 .of.the.license.is.included.in.t
84020 68 65 20 73 65 63 74 69 6f 6e 20 65 6e 74 69 74 6c 65 64 20 60 60 47 4e 55 0a 20 20 46 72 65 65 he.section.entitled.``GNU...Free
84040 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 27 27 2e 0a 40 65 6e 64 20 67 .Documentation.License''..@end.g
84060 72 6f 75 70 0a 40 65 6e 64 20 73 6d 61 6c 6c 65 78 61 6d 70 6c 65 0a 0a 49 66 20 79 6f 75 20 68 roup.@end.smallexample..If.you.h
84080 61 76 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 2c 20 46 72 6f 6e 74 2d 43 6f ave.Invariant.Sections,.Front-Co
840a0 76 65 72 20 54 65 78 74 73 20 61 6e 64 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 73 2c 0a ver.Texts.and.Back-Cover.Texts,.
840c0 72 65 70 6c 61 63 65 20 74 68 65 20 60 60 77 69 74 68 40 64 6f 74 73 7b 7d 54 65 78 74 73 2e 27 replace.the.``with@dots{}Texts.'
840e0 27 40 3a 20 6c 69 6e 65 20 77 69 74 68 20 74 68 69 73 3a 0a 0a 40 73 6d 61 6c 6c 65 78 61 6d 70 '@:.line.with.this:..@smallexamp
84100 6c 65 0a 40 67 72 6f 75 70 0a 20 20 20 20 77 69 74 68 20 74 68 65 20 49 6e 76 61 72 69 61 6e 74 le.@group.....with.the.Invariant
84120 20 53 65 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 40 76 61 72 7b 6c 69 73 74 20 74 68 65 69 72 20 .Sections.being.@var{list.their.
84140 74 69 74 6c 65 73 7d 2c 20 77 69 74 68 0a 20 20 20 20 74 68 65 20 46 72 6f 6e 74 2d 43 6f 76 65 titles},.with.....the.Front-Cove
84160 72 20 54 65 78 74 73 20 62 65 69 6e 67 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 61 6e 64 20 77 69 r.Texts.being.@var{list},.and.wi
84180 74 68 20 74 68 65 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 73 0a 20 20 20 20 62 65 69 6e th.the.Back-Cover.Texts.....bein
841a0 67 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 73 6d g.@var{list}..@end.group.@end.sm
841c0 61 6c 6c 65 78 61 6d 70 6c 65 0a 0a 49 66 20 79 6f 75 20 68 61 76 65 20 49 6e 76 61 72 69 61 6e allexample..If.you.have.Invarian
841e0 74 20 53 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 t.Sections.without.Cover.Texts,.
84200 6f 72 20 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 or.some.other.combination.of.the
84220 20 74 68 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 .three,.merge.those.two.alternat
84240 69 76 65 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 49 66 20 ives.to.suit.the.situation...If.
84260 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
84280 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
842a0 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
842c0 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.
842e0 6f 66 0a 66 72 65 65 20 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
84300 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
84320 2c 0a 74 6f 20 70 65 72 6d 69 74 20 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
84340 66 74 77 61 72 65 2e 0a 0a 40 63 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a 40 63 20 ftware...@c.Local.Variables:.@c.
84360 69 73 70 65 6c 6c 2d 6c 6f 63 61 6c 2d 70 64 69 63 74 3a 20 22 69 73 70 65 6c 6c 2d 64 69 63 74 ispell-local-pdict:."ispell-dict
84380 22 0a 40 63 20 45 6e 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 ".@c.End:.......................
843a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
843c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
843e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84400 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 61 73 68 2e 74 65 78 69 00 00 00 00 00 00 00 00 00 00 00 dash-2.19.1/dash.texi...........
84420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84460 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
84480 30 33 35 30 33 30 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 30 30 33 00 20 30 00 00 00 0350306.00000000000.013003..0...
844a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
844c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
844e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84500 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...................
84520 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...................
84540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
845a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
845c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
845e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84600 5c 69 6e 70 75 74 20 74 65 78 69 6e 66 6f 20 20 20 20 40 63 20 2d 2a 2d 20 74 65 78 69 6e 66 6f \input.texinfo....@c.-*-.texinfo
84620 20 2d 2a 2d 0a 40 63 20 25 2a 2a 73 74 61 72 74 20 6f 66 20 68 65 61 64 65 72 0a 40 73 65 74 66 .-*-.@c.%**start.of.header.@setf
84640 69 6c 65 6e 61 6d 65 20 64 61 73 68 2e 69 6e 66 6f 0a 40 73 65 74 20 44 41 53 48 56 45 52 20 32 ilename.dash.info.@set.DASHVER.2
84660 2e 31 39 2e 31 0a 40 73 65 74 74 69 74 6c 65 20 44 61 73 68 3a 20 41 20 6d 6f 64 65 72 6e 20 6c .19.1.@settitle.Dash:.A.modern.l
84680 69 73 74 20 6c 69 62 72 61 72 79 20 66 6f 72 20 47 4e 55 20 45 6d 61 63 73 2e 0a 40 64 6f 63 75 ist.library.for.GNU.Emacs..@docu
846a0 6d 65 6e 74 65 6e 63 6f 64 69 6e 67 20 55 54 46 2d 38 0a 40 64 6f 63 75 6d 65 6e 74 6c 61 6e 67 mentencoding.UTF-8.@documentlang
846c0 75 61 67 65 20 65 6e 0a 40 63 20 25 2a 2a 65 6e 64 20 6f 66 20 68 65 61 64 65 72 0a 0a 40 63 6f uage.en.@c.%**end.of.header..@co
846e0 70 79 69 6e 67 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 pying.This.manual.is.for.Dash.ve
84700 72 73 69 6f 6e 20 40 76 61 6c 75 65 7b 44 41 53 48 56 45 52 7d 2e 0a 0a 43 6f 70 79 72 69 67 68 rsion.@value{DASHVER}...Copyrigh
84720 74 20 40 63 6f 70 79 72 69 67 68 74 7b 7d 20 32 30 31 32 2d 2d 32 30 32 31 20 46 72 65 65 20 53 t.@copyright{}.2012--2021.Free.S
84740 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 0a 40 71 75 6f 74 61 oftware.Foundation,.Inc...@quota
84760 74 69 6f 6e 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 67 72 61 6e 74 65 64 20 74 6f 20 63 6f tion.Permission.is.granted.to.co
84780 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 74 68 69 py,.distribute.and/or.modify.thi
847a0 73 20 64 6f 63 75 6d 65 6e 74 0a 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 s.document.under.the.terms.of.th
847c0 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 73 65 e.GNU.Free.Documentation.License
847e0 2c 20 56 65 72 73 69 6f 6e 20 31 2e 33 20 6f 72 0a 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 ,.Version.1.3.or.any.later.versi
84800 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
84820 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 77 69 74 68 20 74 68 65 0a 49 6e 76 61 72 69 61 6e 74 e.Foundation;.with.the.Invariant
84840 20 53 65 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 60 60 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 .Sections.being.``GNU.General.Pu
84860 62 6c 69 63 20 4c 69 63 65 6e 73 65 2c 27 27 20 61 6e 64 20 6e 6f 0a 46 72 6f 6e 74 2d 43 6f 76 blic.License,''.and.no.Front-Cov
84880 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
848a0 20 63 6f 70 79 20 6f 66 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 73 0a 69 6e 63 6c 75 64 65 64 .copy.of.the.license.is.included
848c0 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 55 20 46 .in.the.section.entitled.``GNU.F
848e0 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 27 27 2e 0a 40 65 6e ree.Documentation.License''..@en
84900 64 20 71 75 6f 74 61 74 69 6f 6e 0a 40 65 6e 64 20 63 6f 70 79 69 6e 67 0a 0a 40 64 69 72 63 61 d.quotation.@end.copying..@dirca
84920 74 65 67 6f 72 79 20 45 6d 61 63 73 0a 40 64 69 72 65 6e 74 72 79 0a 2a 20 44 61 73 68 3a 20 28 tegory.Emacs.@direntry.*.Dash:.(
84940 64 61 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 dash.info).....A.modern.list.lib
84960 72 61 72 79 20 66 6f 72 20 47 4e 55 20 45 6d 61 63 73 2e 0a 40 65 6e 64 20 64 69 72 65 6e 74 72 rary.for.GNU.Emacs..@end.direntr
84980 79 0a 0a 40 74 69 74 6c 65 70 61 67 65 0a 40 74 69 74 6c 65 20 44 61 73 68 20 4d 61 6e 75 61 6c y..@titlepage.@title.Dash.Manual
849a0 0a 40 73 75 62 74 69 74 6c 65 20 46 6f 72 20 44 61 73 68 20 56 65 72 73 69 6f 6e 20 40 76 61 6c .@subtitle.For.Dash.Version.@val
849c0 75 65 7b 44 41 53 48 56 45 52 7d 2e 0a 40 61 75 74 68 6f 72 20 4d 61 67 6e 61 72 20 53 76 65 65 ue{DASHVER}..@author.Magnar.Svee
849e0 6e 0a 40 70 61 67 65 0a 40 76 73 6b 69 70 20 30 70 74 20 70 6c 75 73 20 31 66 69 6c 6c 6c 0a 40 n.@page.@vskip.0pt.plus.1filll.@
84a00 69 6e 73 65 72 74 63 6f 70 79 69 6e 67 0a 40 65 6e 64 20 74 69 74 6c 65 70 61 67 65 0a 0a 40 63 insertcopying.@end.titlepage..@c
84a20 6f 6e 74 65 6e 74 73 0a 0a 40 69 66 6e 6f 74 74 65 78 0a 40 6e 6f 64 65 20 54 6f 70 0a 40 74 6f ontents..@ifnottex.@node.Top.@to
84a40 70 20 44 61 73 68 0a 0a 40 69 6e 73 65 72 74 63 6f 70 79 69 6e 67 0a 40 65 6e 64 20 69 66 6e 6f p.Dash..@insertcopying.@end.ifno
84a60 74 74 65 78 0a 0a 40 6d 65 6e 75 0a 2a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 3a 3a 20 20 20 20 ttex..@menu.*.Installation::....
84a80 20 20 20 20 49 6e 73 74 61 6c 6c 69 6e 67 20 61 6e 64 20 63 6f 6e 66 69 67 75 72 69 6e 67 20 44 ....Installing.and.configuring.D
84aa0 61 73 68 2e 0a 2a 20 46 75 6e 63 74 69 6f 6e 73 3a 3a 20 20 20 20 20 20 20 20 20 20 20 44 61 73 ash..*.Functions::...........Das
84ac0 68 20 41 50 49 20 72 65 66 65 72 65 6e 63 65 2e 0a 2a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 3a 3a h.API.reference..*.Development::
84ae0 20 20 20 20 20 20 20 20 20 43 6f 6e 74 72 69 62 75 74 69 6e 67 20 74 6f 20 44 61 73 68 20 64 65 .........Contributing.to.Dash.de
84b00 76 65 6c 6f 70 6d 65 6e 74 2e 0a 0a 41 70 70 65 6e 64 69 63 65 73 0a 0a 2a 20 46 44 4c 3a 3a 20 velopment...Appendices..*.FDL::.
84b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 6c 69 63 65 6e 73 65 20 66 6f 72 20 ................The.license.for.
84b40 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 2a 20 47 50 4c 3a 3a 20 20 20 20 20 this.documentation..*.GPL::.....
84b60 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 69 ............Conditions.for.copyi
84b80 6e 67 20 61 6e 64 20 63 68 61 6e 67 69 6e 67 20 44 61 73 68 2e 0a 2a 20 49 6e 64 65 78 3a 3a 20 ng.and.changing.Dash..*.Index::.
84ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 65 78 20 69 6e 63 6c 75 64 69 6e 67 20 66 75 ..............Index.including.fu
84bc0 6e 63 74 69 6f 6e 73 20 61 6e 64 20 6d 61 63 72 6f 73 2e 0a 0a 40 64 65 74 61 69 6c 6d 65 6e 75 nctions.and.macros...@detailmenu
84be0 0a 20 2d 2d 2d 20 54 68 65 20 44 65 74 61 69 6c 65 64 20 4e 6f 64 65 20 4c 69 73 74 69 6e 67 20 ..---.The.Detailed.Node.Listing.
84c00 2d 2d 2d 0a 0a 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 2a 20 55 73 69 6e 67 20 69 6e 20 61 20 ---..Installation..*.Using.in.a.
84c20 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 73 20 61 20 70 61 63 package::..Listing.Dash.as.a.pac
84c40 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 69 63 61 74 69 6f 6e kage.dependency..*.Fontification
84c60 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 46 6f 6e 74 20 4c 6f .of.special.variables::..Font.Lo
84c80 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 69 61 62 6c 65 73 2e ck.of.anaphoric.macro.variables.
84ca0 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 4c 6f 6f 6b 69 6e 67 .*.Info.symbol.lookup::..Looking
84cc0 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 6d 61 6e 75 61 6c 2e .up.Dash.symbols.in.this.manual.
84ce0 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 75 62 6c 69 73 74 20 ..Functions..*.Maps::.*.Sublist.
84d00 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 74 3a 3a 0a 2a 20 52 selection::.*.List.to.list::.*.R
84d20 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 0a 2a 20 50 72 65 64 eductions::.*.Unfolding::.*.Pred
84d40 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 0a 2a 20 49 6e 64 65 icates::.*.Partitioning::.*.Inde
84d60 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 0a 2a 20 4f 74 68 65 xing::.*.Set.operations::.*.Othe
84d80 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 65 20 6f 70 65 72 61 r.list.operations::.*.Tree.opera
84da0 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 73 3a 3a 0a 2a 20 42 tions::.*.Threading.macros::.*.B
84dc0 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 0a 2a 20 44 65 73 74 inding::.*.Side.effects::.*.Dest
84de0 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 6e 63 74 69 6f 6e 20 ructive.operations::.*.Function.
84e00 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 74 0a 0a 2a 20 43 6f combinators::..Development..*.Co
84e20 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 6f 20 63 6f 6e 74 72 ntribute::..........How.to.contr
84e40 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 20 20 20 20 20 20 4c ibute..*.Contributors::........L
84e60 69 73 74 20 6f 66 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 2e 0a 40 65 6e 64 20 64 65 74 61 69 6c ist.of.contributors..@end.detail
84e80 6d 65 6e 75 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 49 6e 73 74 61 6c 6c 61 74 69 menu.@end.menu..@node.Installati
84ea0 6f 6e 0a 40 63 68 61 70 74 65 72 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 44 61 73 68 20 69 on.@chapter.Installation..Dash.i
84ec0 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 65 6c 70 61 s.available.on.@url{https://elpa
84ee0 2e 67 6e 75 2e 6f 72 67 2f 2c 20 47 4e 55 20 45 4c 50 41 7d 2c 0a 40 75 72 6c 7b 68 74 74 70 73 .gnu.org/,.GNU.ELPA},.@url{https
84f00 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 2c 20 47 4e 55 2d 64 65 76 65 ://elpa.gnu.org/devel/,.GNU-deve
84f20 6c 20 45 4c 50 41 7d 2c 20 61 6e 64 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e l.ELPA},.and.@url{https://melpa.
84f40 6f 72 67 2f 2c 20 4d 45 4c 50 41 7d 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 69 6e 73 74 61 6c 6c org/,.MELPA},.and.can.be.install
84f60 65 64 20 77 69 74 68 20 74 68 65 0a 73 74 61 6e 64 61 72 64 20 63 6f 6d 6d 61 6e 64 20 40 63 6f ed.with.the.standard.command.@co
84f80 64 65 7b 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 7d 20 28 40 70 78 72 65 66 7b 50 61 63 6b de{package-install}.(@pxref{Pack
84fa0 61 67 65 0a 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2c 2c 2c 20 65 6d 61 63 73 2c 20 54 68 65 20 47 age.Installation,,,.emacs,.The.G
84fc0 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 7d 29 2e 0a 0a 40 74 61 62 6c 65 20 40 6b 62 64 0a NU.Emacs.Manual})...@table.@kbd.
84fe0 40 69 74 65 6d 20 4d 2d 78 20 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 20 40 6b 65 79 7b 52 @item.M-x.package-install.@key{R
85000 45 54 7d 20 64 61 73 68 20 40 6b 65 79 7b 52 45 54 7d 0a 49 6e 73 74 61 6c 6c 20 74 68 65 20 44 ET}.dash.@key{RET}.Install.the.D
85020 61 73 68 20 6c 69 62 72 61 72 79 2e 0a 40 65 6e 64 20 74 61 62 6c 65 0a 0a 41 6c 74 65 72 6e 61 ash.library..@end.table..Alterna
85040 74 69 76 65 6c 79 2c 20 79 6f 75 20 63 61 6e 20 6a 75 73 74 20 64 75 6d 70 20 40 66 69 6c 65 7b tively,.you.can.just.dump.@file{
85060 64 61 73 68 2e 65 6c 7d 20 69 6e 20 79 6f 75 72 0a 40 63 6f 64 65 7b 6c 6f 61 64 2d 70 61 74 68 dash.el}.in.your.@code{load-path
85080 7d 20 73 6f 6d 65 77 68 65 72 65 20 28 40 70 78 72 65 66 7b 4c 69 73 70 20 4c 69 62 72 61 72 69 }.somewhere.(@pxref{Lisp.Librari
850a0 65 73 2c 2c 2c 20 65 6d 61 63 73 2c 20 54 68 65 20 47 4e 55 0a 45 6d 61 63 73 20 4d 61 6e 75 61 es,,,.emacs,.The.GNU.Emacs.Manua
850c0 6c 7d 29 2e 0a 0a 40 6d 65 6e 75 0a 2a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 l})...@menu.*.Using.in.a.package
850e0 3a 3a 20 20 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 ::..Listing.Dash.as.a.package.de
85100 70 65 6e 64 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 pendency..*.Fontification.of.spe
85120 63 69 61 6c 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 cial.variables::..Font.Lock.of.a
85140 6e 61 70 68 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 naphoric.macro.variables..*.Info
85160 20 73 79 6d 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 .symbol.lookup::..Looking.up.Das
85180 68 20 73 79 6d 62 6f 6c 73 20 69 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 2e 0a 40 65 6e 64 20 6d h.symbols.in.this.manual..@end.m
851a0 65 6e 75 0a 0a 40 6e 6f 64 65 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 0a 40 73 enu..@node.Using.in.a.package.@s
851c0 65 63 74 69 6f 6e 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 0a 0a 49 66 20 79 6f ection.Using.in.a.package..If.yo
851e0 75 20 75 73 65 20 44 61 73 68 20 69 6e 20 79 6f 75 72 20 6f 77 6e 20 70 61 63 6b 61 67 65 2c 20 u.use.Dash.in.your.own.package,.
85200 62 65 20 73 75 72 65 20 74 6f 20 6c 69 73 74 20 69 74 20 61 73 20 61 0a 64 65 70 65 6e 64 65 6e be.sure.to.list.it.as.a.dependen
85220 63 79 20 69 6e 20 74 68 65 20 6c 69 62 72 61 72 79 27 73 20 68 65 61 64 65 72 73 20 61 73 20 66 cy.in.the.library's.headers.as.f
85240 6f 6c 6c 6f 77 73 20 28 40 70 78 72 65 66 7b 4c 69 62 72 61 72 79 0a 48 65 61 64 65 72 73 2c 2c ollows.(@pxref{Library.Headers,,
85260 2c 20 65 6c 69 73 70 2c 20 54 68 65 20 45 6d 61 63 73 20 4c 69 73 70 20 52 65 66 65 72 65 6e 63 ,.elisp,.The.Emacs.Lisp.Referenc
85280 65 20 4d 61 6e 75 61 6c 7d 29 2e 0a 0a 40 6c 69 73 70 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 e.Manual})...@lisp.;;.Package-Re
852a0 71 75 69 72 65 73 3a 20 28 28 64 61 73 68 20 22 40 76 61 6c 75 65 7b 44 41 53 48 56 45 52 7d 22 quires:.((dash."@value{DASHVER}"
852c0 29 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 46 6f 6e 74 69 66 69 63 61 74 69 6f )).@end.lisp..@node.Fontificatio
852e0 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 40 73 65 63 74 69 6f 6e 20 n.of.special.variables.@section.
85300 46 6f 6e 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 Fontification.of.special.variabl
85320 65 73 0a 0a 40 66 69 6e 64 65 78 20 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 0a 54 68 es..@findex.dash-fontify-mode.Th
85340 65 20 61 75 74 6f 6c 6f 61 64 65 64 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 40 63 6f 64 65 7b 64 61 e.autoloaded.minor.mode.@code{da
85360 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 7d 20 69 73 20 70 72 6f 76 69 64 65 64 20 66 6f 72 sh-fontify-mode}.is.provided.for
85380 0a 6f 70 74 69 6f 6e 61 6c 20 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 61 6e 61 70 68 .optional.fontification.of.anaph
853a0 6f 72 69 63 20 44 61 73 68 20 76 61 72 69 61 62 6c 65 73 20 28 40 63 6f 64 65 7b 69 74 7d 2c 0a oric.Dash.variables.(@code{it},.
853c0 40 63 6f 64 65 7b 61 63 63 7d 2c 20 65 74 63 2e 40 3a 29 20 69 6e 20 45 6d 61 63 73 20 4c 69 73 @code{acc},.etc.@:).in.Emacs.Lis
853e0 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 46 6f 6e p.buffers.using.search-based.Fon
85400 74 20 4c 6f 63 6b 0a 28 40 70 78 72 65 66 7b 46 6f 6e 74 20 4c 6f 63 6b 2c 2c 2c 20 65 6d 61 63 t.Lock.(@pxref{Font.Lock,,,.emac
85420 73 2c 20 54 68 65 20 47 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 7d 29 2e 20 20 49 6e 20 6f s,.The.GNU.Emacs.Manual})...In.o
85440 6c 64 65 72 20 45 6d 61 63 73 0a 76 65 72 73 69 6f 6e 73 20 77 68 69 63 68 20 64 6f 20 6e 6f 74 lder.Emacs.versions.which.do.not
85460 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 64 65 74 65 63 74 20 6d 61 63 72 6f 73 2c 20 74 68 65 20 .dynamically.detect.macros,.the.
85480 6d 69 6e 6f 72 20 6d 6f 64 65 20 61 6c 73 6f 0a 66 6f 6e 74 69 66 69 65 73 20 63 61 6c 6c 73 20 minor.mode.also.fontifies.calls.
854a0 74 6f 20 44 61 73 68 20 6d 61 63 72 6f 73 2e 0a 0a 40 66 69 6e 64 65 78 20 67 6c 6f 62 61 6c 2d to.Dash.macros...@findex.global-
854c0 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 0a 54 6f 20 61 75 74 6f 6d 61 74 69 63 61 6c dash-fontify-mode.To.automatical
854e0 6c 79 20 65 6e 61 62 6c 65 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 69 6e 20 61 6c 6c 20 ly.enable.the.minor.mode.in.all.
85500 45 6d 61 63 73 20 4c 69 73 70 20 62 75 66 66 65 72 73 2c 20 6a 75 73 74 0a 63 61 6c 6c 20 69 74 Emacs.Lisp.buffers,.just.call.it
85520 73 20 61 75 74 6f 6c 6f 61 64 65 64 20 67 6c 6f 62 61 6c 20 63 6f 75 6e 74 65 72 70 61 72 74 0a s.autoloaded.global.counterpart.
85540 40 63 6f 64 65 7b 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 7d 2c @code{global-dash-fontify-mode},
85560 20 65 69 74 68 65 72 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 6f 72 20 66 72 6f 6d 20 79 6f .either.interactively.or.from.yo
85580 75 72 0a 40 63 6f 64 65 7b 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 7d 3a 0a 0a 40 6c 69 73 70 ur.@code{user-init-file}:..@lisp
855a0 0a 28 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 29 0a 40 65 6e 64 .(global-dash-fontify-mode).@end
855c0 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 0a .lisp..@node.Info.symbol.lookup.
855e0 40 73 65 63 74 69 6f 6e 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 0a 0a 40 66 69 @section.Info.symbol.lookup..@fi
85600 6e 64 65 78 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 0a 57 ndex.dash-register-info-lookup.W
85620 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 63 61 hile.editing.Elisp.files,.you.ca
85640 6e 20 75 73 65 20 40 6b 62 64 7b 43 2d 68 20 53 7d 0a 28 40 63 6f 64 65 7b 69 6e 66 6f 2d 6c 6f n.use.@kbd{C-h.S}.(@code{info-lo
85660 6f 6b 75 70 2d 73 79 6d 62 6f 6c 7d 29 20 74 6f 20 6c 6f 6f 6b 20 75 70 20 45 6c 69 73 70 20 73 okup-symbol}).to.look.up.Elisp.s
85680 79 6d 62 6f 6c 73 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 0a 49 6e 66 6f 20 6d 61 6e 75 ymbols.in.the.relevant.Info.manu
856a0 61 6c 73 20 28 40 70 78 72 65 66 7b 49 6e 66 6f 20 4c 6f 6f 6b 75 70 2c 2c 2c 20 65 6d 61 63 73 als.(@pxref{Info.Lookup,,,.emacs
856c0 2c 20 54 68 65 20 47 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 7d 29 2e 20 20 54 6f 0a 65 6e ,.The.GNU.Emacs.Manual})...To.en
856e0 61 62 6c 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 44 61 73 68 20 73 79 6d 62 6f 6c 73 2c 20 able.the.same.for.Dash.symbols,.
85700 75 73 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 40 63 6f 64 65 7b 64 61 73 68 2d 72 65 67 69 73 use.the.command.@code{dash-regis
85720 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 7d 2e 20 20 49 74 20 63 61 6e 20 62 65 20 63 61 6c ter-info-lookup}...It.can.be.cal
85740 6c 65 64 20 64 69 72 65 63 74 6c 79 20 77 68 65 6e 0a 6e 65 65 64 65 64 2c 20 6f 72 20 61 75 74 led.directly.when.needed,.or.aut
85760 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 79 6f 75 72 20 40 63 6f 64 65 7b 75 73 65 72 2d omatically.from.your.@code{user-
85780 69 6e 69 74 2d 66 69 6c 65 7d 2e 20 20 46 6f 72 0a 65 78 61 6d 70 6c 65 3a 0a 0a 40 6c 69 73 70 init-file}...For.example:..@lisp
857a0 0a 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 66 6f 2d 6c 6f 6f .(with-eval-after-load.'info-loo
857c0 6b 0a 20 20 28 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 29 29 k...(dash-register-info-lookup))
857e0 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 46 75 6e 63 74 69 6f 6e 73 0a 40 63 68 61 .@end.lisp..@node.Functions.@cha
85800 70 74 65 72 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 54 68 69 73 20 63 68 61 70 74 65 72 20 63 6f 6e pter.Functions..This.chapter.con
85820 74 61 69 6e 73 20 72 65 66 65 72 65 6e 63 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f tains.reference.documentation.fo
85840 72 20 74 68 65 20 44 61 73 68 0a 40 61 63 72 6f 6e 79 6d 7b 41 50 49 2c 20 41 70 70 6c 69 63 61 r.the.Dash.@acronym{API,.Applica
85860 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 7d 2e 20 20 54 68 tion.Programming.Interface}...Th
85880 65 20 6e 61 6d 65 73 20 6f 66 20 61 6c 6c 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 73 20 e.names.of.all.public.functions.
858a0 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 70 72 65 66 69 defined.in.the.library.are.prefi
858c0 78 65 64 20 77 69 74 68 20 61 20 64 61 73 68 0a 63 68 61 72 61 63 74 65 72 20 28 40 73 61 6d 70 xed.with.a.dash.character.(@samp
858e0 7b 2d 7d 29 2e 0a 0a 54 68 65 20 6c 69 62 72 61 72 79 20 61 6c 73 6f 20 70 72 6f 76 69 64 65 73 {-})...The.library.also.provides
85900 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 20 6f 66 20 66 75 6e .anaphoric.macro.versions.of.fun
85920 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 65 6e 73 65 2e 20 20 ctions.where.that.makes.sense...
85940 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 20 61 72 65 20 70 72 The.names.of.these.macros.are.pr
85960 65 66 69 78 65 64 20 77 69 74 68 20 74 77 6f 0a 64 61 73 68 65 73 20 28 40 73 61 6d 70 7b 2d 2d efixed.with.two.dashes.(@samp{--
85980 7d 29 20 69 6e 73 74 65 61 64 20 6f 66 20 6f 6e 65 2e 0a 0a 46 6f 72 20 69 6e 73 74 61 6e 63 65 }).instead.of.one...For.instance
859a0 2c 20 77 68 69 6c 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 63 6f 64 65 7b 2d 6d 61 70 7d ,.while.the.function.@code{-map}
859c0 20 61 70 70 6c 69 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 0a 65 61 63 68 20 65 6c 65 6d .applies.a.function.to.each.elem
859e0 65 6e 74 20 6f 66 20 61 20 6c 69 73 74 2c 20 69 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 ent.of.a.list,.its.anaphoric.cou
85a00 6e 74 65 72 70 61 72 74 20 40 63 6f 64 65 7b 2d 2d 6d 61 70 7d 0a 65 76 61 6c 75 61 74 65 73 20 nterpart.@code{--map}.evaluates.
85a20 61 20 66 6f 72 6d 20 77 69 74 68 20 74 68 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 40 a.form.with.the.local.variable.@
85a40 63 6f 64 65 7b 69 74 7d 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 62 6f 75 6e 64 0a 74 6f 20 74 68 code{it}.temporarily.bound.to.th
85a60 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 73 74 65 61 64 2e 0a e.current.list.element.instead..
85a80 0a 40 6c 69 73 70 0a 40 67 72 6f 75 70 0a 3b 3b 20 4e 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e 2e .@lisp.@group.;;.Normal.version.
85aa0 0a 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 28 31 20 .(-map.(lambda.(n).(*.n.n)).'(1.
85ac0 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 20 31 36 29 2.3.4)).....@result{}.(1.4.9.16)
85ae0 0a 40 65 6e 64 20 67 72 6f 75 70 0a 0a 40 67 72 6f 75 70 0a 3b 3b 20 41 6e 61 70 68 6f 72 69 63 .@end.group..@group.;;.Anaphoric
85b00 20 76 65 72 73 69 6f 6e 2e 0a 28 2d 2d 6d 61 70 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 .version..(--map.(*.it.it).'(1.2
85b20 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 20 31 36 29 0a .3.4)).....@result{}.(1.4.9.16).
85b40 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 54 68 65 20 6e 6f 72 6d 61 6c @end.group.@end.lisp..The.normal
85b60 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 61 6c 73 6f 20 62 65 .version.can,.of.course,.also.be
85b80 20 77 72 69 74 74 65 6e 20 61 73 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 65 78 61 .written.as.in.the.following.exa
85ba0 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 74 68 65 20 75 74 69 mple,.which.demonstrates.the.uti
85bc0 6c 69 74 79 20 6f 66 20 62 6f 74 68 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 40 6c 69 73 70 0a 40 67 lity.of.both.versions...@lisp.@g
85be0 72 6f 75 70 0a 28 64 65 66 75 6e 20 6d 79 2d 73 71 75 61 72 65 20 28 6e 29 0a 20 20 22 52 65 74 roup.(defun.my-square.(n)..."Ret
85c00 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 0a 20 20 28 urn.N.multiplied.by.itself."...(
85c20 2a 20 6e 20 6e 29 29 0a 0a 28 2d 6d 61 70 20 23 27 6d 79 2d 73 71 75 61 72 65 20 27 28 31 20 32 *.n.n))..(-map.#'my-square.'(1.2
85c40 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 20 31 36 29 0a .3.4)).....@result{}.(1.4.9.16).
85c60 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6d 65 6e 75 0a 2a 20 4d 61 @end.group.@end.lisp..@menu.*.Ma
85c80 70 73 3a 3a 0a 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 ps::.*.Sublist.selection::.*.Lis
85ca0 74 20 74 6f 20 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 t.to.list::.*.Reductions::.*.Unf
85cc0 6f 6c 64 69 6e 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 olding::.*.Predicates::.*.Partit
85ce0 69 6f 6e 69 6e 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 ioning::.*.Indexing::.*.Set.oper
85d00 61 74 69 6f 6e 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 ations::.*.Other.list.operations
85d20 3a 3a 0a 2a 20 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 ::.*.Tree.operations::.*.Threadi
85d40 6e 67 20 6d 61 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 ng.macros::.*.Binding::.*.Side.e
85d60 66 66 65 63 74 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 ffects::.*.Destructive.operation
85d80 73 3a 3a 0a 2a 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 3a 3a 0a 40 65 6e s::.*.Function.combinators::.@en
85da0 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 4d 61 70 73 0a 40 73 65 63 74 69 6f 6e 20 4d 61 70 73 d.menu..@node.Maps.@section.Maps
85dc0 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 69 73 20 63 61 74 65 67 6f 72 79 20 74 61 6b ..Functions.in.this.category.tak
85de0 65 20 61 20 74 72 61 6e 73 66 6f 72 6d 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2c 20 77 68 69 63 68 e.a.transforming.function,.which
85e00 0a 69 73 20 74 68 65 6e 20 61 70 70 6c 69 65 64 20 73 65 71 75 65 6e 74 69 61 6c 6c 79 20 74 6f .is.then.applied.sequentially.to
85e20 20 65 61 63 68 20 6f 72 20 73 65 6c 65 63 74 65 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 .each.or.selected.elements.of.th
85e40 65 0a 69 6e 70 75 74 20 6c 69 73 74 2e 20 20 54 68 65 20 72 65 73 75 6c 74 73 20 61 72 65 20 63 e.input.list...The.results.are.c
85e60 6f 6c 6c 65 63 74 65 64 20 69 6e 20 6f 72 64 65 72 20 61 6e 64 20 72 65 74 75 72 6e 65 64 20 61 ollected.in.order.and.returned.a
85e80 73 20 61 0a 6e 65 77 20 6c 69 73 74 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6d 61 70 7d 0a 40 64 65 s.a.new.list...@anchor{-map}.@de
85ea0 66 75 6e 20 2d 6d 61 70 20 28 66 6e 20 6c 69 73 74 29 0a 41 70 70 6c 79 20 40 76 61 72 7b 66 6e fun.-map.(fn.list).Apply.@var{fn
85ec0 7d 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 6e 64 }.to.each.item.in.@var{list}.and
85ee0 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 2e 0a 0a 54 68 .return.the.list.of.results...Th
85f00 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 70 is.function's.anaphoric.counterp
85f20 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 6d 61 70 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 art.is.@code{--map}...@example.@
85f40 67 72 6f 75 70 0a 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 2a 20 6e 75 6d group.(-map.(lambda.(num).(*.num
85f60 20 6e 75 6d 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d .num)).'(1.2.3.4)).....@result{}
85f80 20 28 31 20 34 20 39 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d .(1.4.9.16).@end.group.@group.(-
85fa0 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 40 72 65 73 75 6c 74 map.#'1+.'(1.2.3.4)).....@result
85fc0 7b 7d 20 28 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 {}.(2.3.4.5).@end.group.@group.(
85fe0 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 0a 20 20 20 20 --map.(*.it.it).'(1.2.3.4)).....
86000 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a @result{}.(1.4.9.16).@end.group.
86020 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 @end.example.@end.defun..@anchor
86040 7b 2d 6d 61 70 2d 77 68 65 6e 7d 0a 40 64 65 66 75 6e 20 2d 6d 61 70 2d 77 68 65 6e 20 28 70 72 {-map-when}.@defun.-map-when.(pr
86060 65 64 20 72 65 70 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 ed.rep.list).Return.a.new.list.w
86080 68 65 72 65 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 here.the.elements.in.@var{list}.
860a0 74 68 61 74 20 64 6f 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 40 76 61 72 7b 70 72 65 64 7d that.do.not.match.the.@var{pred}
860c0 20 66 75 6e 63 74 69 6f 6e 0a 61 72 65 20 75 6e 63 68 61 6e 67 65 64 2c 20 61 6e 64 20 77 68 65 .function.are.unchanged,.and.whe
860e0 72 65 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 74 68 re.the.elements.in.@var{list}.th
86100 61 74 20 64 6f 20 6d 61 74 63 68 20 74 68 65 20 40 76 61 72 7b 70 72 65 64 7d 20 66 75 6e 63 74 at.do.match.the.@var{pred}.funct
86120 69 6f 6e 20 61 72 65 20 6d 61 70 70 65 64 0a 74 68 72 6f 75 67 68 20 74 68 65 20 40 76 61 72 7b ion.are.mapped.through.the.@var{
86140 72 65 70 7d 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 72 65 rep}.function...Alias:.@code{-re
86160 70 6c 61 63 65 2d 77 68 65 72 65 7d 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 75 place-where}..See.also:.@code{-u
86180 70 64 61 74 65 2d 61 74 7d 20 28 40 70 78 72 65 66 7b 2d 75 70 64 61 74 65 2d 61 74 7d 29 0a 0a pdate-at}.(@pxref{-update-at})..
861a0 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 70 2d 77 68 65 6e 20 27 65 76 65 6e @example.@group.(-map-when.'even
861c0 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 40 72 65 73 75 6c ?.'square.'(1.2.3.4)).....@resul
861e0 74 7b 7d 20 28 31 20 34 20 33 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 t{}.(1.4.3.16).@end.group.@group
86200 0a 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).
86220 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 39 '(1.2.3.4)).....@result{}.(1.2.9
86240 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d 61 70 2d 77 68 .16).@end.group.@group.(--map-wh
86260 65 6e 20 28 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 40 en.(=.it.2).17.'(1.2.3.4)).....@
86280 72 65 73 75 6c 74 7b 7d 20 28 31 20 31 37 20 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 result{}.(1.17.3.4).@end.group.@
862a0 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
862c0 2d 6d 61 70 2d 66 69 72 73 74 7d 0a 40 64 65 66 75 6e 20 2d 6d 61 70 2d 66 69 72 73 74 20 28 70 -map-first}.@defun.-map-first.(p
862e0 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 52 65 70 6c 61 63 65 20 66 69 72 73 74 20 69 74 65 6d red.rep.list).Replace.first.item
86300 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 73 61 74 69 73 66 79 69 6e 67 20 40 76 61 72 7b 70 .in.@var{list}.satisfying.@var{p
86320 72 65 64 7d 20 77 69 74 68 20 72 65 73 75 6c 74 20 6f 66 20 40 76 61 72 7b 72 65 70 7d 20 63 61 red}.with.result.of.@var{rep}.ca
86340 6c 6c 65 64 20 6f 6e 20 74 68 69 73 20 69 74 65 6d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 lled.on.this.item...See.also:.@c
86360 6f 64 65 7b 2d 6d 61 70 2d 77 68 65 6e 7d 20 28 40 70 78 72 65 66 7b 2d 6d 61 70 2d 77 68 65 6e ode{-map-when}.(@pxref{-map-when
86380 7d 29 2c 20 40 63 6f 64 65 7b 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 7d 20 28 40 70 78 72 65 }),.@code{-replace-first}.(@pxre
863a0 66 7b 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 f{-replace-first})..@example.@gr
863c0 6f 75 70 0a 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 20 27 oup.(-map-first.'even?.'square.'
863e0 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 33 20 (1.2.3.4)).....@result{}.(1.4.3.
86400 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d 61 70 2d 66 69 72 73 4).@end.group.@group.(--map-firs
86420 74 20 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 t.(>.it.2).(*.it.it).'(1.2.3.4))
86440 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 39 20 34 29 0a 40 65 6e 64 20 67 72 .....@result{}.(1.2.9.4).@end.gr
86460 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d 61 70 2d 66 69 72 73 74 20 28 3d 20 69 74 20 32 29 oup.@group.(--map-first.(=.it.2)
86480 20 31 37 20 27 28 31 20 32 20 33 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 .17.'(1.2.3.2)).....@result{}.(1
864a0 20 31 37 20 33 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 .17.3.2).@end.group.@end.example
864c0 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6d 61 70 2d 6c 61 73 74 7d 0a .@end.defun..@anchor{-map-last}.
864e0 40 64 65 66 75 6e 20 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 @defun.-map-last.(pred.rep.list)
86500 0a 52 65 70 6c 61 63 65 20 6c 61 73 74 20 69 74 65 6d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d .Replace.last.item.in.@var{list}
86520 20 73 61 74 69 73 66 79 69 6e 67 20 40 76 61 72 7b 70 72 65 64 7d 20 77 69 74 68 20 72 65 73 75 .satisfying.@var{pred}.with.resu
86540 6c 74 20 6f 66 20 40 76 61 72 7b 72 65 70 7d 20 63 61 6c 6c 65 64 20 6f 6e 20 74 68 69 73 20 69 lt.of.@var{rep}.called.on.this.i
86560 74 65 6d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 6d 61 70 2d 77 68 65 6e 7d tem...See.also:.@code{-map-when}
86580 20 28 40 70 78 72 65 66 7b 2d 6d 61 70 2d 77 68 65 6e 7d 29 2c 20 40 63 6f 64 65 7b 2d 72 65 70 .(@pxref{-map-when}),.@code{-rep
865a0 6c 61 63 65 2d 6c 61 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 lace-last}.(@pxref{-replace-last
865c0 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 70 2d 6c 61 73 74 20 27 })..@example.@group.(-map-last.'
865e0 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 40 72 even?.'square.'(1.2.3.4)).....@r
86600 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 esult{}.(1.2.3.16).@end.group.@g
86620 72 6f 75 70 0a 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 roup.(--map-last.(>.it.2).(*.it.
86640 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 it).'(1.2.3.4)).....@result{}.(1
86660 20 32 20 33 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d 61 .2.3.16).@end.group.@group.(--ma
86680 70 2d 6c 61 73 74 20 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 p-last.(=.it.2).17.'(1.2.3.2))..
866a0 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 31 37 29 0a 40 65 6e 64 20 67 72 6f ...@result{}.(1.2.3.17).@end.gro
866c0 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 up.@end.example.@end.defun..@anc
866e0 68 6f 72 7b 2d 6d 61 70 2d 69 6e 64 65 78 65 64 7d 0a 40 64 65 66 75 6e 20 2d 6d 61 70 2d 69 6e hor{-map-indexed}.@defun.-map-in
86700 64 65 78 65 64 20 28 66 6e 20 6c 69 73 74 29 0a 41 70 70 6c 79 20 40 76 61 72 7b 66 6e 7d 20 74 dexed.(fn.list).Apply.@var{fn}.t
86720 6f 20 65 61 63 68 20 69 6e 64 65 78 20 61 6e 64 20 69 74 65 6d 20 69 6e 20 40 76 61 72 7b 6c 69 o.each.index.and.item.in.@var{li
86740 73 74 7d 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 st}.and.return.the.list.of.resul
86760 74 73 2e 0a 54 68 69 73 20 69 73 20 6c 69 6b 65 20 40 63 6f 64 65 7b 2d 6d 61 70 7d 20 28 40 70 ts..This.is.like.@code{-map}.(@p
86780 78 72 65 66 7b 2d 6d 61 70 7d 29 2c 20 62 75 74 20 40 76 61 72 7b 66 6e 7d 20 74 61 6b 65 73 20 xref{-map}),.but.@var{fn}.takes.
867a0 74 77 6f 20 61 72 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 two.arguments:.the.index.of.the.
867c0 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 20 77 69 74 68 69 6e 20 40 76 61 72 7b 6c 69 73 74 current.element.within.@var{list
867e0 7d 2c 20 61 6e 64 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 69 74 73 65 6c 66 2e 0a 0a 54 68 69 73 },.and.the.element.itself...This
86800 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 72 .function's.anaphoric.counterpar
86820 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 7d 2e 0a 0a 46 6f 72 20 t.is.@code{--map-indexed}...For.
86840 61 20 73 69 64 65 2d 65 66 66 65 63 74 69 6e 67 20 76 61 72 69 61 6e 74 2c 20 73 65 65 20 61 6c a.side-effecting.variant,.see.al
86860 73 6f 20 40 63 6f 64 65 7b 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 7d 20 28 40 70 78 72 65 66 7b so.@code{-each-indexed}.(@pxref{
86880 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 -each-indexed})...@example.@grou
868a0 70 0a 28 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 6c 61 6d 62 64 61 20 28 69 6e 64 65 78 20 69 p.(-map-indexed.(lambda.(index.i
868c0 74 65 6d 29 20 28 2d 20 69 74 65 6d 20 69 6e 64 65 78 29 29 20 27 28 31 20 32 20 33 20 34 29 29 tem).(-.item.index)).'(1.2.3.4))
868e0 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 31 20 31 20 31 29 0a 40 65 6e 64 20 67 72 .....@result{}.(1.1.1.1).@end.gr
86900 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 2d 20 69 74 20 oup.@group.(--map-indexed.(-.it.
86920 69 74 2d 69 6e 64 65 78 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c it-index).'(1.2.3.4)).....@resul
86940 74 7b 7d 20 28 31 20 31 20 31 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a t{}.(1.1.1.1).@end.group.@group.
86960 28 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 23 27 2a 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 (-map-indexed.#'*.'(1.2.3.4))...
86980 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 30 20 32 20 36 20 31 32 29 0a 40 65 6e 64 20 67 72 6f 75 ..@result{}.(0.2.6.12).@end.grou
869a0 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 p.@end.example.@end.defun..@anch
869c0 6f 72 7b 2d 61 6e 6e 6f 74 61 74 65 7d 0a 40 64 65 66 75 6e 20 2d 61 6e 6e 6f 74 61 74 65 20 28 or{-annotate}.@defun.-annotate.(
869e0 66 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 63 6f 6e 73 20 63 fn.list).Return.a.list.of.cons.c
86a00 65 6c 6c 73 20 77 68 65 72 65 20 65 61 63 68 20 63 65 6c 6c 20 69 73 20 40 76 61 72 7b 66 6e 7d ells.where.each.cell.is.@var{fn}
86a20 20 61 70 70 6c 69 65 64 20 74 6f 20 65 61 63 68 0a 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 .applied.to.each.element.of.@var
86a40 7b 6c 69 73 74 7d 20 70 61 69 72 65 64 20 77 69 74 68 20 74 68 65 20 75 6e 6d 6f 64 69 66 69 65 {list}.paired.with.the.unmodifie
86a60 64 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 d.element.of.@var{list}...@examp
86a80 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 61 6e 6e 6f 74 61 74 65 20 27 31 2b 20 27 28 31 20 32 20 33 le.@group.(-annotate.'1+.'(1.2.3
86aa0 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 32 20 2e 20 31 29 20 28 33 20 2e 20 32 )).....@result{}.((2...1).(3...2
86ac0 29 20 28 34 20 2e 20 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 61 ).(4...3)).@end.group.@group.(-a
86ae0 6e 6e 6f 74 61 74 65 20 27 6c 65 6e 67 74 68 20 27 28 28 22 68 22 20 22 65 22 20 22 6c 22 20 22 nnotate.'length.'(("h"."e"."l"."
86b00 6c 22 20 22 6f 22 29 20 28 22 68 65 6c 6c 6f 22 20 22 77 6f 72 6c 64 22 29 29 29 0a 20 20 20 20 l"."o").("hello"."world"))).....
86b20 40 72 65 73 75 6c 74 7b 7d 20 28 28 35 20 22 68 22 20 22 65 22 20 22 6c 22 20 22 6c 22 20 22 6f @result{}.((5."h"."e"."l"."l"."o
86b40 22 29 20 28 32 20 22 68 65 6c 6c 6f 22 20 22 77 6f 72 6c 64 22 29 29 0a 40 65 6e 64 20 67 72 6f ").(2."hello"."world")).@end.gro
86b60 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 61 6e 6e 6f 74 61 74 65 20 28 3c 20 31 20 69 74 29 20 27 up.@group.(--annotate.(<.1.it).'
86b80 28 30 20 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 6e 69 6c 20 2e (0.1.2.3)).....@result{}.((nil..
86ba0 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 40 .0).(nil...1).(t...2).(t...3)).@
86bc0 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 end.group.@end.example.@end.defu
86be0 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 70 6c 69 63 65 7d 0a 40 64 65 66 75 6e 20 2d 73 70 6c 69 n..@anchor{-splice}.@defun.-spli
86c00 63 65 20 28 70 72 65 64 20 66 75 6e 20 6c 69 73 74 29 0a 53 70 6c 69 63 65 20 6c 69 73 74 73 20 ce.(pred.fun.list).Splice.lists.
86c20 67 65 6e 65 72 61 74 65 64 20 62 79 20 40 76 61 72 7b 66 75 6e 7d 20 69 6e 20 70 6c 61 63 65 20 generated.by.@var{fun}.in.place.
86c40 6f 66 20 65 6c 65 6d 65 6e 74 73 20 6d 61 74 63 68 69 6e 67 20 40 76 61 72 7b 70 72 65 64 7d 20 of.elements.matching.@var{pred}.
86c60 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 76 61 72 7b 66 75 6e 7d 20 74 61 6b 65 73 20 in.@var{list}...@var{fun}.takes.
86c80 74 68 65 20 65 6c 65 6d 65 6e 74 20 6d 61 74 63 68 69 6e 67 20 40 76 61 72 7b 70 72 65 64 7d 20 the.element.matching.@var{pred}.
86ca0 61 73 20 69 6e 70 75 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 as.input...This.function.can.be.
86cc0 75 73 65 64 20 61 73 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 66 6f 72 20 40 63 6f 64 65 7b 2c 40 used.as.replacement.for.@code{,@
86ce0 40 7d 20 69 6e 20 63 61 73 65 20 79 6f 75 0a 6e 65 65 64 20 74 6f 20 73 70 6c 69 63 65 20 73 65 @}.in.case.you.need.to.splice.se
86d00 76 65 72 61 6c 20 6c 69 73 74 73 20 61 74 20 6d 61 72 6b 65 64 20 70 6f 73 69 74 69 6f 6e 73 20 veral.lists.at.marked.positions.
86d20 28 66 6f 72 20 65 78 61 6d 70 6c 65 0a 77 69 74 68 20 6b 65 79 77 6f 72 64 73 29 2e 0a 0a 53 65 (for.example.with.keywords)...Se
86d40 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 73 70 6c 69 63 65 2d 6c 69 73 74 7d 20 28 40 70 78 e.also:.@code{-splice-list}.(@px
86d60 72 65 66 7b 2d 73 70 6c 69 63 65 2d 6c 69 73 74 7d 29 2c 20 40 63 6f 64 65 7b 2d 69 6e 73 65 72 ref{-splice-list}),.@code{-inser
86d80 74 2d 61 74 7d 20 28 40 70 78 72 65 66 7b 2d 69 6e 73 65 72 74 2d 61 74 7d 29 0a 0a 40 65 78 61 t-at}.(@pxref{-insert-at})..@exa
86da0 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 63 65 20 27 65 76 65 6e 3f 20 28 6c 61 6d mple.@group.(-splice.'even?.(lam
86dc0 62 64 61 20 28 78 29 20 28 6c 69 73 74 20 78 20 78 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a bda.(x).(list.x.x)).'(1.2.3.4)).
86de0 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 32 20 33 20 34 20 34 29 0a 40 65 6e 64 ....@result{}.(1.2.2.3.4.4).@end
86e00 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 73 70 6c 69 63 65 20 27 74 20 28 6c 69 73 74 .group.@group.(--splice.'t.(list
86e20 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b .it.it).'(1.2.3.4)).....@result{
86e40 7d 20 28 31 20 31 20 32 20 32 20 33 20 33 20 34 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 }.(1.1.2.2.3.3.4.4).@end.group.@
86e60 67 72 6f 75 70 0a 28 2d 2d 73 70 6c 69 63 65 20 28 65 71 75 61 6c 20 69 74 20 3a 6d 61 67 69 63 group.(--splice.(equal.it.:magic
86e80 29 20 27 28 28 6c 69 73 74 20 6f 66 29 20 28 6d 61 67 69 63 61 6c 29 20 28 63 6f 64 65 29 29 20 ).'((list.of).(magical).(code)).
86ea0 27 28 28 66 6f 6f 29 20 28 62 61 72 29 20 3a 6d 61 67 69 63 20 28 62 61 7a 29 29 29 0a 20 20 20 '((foo).(bar).:magic.(baz)))....
86ec0 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 66 6f 6f 29 20 28 62 61 72 29 20 28 6c 69 73 74 20 6f 66 .@result{}.((foo).(bar).(list.of
86ee0 29 20 28 6d 61 67 69 63 61 6c 29 20 28 63 6f 64 65 29 20 28 62 61 7a 29 29 0a 40 65 6e 64 20 67 ).(magical).(code).(baz)).@end.g
86f00 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 roup.@end.example.@end.defun..@a
86f20 6e 63 68 6f 72 7b 2d 73 70 6c 69 63 65 2d 6c 69 73 74 7d 0a 40 64 65 66 75 6e 20 2d 73 70 6c 69 nchor{-splice-list}.@defun.-spli
86f40 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 53 70 6c ce-list.(pred.new-list.list).Spl
86f60 69 63 65 20 40 76 61 72 7b 6e 65 77 2d 6c 69 73 74 7d 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 65 ice.@var{new-list}.in.place.of.e
86f80 6c 65 6d 65 6e 74 73 20 6d 61 74 63 68 69 6e 67 20 40 76 61 72 7b 70 72 65 64 7d 20 69 6e 20 40 lements.matching.@var{pred}.in.@
86fa0 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 73 70 6c var{list}...See.also:.@code{-spl
86fc0 69 63 65 7d 20 28 40 70 78 72 65 66 7b 2d 73 70 6c 69 63 65 7d 29 2c 20 40 63 6f 64 65 7b 2d 69 ice}.(@pxref{-splice}),.@code{-i
86fe0 6e 73 65 72 74 2d 61 74 7d 20 28 40 70 78 72 65 66 7b 2d 69 6e 73 65 72 74 2d 61 74 7d 29 0a 0a nsert-at}.(@pxref{-insert-at})..
87000 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 27 6b @example.@group.(-splice-list.'k
87020 65 79 77 6f 72 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 eywordp.'(a.b.c).'(1.:foo.2))...
87040 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 61 20 62 20 63 20 32 29 0a 40 65 6e 64 20 67 72 6f ..@result{}.(1.a.b.c.2).@end.gro
87060 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 63 65 2d 6c 69 73 74 20 27 6b 65 79 77 6f 72 64 up.@group.(-splice-list.'keyword
87080 70 20 6e 69 6c 20 27 28 31 20 3a 66 6f 6f 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d p.nil.'(1.:foo.2)).....@result{}
870a0 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 73 70 6c 69 .(1.2).@end.group.@group.(--spli
870c0 63 65 2d 6c 69 73 74 20 28 6b 65 79 77 6f 72 64 70 20 69 74 29 20 27 28 61 20 62 20 63 29 20 27 ce-list.(keywordp.it).'(a.b.c).'
870e0 28 31 20 3a 66 6f 6f 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 61 20 62 (1.:foo.2)).....@result{}.(1.a.b
87100 20 63 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 .c.2).@end.group.@end.example.@e
87120 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6d 61 70 63 61 74 7d 0a 40 64 65 66 75 nd.defun..@anchor{-mapcat}.@defu
87140 6e 20 2d 6d 61 70 63 61 74 20 28 66 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 63 n.-mapcat.(fn.list).Return.the.c
87160 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 6d 61 oncatenation.of.the.result.of.ma
87180 70 70 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 6f 76 65 72 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a pping.@var{fn}.over.@var{list}..
871a0 54 68 75 73 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 20 73 68 6f 75 6c 64 20 72 65 Thus.function.@var{fn}.should.re
871c0 74 75 72 6e 20 61 20 6c 69 73 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d turn.a.list...@example.@group.(-
871e0 6d 61 70 63 61 74 20 27 6c 69 73 74 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 mapcat.'list.'(1.2.3)).....@resu
87200 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 lt{}.(1.2.3).@end.group.@group.(
87220 2d 6d 61 70 63 61 74 20 28 6c 61 6d 62 64 61 20 28 69 74 65 6d 29 20 28 6c 69 73 74 20 30 20 69 -mapcat.(lambda.(item).(list.0.i
87240 74 65 6d 29 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 30 tem)).'(1.2.3)).....@result{}.(0
87260 20 31 20 30 20 32 20 30 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d .1.0.2.0.3).@end.group.@group.(-
87280 2d 6d 61 70 63 61 74 20 28 6c 69 73 74 20 30 20 69 74 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 -mapcat.(list.0.it).'(1.2.3))...
872a0 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 30 20 31 20 30 20 32 20 30 20 33 29 0a 40 65 6e 64 20 67 ..@result{}.(0.1.0.2.0.3).@end.g
872c0 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 roup.@end.example.@end.defun..@a
872e0 6e 63 68 6f 72 7b 2d 63 6f 70 79 7d 0a 40 64 65 66 75 6e 20 2d 63 6f 70 79 20 28 6c 69 73 74 29 nchor{-copy}.@defun.-copy.(list)
87300 0a 43 72 65 61 74 65 20 61 20 73 68 61 6c 6c 6f 77 20 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c .Create.a.shallow.copy.of.@var{l
87320 69 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 70 79 20 27 28 ist}...@example.@group.(-copy.'(
87340 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 1.2.3)).....@result{}.(1.2.3).@e
87360 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 61 20 27 28 31 20 32 20 33 nd.group.@group.(let.((a.'(1.2.3
87380 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 40 72 65 73 75 6c ))).(eq.a.(-copy.a))).....@resul
873a0 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a t{}.nil.@end.group.@end.example.
873c0 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 @end.defun..@node.Sublist.select
873e0 69 6f 6e 0a 40 73 65 63 74 69 6f 6e 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 0a 0a ion.@section.Sublist.selection..
87400 46 75 6e 63 74 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 Functions.returning.a.sublist.of
87420 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6c 69 73 74 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 69 .the.original.list...@anchor{-fi
87440 6c 74 65 72 7d 0a 40 64 65 66 75 6e 20 2d 66 69 6c 74 65 72 20 28 70 72 65 64 20 6c 69 73 74 29 lter}.@defun.-filter.(pred.list)
87460 0a 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 .Return.a.new.list.of.the.items.
87480 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 in.@var{list}.for.which.@var{pre
874a0 64 7d 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 d}.returns.non-nil...Alias:.@cod
874c0 65 7b 2d 73 65 6c 65 63 74 7d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 e{-select}...This.function's.ana
874e0 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 66 69 phoric.counterpart.is.@code{--fi
87500 6c 74 65 72 7d 2e 0a 0a 46 6f 72 20 73 69 6d 69 6c 61 72 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 lter}...For.similar.operations,.
87520 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 6b 65 65 70 7d 20 28 40 70 78 72 65 66 7b 2d 6b see.also.@code{-keep}.(@pxref{-k
87540 65 65 70 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 72 65 6d 6f 76 65 7d 20 28 40 70 78 72 65 66 eep}).and.@code{-remove}.(@pxref
87560 7b 2d 72 65 6d 6f 76 65 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 {-remove})...@example.@group.(-f
87580 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 20 ilter.(lambda.(num).(=.0.(%.num.
875a0 32 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 2))).'(1.2.3.4)).....@result{}.(
875c0 32 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6c 74 65 72 20 2.4).@end.group.@group.(-filter.
875e0 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 40 72 #'natnump.'(-2.-1.0.1.2)).....@r
87600 65 73 75 6c 74 7b 7d 20 28 30 20 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 esult{}.(0.1.2).@end.group.@grou
87620 70 0a 28 2d 2d 66 69 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 p.(--filter.(=.0.(%.it.2)).'(1.2
87640 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 34 29 0a 40 65 6e 64 20 .3.4)).....@result{}.(2.4).@end.
87660 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 group.@end.example.@end.defun..@
87680 61 6e 63 68 6f 72 7b 2d 72 65 6d 6f 76 65 7d 0a 40 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 20 28 anchor{-remove}.@defun.-remove.(
876a0 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 pred.list).Return.a.new.list.of.
876c0 74 68 65 20 69 74 65 6d 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 66 6f 72 20 77 68 69 63 the.items.in.@var{list}.for.whic
876e0 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 h.@var{pred}.returns.nil...Alias
87700 3a 20 40 63 6f 64 65 7b 2d 72 65 6a 65 63 74 7d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e :.@code{-reject}...This.function
87720 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 40 63 6f 64 's.anaphoric.counterpart.is.@cod
87740 65 7b 2d 2d 72 65 6d 6f 76 65 7d 2e 0a 0a 46 6f 72 20 73 69 6d 69 6c 61 72 20 6f 70 65 72 61 74 e{--remove}...For.similar.operat
87760 69 6f 6e 73 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 6b 65 65 70 7d 20 28 40 70 78 ions,.see.also.@code{-keep}.(@px
87780 72 65 66 7b 2d 6b 65 65 70 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 66 69 6c 74 65 72 7d 20 28 ref{-keep}).and.@code{-filter}.(
877a0 40 70 78 72 65 66 7b 2d 66 69 6c 74 65 72 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f @pxref{-filter})...@example.@gro
877c0 75 70 0a 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 up.(-remove.(lambda.(num).(=.0.(
877e0 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 40 72 65 73 75 %.num.2))).'(1.2.3.4)).....@resu
87800 6c 74 7b 7d 20 28 31 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 lt{}.(1.3).@end.group.@group.(-r
87820 65 6d 6f 76 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 emove.#'natnump.'(-2.-1.0.1.2)).
87840 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 2d 32 20 2d 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 ....@result{}.(-2.-1).@end.group
87860 0a 40 67 72 6f 75 70 0a 28 2d 2d 72 65 6d 6f 76 65 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 .@group.(--remove.(=.0.(%.it.2))
87880 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 33 29 .'(1.2.3.4)).....@result{}.(1.3)
878a0 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 .@end.group.@end.example.@end.de
878c0 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 7d 0a 40 64 65 66 fun..@anchor{-remove-first}.@def
878e0 75 6e 20 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 6d un.-remove-first.(pred.list).Rem
87900 6f 76 65 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 ove.the.first.item.from.@var{lis
87920 74 7d 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 20 t}.for.which.@var{pred}.returns.
87940 6e 6f 6e 2d 6e 69 6c 2e 0a 54 68 69 73 20 69 73 20 61 20 6e 6f 6e 2d 64 65 73 74 72 75 63 74 69 non-nil..This.is.a.non-destructi
87960 76 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 62 75 74 20 6f 6e 6c 79 20 74 68 65 20 66 72 6f 6e 74 ve.operation,.but.only.the.front
87980 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 0a 6c 65 61 64 69 6e 67 20 75 70 20 74 6f 20 74 68 65 .of.@var{list}.leading.up.to.the
879a0 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 65 20 72 65 73 .removed.item.is.a.copy;.the.res
879c0 74 20 69 73 20 40 76 61 72 7b 6c 69 73 74 7d 27 73 0a 6f 72 69 67 69 6e 61 6c 20 74 61 69 6c 2e t.is.@var{list}'s.original.tail.
879e0 20 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 ..If.no.item.is.removed,.then.th
87a00 65 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 e.result.is.a.complete.copy...Al
87a20 69 61 73 3a 20 40 63 6f 64 65 7b 2d 72 65 6a 65 63 74 2d 66 69 72 73 74 7d 2e 0a 0a 54 68 69 73 ias:.@code{-reject-first}...This
87a40 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 72 .function's.anaphoric.counterpar
87a60 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 7d 2e 0a 0a 53 65 65 t.is.@code{--remove-first}...See
87a80 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 6d 61 70 2d 66 69 72 73 74 7d 20 28 40 70 78 72 65 66 7b .also.@code{-map-first}.(@pxref{
87aa0 2d 6d 61 70 2d 66 69 72 73 74 7d 29 2c 20 40 63 6f 64 65 7b 2d 72 65 6d 6f 76 65 2d 69 74 65 6d -map-first}),.@code{-remove-item
87ac0 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 7d 29 2c 20 61 6e 64 20 40 63 }.(@pxref{-remove-item}),.and.@c
87ae0 6f 64 65 7b 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 6d 6f 76 ode{-remove-last}.(@pxref{-remov
87b00 65 2d 6c 61 73 74 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 6d e-last})...@example.@group.(-rem
87b20 6f 76 65 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 ove-first.#'natnump.'(-2.-1.0.1.
87b40 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 2d 32 20 2d 31 20 31 20 32 29 0a 40 65 2)).....@result{}.(-2.-1.1.2).@e
87b60 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 23 nd.group.@group.(-remove-first.#
87b80 27 73 74 72 69 6e 67 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 'stringp.'(1.2."first"."second")
87ba0 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 22 73 65 63 6f 6e 64 22 29 0a 40 ).....@result{}.(1.2."second").@
87bc0 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 end.group.@group.(--remove-first
87be0 20 28 3e 20 69 74 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 .(>.it.3).'(1.2.3.4.5.6)).....@r
87c00 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 35 20 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 esult{}.(1.2.3.5.6).@end.group.@
87c20 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
87c40 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 7d 0a 40 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 2d 6c 61 73 -remove-last}.@defun.-remove-las
87c60 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 6d 6f 76 65 20 74 68 65 20 6c 61 73 74 20 69 74 t.(pred.list).Remove.the.last.it
87c80 65 6d 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 74 7d 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 em.from.@var{list}.for.which.@va
87ca0 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 54 68 65 20 72 65 73 r{pred}.returns.non-nil..The.res
87cc0 75 6c 74 20 69 73 20 61 20 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 72 65 67 61 ult.is.a.copy.of.@var{list}.rega
87ce0 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 74 20 69 73 0a rdless.of.whether.an.element.is.
87d00 72 65 6d 6f 76 65 64 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 72 65 6a 65 63 74 2d 6c removed...Alias:.@code{-reject-l
87d20 61 73 74 7d 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 ast}...This.function's.anaphoric
87d40 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 72 65 6d 6f 76 65 2d 6c .counterpart.is.@code{--remove-l
87d60 61 73 74 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 6d 61 70 2d 6c 61 73 74 7d ast}...See.also.@code{-map-last}
87d80 20 28 40 70 78 72 65 66 7b 2d 6d 61 70 2d 6c 61 73 74 7d 29 2c 20 40 63 6f 64 65 7b 2d 72 65 6d .(@pxref{-map-last}),.@code{-rem
87da0 6f 76 65 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 7d 29 ove-item}.(@pxref{-remove-item})
87dc0 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 7d 20 28 40 70 78 72 ,.and.@code{-remove-first}.(@pxr
87de0 65 66 7b 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 ef{-remove-first})...@example.@g
87e00 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 31 roup.(-remove-last.#'natnump.'(1
87e20 20 33 20 35 20 34 20 37 20 38 20 31 30 20 2d 31 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b .3.5.4.7.8.10.-11)).....@result{
87e40 7d 20 28 31 20 33 20 35 20 34 20 37 20 38 20 2d 31 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 }.(1.3.5.4.7.8.-11).@end.group.@
87e60 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 23 27 73 74 72 69 6e 67 70 20 27 28 group.(-remove-last.#'stringp.'(
87e80 31 20 32 20 22 6c 61 73 74 22 20 22 73 65 63 6f 6e 64 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 1.2."last"."second")).....@resul
87ea0 74 7b 7d 20 28 31 20 32 20 22 6c 61 73 74 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f t{}.(1.2."last").@end.group.@gro
87ec0 75 70 0a 28 2d 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 28 3e 20 69 74 20 33 29 20 27 28 31 20 32 up.(--remove-last.(>.it.3).'(1.2
87ee0 20 33 20 34 20 35 20 36 20 37 20 38 20 39 20 31 30 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b .3.4.5.6.7.8.9.10)).....@result{
87f00 7d 20 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 29 0a 40 65 6e 64 20 67 72 6f 75 70 }.(1.2.3.4.5.6.7.8.9).@end.group
87f20 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f .@end.example.@end.defun..@ancho
87f40 72 7b 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 72 65 6d 6f 76 65 2d 69 r{-remove-item}.@defun.-remove-i
87f60 74 65 6d 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 tem.(item.list).Return.a.copy.of
87f80 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 69 74 68 20 61 6c 6c 20 6f 63 63 75 72 72 65 6e 63 65 73 .@var{list}.with.all.occurrences
87fa0 20 6f 66 20 40 76 61 72 7b 69 74 65 6d 7d 20 72 65 6d 6f 76 65 64 2e 0a 54 68 65 20 63 6f 6d 70 .of.@var{item}.removed..The.comp
87fc0 61 72 69 73 6f 6e 20 69 73 20 64 6f 6e 65 20 77 69 74 68 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d arison.is.done.with.@code{equal}
87fe0 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 69 74 65 6d ...@example.@group.(-remove-item
88000 20 33 20 27 28 31 20 32 20 33 20 32 20 33 20 34 20 35 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 .3.'(1.2.3.2.3.4.5.3)).....@resu
88020 6c 74 7b 7d 20 28 31 20 32 20 32 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f lt{}.(1.2.2.4.5).@end.group.@gro
88040 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 27 66 6f 6f 20 27 28 66 6f 6f 20 62 61 72 20 up.(-remove-item.'foo.'(foo.bar.
88060 62 61 7a 20 66 6f 6f 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 62 61 72 20 62 61 7a baz.foo)).....@result{}.(bar.baz
88080 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 69 74 65 ).@end.group.@group.(-remove-ite
880a0 6d 20 22 62 6f 62 22 20 27 28 22 61 6c 69 63 65 22 20 22 62 6f 62 22 20 22 65 76 65 22 20 22 62 m."bob".'("alice"."bob"."eve"."b
880c0 6f 62 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 61 6c 69 63 65 22 20 22 65 76 ob")).....@result{}.("alice"."ev
880e0 65 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 e").@end.group.@end.example.@end
88100 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6e 6f 6e 2d 6e 69 6c 7d 0a 40 64 65 66 75 6e .defun..@anchor{-non-nil}.@defun
88120 20 2d 6e 6f 6e 2d 6e 69 6c 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f .-non-nil.(list).Return.a.copy.o
88140 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 69 74 68 20 61 6c 6c 20 6e 69 6c 20 69 74 65 6d 73 20 f.@var{list}.with.all.nil.items.
88160 72 65 6d 6f 76 65 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6e 6f 6e 2d removed...@example.@group.(-non-
88180 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 34 20 6e 69 nil.'(nil.1.nil.2.nil.nil.3.4.ni
881a0 6c 20 35 20 6e 69 6c 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 l.5.nil)).....@result{}.(1.2.3.4
881c0 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6e 6f 6e 2d 6e 69 6c 20 .5).@end.group.@group.(-non-nil.
881e0 27 28 28 6e 69 6c 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 6e 69 6c 29 29 0a '((nil))).....@result{}.((nil)).
88200 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6e 6f 6e 2d 6e 69 6c 20 28 29 29 0a @end.group.@group.(-non-nil.()).
88220 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 ....@result{}.().@end.group.@end
88240 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 6c .example.@end.defun..@anchor{-sl
88260 69 63 65 7d 0a 40 64 65 66 75 6e 20 2d 73 6c 69 63 65 20 28 6c 69 73 74 20 66 72 6f 6d 20 26 6f ice}.@defun.-slice.(list.from.&o
88280 70 74 69 6f 6e 61 6c 20 74 6f 20 73 74 65 70 29 0a 52 65 74 75 72 6e 20 63 6f 70 79 20 6f 66 20 ptional.to.step).Return.copy.of.
882a0 40 76 61 72 7b 6c 69 73 74 7d 2c 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 69 6e 64 65 78 20 @var{list},.starting.from.index.
882c0 40 76 61 72 7b 66 72 6f 6d 7d 20 74 6f 20 69 6e 64 65 78 20 40 76 61 72 7b 74 6f 7d 2e 0a 0a 40 @var{from}.to.index.@var{to}...@
882e0 76 61 72 7b 66 72 6f 6d 7d 20 6f 72 20 40 76 61 72 7b 74 6f 7d 20 6d 61 79 20 62 65 20 6e 65 67 var{from}.or.@var{to}.may.be.neg
88300 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
88320 74 65 72 70 72 65 74 65 64 0a 6d 6f 64 75 6c 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 terpreted.modulo.the.length.of.t
88340 68 65 20 6c 69 73 74 2e 0a 0a 49 66 20 40 76 61 72 7b 73 74 65 70 7d 20 69 73 20 61 20 6e 75 6d he.list...If.@var{step}.is.a.num
88360 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 6e 20 74 68 ber,.only.each.STEPth.item.in.th
88380 65 20 72 65 73 75 6c 74 69 6e 67 0a 73 65 63 74 69 6f 6e 20 69 73 20 72 65 74 75 72 6e 65 64 2e e.resulting.section.is.returned.
883a0 20 20 44 65 66 61 75 6c 74 73 20 74 6f 20 31 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 ..Defaults.to.1...@example.@grou
883c0 70 0a 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 20 40 72 p.(-slice.'(1.2.3.4.5).1).....@r
883e0 65 73 75 6c 74 7b 7d 20 28 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 esult{}.(2.3.4.5).@end.group.@gr
88400 6f 75 70 0a 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 oup.(-slice.'(1.2.3.4.5).0.3)...
88420 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ..@result{}.(1.2.3).@end.group.@
88440 67 72 6f 75 70 0a 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 group.(-slice.'(1.2.3.4.5.6.7.8.
88460 39 29 20 31 20 2d 31 20 32 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 34 20 36 20 9).1.-1.2).....@result{}.(2.4.6.
88480 38 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 8).@end.group.@end.example.@end.
884a0 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 61 6b 65 7d 0a 40 64 65 66 75 6e 20 2d 74 61 defun..@anchor{-take}.@defun.-ta
884c0 6b 65 20 28 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 ke.(n.list).Return.a.copy.of.the
884e0 20 66 69 72 73 74 20 40 76 61 72 7b 6e 7d 20 69 74 65 6d 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 .first.@var{n}.items.in.@var{lis
88500 74 7d 2e 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 t}..Return.a.copy.of.@var{list}.
88520 69 66 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 40 76 61 72 7b 6e 7d 20 69 74 65 6d 73 20 6f 72 20 if.it.contains.@var{n}.items.or.
88540 66 65 77 65 72 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 40 76 61 72 7b 6e 7d 20 69 73 20 fewer..Return.nil.if.@var{n}.is.
88560 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 40 63 6f 64 65 7b 2d zero.or.less...See.also:.@code{-
88580 74 61 6b 65 2d 6c 61 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 74 61 6b 65 2d 6c 61 73 74 7d 29 2e take-last}.(@pxref{-take-last}).
885a0 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 61 6b 65 20 33 20 27 28 31 20 32 ..@example.@group.(-take.3.'(1.2
885c0 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 .3.4.5)).....@result{}.(1.2.3).@
885e0 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 61 6b 65 20 31 37 20 27 28 31 20 32 end.group.@group.(-take.17.'(1.2
88600 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 .3.4.5)).....@result{}.(1.2.3.4.
88620 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 61 6b 65 20 30 20 27 28 5).@end.group.@group.(-take.0.'(
88640 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 1.2.3.4.5)).....@result{}.().@en
88660 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a d.group.@end.example.@end.defun.
88680 0a 40 61 6e 63 68 6f 72 7b 2d 74 61 6b 65 2d 6c 61 73 74 7d 0a 40 64 65 66 75 6e 20 2d 74 61 6b .@anchor{-take-last}.@defun.-tak
886a0 65 2d 6c 61 73 74 20 28 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 e-last.(n.list).Return.a.copy.of
886c0 20 74 68 65 20 6c 61 73 74 20 40 76 61 72 7b 6e 7d 20 69 74 65 6d 73 20 6f 66 20 40 76 61 72 7b .the.last.@var{n}.items.of.@var{
886e0 6c 69 73 74 7d 20 69 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 list}.in.order..Return.a.copy.of
88700 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 66 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 40 76 61 72 7b .@var{list}.if.it.contains.@var{
88720 6e 7d 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 66 n}.items.or.fewer..Return.nil.if
88740 20 40 76 61 72 7b 6e 7d 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 0a 53 65 65 20 61 .@var{n}.is.zero.or.less...See.a
88760 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 74 61 6b 65 7d 20 28 40 70 78 72 65 66 7b 2d 74 61 6b 65 7d lso:.@code{-take}.(@pxref{-take}
88780 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 61 6b 65 2d 6c 61 73 74 20 )...@example.@group.(-take-last.
887a0 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 3.'(1.2.3.4.5)).....@result{}.(3
887c0 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 61 6b 65 2d 6c .4.5).@end.group.@group.(-take-l
887e0 61 73 74 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 ast.17.'(1.2.3.4.5)).....@result
88800 7b 7d 20 28 31 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 {}.(1.2.3.4.5).@end.group.@group
88820 0a 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 29 29 0a 20 20 20 .(-take-last.1.'(1.2.3.4.5))....
88840 20 40 72 65 73 75 6c 74 7b 7d 20 28 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 .@result{}.(5).@end.group.@end.e
88860 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 64 72 6f 70 xample.@end.defun..@anchor{-drop
88880 7d 0a 40 64 65 66 75 6e 20 2d 64 72 6f 70 20 28 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 }.@defun.-drop.(n.list).Return.t
888a0 68 65 20 74 61 69 6c 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 20 6f 66 20 40 76 61 72 7b 6c 69 73 he.tail.(not.a.copy).of.@var{lis
888c0 74 7d 20 77 69 74 68 6f 75 74 20 74 68 65 20 66 69 72 73 74 20 40 76 61 72 7b 6e 7d 20 69 74 65 t}.without.the.first.@var{n}.ite
888e0 6d 73 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 63 6f 6e ms..Return.nil.if.@var{list}.con
88900 74 61 69 6e 73 20 40 76 61 72 7b 6e 7d 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 0a 52 65 tains.@var{n}.items.or.fewer..Re
88920 74 75 72 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 66 20 40 76 61 72 7b 6e 7d 20 69 73 20 7a 65 turn.@var{list}.if.@var{n}.is.ze
88940 72 6f 20 6f 72 20 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 ro.or.less...For.another.variant
88960 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 64 72 6f 70 2d 6c 61 73 74 7d 20 28 40 70 ,.see.also.@code{-drop-last}.(@p
88980 78 72 65 66 7b 2d 64 72 6f 70 2d 6c 61 73 74 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 xref{-drop-last})...@example.@gr
889a0 6f 75 70 0a 28 2d 64 72 6f 70 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 oup.(-drop.3.'(1.2.3.4.5)).....@
889c0 72 65 73 75 6c 74 7b 7d 20 28 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 result{}.(4.5).@end.group.@group
889e0 0a 28 2d 64 72 6f 70 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 .(-drop.17.'(1.2.3.4.5)).....@re
88a00 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 64 72 sult{}.().@end.group.@group.(-dr
88a20 6f 70 20 30 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d op.0.'(1.2.3.4.5)).....@result{}
88a40 20 28 31 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 .(1.2.3.4.5).@end.group.@end.exa
88a60 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 64 72 6f 70 2d 6c mple.@end.defun..@anchor{-drop-l
88a80 61 73 74 7d 0a 40 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 ast}.@defun.-drop-last.(n.list).
88aa0 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 69 74 68 Return.a.copy.of.@var{list}.with
88ac0 6f 75 74 20 69 74 73 20 6c 61 73 74 20 40 76 61 72 7b 6e 7d 20 69 74 65 6d 73 2e 0a 52 65 74 75 out.its.last.@var{n}.items..Retu
88ae0 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 66 20 40 76 61 72 7b rn.a.copy.of.@var{list}.if.@var{
88b00 6e 7d 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 n}.is.zero.or.less..Return.nil.i
88b20 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 63 6f 6e 74 61 69 6e 73 20 40 76 61 72 7b 6e 7d 20 69 74 f.@var{list}.contains.@var{n}.it
88b40 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d ems.or.fewer...See.also:.@code{-
88b60 64 72 6f 70 7d 20 28 40 70 78 72 65 66 7b 2d 64 72 6f 70 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 drop}.(@pxref{-drop})...@example
88b80 0a 40 67 72 6f 75 70 0a 28 2d 64 72 6f 70 2d 6c 61 73 74 20 33 20 27 28 31 20 32 20 33 20 34 20 .@group.(-drop-last.3.'(1.2.3.4.
88ba0 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 5)).....@result{}.(1.2).@end.gro
88bc0 75 70 0a 40 67 72 6f 75 70 0a 28 2d 64 72 6f 70 2d 6c 61 73 74 20 31 37 20 27 28 31 20 32 20 33 up.@group.(-drop-last.17.'(1.2.3
88be0 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f .4.5)).....@result{}.().@end.gro
88c00 75 70 0a 40 67 72 6f 75 70 0a 28 2d 64 72 6f 70 2d 6c 61 73 74 20 30 20 27 28 31 20 32 20 33 20 up.@group.(-drop-last.0.'(1.2.3.
88c20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 35 29 0a 4.5)).....@result{}.(1.2.3.4.5).
88c40 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 @end.group.@end.example.@end.def
88c60 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 61 6b 65 2d 77 68 69 6c 65 7d 0a 40 64 65 66 75 6e 20 un..@anchor{-take-while}.@defun.
88c80 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 54 61 6b 65 20 73 75 63 -take-while.(pred.list).Take.suc
88ca0 63 65 73 73 69 76 65 20 69 74 65 6d 73 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 74 7d 20 66 6f cessive.items.from.@var{list}.fo
88cc0 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e r.which.@var{pred}.returns.non-n
88ce0 69 6c 2e 0a 40 76 61 72 7b 70 72 65 64 7d 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 il..@var{pred}.is.a.function.of.
88d00 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 one.argument...Return.a.new.list
88d20 20 6f 66 20 74 68 65 0a 73 75 63 63 65 73 73 69 76 65 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d .of.the.successive.elements.from
88d40 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 66 6f 72 20 77 68 69 .the.start.of.@var{list}.for.whi
88d60 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 0a 6e 6f 6e 2d 6e 69 6c 2e 0a 0a ch.@var{pred}.returns.non-nil...
88d80 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 74 65 This.function's.anaphoric.counte
88da0 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 7d 2e 0a 0a 46 rpart.is.@code{--take-while}...F
88dc0 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 20 40 63 6f or.another.variant,.see.also.@co
88de0 64 65 7b 2d 64 72 6f 70 2d 77 68 69 6c 65 7d 20 28 40 70 78 72 65 66 7b 2d 64 72 6f 70 2d 77 68 de{-drop-while}.(@pxref{-drop-wh
88e00 69 6c 65 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 61 6b 65 2d 77 ile})...@example.@group.(-take-w
88e20 68 69 6c 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 40 72 65 hile.#'even?.'(1.2.3.4)).....@re
88e40 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 61 sult{}.().@end.group.@group.(-ta
88e60 6b 65 2d 77 68 69 6c 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 ke-while.#'even?.'(2.4.5.6))....
88e80 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f .@result{}.(2.4).@end.group.@gro
88ea0 75 70 0a 28 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 up.(--take-while.(<.it.4).'(1.2.
88ec0 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 3.4.3.2.1)).....@result{}.(1.2.3
88ee0 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 ).@end.group.@end.example.@end.d
88f00 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 64 72 6f 70 2d 77 68 69 6c 65 7d 0a 40 64 65 66 75 efun..@anchor{-drop-while}.@defu
88f20 6e 20 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 44 72 6f 70 20 73 n.-drop-while.(pred.list).Drop.s
88f40 75 63 63 65 73 73 69 76 65 20 69 74 65 6d 73 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 74 7d 20 uccessive.items.from.@var{list}.
88f60 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 20 6e 6f 6e for.which.@var{pred}.returns.non
88f80 2d 6e 69 6c 2e 0a 40 76 61 72 7b 70 72 65 64 7d 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f -nil..@var{pred}.is.a.function.o
88fa0 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 65 20 74 61 69 6c f.one.argument...Return.the.tail
88fc0 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 0a 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 73 74 61 72 .(not.a.copy).of.@var{list}.star
88fe0 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 20 66 6f 72 20 ting.from.its.first.element.for.
89000 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 0a 6e 69 6c 2e 0a 0a 54 which.@var{pred}.returns.nil...T
89020 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
89040 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 7d 2e 0a 0a 46 6f part.is.@code{--drop-while}...Fo
89060 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 20 40 63 6f 64 r.another.variant,.see.also.@cod
89080 65 7b 2d 74 61 6b 65 2d 77 68 69 6c 65 7d 20 28 40 70 78 72 65 66 7b 2d 74 61 6b 65 2d 77 68 69 e{-take-while}.(@pxref{-take-whi
890a0 6c 65 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 64 72 6f 70 2d 77 68 le})...@example.@group.(-drop-wh
890c0 69 6c 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 40 72 65 73 ile.#'even?.'(1.2.3.4)).....@res
890e0 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 ult{}.(1.2.3.4).@end.group.@grou
89100 70 0a 28 2d 64 72 6f 70 2d 77 68 69 6c 65 20 23 27 65 76 65 6e 3f 20 27 28 32 20 34 20 35 20 36 p.(-drop-while.#'even?.'(2.4.5.6
89120 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 35 20 36 29 0a 40 65 6e 64 20 67 72 6f 75 )).....@result{}.(5.6).@end.grou
89140 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 3c 20 69 74 20 34 29 20 p.@group.(--drop-while.(<.it.4).
89160 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 '(1.2.3.4.3.2.1)).....@result{}.
89180 28 34 20 33 20 32 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c (4.3.2.1).@end.group.@end.exampl
891a0 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 65 6c 65 63 74 2d 62 79 e.@end.defun..@anchor{-select-by
891c0 2d 69 6e 64 69 63 65 73 7d 0a 40 64 65 66 75 6e 20 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 -indices}.@defun.-select-by-indi
891e0 63 65 73 20 28 69 6e 64 69 63 65 73 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 ces.(indices.list).Return.a.list
89200 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 6f .whose.elements.are.elements.fro
89220 6d 20 40 76 61 72 7b 6c 69 73 74 7d 20 73 65 6c 65 63 74 65 64 0a 61 73 20 60 28 6e 74 68 20 69 m.@var{list}.selected.as.`(nth.i
89240 20 6c 69 73 74 29 60 20 66 6f 72 20 61 6c 6c 20 69 20 66 72 6f 6d 20 40 76 61 72 7b 69 6e 64 69 .list)`.for.all.i.from.@var{indi
89260 63 65 73 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 65 6c 65 63 74 2d ces}...@example.@group.(-select-
89280 62 79 2d 69 6e 64 69 63 65 73 20 27 28 34 20 31 30 20 32 20 33 20 36 29 20 27 28 22 76 22 20 22 by-indices.'(4.10.2.3.6).'("v"."
892a0 65 22 20 22 6c 22 20 22 6f 22 20 22 63 22 20 22 69 22 20 22 72 22 20 22 61 22 20 22 70 22 20 22 e"."l"."o"."c"."i"."r"."a"."p"."
892c0 74 22 20 22 6f 22 20 22 72 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 63 22 20 t"."o"."r")).....@result{}.("c".
892e0 22 6f 22 20 22 6c 22 20 22 6f 22 20 22 72 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f "o"."l"."o"."r").@end.group.@gro
89300 75 70 0a 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 20 27 28 32 20 31 20 30 29 20 up.(-select-by-indices.'(2.1.0).
89320 27 28 22 61 22 20 22 62 22 20 22 63 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 '("a"."b"."c")).....@result{}.("
89340 63 22 20 22 62 22 20 22 61 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d c"."b"."a").@end.group.@group.(-
89360 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 30 20 31 20 33 20 select-by-indices.'(0.1.2.0.1.3.
89380 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 20 20 20 40 72 65 3.1).'("f"."a"."r"."l")).....@re
893a0 73 75 6c 74 7b 7d 20 28 22 66 22 20 22 61 22 20 22 72 22 20 22 66 22 20 22 61 22 20 22 6c 22 20 sult{}.("f"."a"."r"."f"."a"."l".
893c0 22 6c 22 20 22 61 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 "l"."a").@end.group.@end.example
893e0 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 65 6c 65 63 74 2d 63 6f 6c .@end.defun..@anchor{-select-col
89400 75 6d 6e 73 7d 0a 40 64 65 66 75 6e 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 28 63 6f umns}.@defun.-select-columns.(co
89420 6c 75 6d 6e 73 20 74 61 62 6c 65 29 0a 53 65 6c 65 63 74 20 40 76 61 72 7b 63 6f 6c 75 6d 6e 73 lumns.table).Select.@var{columns
89440 7d 20 66 72 6f 6d 20 40 76 61 72 7b 74 61 62 6c 65 7d 2e 0a 0a 40 76 61 72 7b 74 61 62 6c 65 7d }.from.@var{table}...@var{table}
89460 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 68 20 65 .is.a.list.of.lists.where.each.e
89480 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 20 69 73 lement.represents.one.row..It.is
894a0 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 65 20 6c .assumed.each.row.has.the.same.l
894c0 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 65 64 20 ength...Each.row.is.transformed.
894e0 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 40 76 61 such.that.only.the.specified.@va
89500 72 7b 63 6f 6c 75 6d 6e 73 7d 20 61 72 65 0a 73 65 6c 65 63 74 65 64 2e 0a 0a 53 65 65 20 61 6c r{columns}.are.selected...See.al
89520 73 6f 3a 20 40 63 6f 64 65 7b 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 7d 20 28 40 70 78 72 65 so:.@code{-select-column}.(@pxre
89540 66 7b 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 7d 29 2c 20 40 63 6f 64 65 7b 2d 73 65 6c 65 63 f{-select-column}),.@code{-selec
89560 74 2d 62 79 2d 69 6e 64 69 63 65 73 7d 20 28 40 70 78 72 65 66 7b 2d 73 65 6c 65 63 74 2d 62 79 t-by-indices}.(@pxref{-select-by
89580 2d 69 6e 64 69 63 65 73 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 65 -indices})..@example.@group.(-se
895a0 6c 65 63 74 2d 63 6f 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 lect-columns.'(0.2).'((1.2.3).(a
895c0 20 62 20 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d .b.c).(:a.:b.:c))).....@result{}
895e0 20 28 28 31 20 33 29 20 28 61 20 63 29 20 28 3a 61 20 3a 63 29 29 0a 40 65 6e 64 20 67 72 6f 75 .((1.3).(a.c).(:a.:c)).@end.grou
89600 70 0a 40 67 72 6f 75 70 0a 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 27 28 31 29 20 27 p.@group.(-select-columns.'(1).'
89620 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 3a 61 20 3a 62 20 3a 63 29 29 29 0a 20 20 ((1.2.3).(a.b.c).(:a.:b.:c)))...
89640 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 32 29 20 28 62 29 20 28 3a 62 29 29 0a 40 65 6e 64 20 ..@result{}.((2).(b).(:b)).@end.
89660 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 6e 69 group.@group.(-select-columns.ni
89680 6c 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 3a 63 29 29 29 l.'((1.2.3).(a.b.c).(:a.:b.:c)))
896a0 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 69 6c 20 6e 69 6c 20 6e 69 6c 29 0a 40 65 6e .....@result{}.(nil.nil.nil).@en
896c0 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a d.group.@end.example.@end.defun.
896e0 0a 40 61 6e 63 68 6f 72 7b 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 7d 0a 40 64 65 66 75 6e 20 .@anchor{-select-column}.@defun.
89700 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 53 65 -select-column.(column.table).Se
89720 6c 65 63 74 20 40 76 61 72 7b 63 6f 6c 75 6d 6e 7d 20 66 72 6f 6d 20 40 76 61 72 7b 74 61 62 6c lect.@var{column}.from.@var{tabl
89740 65 7d 2e 0a 0a 40 76 61 72 7b 74 61 62 6c 65 7d 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 e}...@var{table}.is.a.list.of.li
89760 73 74 73 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 sts.where.each.element.represent
89780 73 20 6f 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 s.one.row..It.is.assumed.each.ro
897a0 77 20 68 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 w.has.the.same.length...The.sing
897c0 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 65 64 20 61 le.selected.column.is.returned.a
897e0 73 20 61 20 6c 69 73 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 73 65 6c 65 s.a.list...See.also:.@code{-sele
89800 63 74 2d 63 6f 6c 75 6d 6e 73 7d 20 28 40 70 78 72 65 66 7b 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 ct-columns}.(@pxref{-select-colu
89820 6d 6e 73 7d 29 2c 20 40 63 6f 64 65 7b 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 7d mns}),.@code{-select-by-indices}
89840 20 28 40 70 78 72 65 66 7b 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 7d 29 0a 0a 40 .(@pxref{-select-by-indices})..@
89860 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 20 31 example.@group.(-select-column.1
89880 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 3a 63 29 29 29 0a .'((1.2.3).(a.b.c).(:a.:b.:c))).
898a0 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 62 20 3a 62 29 0a 40 65 6e 64 20 67 72 6f 75 ....@result{}.(2.b.:b).@end.grou
898c0 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 p.@end.example.@end.defun..@node
898e0 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 0a 40 73 65 63 74 69 6f 6e 20 4c 69 73 74 20 74 6f 20 6c .List.to.list.@section.List.to.l
89900 69 73 74 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 69 6e 67 20 61 20 6d 6f 64 69 66 ist..Functions.returning.a.modif
89920 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 0a 0a 40 61 6e ied.copy.of.the.input.list...@an
89940 63 68 6f 72 7b 2d 6b 65 65 70 7d 0a 40 64 65 66 75 6e 20 2d 6b 65 65 70 20 28 66 6e 20 6c 69 73 chor{-keep}.@defun.-keep.(fn.lis
89960 74 29 0a 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 6e 2d t).Return.a.new.list.of.the.non-
89980 6e 69 6c 20 72 65 73 75 6c 74 73 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 40 76 61 72 7b 66 6e 7d nil.results.of.applying.@var{fn}
899a0 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 4c 69 6b .to.each.item.in.@var{list}..Lik
899c0 65 20 40 63 6f 64 65 7b 2d 66 69 6c 74 65 72 7d 20 28 40 70 78 72 65 66 7b 2d 66 69 6c 74 65 72 e.@code{-filter}.(@pxref{-filter
899e0 7d 29 2c 20 62 75 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 }),.but.returns.the.non-nil.resu
89a00 6c 74 73 20 6f 66 20 40 76 61 72 7b 66 6e 7d 20 69 6e 73 74 65 61 64 20 6f 66 0a 74 68 65 20 63 lts.of.@var{fn}.instead.of.the.c
89a20 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 40 76 61 72 7b 6c 69 orresponding.elements.of.@var{li
89a40 73 74 7d 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 st}...Its.anaphoric.counterpart.
89a60 69 73 20 40 63 6f 64 65 7b 2d 2d 6b 65 65 70 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f is.@code{--keep}...@example.@gro
89a80 75 70 0a 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 35 29 20 up.(-keep.#'cdr.'((1.2.3).(4.5).
89aa0 28 36 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 32 20 33 29 20 28 35 29 29 0a (6))).....@result{}.((2.3).(5)).
89ac0 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6b 65 65 70 20 28 6c 61 6d 62 64 61 @end.group.@group.(-keep.(lambda
89ae0 20 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 .(n).(and.(>.n.3).(*.10.n))).'(1
89b00 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 30 20 35 .2.3.4.5.6)).....@result{}.(40.5
89b20 30 20 36 30 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6b 65 65 70 20 0.60).@end.group.@group.(--keep.
89b40 28 61 6e 64 20 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 (and.(>.it.3).(*.10.it)).'(1.2.3
89b60 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 30 20 35 30 20 36 30 .4.5.6)).....@result{}.(40.50.60
89b80 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 ).@end.group.@end.example.@end.d
89ba0 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6f 6e 63 61 74 7d 0a 40 64 65 66 75 6e 20 2d 63 efun..@anchor{-concat}.@defun.-c
89bc0 6f 6e 63 61 74 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 oncat.(&rest.lists).Return.a.new
89be0 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 .list.with.the.concatenation.of.
89c00 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 73 75 70 70 6c 69 65 64 20 40 76 61 the.elements.in.the.supplied.@va
89c20 72 7b 6c 69 73 74 73 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e r{lists}...@example.@group.(-con
89c40 63 61 74 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 29 0a 40 65 6e 64 cat.'(1)).....@result{}.(1).@end
89c60 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 20 27 28 32 29 .group.@group.(-concat.'(1).'(2)
89c80 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 ).....@result{}.(1.2).@end.group
89ca0 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 20 27 28 32 20 33 29 20 27 28 34 .@group.(-concat.'(1).'(2.3).'(4
89cc0 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 29 0a 40 65 6e 64 20 )).....@result{}.(1.2.3.4).@end.
89ce0 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 group.@end.example.@end.defun..@
89d00 61 6e 63 68 6f 72 7b 2d 66 6c 61 74 74 65 6e 7d 0a 40 64 65 66 75 6e 20 2d 66 6c 61 74 74 65 6e anchor{-flatten}.@defun.-flatten
89d20 20 28 6c 29 0a 54 61 6b 65 20 61 20 6e 65 73 74 65 64 20 6c 69 73 74 20 40 76 61 72 7b 6c 7d 20 .(l).Take.a.nested.list.@var{l}.
89d40 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 73 20 61 20 73 69 6e and.return.its.contents.as.a.sin
89d60 67 6c 65 2c 20 66 6c 61 74 20 6c 69 73 74 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 62 65 63 61 75 gle,.flat.list...Note.that.becau
89d80 73 65 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 72 65 70 72 65 73 65 6e 74 73 20 61 20 6c 69 73 74 20 se.@code{nil}.represents.a.list.
89da0 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 29 of.zero.elements.(an.empty.list)
89dc0 2c 20 61 6e 79 20 6d 65 6e 74 69 6f 6e 20 6f 66 20 6e 69 6c 20 69 6e 20 40 76 61 72 7b 6c 7d 20 ,.any.mention.of.nil.in.@var{l}.
89de0 77 69 6c 6c 20 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 will.disappear.after.flattening.
89e00 20 20 49 66 20 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 ..If.you.need.to.preserve.nils,.
89e20 63 6f 6e 73 69 64 65 72 20 40 63 6f 64 65 7b 2d 66 6c 61 74 74 65 6e 2d 6e 7d 20 28 40 70 78 72 consider.@code{-flatten-n}.(@pxr
89e40 65 66 7b 2d 66 6c 61 74 74 65 6e 2d 6e 7d 29 0a 6f 72 20 6d 61 70 20 74 68 65 6d 20 74 6f 20 73 ef{-flatten-n}).or.map.them.to.s
89e60 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 74 ome.unique.symbol.and.then.map.t
89e80 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 61 hem.back...Conses.of.two.atoms.a
89ea0 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 22 74 65 72 6d 69 6e 61 6c 73 22 2c 20 74 68 61 74 20 re.considered."terminals",.that.
89ec0 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 74 68 65 is,.they.aren't.flattened.furthe
89ee0 72 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 66 6c 61 74 74 65 6e 2d 6e 7d 20 r...See.also:.@code{-flatten-n}.
89f00 28 40 70 78 72 65 66 7b 2d 66 6c 61 74 74 65 6e 2d 6e 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 (@pxref{-flatten-n})..@example.@
89f20 67 72 6f 75 70 0a 28 2d 66 6c 61 74 74 65 6e 20 27 28 28 31 29 29 29 0a 20 20 20 20 40 72 65 73 group.(-flatten.'((1))).....@res
89f40 75 6c 74 7b 7d 20 28 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 6c ult{}.(1).@end.group.@group.(-fl
89f60 61 74 74 65 6e 20 27 28 28 31 20 28 32 20 33 29 20 28 28 28 34 20 28 35 29 29 29 29 29 29 29 0a atten.'((1.(2.3).(((4.(5))))))).
89f80 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 ....@result{}.(1.2.3.4.5).@end.g
89fa0 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 6c 61 74 74 65 6e 20 27 28 31 20 32 20 28 33 20 2e roup.@group.(-flatten.'(1.2.(3..
89fc0 20 34 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 28 33 20 2e 20 34 29 .4))).....@result{}.(1.2.(3...4)
89fe0 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 ).@end.group.@end.example.@end.d
8a000 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 6c 61 74 74 65 6e 2d 6e 7d 0a 40 64 65 66 75 6e efun..@anchor{-flatten-n}.@defun
8a020 20 2d 66 6c 61 74 74 65 6e 2d 6e 20 28 6e 75 6d 20 6c 69 73 74 29 0a 46 6c 61 74 74 65 6e 20 40 .-flatten-n.(num.list).Flatten.@
8a040 76 61 72 7b 6e 75 6d 7d 20 6c 65 76 65 6c 73 20 6f 66 20 61 20 6e 65 73 74 65 64 20 40 76 61 72 var{num}.levels.of.a.nested.@var
8a060 7b 6c 69 73 74 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 66 6c 61 74 74 65 {list}...See.also:.@code{-flatte
8a080 6e 7d 20 28 40 70 78 72 65 66 7b 2d 66 6c 61 74 74 65 6e 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a n}.(@pxref{-flatten})..@example.
8a0a0 40 67 72 6f 75 70 0a 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 31 20 27 28 28 31 20 32 29 20 28 28 33 @group.(-flatten-n.1.'((1.2).((3
8a0c0 20 34 29 20 28 28 35 20 36 29 29 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 .4).((5.6))))).....@result{}.(1.
8a0e0 32 20 28 33 20 34 29 20 28 28 35 20 36 29 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 2.(3.4).((5.6))).@end.group.@gro
8a100 75 70 0a 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 32 20 27 28 28 31 20 32 29 20 28 28 33 20 34 29 20 up.(-flatten-n.2.'((1.2).((3.4).
8a120 28 28 35 20 36 29 29 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 ((5.6))))).....@result{}.(1.2.3.
8a140 34 20 28 35 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 6c 61 4.(5.6)).@end.group.@group.(-fla
8a160 74 74 65 6e 2d 6e 20 33 20 27 28 28 31 20 32 29 20 28 28 33 20 34 29 20 28 28 35 20 36 29 29 29 tten-n.3.'((1.2).((3.4).((5.6)))
8a180 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 35 20 36 29 0a 40 )).....@result{}.(1.2.3.4.5.6).@
8a1a0 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 end.group.@end.example.@end.defu
8a1c0 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 70 6c 61 63 65 7d 0a 40 64 65 66 75 6e 20 2d 72 65 70 n..@anchor{-replace}.@defun.-rep
8a1e0 6c 61 63 65 20 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 0a 52 65 70 6c 61 63 65 20 61 6c 6c 20 lace.(old.new.list).Replace.all.
8a200 40 76 61 72 7b 6f 6c 64 7d 20 69 74 65 6d 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 69 @var{old}.items.in.@var{list}.wi
8a220 74 68 20 40 76 61 72 7b 6e 65 77 7d 2e 0a 0a 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 th.@var{new}...Elements.are.comp
8a240 61 72 65 64 20 75 73 69 6e 67 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2e 0a 0a 53 65 65 20 61 6c ared.using.@code{equal}...See.al
8a260 73 6f 3a 20 40 63 6f 64 65 7b 2d 72 65 70 6c 61 63 65 2d 61 74 7d 20 28 40 70 78 72 65 66 7b 2d so:.@code{-replace-at}.(@pxref{-
8a280 72 65 70 6c 61 63 65 2d 61 74 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d replace-at})..@example.@group.(-
8a2a0 72 65 70 6c 61 63 65 20 31 20 22 31 22 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a replace.1."1".'(1.2.3.4.3.2.1)).
8a2c0 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 31 22 20 32 20 33 20 34 20 33 20 32 20 22 31 22 ....@result{}.("1".2.3.4.3.2."1"
8a2e0 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 20 22 66 ).@end.group.@group.(-replace."f
8a300 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 65 oo"."bar".'("a"."nice"."foo"."se
8a320 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 40 72 65 73 ntence"."about"."foo")).....@res
8a340 75 6c 74 7b 7d 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 ult{}.("a"."nice"."bar"."sentenc
8a360 65 22 20 22 61 62 6f 75 74 22 20 22 62 61 72 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 e"."about"."bar").@end.group.@gr
8a380 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 20 31 20 32 20 6e 69 6c 29 0a 20 20 20 20 40 72 65 73 75 oup.(-replace.1.2.nil).....@resu
8a3a0 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 lt{}.nil.@end.group.@end.example
8a3c0 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 70 6c 61 63 65 2d 66 69 .@end.defun..@anchor{-replace-fi
8a3e0 72 73 74 7d 0a 40 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 rst}.@defun.-replace-first.(old.
8a400 6e 65 77 20 6c 69 73 74 29 0a 52 65 70 6c 61 63 65 20 74 68 65 20 66 69 72 73 74 20 6f 63 63 75 new.list).Replace.the.first.occu
8a420 72 72 65 6e 63 65 20 6f 66 20 40 76 61 72 7b 6f 6c 64 7d 20 77 69 74 68 20 40 76 61 72 7b 6e 65 rrence.of.@var{old}.with.@var{ne
8a440 77 7d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 w}.in.@var{list}...Elements.are.
8a460 63 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2e 0a 0a 53 65 compared.using.@code{equal}...Se
8a480 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 6d 61 70 2d 66 69 72 73 74 7d 20 28 40 70 78 72 65 e.also:.@code{-map-first}.(@pxre
8a4a0 66 7b 2d 6d 61 70 2d 66 69 72 73 74 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a f{-map-first})..@example.@group.
8a4c0 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 31 20 22 31 22 20 27 28 31 20 32 20 33 20 34 20 (-replace-first.1."1".'(1.2.3.4.
8a4e0 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 31 22 20 32 20 33 20 34 3.2.1)).....@result{}.("1".2.3.4
8a500 20 33 20 32 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c .3.2.1).@end.group.@group.(-repl
8a520 61 63 65 2d 66 69 72 73 74 20 22 66 6f 6f 22 20 22 62 61 72 22 20 27 28 22 61 22 20 22 6e 69 63 ace-first."foo"."bar".'("a"."nic
8a540 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 66 6f 6f e"."foo"."sentence"."about"."foo
8a560 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 61 22 20 22 6e 69 63 65 22 20 22 62 ")).....@result{}.("a"."nice"."b
8a580 61 72 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 0a 40 65 ar"."sentence"."about"."foo").@e
8a5a0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 nd.group.@group.(-replace-first.
8a5c0 31 20 32 20 6e 69 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 1.2.nil).....@result{}.nil.@end.
8a5e0 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 group.@end.example.@end.defun..@
8a600 61 6e 63 68 6f 72 7b 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 7d 0a 40 64 65 66 75 6e 20 2d 72 65 anchor{-replace-last}.@defun.-re
8a620 70 6c 61 63 65 2d 6c 61 73 74 20 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 0a 52 65 70 6c 61 63 place-last.(old.new.list).Replac
8a640 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 40 76 61 72 7b 6f 6c e.the.last.occurrence.of.@var{ol
8a660 64 7d 20 77 69 74 68 20 40 76 61 72 7b 6e 65 77 7d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e d}.with.@var{new}.in.@var{list}.
8a680 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 40 63 ..Elements.are.compared.using.@c
8a6a0 6f 64 65 7b 65 71 75 61 6c 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 6d 61 ode{equal}...See.also:.@code{-ma
8a6c0 70 2d 6c 61 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 6d 61 70 2d 6c 61 73 74 7d 29 0a 0a 40 65 78 p-last}.(@pxref{-map-last})..@ex
8a6e0 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 31 20 22 31 ample.@group.(-replace-last.1."1
8a700 22 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b ".'(1.2.3.4.3.2.1)).....@result{
8a720 7d 20 28 31 20 32 20 33 20 34 20 33 20 32 20 22 31 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 }.(1.2.3.4.3.2."1").@end.group.@
8a740 67 72 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 22 66 6f 6f 22 20 22 62 61 72 22 group.(-replace-last."foo"."bar"
8a760 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 22 .'("a"."nice"."foo"."sentence"."
8a780 61 62 6f 75 74 22 20 22 66 6f 6f 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 61 about"."foo")).....@result{}.("a
8a7a0 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 22 61 62 6f 75 74 "."nice"."foo"."sentence"."about
8a7c0 22 20 22 62 61 72 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 "."bar").@end.group.@group.(-rep
8a7e0 6c 61 63 65 2d 6c 61 73 74 20 31 20 32 20 6e 69 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d lace-last.1.2.nil).....@result{}
8a800 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e .nil.@end.group.@end.example.@en
8a820 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 6e 73 65 72 74 2d 61 74 7d 0a 40 64 65 d.defun..@anchor{-insert-at}.@de
8a840 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 52 65 74 75 72 6e fun.-insert-at.(n.x.list).Return
8a860 20 61 20 6c 69 73 74 20 77 69 74 68 20 40 76 61 72 7b 78 7d 20 69 6e 73 65 72 74 65 64 20 69 6e .a.list.with.@var{x}.inserted.in
8a880 74 6f 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 74 20 70 6f 73 69 74 69 6f 6e 20 40 76 61 72 7b 6e to.@var{list}.at.position.@var{n
8a8a0 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 73 70 6c 69 63 65 7d 20 28 40 70 }...See.also:.@code{-splice}.(@p
8a8c0 78 72 65 66 7b 2d 73 70 6c 69 63 65 7d 29 2c 20 40 63 6f 64 65 7b 2d 73 70 6c 69 63 65 2d 6c 69 xref{-splice}),.@code{-splice-li
8a8e0 73 74 7d 20 28 40 70 78 72 65 66 7b 2d 73 70 6c 69 63 65 2d 6c 69 73 74 7d 29 0a 0a 40 65 78 61 st}.(@pxref{-splice-list})..@exa
8a900 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 73 65 72 74 2d 61 74 20 31 20 27 78 20 27 28 61 mple.@group.(-insert-at.1.'x.'(a
8a920 20 62 20 63 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 61 20 78 20 62 20 63 29 0a 40 .b.c)).....@result{}.(a.x.b.c).@
8a940 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 73 65 72 74 2d 61 74 20 31 32 20 end.group.@group.(-insert-at.12.
8a960 27 78 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 61 20 62 20 'x.'(a.b.c)).....@result{}.(a.b.
8a980 63 20 78 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e c.x).@end.group.@end.example.@en
8a9a0 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 70 6c 61 63 65 2d 61 74 7d 0a 40 64 d.defun..@anchor{-replace-at}.@d
8a9c0 65 66 75 6e 20 2d 72 65 70 6c 61 63 65 2d 61 74 20 28 6e 20 78 20 6c 69 73 74 29 0a 52 65 74 75 efun.-replace-at.(n.x.list).Retu
8a9e0 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 20 70 6f rn.a.list.with.element.at.Nth.po
8aa00 73 69 74 69 6f 6e 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 72 65 70 6c 61 63 65 64 20 77 69 sition.in.@var{list}.replaced.wi
8aa20 74 68 20 40 76 61 72 7b 78 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 72 65 th.@var{x}...See.also:.@code{-re
8aa40 70 6c 61 63 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 70 6c 61 63 65 7d 29 0a 0a 40 65 78 61 6d place}.(@pxref{-replace})..@exam
8aa60 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 30 20 39 20 27 28 30 20 ple.@group.(-replace-at.0.9.'(0.
8aa80 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 39 20 31 20 32 1.2.3.4.5)).....@result{}.(9.1.2
8aaa0 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c .3.4.5).@end.group.@group.(-repl
8aac0 61 63 65 2d 61 74 20 31 20 39 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 ace-at.1.9.'(0.1.2.3.4.5)).....@
8aae0 72 65 73 75 6c 74 7b 7d 20 28 30 20 39 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 result{}.(0.9.2.3.4.5).@end.grou
8ab00 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 34 20 39 20 27 28 30 20 31 20 p.@group.(-replace-at.4.9.'(0.1.
8ab20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 30 20 31 20 32 20 33 2.3.4.5)).....@result{}.(0.1.2.3
8ab40 20 39 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 .9.5).@end.group.@end.example.@e
8ab60 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 75 70 64 61 74 65 2d 61 74 7d 0a 40 64 nd.defun..@anchor{-update-at}.@d
8ab80 65 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 52 65 efun.-update-at.(n.func.list).Re
8aba0 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 20 turn.a.list.with.element.at.Nth.
8abc0 70 6f 73 69 74 69 6f 6e 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 72 65 70 6c 61 63 65 64 20 position.in.@var{list}.replaced.
8abe0 77 69 74 68 20 60 28 66 75 6e 63 20 28 6e 74 68 20 6e 20 6c 69 73 74 29 29 60 2e 0a 0a 53 65 65 with.`(func.(nth.n.list))`...See
8ac00 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 6d 61 70 2d 77 68 65 6e 7d 20 28 40 70 78 72 65 66 7b .also:.@code{-map-when}.(@pxref{
8ac20 2d 6d 61 70 2d 77 68 65 6e 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 75 -map-when})..@example.@group.(-u
8ac40 70 64 61 74 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 pdate-at.0.(lambda.(x).(+.x.9)).
8ac60 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 39 '(0.1.2.3.4.5)).....@result{}.(9
8ac80 20 31 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d .1.2.3.4.5).@end.group.@group.(-
8aca0 75 70 64 61 74 65 2d 61 74 20 31 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2b 20 78 20 38 29 29 update-at.1.(lambda.(x).(+.x.8))
8acc0 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 .'(0.1.2.3.4.5)).....@result{}.(
8ace0 30 20 39 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 0.9.2.3.4.5).@end.group.@group.(
8ad00 2d 2d 75 70 64 61 74 65 2d 61 74 20 32 20 28 6c 65 6e 67 74 68 20 69 74 29 20 27 28 22 66 6f 6f --update-at.2.(length.it).'("foo
8ad20 22 20 22 62 61 72 22 20 22 62 61 7a 22 20 22 71 75 75 78 22 29 29 0a 20 20 20 20 40 72 65 73 75 "."bar"."baz"."quux")).....@resu
8ad40 6c 74 7b 7d 20 28 22 66 6f 6f 22 20 22 62 61 72 22 20 33 20 22 71 75 75 78 22 29 0a 40 65 6e 64 lt{}.("foo"."bar".3."quux").@end
8ad60 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a .group.@end.example.@end.defun..
8ad80 40 61 6e 63 68 6f 72 7b 2d 72 65 6d 6f 76 65 2d 61 74 7d 0a 40 64 65 66 75 6e 20 2d 72 65 6d 6f @anchor{-remove-at}.@defun.-remo
8ada0 76 65 2d 61 74 20 28 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 ve-at.(n.list).Return.a.list.wit
8adc0 68 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 40 76 61 h.element.at.Nth.position.in.@va
8ade0 72 7b 6c 69 73 74 7d 20 72 65 6d 6f 76 65 64 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 r{list}.removed...See.also:.@cod
8ae00 65 7b 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 7d 20 28 40 70 78 72 65 66 7b 2d 72 e{-remove-at-indices}.(@pxref{-r
8ae20 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 7d 29 2c 20 40 63 6f 64 65 7b 2d 72 65 6d 6f 76 emove-at-indices}),.@code{-remov
8ae40 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 6d 6f 76 65 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 e}.(@pxref{-remove})..@example.@
8ae60 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 20 30 20 27 28 22 30 22 20 22 31 22 20 22 32 group.(-remove-at.0.'("0"."1"."2
8ae80 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 "."3"."4"."5")).....@result{}.("
8aea0 31 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 1"."2"."3"."4"."5").@end.group.@
8aec0 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 20 31 20 27 28 22 30 22 20 22 31 22 20 22 32 group.(-remove-at.1.'("0"."1"."2
8aee0 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 "."3"."4"."5")).....@result{}.("
8af00 30 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 0"."2"."3"."4"."5").@end.group.@
8af20 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 20 32 20 27 28 22 30 22 20 22 31 22 20 22 32 group.(-remove-at.2.'("0"."1"."2
8af40 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 "."3"."4"."5")).....@result{}.("
8af60 30 22 20 22 31 22 20 22 33 22 20 22 34 22 20 22 35 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 0"."1"."3"."4"."5").@end.group.@
8af80 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
8afa0 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 7d 0a 40 64 65 66 75 6e 20 2d 72 65 6d 6f -remove-at-indices}.@defun.-remo
8afc0 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 73 74 29 0a 52 65 74 ve-at-indices.(indices.list).Ret
8afe0 75 72 6e 20 61 20 6c 69 73 74 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 65 6c urn.a.list.whose.elements.are.el
8b000 65 6d 65 6e 74 73 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 69 74 68 6f 75 74 0a 65 ements.from.@var{list}.without.e
8b020 6c 65 6d 65 6e 74 73 20 73 65 6c 65 63 74 65 64 20 61 73 20 60 28 6e 74 68 20 69 20 6c 69 73 74 lements.selected.as.`(nth.i.list
8b040 29 60 20 66 6f 72 20 61 6c 6c 20 69 0a 66 72 6f 6d 20 40 76 61 72 7b 69 6e 64 69 63 65 73 7d 2e )`.for.all.i.from.@var{indices}.
8b060 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 72 65 6d 6f 76 65 2d 61 74 7d 20 28 40 ..See.also:.@code{-remove-at}.(@
8b080 70 78 72 65 66 7b 2d 72 65 6d 6f 76 65 2d 61 74 7d 29 2c 20 40 63 6f 64 65 7b 2d 72 65 6d 6f 76 pxref{-remove-at}),.@code{-remov
8b0a0 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 6d 6f 76 65 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 e}.(@pxref{-remove})..@example.@
8b0c0 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 27 28 30 29 20 27 group.(-remove-at-indices.'(0).'
8b0e0 28 22 30 22 20 22 31 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 29 0a 20 20 20 20 40 ("0"."1"."2"."3"."4"."5")).....@
8b100 72 65 73 75 6c 74 7b 7d 20 28 22 31 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 22 29 0a 40 result{}.("1"."2"."3"."4"."5").@
8b120 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 end.group.@group.(-remove-at-ind
8b140 69 63 65 73 20 27 28 30 20 32 20 34 29 20 27 28 22 30 22 20 22 31 22 20 22 32 22 20 22 33 22 20 ices.'(0.2.4).'("0"."1"."2"."3".
8b160 22 34 22 20 22 35 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 31 22 20 22 33 22 "4"."5")).....@result{}.("1"."3"
8b180 20 22 35 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 6d 6f 76 65 ."5").@end.group.@group.(-remove
8b1a0 2d 61 74 2d 69 6e 64 69 63 65 73 20 27 28 30 20 35 29 20 27 28 22 30 22 20 22 31 22 20 22 32 22 -at-indices.'(0.5).'("0"."1"."2"
8b1c0 20 22 33 22 20 22 34 22 20 22 35 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 31 ."3"."4"."5")).....@result{}.("1
8b1e0 22 20 22 32 22 20 22 33 22 20 22 34 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 "."2"."3"."4").@end.group.@end.e
8b200 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 52 65 64 75 63 74 69 xample.@end.defun..@node.Reducti
8b220 6f 6e 73 0a 40 73 65 63 74 69 6f 6e 20 52 65 64 75 63 74 69 6f 6e 73 0a 0a 46 75 6e 63 74 69 6f ons.@section.Reductions..Functio
8b240 6e 73 20 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 ns.reducing.lists.to.a.single.va
8b260 6c 75 65 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 lue.(which.may.also.be.a.list)..
8b280 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 64 75 63 65 2d 66 72 6f 6d 7d 0a 40 64 65 66 75 6e 20 2d 72 .@anchor{-reduce-from}.@defun.-r
8b2a0 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 52 65 64 75 63 65 educe-from.(fn.init.list).Reduce
8b2c0 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 20 61 63 72 6f 73 73 20 40 76 .the.function.@var{fn}.across.@v
8b2e0 61 72 7b 6c 69 73 74 7d 2c 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 40 76 61 72 7b 69 6e 69 ar{list},.starting.with.@var{ini
8b300 74 7d 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 t}..Return.the.result.of.applyin
8b320 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 40 76 61 72 7b 69 6e 69 74 7d 20 61 6e 64 20 74 68 65 g.@var{fn}.to.@var{init}.and.the
8b340 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 40 76 61 72 7b 6c 69 73 74 7d 2c 20 74 68 .first.element.of.@var{list},.th
8b360 65 6e 20 61 70 70 6c 79 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 61 74 20 72 65 73 en.applying.@var{fn}.to.that.res
8b380 75 6c 74 20 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 2c 0a 65 74 63 2e ult.and.the.second.element,.etc.
8b3a0 20 20 49 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e ..If.@var{list}.is.empty,.return
8b3c0 20 40 76 61 72 7b 69 6e 69 74 7d 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 40 76 61 72 .@var{init}.without.calling.@var
8b3e0 7b 66 6e 7d 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 {fn}...This.function's.anaphoric
8b400 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 72 65 64 75 63 65 2d 66 .counterpart.is.@code{--reduce-f
8b420 72 6f 6d 7d 2e 0a 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 rom}...For.other.folds,.see.also
8b440 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 7d .@code{-reduce}.(@pxref{-reduce}
8b460 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 72 7d 20 28 40 70 78 72 65 66 7b 2d ).and.@code{-reduce-r}.(@pxref{-
8b480 72 65 64 75 63 65 2d 72 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 reduce-r})...@example.@group.(-r
8b4a0 65 64 75 63 65 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 educe-from.#'-.10.'(1.2.3)).....
8b4c0 40 72 65 73 75 6c 74 7b 7d 20 34 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d @result{}.4.@end.group.@group.(-
8b4e0 72 65 64 75 63 65 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 reduce-from.#'list.10.'(1.2.3)).
8b500 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 28 31 30 20 31 29 20 32 29 20 33 29 0a 40 65 6e ....@result{}.(((10.1).2).3).@en
8b520 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 63 d.group.@group.(--reduce-from.(c
8b540 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 20 27 28 22 61 22 20 oncat.acc.".".it)."START".'("a".
8b560 22 62 22 20 22 63 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 22 53 54 41 52 54 20 61 "b"."c")).....@result{}."START.a
8b580 20 62 20 63 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 .b.c".@end.group.@end.example.@e
8b5a0 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d nd.defun..@anchor{-reduce-r-from
8b5c0 7d 0a 40 64 65 66 75 6e 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 }.@defun.-reduce-r-from.(fn.init
8b5e0 20 6c 69 73 74 29 0a 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b .list).Reduce.the.function.@var{
8b600 66 6e 7d 20 61 63 72 6f 73 73 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 6e 20 72 65 76 65 72 73 65 fn}.across.@var{list}.in.reverse
8b620 2c 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 40 76 61 72 7b 69 6e 69 74 7d 2e 0a 52 65 74 75 ,.starting.with.@var{init}..Retu
8b640 72 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 40 76 61 72 7b 66 rn.the.result.of.applying.@var{f
8b660 6e 7d 20 74 6f 20 74 68 65 20 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c n}.to.the.last.element.of.@var{l
8b680 69 73 74 7d 20 61 6e 64 0a 40 76 61 72 7b 69 6e 69 74 7d 2c 20 74 68 65 6e 20 61 70 70 6c 79 69 ist}.and.@var{init},.then.applyi
8b6a0 6e 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 65 20 73 65 63 6f 6e 64 2d 74 6f 2d 6c 61 73 ng.@var{fn}.to.the.second-to-las
8b6c0 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 75 6c t.element.and.the.previous.resul
8b6e0 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 2c 20 65 74 63 2e 20 20 54 68 61 74 20 69 73 2c 20 74 68 t.of.@var{fn},.etc...That.is,.th
8b700 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 20 69 73 0a e.first.argument.of.@var{fn}.is.
8b720 74 68 65 20 63 75 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 the.current.element,.and.its.sec
8b740 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 65 64 0a 76 61 6c ond.argument.the.accumulated.val
8b760 75 65 2e 20 20 49 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 ue...If.@var{list}.is.empty,.ret
8b780 75 72 6e 20 40 76 61 72 7b 69 6e 69 74 7d 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 40 urn.@var{init}.without.calling.@
8b7a0 76 61 72 7b 66 6e 7d 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 var{fn}...This.function.is.like.
8b7c0 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 @code{-reduce-from}.(@pxref{-red
8b7e0 75 63 65 2d 66 72 6f 6d 7d 29 20 62 75 74 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 61 73 73 uce-from}).but.the.operation.ass
8b800 6f 63 69 61 74 65 73 0a 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 20 72 61 74 68 65 72 20 74 68 ociates.from.the.right.rather.th
8b820 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 20 73 74 61 an.left...In.other.words,.it.sta
8b840 72 74 73 20 66 72 6f 6d 0a 74 68 65 20 65 6e 64 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 rts.from.the.end.of.@var{list}.a
8b860 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 40 76 61 72 7b 66 nd.flips.the.arguments.to.@var{f
8b880 6e 7d 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 n}...Conceptually,.it.is.like.re
8b8a0 70 6c 61 63 69 6e 67 20 74 68 65 20 63 6f 6e 73 65 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d placing.the.conses.in.@var{list}
8b8c0 20 77 69 74 68 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 40 76 61 72 7b 66 6e 7d 2c 20 .with.applications.of.@var{fn},.
8b8e0 61 6e 64 0a 69 74 73 20 6c 61 73 74 20 6c 69 6e 6b 20 77 69 74 68 20 40 76 61 72 7b 69 6e 69 74 and.its.last.link.with.@var{init
8b900 7d 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 },.and.evaluating.the.resulting.
8b920 65 78 70 72 65 73 73 69 6f 6e 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e 61 expression...This.function's.ana
8b940 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 72 65 phoric.counterpart.is.@code{--re
8b960 64 75 63 65 2d 72 2d 66 72 6f 6d 7d 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 duce-r-from}...For.other.folds,.
8b980 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 72 7d 20 28 40 70 78 72 65 see.also.@code{-reduce-r}.(@pxre
8b9a0 66 7b 2d 72 65 64 75 63 65 2d 72 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 7d f{-reduce-r}).and.@code{-reduce}
8b9c0 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 .(@pxref{-reduce})...@example.@g
8b9e0 72 6f 75 70 0a 28 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 23 27 2d 20 31 30 20 27 28 31 20 roup.(-reduce-r-from.#'-.10.'(1.
8ba00 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 2d 38 0a 40 65 6e 64 20 67 72 6f 75 2.3)).....@result{}.-8.@end.grou
8ba20 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 23 27 6c 69 73 74 20 p.@group.(-reduce-r-from.#'list.
8ba40 31 30 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 28 32 10.'(1.2.3)).....@result{}.(1.(2
8ba60 20 28 33 20 31 30 29 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 72 .(3.10))).@end.group.@group.(--r
8ba80 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 28 63 6f 6e 63 61 74 20 69 74 20 22 20 22 20 61 63 63 29 educe-r-from.(concat.it.".".acc)
8baa0 20 22 45 4e 44 22 20 27 28 22 61 22 20 22 62 22 20 22 63 22 29 29 0a 20 20 20 20 40 72 65 73 75 ."END".'("a"."b"."c")).....@resu
8bac0 6c 74 7b 7d 20 22 61 20 62 20 63 20 45 4e 44 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 lt{}."a.b.c.END".@end.group.@end
8bae0 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 .example.@end.defun..@anchor{-re
8bb00 64 75 63 65 7d 0a 40 64 65 66 75 6e 20 2d 72 65 64 75 63 65 20 28 66 6e 20 6c 69 73 74 29 0a 52 duce}.@defun.-reduce.(fn.list).R
8bb20 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 20 61 63 72 6f educe.the.function.@var{fn}.acro
8bb40 73 73 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 ss.@var{list}..Return.the.result
8bb60 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 65 20 66 69 72 .of.applying.@var{fn}.to.the.fir
8bb80 73 74 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 0a 40 76 61 72 7b 6c 69 73 74 7d 2c 20 74 st.two.elements.of.@var{list},.t
8bba0 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 61 74 20 72 65 hen.applying.@var{fn}.to.that.re
8bbc0 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 74 63 2e sult.and.the.third.element,.etc.
8bbe0 0a 49 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 69 6e 67 6c 65 .If.@var{list}.contains.a.single
8bc00 20 65 6c 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 .element,.return.it.without.call
8bc20 69 6e 67 20 40 76 61 72 7b 66 6e 7d 2e 0a 49 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 73 20 65 ing.@var{fn}..If.@var{list}.is.e
8bc40 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 mpty,.return.the.result.of.calli
8bc60 6e 67 20 40 76 61 72 7b 66 6e 7d 20 77 69 74 68 20 6e 6f 0a 61 72 67 75 6d 65 6e 74 73 2e 0a 0a ng.@var{fn}.with.no.arguments...
8bc80 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 74 65 This.function's.anaphoric.counte
8bca0 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 72 65 64 75 63 65 7d 2e 0a 0a 46 6f 72 20 6f rpart.is.@code{--reduce}...For.o
8bcc0 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 ther.folds,.see.also.@code{-redu
8bce0 63 65 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 2d 66 72 6f 6d 7d 29 20 ce-from}.(@pxref{-reduce-from}).
8bd00 61 6e 64 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 72 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 and.@code{-reduce-r}.(@pxref{-re
8bd20 64 75 63 65 2d 72 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 duce-r})...@example.@group.(-red
8bd40 75 63 65 20 23 27 2d 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b uce.#'-.'(1.2.3.4)).....@result{
8bd60 7d 20 2d 38 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 63 65 20 }.-8.@end.group.@group.(-reduce.
8bd80 23 27 6c 69 73 74 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d #'list.'(1.2.3.4)).....@result{}
8bda0 20 28 28 28 31 20 32 29 20 33 29 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 .(((1.2).3).4).@end.group.@group
8bdc0 0a 28 2d 2d 72 65 64 75 63 65 20 28 66 6f 72 6d 61 74 20 22 25 73 2d 25 64 22 20 61 63 63 20 69 .(--reduce.(format."%s-%d".acc.i
8bde0 74 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 22 31 2d 32 2d t).'(1.2.3)).....@result{}."1-2-
8be00 33 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 3".@end.group.@end.example.@end.
8be20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 64 75 63 65 2d 72 7d 0a 40 64 65 66 75 6e defun..@anchor{-reduce-r}.@defun
8be40 20 2d 72 65 64 75 63 65 2d 72 20 28 66 6e 20 6c 69 73 74 29 0a 52 65 64 75 63 65 20 74 68 65 20 .-reduce-r.(fn.list).Reduce.the.
8be60 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 20 61 63 72 6f 73 73 20 40 76 61 72 7b 6c 69 function.@var{fn}.across.@var{li
8be80 73 74 7d 20 69 6e 20 72 65 76 65 72 73 65 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c st}.in.reverse..Return.the.resul
8bea0 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 65 20 6c 61 t.of.applying.@var{fn}.to.the.la
8bec0 73 74 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 0a 40 76 61 72 7b 6c 69 73 74 7d 2c 20 74 st.two.elements.of.@var{list},.t
8bee0 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 65 20 74 68 69 hen.applying.@var{fn}.to.the.thi
8bf00 72 64 2d 74 6f 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 rd-to-last.element.and.the.previ
8bf20 6f 75 73 20 72 65 73 75 6c 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 2c 20 65 74 63 2e 20 20 54 68 ous.result.of.@var{fn},.etc...Th
8bf40 61 74 20 69 73 2c 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 40 76 61 at.is,.the.first.argument.of.@va
8bf60 72 7b 66 6e 7d 20 69 73 0a 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 2c 20 61 6e r{fn}.is.the.current.element,.an
8bf80 64 20 69 74 73 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 61 63 63 75 6d 75 d.its.second.argument.the.accumu
8bfa0 6c 61 74 65 64 0a 76 61 6c 75 65 2e 20 20 49 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 63 6f 6e 74 lated.value...If.@var{list}.cont
8bfc0 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 74 75 72 6e 20 69 74 ains.a.single.element,.return.it
8bfe0 20 77 69 74 68 6f 75 74 0a 63 61 6c 6c 69 6e 67 20 40 76 61 72 7b 66 6e 7d 2e 20 20 49 66 20 40 .without.calling.@var{fn}...If.@
8c000 76 61 72 7b 6c 69 73 74 7d 20 69 73 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 74 68 65 20 72 var{list}.is.empty,.return.the.r
8c020 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 40 76 61 72 7b 66 6e 7d 0a 77 69 74 68 20 6e esult.of.calling.@var{fn}.with.n
8c040 6f 20 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 20 69 73 20 6c o.arguments...This.function.is.l
8c060 69 6b 65 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 ike.@code{-reduce}.(@pxref{-redu
8c080 63 65 7d 29 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 ce}).but.the.operation.associate
8c0a0 73 20 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 s.from.the.right.rather.than.lef
8c0c0 74 2e 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 t...In.other.words,.it.starts.fr
8c0e0 6f 6d 20 74 68 65 0a 65 6e 64 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 6e 64 20 66 6c 69 om.the.end.of.@var{list}.and.fli
8c100 70 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 40 76 61 72 7b 66 6e 7d 2e 20 20 43 ps.the.arguments.to.@var{fn}...C
8c120 6f 6e 63 65 70 74 75 61 6c 6c 79 2c 20 69 74 20 69 73 0a 6c 69 6b 65 20 72 65 70 6c 61 63 69 6e onceptually,.it.is.like.replacin
8c140 67 20 74 68 65 20 63 6f 6e 73 65 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 69 74 68 20 g.the.conses.in.@var{list}.with.
8c160 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 40 76 61 72 7b 66 6e 7d 2c 0a 69 67 6e 6f 72 69 applications.of.@var{fn},.ignori
8c180 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 75 61 74 69 6e 67 ng.its.last.link,.and.evaluating
8c1a0 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 0a 0a 54 68 69 73 .the.resulting.expression...This
8c1c0 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 72 .function's.anaphoric.counterpar
8c1e0 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 72 65 64 75 63 65 2d 72 7d 2e 0a 0a 46 6f 72 20 6f 74 68 t.is.@code{--reduce-r}...For.oth
8c200 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 er.folds,.see.also.@code{-reduce
8c220 2d 72 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 7d -r-from}.(@pxref{-reduce-r-from}
8c240 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 ).and.@code{-reduce}.(@pxref{-re
8c260 64 75 63 65 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 63 duce})...@example.@group.(-reduc
8c280 65 2d 72 20 23 27 2d 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b e-r.#'-.'(1.2.3.4)).....@result{
8c2a0 7d 20 2d 32 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 63 65 2d }.-2.@end.group.@group.(-reduce-
8c2c0 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 40 72 65 73 75 6c 74 r.#'list.'(1.2.3.4)).....@result
8c2e0 7b 7d 20 28 31 20 28 32 20 28 33 20 34 29 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f {}.(1.(2.(3.4))).@end.group.@gro
8c300 75 70 0a 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 20 61 up.(--reduce-r.(format."%s-%d".a
8c320 63 63 20 69 74 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 22 cc.it).'(1.2.3)).....@result{}."
8c340 33 2d 32 2d 31 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 3-2-1".@end.group.@end.example.@
8c360 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 end.defun..@anchor{-reductions-f
8c380 72 6f 6d 7d 0a 40 64 65 66 75 6e 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 6e rom}.@defun.-reductions-from.(fn
8c3a0 20 69 6e 69 74 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 40 76 61 .init.list).Return.a.list.of.@va
8c3c0 72 7b 66 6e 7d 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 r{fn}'s.intermediate.reductions.
8c3e0 61 63 72 6f 73 73 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 across.@var{list}..That.is,.a.li
8c400 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 66 st.of.the.intermediate.values.of
8c420 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 40 63 6f 64 65 7b 2d 72 65 64 .the.accumulator.when.@code{-red
8c440 75 63 65 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 2d 66 72 6f 6d 7d 29 uce-from}.(@pxref{-reduce-from})
8c460 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 20 74 68 65 20 .(which.see).is.called.with.the.
8c480 73 61 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 same.arguments...This.function's
8c4a0 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 40 63 6f 64 65 7b .anaphoric.counterpart.is.@code{
8c4c0 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 7d 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 --reductions-from}...For.other.f
8c4e0 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 74 69 6f 6e 73 olds,.see.also.@code{-reductions
8c500 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 74 69 6f 6e 73 7d 29 20 61 6e 64 20 40 63 6f 64 }.(@pxref{-reductions}).and.@cod
8c520 65 7b 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 74 e{-reductions-r}.(@pxref{-reduct
8c540 69 6f 6e 73 2d 72 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 ions-r})...@example.@group.(-red
8c560 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 29 29 uctions-from.#'max.0.'(2.1.4.3))
8c580 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 30 20 32 20 32 20 34 20 34 29 0a 40 65 6e 64 20 .....@result{}.(0.2.2.4.4).@end.
8c5a0 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 23 group.@group.(-reductions-from.#
8c5c0 27 2a 20 31 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 '*.1.'(1.2.3.4)).....@result{}.(
8c5e0 31 20 31 20 32 20 36 20 32 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 1.1.2.6.24).@end.group.@group.(-
8c600 2d 72 65 64 75 63 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 -reductions-from.(format."(FN.%s
8c620 20 25 64 29 22 20 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 .%d)".acc.it)."INIT".'(1.2.3))..
8c640 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 49 4e 49 54 22 20 22 28 46 4e 20 49 4e 49 54 20 31 ...@result{}.("INIT"."(FN.INIT.1
8c660 29 22 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 )"."(FN.(FN.INIT.1).2)"."(FN.(FN
8c680 20 28 46 4e 20 49 4e 49 54 20 31 29 20 32 29 20 33 29 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a .(FN.INIT.1).2).3)").@end.group.
8c6a0 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 @end.example.@end.defun..@anchor
8c6c0 7b 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 7d 0a 40 64 65 66 75 6e 20 2d 72 65 64 {-reductions-r-from}.@defun.-red
8c6e0 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 73 74 29 0a 52 65 uctions-r-from.(fn.init.list).Re
8c700 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 27 73 20 69 6e 74 65 72 6d turn.a.list.of.@var{fn}'s.interm
8c720 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 73 65 ediate.reductions.across.reverse
8c740 64 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 d.@var{list}..That.is,.a.list.of
8c760 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 20 .the.intermediate.values.of.the.
8c780 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 72 accumulator.when.@code{-reduce-r
8c7a0 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 7d 29 20 -from}.(@pxref{-reduce-r-from}).
8c7c0 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 20 74 68 65 20 73 (which.see).is.called.with.the.s
8c7e0 61 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 ame.arguments...This.function's.
8c800 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 40 63 6f 64 65 7b 2d anaphoric.counterpart.is.@code{-
8c820 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 7d 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 -reductions-r-from}...For.other.
8c840 66 6f 6c 64 73 2c 20 73 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 74 69 6f 6e folds,.see.also.@code{-reduction
8c860 73 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 74 69 6f 6e 73 7d 29 20 61 6e 64 20 40 63 6f s}.(@pxref{-reductions}).and.@co
8c880 64 65 7b 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 de{-reductions-r}.(@pxref{-reduc
8c8a0 74 69 6f 6e 73 2d 72 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 tions-r})...@example.@group.(-re
8c8c0 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 23 27 6d 61 78 20 30 20 27 28 32 20 31 20 34 20 ductions-r-from.#'max.0.'(2.1.4.
8c8e0 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 20 34 20 34 20 33 20 30 29 0a 40 65 3)).....@result{}.(4.4.4.3.0).@e
8c900 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 nd.group.@group.(-reductions-r-f
8c920 72 6f 6d 20 23 27 2a 20 31 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c rom.#'*.1.'(1.2.3.4)).....@resul
8c940 74 7b 7d 20 28 32 34 20 32 34 20 31 32 20 34 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 t{}.(24.24.12.4.1).@end.group.@g
8c960 72 6f 75 70 0a 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 28 66 6f 72 6d 61 roup.(--reductions-r-from.(forma
8c980 74 20 22 28 46 4e 20 25 64 20 25 73 29 22 20 69 74 20 61 63 63 29 20 22 49 4e 49 54 22 20 27 28 t."(FN.%d.%s)".it.acc)."INIT".'(
8c9a0 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 28 46 4e 20 31 20 28 46 1.2.3)).....@result{}.("(FN.1.(F
8c9c0 4e 20 32 20 28 46 4e 20 33 20 49 4e 49 54 29 29 29 22 20 22 28 46 4e 20 32 20 28 46 4e 20 33 20 N.2.(FN.3.INIT)))"."(FN.2.(FN.3.
8c9e0 49 4e 49 54 29 29 22 20 22 28 46 4e 20 33 20 49 4e 49 54 29 22 20 22 49 4e 49 54 22 29 0a 40 65 INIT))"."(FN.3.INIT)"."INIT").@e
8ca00 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e nd.group.@end.example.@end.defun
8ca20 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 64 75 63 74 69 6f 6e 73 7d 0a 40 64 65 66 75 6e 20 2d 72 ..@anchor{-reductions}.@defun.-r
8ca40 65 64 75 63 74 69 6f 6e 73 20 28 66 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 eductions.(fn.list).Return.a.lis
8ca60 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 27 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 t.of.@var{fn}'s.intermediate.red
8ca80 75 63 74 69 6f 6e 73 20 61 63 72 6f 73 73 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 54 68 61 74 20 uctions.across.@var{list}..That.
8caa0 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 76 is,.a.list.of.the.intermediate.v
8cac0 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 40 63 alues.of.the.accumulator.when.@c
8cae0 6f 64 65 7b 2d 72 65 64 75 63 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 7d 29 20 28 ode{-reduce}.(@pxref{-reduce}).(
8cb00 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
8cb20 6d 65 20 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
8cb40 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d naphoric.counterpart.is.@code{--
8cb60 72 65 64 75 63 74 69 6f 6e 73 7d 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 reductions}...For.other.folds,.s
8cb80 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 74 69 6f 6e 73 7d 20 28 40 70 78 72 ee.also.@code{-reductions}.(@pxr
8cba0 65 66 7b 2d 72 65 64 75 63 74 69 6f 6e 73 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 72 65 64 75 ef{-reductions}).and.@code{-redu
8cbc0 63 74 69 6f 6e 73 2d 72 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 7d ctions-r}.(@pxref{-reductions-r}
8cbe0 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 )...@example.@group.(-reductions
8cc00 20 23 27 2b 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 .#'+.'(1.2.3.4)).....@result{}.(
8cc20 31 20 33 20 36 20 31 30 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 1.3.6.10).@end.group.@group.(-re
8cc40 64 75 63 74 69 6f 6e 73 20 23 27 2a 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 ductions.#'*.'(1.2.3.4)).....@re
8cc60 73 75 6c 74 7b 7d 20 28 31 20 32 20 36 20 32 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 sult{}.(1.2.6.24).@end.group.@gr
8cc80 6f 75 70 0a 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 20 28 66 6f 72 6d 61 74 20 22 28 46 4e 20 25 oup.(--reductions.(format."(FN.%
8cca0 73 20 25 64 29 22 20 61 63 63 20 69 74 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 s.%d)".acc.it).'(1.2.3)).....@re
8ccc0 73 75 6c 74 7b 7d 20 28 31 20 22 28 46 4e 20 31 20 32 29 22 20 22 28 46 4e 20 28 46 4e 20 31 20 sult{}.(1."(FN.1.2)"."(FN.(FN.1.
8cce0 32 29 20 33 29 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 2).3)").@end.group.@end.example.
8cd00 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 64 75 63 74 69 6f 6e 73 2d @end.defun..@anchor{-reductions-
8cd20 72 7d 0a 40 64 65 66 75 6e 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 28 66 6e 20 6c 69 73 74 r}.@defun.-reductions-r.(fn.list
8cd40 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 27 73 20 69 6e ).Return.a.list.of.@var{fn}'s.in
8cd60 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 72 65 76 termediate.reductions.across.rev
8cd80 65 72 73 65 64 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 54 68 61 74 20 69 73 2c 20 61 20 6c 69 73 ersed.@var{list}..That.is,.a.lis
8cda0 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 66 20 t.of.the.intermediate.values.of.
8cdc0 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 77 68 65 6e 20 40 63 6f 64 65 7b 2d 72 65 64 75 the.accumulator.when.@code{-redu
8cde0 63 65 2d 72 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 2d 72 7d 29 20 28 77 68 69 63 68 ce-r}.(@pxref{-reduce-r}).(which
8ce00 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
8ce20 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 6f guments...This.function's.anapho
8ce40 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 72 65 64 75 63 ric.counterpart.is.@code{--reduc
8ce60 74 69 6f 6e 73 2d 72 7d 2e 0a 0a 46 6f 72 20 6f 74 68 65 72 20 66 6f 6c 64 73 2c 20 73 65 65 20 tions-r}...For.other.folds,.see.
8ce80 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 7d 20 28 also.@code{-reductions-r-from}.(
8cea0 40 70 78 72 65 66 7b 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 7d 29 20 61 6e 64 0a @pxref{-reductions-r-from}).and.
8cec0 40 63 6f 64 65 7b 2d 72 65 64 75 63 74 69 6f 6e 73 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 @code{-reductions}.(@pxref{-redu
8cee0 63 74 69 6f 6e 73 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 64 ctions})...@example.@group.(-red
8cf00 75 63 74 69 6f 6e 73 2d 72 20 23 27 2b 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 uctions-r.#'+.'(1.2.3.4)).....@r
8cf20 65 73 75 6c 74 7b 7d 20 28 31 30 20 39 20 37 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 esult{}.(10.9.7.4).@end.group.@g
8cf40 72 6f 75 70 0a 28 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 23 27 2a 20 27 28 31 20 32 20 33 20 roup.(-reductions-r.#'*.'(1.2.3.
8cf60 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 34 20 32 34 20 31 32 20 34 29 0a 40 4)).....@result{}.(24.24.12.4).@
8cf80 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 end.group.@group.(--reductions-r
8cfa0 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 63 63 29 20 27 28 .(format."(FN.%d.%s)".it.acc).'(
8cfc0 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 28 46 4e 20 31 20 28 46 1.2.3)).....@result{}.("(FN.1.(F
8cfe0 4e 20 32 20 33 29 29 22 20 22 28 46 4e 20 32 20 33 29 22 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 N.2.3))"."(FN.2.3)".3).@end.grou
8d000 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 p.@end.example.@end.defun..@anch
8d020 6f 72 7b 2d 63 6f 75 6e 74 7d 0a 40 64 65 66 75 6e 20 2d 63 6f 75 6e 74 20 28 70 72 65 64 20 6c or{-count}.@defun.-count.(pred.l
8d040 69 73 74 29 0a 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 20 ist).Counts.the.number.of.items.
8d060 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 68 65 72 65 20 28 40 76 61 72 7b 70 72 65 64 7d 20 in.@var{list}.where.(@var{pred}.
8d080 69 74 65 6d 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f item).is.non-nil...@example.@gro
8d0a0 75 70 0a 28 2d 63 6f 75 6e 74 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a up.(-count.'even?.'(1.2.3.4.5)).
8d0c0 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 32 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 ....@result{}.2.@end.group.@grou
8d0e0 70 0a 28 2d 2d 63 6f 75 6e 74 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 29 29 0a p.(--count.(<.it.4).'(1.2.3.4)).
8d100 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 ....@result{}.3.@end.group.@end.
8d120 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 75 6d example.@end.defun..@anchor{-sum
8d140 7d 0a 40 64 65 66 75 6e 20 2d 73 75 6d 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 }.@defun.-sum.(list).Return.the.
8d160 73 75 6d 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 sum.of.@var{list}...@example.@gr
8d180 6f 75 70 0a 28 2d 73 75 6d 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 30 0a 40 65 oup.(-sum.()).....@result{}.0.@e
8d1a0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 75 6d 20 27 28 31 29 29 0a 20 20 20 20 nd.group.@group.(-sum.'(1)).....
8d1c0 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d @result{}.1.@end.group.@group.(-
8d1e0 73 75 6d 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 30 sum.'(1.2.3.4)).....@result{}.10
8d200 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 .@end.group.@end.example.@end.de
8d220 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 7d 0a 40 64 65 66 75 fun..@anchor{-running-sum}.@defu
8d240 6e 20 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c n.-running-sum.(list).Return.a.l
8d260 69 73 74 20 77 69 74 68 20 72 75 6e 6e 69 6e 67 20 73 75 6d 73 20 6f 66 20 69 74 65 6d 73 20 69 ist.with.running.sums.of.items.i
8d280 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 40 76 61 72 7b 6c 69 73 74 7d 20 6d 75 73 74 20 62 65 n.@var{list}..@var{list}.must.be
8d2a0 20 6e 6f 6e 2d 65 6d 70 74 79 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 .non-empty...@example.@group.(-r
8d2c0 75 6e 6e 69 6e 67 2d 73 75 6d 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 unning-sum.'(1.2.3.4)).....@resu
8d2e0 6c 74 7b 7d 20 28 31 20 33 20 36 20 31 30 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 lt{}.(1.3.6.10).@end.group.@grou
8d300 70 0a 28 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c p.(-running-sum.'(1)).....@resul
8d320 74 7b 7d 20 28 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 75 6e 6e t{}.(1).@end.group.@group.(-runn
8d340 69 6e 67 2d 73 75 6d 20 28 29 29 0a 20 20 20 20 40 65 72 72 6f 72 7b 7d 20 57 72 6f 6e 67 20 74 ing-sum.()).....@error{}.Wrong.t
8d360 79 70 65 20 61 72 67 75 6d 65 6e 74 3a 20 63 6f 6e 73 70 2c 20 6e 69 6c 0a 40 65 6e 64 20 67 72 ype.argument:.consp,.nil.@end.gr
8d380 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e oup.@end.example.@end.defun..@an
8d3a0 63 68 6f 72 7b 2d 70 72 6f 64 75 63 74 7d 0a 40 64 65 66 75 6e 20 2d 70 72 6f 64 75 63 74 20 28 chor{-product}.@defun.-product.(
8d3c0 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 70 72 6f 64 75 63 74 20 6f 66 20 40 76 61 72 list).Return.the.product.of.@var
8d3e0 7b 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 72 6f 64 75 {list}...@example.@group.(-produ
8d400 63 74 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 ct.()).....@result{}.1.@end.grou
8d420 70 0a 40 67 72 6f 75 70 0a 28 2d 70 72 6f 64 75 63 74 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 p.@group.(-product.'(1)).....@re
8d440 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 72 6f sult{}.1.@end.group.@group.(-pro
8d460 64 75 63 74 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 32 duct.'(1.2.3.4)).....@result{}.2
8d480 34 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 4.@end.group.@end.example.@end.d
8d4a0 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 7d 0a efun..@anchor{-running-product}.
8d4c0 40 64 65 66 75 6e 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 52 @defun.-running-product.(list).R
8d4e0 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 63 eturn.a.list.with.running.produc
8d500 74 73 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 40 76 61 72 7b ts.of.items.in.@var{list}..@var{
8d520 6c 69 73 74 7d 20 6d 75 73 74 20 62 65 20 6e 6f 6e 2d 65 6d 70 74 79 2e 0a 0a 40 65 78 61 6d 70 list}.must.be.non-empty...@examp
8d540 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 27 28 31 20 le.@group.(-running-product.'(1.
8d560 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 36 20 32 34 29 2.3.4)).....@result{}.(1.2.6.24)
8d580 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f .@end.group.@group.(-running-pro
8d5a0 64 75 63 74 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 29 0a 40 65 6e duct.'(1)).....@result{}.(1).@en
8d5c0 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 d.group.@group.(-running-product
8d5e0 20 28 29 29 0a 20 20 20 20 40 65 72 72 6f 72 7b 7d 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 .()).....@error{}.Wrong.type.arg
8d600 75 6d 65 6e 74 3a 20 63 6f 6e 73 70 2c 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e ument:.consp,.nil.@end.group.@en
8d620 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 d.example.@end.defun..@anchor{-i
8d640 6e 69 74 73 7d 0a 40 64 65 66 75 6e 20 2d 69 6e 69 74 73 20 28 6c 69 73 74 29 0a 52 65 74 75 72 nits}.@defun.-inits.(list).Retur
8d660 6e 20 61 6c 6c 20 70 72 65 66 69 78 65 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 n.all.prefixes.of.@var{list}...@
8d680 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 69 74 73 20 27 28 31 20 32 20 33 20 34 example.@group.(-inits.'(1.2.3.4
8d6a0 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 69 6c 20 28 31 29 20 28 31 20 32 29 20 )).....@result{}.(nil.(1).(1.2).
8d6c0 28 31 20 32 20 33 29 20 28 31 20 32 20 33 20 34 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 (1.2.3).(1.2.3.4)).@end.group.@g
8d6e0 72 6f 75 70 0a 28 2d 69 6e 69 74 73 20 6e 69 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 roup.(-inits.nil).....@result{}.
8d700 28 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 69 74 73 20 (nil).@end.group.@group.(-inits.
8d720 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 69 6c 20 28 31 29 29 0a 40 65 '(1)).....@result{}.(nil.(1)).@e
8d740 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e nd.group.@end.example.@end.defun
8d760 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 61 69 6c 73 7d 0a 40 64 65 66 75 6e 20 2d 74 61 69 6c 73 20 ..@anchor{-tails}.@defun.-tails.
8d780 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 6c 6c 20 73 75 66 66 69 78 65 73 20 6f 66 20 40 76 (list).Return.all.suffixes.of.@v
8d7a0 61 72 7b 6c 69 73 74 7d 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 61 69 6c ar{list}..@example.@group.(-tail
8d7c0 73 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 s.'(1.2.3.4)).....@result{}.((1.
8d7e0 32 20 33 20 34 29 20 28 32 20 33 20 34 29 20 28 33 20 34 29 20 28 34 29 20 6e 69 6c 29 0a 40 65 2.3.4).(2.3.4).(3.4).(4).nil).@e
8d800 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 61 69 6c 73 20 6e 69 6c 29 0a 20 20 20 nd.group.@group.(-tails.nil)....
8d820 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f .@result{}.(nil).@end.group.@gro
8d840 75 70 0a 28 2d 74 61 69 6c 73 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 up.(-tails.'(1)).....@result{}.(
8d860 28 31 29 20 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 (1).nil).@end.group.@end.example
8d880 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 .@end.defun..@anchor{-common-pre
8d8a0 66 69 78 7d 0a 40 64 65 66 75 6e 20 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 28 26 72 65 73 fix}.@defun.-common-prefix.(&res
8d8c0 74 20 6c 69 73 74 73 29 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 63 6f 6d 6d t.lists).Return.the.longest.comm
8d8e0 6f 6e 20 70 72 65 66 69 78 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 73 7d 2e 0a 0a 40 65 78 61 6d on.prefix.of.@var{lists}...@exam
8d900 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 27 28 31 29 29 ple.@group.(-common-prefix.'(1))
8d920 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 .....@result{}.(1).@end.group.@g
8d940 72 6f 75 70 0a 28 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 27 28 31 20 32 29 20 27 28 33 20 roup.(-common-prefix.'(1.2).'(3.
8d960 34 29 20 27 28 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 4).'(1.2)).....@result{}.().@end
8d980 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 27 28 .group.@group.(-common-prefix.'(
8d9a0 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 0a 20 20 20 20 40 72 1.2).'(1.2.3).'(1.2.3.4)).....@r
8d9c0 65 73 75 6c 74 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 esult{}.(1.2).@end.group.@end.ex
8d9e0 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6f 6d 6d 6f ample.@end.defun..@anchor{-commo
8da00 6e 2d 73 75 66 66 69 78 7d 0a 40 64 65 66 75 6e 20 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 n-suffix}.@defun.-common-suffix.
8da20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 6f 6e 67 65 73 74 (&rest.lists).Return.the.longest
8da40 20 63 6f 6d 6d 6f 6e 20 73 75 66 66 69 78 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 73 7d 2e 0a 0a .common.suffix.of.@var{lists}...
8da60 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 @example.@group.(-common-suffix.
8da80 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 29 0a 40 65 6e 64 20 67 72 6f '(1)).....@result{}.(1).@end.gro
8daa0 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 27 28 31 20 32 29 up.@group.(-common-suffix.'(1.2)
8dac0 20 27 28 33 20 34 29 20 27 28 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 .'(3.4).'(1.2)).....@result{}.()
8dae0 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 .@end.group.@group.(-common-suff
8db00 69 78 20 27 28 31 20 32 20 33 20 34 29 20 27 28 32 20 33 20 34 29 20 27 28 33 20 34 29 29 0a 20 ix.'(1.2.3.4).'(2.3.4).'(3.4))..
8db20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 ...@result{}.(3.4).@end.group.@e
8db40 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d nd.example.@end.defun..@anchor{-
8db60 6d 69 6e 7d 0a 40 64 65 66 75 6e 20 2d 6d 69 6e 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 min}.@defun.-min.(list).Return.t
8db80 68 65 20 73 6d 61 6c 6c 65 73 74 20 76 61 6c 75 65 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 74 he.smallest.value.from.@var{list
8dba0 7d 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 40 65 78 61 6d 70 }.of.numbers.or.markers...@examp
8dbc0 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6d 69 6e 20 27 28 30 29 29 0a 20 20 20 20 40 72 65 73 75 6c le.@group.(-min.'(0)).....@resul
8dbe0 74 7b 7d 20 30 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6d 69 6e 20 27 28 t{}.0.@end.group.@group.(-min.'(
8dc00 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 3.2.1)).....@result{}.1.@end.gro
8dc20 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6d 69 6e 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 up.@group.(-min.'(1.2.3)).....@r
8dc40 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c esult{}.1.@end.group.@end.exampl
8dc60 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6d 69 6e 2d 62 79 7d 0a 40 e.@end.defun..@anchor{-min-by}.@
8dc80 64 65 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 defun.-min-by.(comparator.list).
8dca0 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 40 76 61 72 7b Take.a.comparison.function.@var{
8dcc0 63 6f 6d 70 61 72 61 74 6f 72 7d 20 61 6e 64 20 61 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 6e 64 comparator}.and.a.@var{list}.and
8dce0 20 72 65 74 75 72 6e 0a 74 68 65 20 6c 65 61 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 .return.the.least.element.of.the
8dd00 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 6e 63 74 69 6f 6e .list.by.the.comparison.function
8dd20 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 63 6f 6d 62 69 6e 61 74 6f 72 20 40 63 6f 64 65 7b 2d 6f 6e ...See.also.combinator.@code{-on
8dd40 7d 20 28 40 70 78 72 65 66 7b 2d 6f 6e 7d 29 20 77 68 69 63 68 20 63 61 6e 20 74 72 61 6e 73 66 }.(@pxref{-on}).which.can.transf
8dd60 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 67 20 orm.the.values.before.comparing.
8dd80 74 68 65 6d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6d 69 6e 2d 62 79 20 them...@example.@group.(-min-by.
8dda0 27 3e 20 27 28 34 20 33 20 36 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 '>.'(4.3.6.1)).....@result{}.1.@
8ddc0 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d 69 6e 2d 62 79 20 28 3e 20 28 63 end.group.@group.(--min-by.(>.(c
8dde0 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 32 20 33 29 20 28 32 ar.it).(car.other)).'((1.2.3).(2
8de00 29 20 28 33 20 32 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a ).(3.2))).....@result{}.(1.2.3).
8de20 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6d 69 6e 2d 62 79 20 28 3e 20 28 @end.group.@group.(--min-by.(>.(
8de40 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 28 31 20 length.it).(length.other)).'((1.
8de60 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 2.3).(2).(3.2))).....@result{}.(
8de80 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 2).@end.group.@end.example.@end.
8dea0 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6d 61 78 7d 0a 40 64 65 66 75 6e 20 2d 6d 61 78 defun..@anchor{-max}.@defun.-max
8dec0 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 61 72 67 65 73 74 20 76 61 6c 75 65 .(list).Return.the.largest.value
8dee0 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 74 7d 20 6f 66 20 6e 75 6d 62 65 72 73 20 6f 72 20 6d .from.@var{list}.of.numbers.or.m
8df00 61 72 6b 65 72 73 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 78 20 27 arkers...@example.@group.(-max.'
8df20 28 30 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 30 0a 40 65 6e 64 20 67 72 6f 75 70 0a (0)).....@result{}.0.@end.group.
8df40 40 67 72 6f 75 70 0a 28 2d 6d 61 78 20 27 28 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 @group.(-max.'(3.2.1)).....@resu
8df60 6c 74 7b 7d 20 33 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 78 20 27 lt{}.3.@end.group.@group.(-max.'
8df80 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 65 6e 64 20 67 72 (1.2.3)).....@result{}.3.@end.gr
8dfa0 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e oup.@end.example.@end.defun..@an
8dfc0 63 68 6f 72 7b 2d 6d 61 78 2d 62 79 7d 0a 40 64 65 66 75 6e 20 2d 6d 61 78 2d 62 79 20 28 63 6f chor{-max-by}.@defun.-max-by.(co
8dfe0 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 54 61 6b 65 20 61 20 63 6f 6d 70 61 72 69 73 6f 6e mparator.list).Take.a.comparison
8e000 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 63 6f 6d 70 61 72 61 74 6f 72 7d 20 61 6e 64 20 61 .function.@var{comparator}.and.a
8e020 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 6e 64 20 72 65 74 75 72 6e 0a 74 68 65 20 67 72 65 61 74 .@var{list}.and.return.the.great
8e040 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 65 20 63 est.element.of.the.list.by.the.c
8e060 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 20 63 6f omparison.function...See.also.co
8e080 6d 62 69 6e 61 74 6f 72 20 40 63 6f 64 65 7b 2d 6f 6e 7d 20 28 40 70 78 72 65 66 7b 2d 6f 6e 7d mbinator.@code{-on}.(@pxref{-on}
8e0a0 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 20 76 61 6c 75 65 73 ).which.can.transform.the.values
8e0c0 20 62 65 66 6f 72 65 0a 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 6d 2e 0a 0a 40 65 78 61 6d 70 6c .before.comparing.them...@exampl
8e0e0 65 0a 40 67 72 6f 75 70 0a 28 2d 6d 61 78 2d 62 79 20 27 3e 20 27 28 34 20 33 20 36 20 31 29 29 e.@group.(-max-by.'>.'(4.3.6.1))
8e100 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 36 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f .....@result{}.6.@end.group.@gro
8e120 75 70 0a 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 6f 74 up.(--max-by.(>.(car.it).(car.ot
8e140 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 20 20 her)).'((1.2.3).(2).(3.2))).....
8e160 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 @result{}.(3.2).@end.group.@grou
8e180 70 0a 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 p.(--max-by.(>.(length.it).(leng
8e1a0 74 68 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 th.other)).'((1.2.3).(2).(3.2)))
8e1c0 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 .....@result{}.(1.2.3).@end.grou
8e1e0 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 p.@end.example.@end.defun..@node
8e200 20 55 6e 66 6f 6c 64 69 6e 67 0a 40 73 65 63 74 69 6f 6e 20 55 6e 66 6f 6c 64 69 6e 67 0a 0a 4f .Unfolding.@section.Unfolding..O
8e220 70 65 72 61 74 69 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 perations.dual.to.reductions,.bu
8e240 69 6c 64 69 6e 67 20 6c 69 73 74 73 20 66 72 6f 6d 20 61 20 73 65 65 64 0a 76 61 6c 75 65 20 72 ilding.lists.from.a.seed.value.r
8e260 61 74 68 65 72 20 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 ather.than.consuming.a.list.to.p
8e280 72 6f 64 75 63 65 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 2e 0a 0a 40 61 6e 63 68 6f 72 7b roduce.a.single.value...@anchor{
8e2a0 2d 69 74 65 72 61 74 65 7d 0a 40 64 65 66 75 6e 20 2d 69 74 65 72 61 74 65 20 28 66 75 6e 20 69 -iterate}.@defun.-iterate.(fun.i
8e2c0 6e 69 74 20 6e 29 0a 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 nit.n).Return.a.list.of.iterated
8e2e0 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 40 76 61 72 7b 66 75 6e 7d 20 74 6f 20 40 76 .applications.of.@var{fun}.to.@v
8e300 61 72 7b 69 6e 69 74 7d 2e 0a 0a 54 68 69 73 20 6d 65 61 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 ar{init}...This.means.a.list.of.
8e320 74 68 65 20 66 6f 72 6d 3a 0a 0a 20 20 28 40 76 61 72 7b 69 6e 69 74 7d 20 28 40 76 61 72 7b 66 the.form:....(@var{init}.(@var{f
8e340 75 6e 7d 20 40 76 61 72 7b 69 6e 69 74 7d 29 20 28 40 76 61 72 7b 66 75 6e 7d 20 28 40 76 61 72 un}.@var{init}).(@var{fun}.(@var
8e360 7b 66 75 6e 7d 20 40 76 61 72 7b 69 6e 69 74 7d 29 29 20 40 64 6f 74 73 7b 7d 29 0a 0a 40 76 61 {fun}.@var{init})).@dots{})..@va
8e380 72 7b 6e 7d 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 75 72 6e r{n}.is.the.length.of.the.return
8e3a0 65 64 20 6c 69 73 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 74 65 72 ed.list...@example.@group.(-iter
8e3c0 61 74 65 20 23 27 31 2b 20 31 20 31 30 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 ate.#'1+.1.10).....@result{}.(1.
8e3e0 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 20 31 30 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 2.3.4.5.6.7.8.9.10).@end.group.@
8e400 67 72 6f 75 70 0a 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 group.(-iterate.(lambda.(x).(+.x
8e420 20 78 29 29 20 32 20 35 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 34 20 38 20 31 .x)).2.5).....@result{}.(2.4.8.1
8e440 36 20 33 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 69 74 65 72 61 6.32).@end.group.@group.(--itera
8e460 74 65 20 28 2a 20 69 74 20 69 74 29 20 32 20 35 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 te.(*.it.it).2.5).....@result{}.
8e480 28 32 20 34 20 31 36 20 32 35 36 20 36 35 35 33 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 (2.4.16.256.65536).@end.group.@e
8e4a0 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d nd.example.@end.defun..@anchor{-
8e4c0 75 6e 66 6f 6c 64 7d 0a 40 64 65 66 75 6e 20 2d 75 6e 66 6f 6c 64 20 28 66 75 6e 20 73 65 65 64 unfold}.@defun.-unfold.(fun.seed
8e4e0 29 0a 42 75 69 6c 64 20 61 20 6c 69 73 74 20 66 72 6f 6d 20 40 76 61 72 7b 73 65 65 64 7d 20 75 ).Build.a.list.from.@var{seed}.u
8e500 73 69 6e 67 20 40 76 61 72 7b 66 75 6e 7d 2e 0a 0a 54 68 69 73 20 69 73 20 22 64 75 61 6c 22 20 sing.@var{fun}...This.is."dual".
8e520 6f 70 65 72 61 74 69 6f 6e 20 74 6f 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 72 7d 20 28 40 operation.to.@code{-reduce-r}.(@
8e540 70 78 72 65 66 7b 2d 72 65 64 75 63 65 2d 72 7d 29 3a 20 77 68 69 6c 65 20 2d 72 65 64 75 63 65 pxref{-reduce-r}):.while.-reduce
8e560 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.
8e580 73 69 6e 67 6c 65 20 76 61 6c 75 65 2c 20 40 63 6f 64 65 7b 2d 75 6e 66 6f 6c 64 7d 20 28 40 70 single.value,.@code{-unfold}.(@p
8e5a0 78 72 65 66 7b 2d 75 6e 66 6f 6c 64 7d 29 20 74 61 6b 65 73 20 61 0a 73 65 65 64 20 76 61 6c 75 xref{-unfold}).takes.a.seed.valu
8e5c0 65 20 61 6e 64 20 62 75 69 6c 64 73 20 61 20 28 70 6f 74 65 6e 74 69 61 6c 6c 79 20 69 6e 66 69 e.and.builds.a.(potentially.infi
8e5e0 6e 69 74 65 21 29 20 6c 69 73 74 2e 0a 0a 40 76 61 72 7b 66 75 6e 7d 20 73 68 6f 75 6c 64 20 72 nite!).list...@var{fun}.should.r
8e600 65 74 75 72 6e 20 40 63 6f 64 65 7b 6e 69 6c 7d 20 74 6f 20 73 74 6f 70 20 74 68 65 20 67 65 6e eturn.@code{nil}.to.stop.the.gen
8e620 65 72 61 74 69 6e 67 20 70 72 6f 63 65 73 73 2c 20 6f 72 20 61 0a 63 6f 6e 73 20 28 40 76 61 72 erating.process,.or.a.cons.(@var
8e640 7b 61 7d 20 2e 20 40 76 61 72 7b 62 7d 29 2c 20 77 68 65 72 65 20 40 76 61 72 7b 61 7d 20 77 69 {a}...@var{b}),.where.@var{a}.wi
8e660 6c 6c 20 62 65 20 70 72 65 70 65 6e 64 65 64 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 61 6e ll.be.prepended.to.the.result.an
8e680 64 20 40 76 61 72 7b 62 7d 20 69 73 0a 74 68 65 20 6e 65 77 20 73 65 65 64 2e 0a 0a 40 65 78 61 d.@var{b}.is.the.new.seed...@exa
8e6a0 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 75 6e 66 6f 6c 64 20 28 6c 61 6d 62 64 61 20 28 78 29 mple.@group.(-unfold.(lambda.(x)
8e6c0 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 28 31 2d 20 78 29 29 .(unless.(=.x.0).(cons.x.(1-.x))
8e6e0 29 29 20 31 30 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 30 20 39 20 38 20 37 20 36 )).10).....@result{}.(10.9.8.7.6
8e700 20 35 20 34 20 33 20 32 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d .5.4.3.2.1).@end.group.@group.(-
8e720 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 72 20 69 -unfold.(when.it.(cons.it.(cdr.i
8e740 74 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 t))).'(1.2.3.4)).....@result{}.(
8e760 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 34 29 29 0a 40 65 6e (1.2.3.4).(2.3.4).(3.4).(4)).@en
8e780 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 75 6e 66 6f 6c 64 20 28 77 68 65 6e 20 69 d.group.@group.(--unfold.(when.i
8e7a0 74 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 t.(cons.it.(butlast.it))).'(1.2.
8e7c0 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 20 34 29 20 28 3.4)).....@result{}.((1.2.3.4).(
8e7e0 31 20 32 20 33 29 20 28 31 20 32 29 20 28 31 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 1.2.3).(1.2).(1)).@end.group.@en
8e800 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 50 72 65 64 d.example.@end.defun..@node.Pred
8e820 69 63 61 74 65 73 0a 40 73 65 63 74 69 6f 6e 20 50 72 65 64 69 63 61 74 65 73 0a 0a 52 65 64 75 icates.@section.Predicates..Redu
8e840 63 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 ctions.of.one.or.more.lists.to.a
8e860 20 62 6f 6f 6c 65 61 6e 20 76 61 6c 75 65 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 6f 6d 65 7d 0a .boolean.value...@anchor{-some}.
8e880 40 64 65 66 75 6e 20 2d 73 6f 6d 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 @defun.-some.(pred.list).Return.
8e8a0 28 40 76 61 72 7b 70 72 65 64 7d 20 78 29 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20 40 76 61 (@var{pred}.x).for.the.first.@va
8e8c0 72 7b 6c 69 73 74 7d 20 69 74 65 6d 20 77 68 65 72 65 20 28 40 76 61 72 7b 70 72 65 64 7d 20 78 r{list}.item.where.(@var{pred}.x
8e8e0 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 ).is.non-nil,.else.nil...Alias:.
8e900 40 63 6f 64 65 7b 2d 61 6e 79 7d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 61 6e @code{-any}...This.function's.an
8e920 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 73 aphoric.counterpart.is.@code{--s
8e940 6f 6d 65 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 6d 65 20 23 27 ome}...@example.@group.(-some.#'
8e960 73 74 72 69 6e 67 70 20 27 28 31 20 22 32 22 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b stringp.'(1."2".3)).....@result{
8e980 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 73 6f 6d 65 20 28 73 }.t.@end.group.@group.(--some.(s
8e9a0 74 72 69 6e 67 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 tring-match-p."x".it).'("foo"."a
8e9c0 78 65 22 20 22 78 6f 72 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 xe"."xor")).....@result{}.1.@end
8e9e0 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 73 6f 6d 65 20 28 3d 20 69 74 2d 69 6e 64 65 .group.@group.(--some.(=.it-inde
8ea00 78 20 33 29 20 27 28 30 20 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c x.3).'(0.1.2)).....@result{}.nil
8ea20 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 .@end.group.@end.example.@end.de
8ea40 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 65 76 65 72 79 7d 0a 40 64 65 66 75 6e 20 2d 65 76 65 fun..@anchor{-every}.@defun.-eve
8ea60 72 79 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 ry.(pred.list).Return.non-nil.if
8ea80 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 .@var{pred}.returns.non-nil.for.
8eaa0 61 6c 6c 20 69 74 65 6d 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 49 66 20 73 6f 2c 20 all.items.in.@var{list}..If.so,.
8eac0 72 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 73 75 63 68 20 72 65 73 75 6c 74 20 6f 66 20 40 return.the.last.such.result.of.@
8eae0 76 61 72 7b 70 72 65 64 7d 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 6f 6e 63 65 20 61 6e 0a 69 var{pred}...Otherwise,.once.an.i
8eb00 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 40 76 61 72 7b 70 72 tem.is.reached.for.which.@var{pr
8eb20 65 64 7d 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 ed}.returns.nil,.return.nil.with
8eb40 6f 75 74 0a 63 61 6c 6c 69 6e 67 20 40 76 61 72 7b 70 72 65 64 7d 20 6f 6e 20 61 6e 79 20 66 75 out.calling.@var{pred}.on.any.fu
8eb60 72 74 68 65 72 20 40 76 61 72 7b 6c 69 73 74 7d 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 54 68 69 73 rther.@var{list}.elements...This
8eb80 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 40 63 6f 64 65 7b 2d 65 76 65 72 79 2d 70 .function.is.like.@code{-every-p
8eba0 7d 2c 20 62 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 },.but.on.success.returns.the.la
8ebc0 73 74 0a 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 40 76 61 72 7b 70 72 65 64 7d 20 st.non-nil.result.of.@var{pred}.
8ebe0 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 66 75 6e 63 74 69 6f instead.of.just.t...This.functio
8ec00 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 40 63 6f n's.anaphoric.counterpart.is.@co
8ec20 64 65 7b 2d 2d 65 76 65 72 79 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d de{--every}...@example.@group.(-
8ec40 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 20 20 20 20 40 72 every.#'numberp.'(1.2.3)).....@r
8ec60 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 65 esult{}.t.@end.group.@group.(--e
8ec80 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 28 22 very.(string-match-p."x".it).'("
8eca0 61 78 65 22 20 22 78 6f 72 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 30 0a 40 65 6e axe"."xor")).....@result{}.0.@en
8ecc0 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 65 76 65 72 79 20 28 3d 20 69 74 20 69 74 d.group.@group.(--every.(=.it.it
8ece0 2d 69 6e 64 65 78 29 20 27 28 30 20 31 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 -index).'(0.1.3)).....@result{}.
8ed00 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 nil.@end.group.@end.example.@end
8ed20 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 61 6e 79 3f 7d 0a 40 64 65 66 75 6e 20 2d 61 .defun..@anchor{-any?}.@defun.-a
8ed40 6e 79 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 20 69 66 20 28 40 76 61 ny?.(pred.list).Return.t.if.(@va
8ed60 72 7b 70 72 65 64 7d 20 78 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 6e 79 20 78 20 r{pred}.x).is.non-nil.for.any.x.
8ed80 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 65 6c 73 65 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a in.@var{list},.else.nil...Alias:
8eda0 20 40 63 6f 64 65 7b 2d 61 6e 79 2d 70 7d 2c 20 40 63 6f 64 65 7b 2d 73 6f 6d 65 3f 7d 2c 20 40 .@code{-any-p},.@code{-some?},.@
8edc0 63 6f 64 65 7b 2d 73 6f 6d 65 2d 70 7d 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 code{-some-p}..@example.@group.(
8ede0 2d 61 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 -any?.#'numberp.'(nil.0.t)).....
8ee00 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d @result{}.t.@end.group.@group.(-
8ee20 61 6e 79 3f 20 23 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 40 any?.#'numberp.'(nil.t.t)).....@
8ee40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 result{}.nil.@end.group.@group.(
8ee60 2d 61 6e 79 3f 20 23 27 6e 75 6c 6c 20 27 28 31 20 33 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 -any?.#'null.'(1.3.5)).....@resu
8ee80 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 lt{}.nil.@end.group.@end.example
8eea0 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 61 6c 6c 3f 7d 0a 40 64 65 66 .@end.defun..@anchor{-all?}.@def
8eec0 75 6e 20 2d 61 6c 6c 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 20 69 66 un.-all?.(pred.list).Return.t.if
8eee0 20 28 40 76 61 72 7b 70 72 65 64 7d 20 40 76 61 72 7b 78 7d 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c .(@var{pred}.@var{x}).is.non-nil
8ef00 20 66 6f 72 20 61 6c 6c 20 40 76 61 72 7b 78 7d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 .for.all.@var{x}.in.@var{list},.
8ef20 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 20 73 74 else.nil..In.the.latter.case,.st
8ef40 6f 70 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 40 76 61 72 7b 78 7d 20 66 6f 72 20 77 op.after.the.first.@var{x}.for.w
8ef60 68 69 63 68 20 28 40 76 61 72 7b 70 72 65 64 7d 20 40 76 61 72 7b 78 7d 29 20 69 73 0a 6e 69 6c hich.(@var{pred}.@var{x}).is.nil
8ef80 2c 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 40 76 61 72 7b 70 72 65 64 7d 20 6f 6e 20 ,.without.calling.@var{pred}.on.
8efa0 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 20 40 76 61 72 7b any.subsequent.elements.of.@var{
8efc0 6c 69 73 74 7d 2e 0a 0a 54 68 65 20 73 69 6d 69 6c 61 72 20 66 75 6e 63 74 69 6f 6e 20 40 63 6f list}...The.similar.function.@co
8efe0 64 65 7b 2d 65 76 65 72 79 7d 20 28 40 70 78 72 65 66 7b 2d 65 76 65 72 79 7d 29 20 69 73 20 6d de{-every}.(@pxref{-every}).is.m
8f000 6f 72 65 20 77 69 64 65 6c 79 20 75 73 65 66 75 6c 2c 20 73 69 6e 63 65 20 69 74 0a 72 65 74 75 ore.widely.useful,.since.it.retu
8f020 72 6e 73 20 74 68 65 20 6c 61 73 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 40 rns.the.last.non-nil.result.of.@
8f040 76 61 72 7b 70 72 65 64 7d 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 74 20 6f 6e 0a 73 var{pred}.instead.of.just.t.on.s
8f060 75 63 63 65 73 73 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 61 6c 6c 2d 70 7d 2c 20 40 uccess...Alias:.@code{-all-p},.@
8f080 63 6f 64 65 7b 2d 65 76 65 72 79 2d 70 7d 2c 20 40 63 6f 64 65 7b 2d 65 76 65 72 79 3f 7d 2e 0a code{-every-p},.@code{-every?}..
8f0a0 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 74 .This.function's.anaphoric.count
8f0c0 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 61 6c 6c 3f 7d 2e 0a 0a 40 65 78 61 6d 70 erpart.is.@code{--all?}...@examp
8f0e0 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 61 6c 6c 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 31 20 32 le.@group.(-all?.#'numberp.'(1.2
8f100 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a .3)).....@result{}.t.@end.group.
8f120 40 67 72 6f 75 70 0a 28 2d 61 6c 6c 3f 20 23 27 6e 75 6d 62 65 72 70 20 27 28 32 20 74 20 36 29 @group.(-all?.#'numberp.'(2.t.6)
8f140 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ).....@result{}.nil.@end.group.@
8f160 67 72 6f 75 70 0a 28 2d 2d 61 6c 6c 3f 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 32 group.(--all?.(=.0.(%.it.2)).'(2
8f180 20 34 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 .4.6)).....@result{}.t.@end.grou
8f1a0 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 p.@end.example.@end.defun..@anch
8f1c0 6f 72 7b 2d 6e 6f 6e 65 3f 7d 0a 40 64 65 66 75 6e 20 2d 6e 6f 6e 65 3f 20 28 70 72 65 64 20 6c or{-none?}.@defun.-none?.(pred.l
8f1e0 69 73 74 29 0a 52 65 74 75 72 6e 20 74 20 69 66 20 28 40 76 61 72 7b 70 72 65 64 7d 20 78 29 20 ist).Return.t.if.(@var{pred}.x).
8f200 69 73 20 6e 69 6c 20 66 6f 72 20 61 6c 6c 20 78 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 is.nil.for.all.x.in.@var{list},.
8f220 65 6c 73 65 20 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 6e 6f 6e 65 2d 70 7d else.nil...Alias:.@code{-none-p}
8f240 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6e 6f 6e 65 3f 20 27 65 76 65 6e 3f ..@example.@group.(-none?.'even?
8f260 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e .'(1.2.3)).....@result{}.nil.@en
8f280 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6e 6f 6e 65 3f 20 27 65 76 65 6e 3f 20 27 28 d.group.@group.(-none?.'even?.'(
8f2a0 31 20 33 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 1.3.5)).....@result{}.t.@end.gro
8f2c0 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6e 6f 6e 65 3f 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 up.@group.(--none?.(=.0.(%.it.2)
8f2e0 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 ).'(1.2.3)).....@result{}.nil.@e
8f300 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e nd.group.@end.example.@end.defun
8f320 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 7d 0a 40 64 65 66 75 6e 20 2d 6f ..@anchor{-only-some?}.@defun.-o
8f340 6e 6c 79 2d 73 6f 6d 65 3f 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 60 74 60 nly-some?.(pred.list).Return.`t`
8f360 20 69 66 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 69 74 65 6d 20 6f 66 20 40 76 61 72 7b 6c 69 .if.at.least.one.item.of.@var{li
8f380 73 74 7d 20 6d 61 74 63 68 65 73 20 40 76 61 72 7b 70 72 65 64 7d 20 61 6e 64 20 61 74 20 6c 65 st}.matches.@var{pred}.and.at.le
8f3a0 61 73 74 20 6f 6e 65 20 69 74 65 6d 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 64 6f 65 73 20 ast.one.item.of.@var{list}.does.
8f3c0 6e 6f 74 20 6d 61 74 63 68 20 40 76 61 72 7b 70 72 65 64 7d 2e 0a 52 65 74 75 72 6e 20 60 6e 69 not.match.@var{pred}..Return.`ni
8f3e0 6c 60 20 62 6f 74 68 20 69 66 20 61 6c 6c 20 69 74 65 6d 73 20 6d 61 74 63 68 20 74 68 65 20 70 l`.both.if.all.items.match.the.p
8f400 72 65 64 69 63 61 74 65 20 6f 72 20 69 66 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20 69 74 65 6d 73 redicate.or.if.none.of.the.items
8f420 20 6d 61 74 63 68 20 74 68 65 20 70 72 65 64 69 63 61 74 65 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 .match.the.predicate...Alias:.@c
8f440 6f 64 65 7b 2d 6f 6e 6c 79 2d 73 6f 6d 65 2d 70 7d 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f ode{-only-some-p}..@example.@gro
8f460 75 70 0a 28 2d 6f 6e 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 up.(-only-some?.'even?.'(1.2.3))
8f480 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f .....@result{}.t.@end.group.@gro
8f4a0 75 70 0a 28 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 33 20 35 29 29 up.(-only-some?.'even?.'(1.3.5))
8f4c0 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 .....@result{}.nil.@end.group.@g
8f4e0 72 6f 75 70 0a 28 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 36 roup.(-only-some?.'even?.'(2.4.6
8f500 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a )).....@result{}.nil.@end.group.
8f520 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 @end.example.@end.defun..@anchor
8f540 7b 2d 63 6f 6e 74 61 69 6e 73 3f 7d 0a 40 64 65 66 75 6e 20 2d 63 6f 6e 74 61 69 6e 73 3f 20 28 {-contains?}.@defun.-contains?.(
8f560 6c 69 73 74 20 65 6c 65 6d 65 6e 74 29 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 list.element).Return.non-nil.if.
8f580 40 76 61 72 7b 6c 69 73 74 7d 20 63 6f 6e 74 61 69 6e 73 20 40 76 61 72 7b 65 6c 65 6d 65 6e 74 @var{list}.contains.@var{element
8f5a0 7d 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 }...The.test.for.equality.is.don
8f5c0 65 20 77 69 74 68 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2c 20 6f 72 20 77 69 74 68 20 40 63 6f e.with.@code{equal},.or.with.@co
8f5e0 64 65 7b 2d 63 6f 6d 70 61 72 65 2d 66 6e 7d 0a 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 de{-compare-fn}.if.that's.non-ni
8f600 6c 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 63 6f 6e 74 61 69 6e 73 2d 70 7d 0a 0a 40 l...Alias:.@code{-contains-p}..@
8f620 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 example.@group.(-contains?.'(1.2
8f640 20 33 29 20 31 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 .3).1).....@result{}.t.@end.grou
8f660 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 20 32 29 p.@group.(-contains?.'(1.2.3).2)
8f680 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f .....@result{}.t.@end.group.@gro
8f6a0 75 70 0a 28 2d 63 6f 6e 74 61 69 6e 73 3f 20 27 28 31 20 32 20 33 29 20 34 29 0a 20 20 20 20 40 up.(-contains?.'(1.2.3).4).....@
8f6c0 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 result{}.nil.@end.group.@end.exa
8f6e0 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 61 6d 65 2d 69 mple.@end.defun..@anchor{-same-i
8f700 74 65 6d 73 3f 7d 0a 40 64 65 66 75 6e 20 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 28 6c 69 73 74 tems?}.@defun.-same-items?.(list
8f720 20 6c 69 73 74 32 29 0a 52 65 74 75 72 6e 20 74 72 75 65 20 69 66 20 40 76 61 72 7b 6c 69 73 74 .list2).Return.true.if.@var{list
8f740 7d 20 61 6e 64 20 40 76 61 72 7b 6c 69 73 74 32 7d 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 69 }.and.@var{list2}.has.the.same.i
8f760 74 65 6d 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 6e 74 73 tems...The.order.of.the.elements
8f780 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 2e 0a 0a .in.the.lists.does.not.matter...
8f7a0 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 73 61 6d 65 2d 69 74 65 6d 73 2d 70 7d 0a 0a 40 65 78 Alias:.@code{-same-items-p}..@ex
8f7c0 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 27 28 31 20 32 ample.@group.(-same-items?.'(1.2
8f7e0 20 33 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 .3).'(1.2.3)).....@result{}.t.@e
8f800 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 20 27 28 nd.group.@group.(-same-items?.'(
8f820 31 20 32 20 33 29 20 27 28 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 1.2.3).'(3.2.1)).....@result{}.t
8f840 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 61 6d 65 2d 69 74 65 6d 73 3f .@end.group.@group.(-same-items?
8f860 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c .'(1.2.3).'(1.2.3.4)).....@resul
8f880 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a t{}.nil.@end.group.@end.example.
8f8a0 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 73 2d 70 72 65 66 69 78 3f 7d @end.defun..@anchor{-is-prefix?}
8f8c0 0a 40 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 20 6c 69 73 74 .@defun.-is-prefix?.(prefix.list
8f8e0 29 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 40 76 61 72 7b 70 72 65 66 69 78 7d ).Return.non-nil.if.@var{prefix}
8f900 20 69 73 20 61 20 70 72 65 66 69 78 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 41 6c 69 .is.a.prefix.of.@var{list}...Ali
8f920 61 73 3a 20 40 63 6f 64 65 7b 2d 69 73 2d 70 72 65 66 69 78 2d 70 7d 2e 0a 0a 40 65 78 61 6d 70 as:.@code{-is-prefix-p}...@examp
8f940 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 73 2d 70 72 65 66 69 78 3f 20 27 28 31 20 32 20 33 29 20 le.@group.(-is-prefix?.'(1.2.3).
8f960 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 '(1.2.3.4.5)).....@result{}.t.@e
8f980 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 73 2d 70 72 65 66 69 78 3f 20 27 28 31 nd.group.@group.(-is-prefix?.'(1
8f9a0 20 32 20 33 20 34 20 35 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b .2.3.4.5).'(1.2.3)).....@result{
8f9c0 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 73 2d 70 72 65 }.nil.@end.group.@group.(-is-pre
8f9e0 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 40 72 fix?.'(1.3).'(1.2.3.4.5)).....@r
8fa00 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d esult{}.nil.@end.group.@end.exam
8fa20 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 73 2d 73 75 66 66 ple.@end.defun..@anchor{-is-suff
8fa40 69 78 3f 7d 0a 40 64 65 66 75 6e 20 2d 69 73 2d 73 75 66 66 69 78 3f 20 28 73 75 66 66 69 78 20 ix?}.@defun.-is-suffix?.(suffix.
8fa60 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 40 76 61 72 7b 73 75 66 list).Return.non-nil.if.@var{suf
8fa80 66 69 78 7d 20 69 73 20 61 20 73 75 66 66 69 78 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a fix}.is.a.suffix.of.@var{list}..
8faa0 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 69 73 2d 73 75 66 66 69 78 2d 70 7d 2e 0a 0a 40 65 .Alias:.@code{-is-suffix-p}...@e
8fac0 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 73 2d 73 75 66 66 69 78 3f 20 27 28 33 20 34 xample.@group.(-is-suffix?.'(3.4
8fae0 20 35 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 .5).'(1.2.3.4.5)).....@result{}.
8fb00 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 73 2d 73 75 66 66 69 78 3f t.@end.group.@group.(-is-suffix?
8fb20 20 27 28 31 20 32 20 33 20 34 20 35 29 20 27 28 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 .'(1.2.3.4.5).'(3.4.5)).....@res
8fb40 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 73 ult{}.nil.@end.group.@group.(-is
8fb60 2d 73 75 66 66 69 78 3f 20 27 28 33 20 35 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 -suffix?.'(3.5).'(1.2.3.4.5))...
8fb80 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 ..@result{}.nil.@end.group.@end.
8fba0 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 73 2d example.@end.defun..@anchor{-is-
8fbc0 69 6e 66 69 78 3f 7d 0a 40 64 65 66 75 6e 20 2d 69 73 2d 69 6e 66 69 78 3f 20 28 69 6e 66 69 78 infix?}.@defun.-is-infix?.(infix
8fbe0 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 40 76 61 72 7b 69 6e .list).Return.non-nil.if.@var{in
8fc00 66 69 78 7d 20 69 73 20 69 6e 66 69 78 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 54 68 fix}.is.infix.of.@var{list}...Th
8fc20 69 73 20 6f 70 65 72 61 74 69 6f 6e 20 72 75 6e 73 20 69 6e 20 40 76 61 72 7b 6f 7d 28 6e 5e 32 is.operation.runs.in.@var{o}(n^2
8fc40 29 20 74 69 6d 65 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 69 73 2d 69 6e 66 69 78 2d 70 ).time..Alias:.@code{-is-infix-p
8fc60 7d 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 73 2d 69 6e 66 69 78 3f 20 27 }..@example.@group.(-is-infix?.'
8fc80 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 40 72 65 73 75 6c (1.2.3).'(1.2.3.4.5)).....@resul
8fca0 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 73 2d 69 6e 66 t{}.t.@end.group.@group.(-is-inf
8fcc0 69 78 3f 20 27 28 32 20 33 20 34 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 ix?.'(2.3.4).'(1.2.3.4.5)).....@
8fce0 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 result{}.t.@end.group.@group.(-i
8fd00 73 2d 69 6e 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 29 0a s-infix?.'(3.4.5).'(1.2.3.4.5)).
8fd20 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 ....@result{}.t.@end.group.@end.
8fd40 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6f 6e example.@end.defun..@anchor{-con
8fd60 73 2d 70 61 69 72 3f 7d 0a 40 64 65 66 75 6e 20 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 28 6f 62 6a s-pair?}.@defun.-cons-pair?.(obj
8fd80 29 0a 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 40 76 61 72 7b 6f 62 6a 7d 20 69 73 ).Return.non-nil.if.@var{obj}.is
8fda0 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 2c 20 61 20 63 6f .a.true.cons.pair..That.is,.a.co
8fdc0 6e 73 20 28 40 76 61 72 7b 61 7d 20 2e 20 40 76 61 72 7b 62 7d 29 20 77 68 65 72 65 20 40 76 61 ns.(@var{a}...@var{b}).where.@va
8fde0 72 7b 62 7d 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 r{b}.is.not.a.list...Alias:.@cod
8fe00 65 7b 2d 63 6f 6e 73 2d 70 61 69 72 2d 70 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 e{-cons-pair-p}...@example.@grou
8fe20 70 0a 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 27 28 31 20 2e 20 32 29 29 0a 20 20 20 20 40 72 65 p.(-cons-pair?.'(1...2)).....@re
8fe40 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e sult{}.t.@end.group.@group.(-con
8fe60 73 2d 70 61 69 72 3f 20 27 28 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 s-pair?.'(1.2)).....@result{}.ni
8fe80 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e 73 2d 70 61 69 72 3f l.@end.group.@group.(-cons-pair?
8fea0 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 .'(1)).....@result{}.nil.@end.gr
8fec0 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f oup.@end.example.@end.defun..@no
8fee0 64 65 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 0a 40 73 65 63 74 69 6f 6e 20 50 61 72 74 69 74 69 de.Partitioning.@section.Partiti
8ff00 6f 6e 69 6e 67 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 70 61 72 74 69 74 69 6f 6e 69 6e 67 20 74 68 oning..Functions.partitioning.th
8ff20 65 20 69 6e 70 75 74 20 6c 69 73 74 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 e.input.list.into.a.list.of.list
8ff40 73 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 70 6c 69 74 2d 61 74 7d 0a 40 64 65 66 75 6e 20 2d 73 s...@anchor{-split-at}.@defun.-s
8ff60 70 6c 69 74 2d 61 74 20 28 6e 20 6c 69 73 74 29 0a 53 70 6c 69 74 20 40 76 61 72 7b 6c 69 73 74 plit-at.(n.list).Split.@var{list
8ff80 7d 20 69 6e 74 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 }.into.two.sublists.after.the.Nt
8ffa0 68 20 65 6c 65 6d 65 6e 74 2e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 6c 69 73 74 20 h.element..The.result.is.a.list.
8ffc0 6f 66 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 28 40 76 61 72 7b 74 61 6b 65 7d 20 40 76 61 72 of.two.elements.(@var{take}.@var
8ffe0 7b 64 72 6f 70 7d 29 20 77 68 65 72 65 20 40 76 61 72 7b 74 61 6b 65 7d 20 69 73 20 61 0a 6e 65 {drop}).where.@var{take}.is.a.ne
90000 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 40 76 61 72 7b 6e 7d 20 65 6c 65 6d w.list.of.the.first.@var{n}.elem
90020 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 61 6e 64 20 40 76 61 72 7b 64 72 6f ents.of.@var{list},.and.@var{dro
90040 70 7d 20 69 73 20 74 68 65 0a 72 65 6d 61 69 6e 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 p}.is.the.remaining.elements.of.
90060 40 76 61 72 7b 6c 69 73 74 7d 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 2e 20 20 40 76 61 72 7b 74 @var{list}.(not.a.copy)...@var{t
90080 61 6b 65 7d 20 61 6e 64 20 40 76 61 72 7b 64 72 6f 70 7d 20 61 72 65 20 6c 69 6b 65 0a 74 68 65 ake}.and.@var{drop}.are.like.the
900a0 20 72 65 73 75 6c 74 73 20 6f 66 20 40 63 6f 64 65 7b 2d 74 61 6b 65 7d 20 28 40 70 78 72 65 66 .results.of.@code{-take}.(@pxref
900c0 7b 2d 74 61 6b 65 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 64 72 6f 70 7d 20 28 40 70 78 72 65 {-take}).and.@code{-drop}.(@pxre
900e0 66 7b 2d 64 72 6f 70 7d 29 2c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2c 20 62 75 74 20 74 68 65 f{-drop}),.respectively,.but.the
90100 20 73 70 6c 69 74 0a 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 .split.is.done.in.a.single.list.
90120 74 72 61 76 65 72 73 61 6c 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 70 traversal...@example.@group.(-sp
90140 6c 69 74 2d 61 74 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 lit-at.3.'(1.2.3.4.5)).....@resu
90160 6c 74 7b 7d 20 28 28 31 20 32 20 33 29 20 28 34 20 35 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a lt{}.((1.2.3).(4.5)).@end.group.
90180 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 74 2d 61 74 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 @group.(-split-at.17.'(1.2.3.4.5
901a0 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 20 34 20 35 29 20 6e 69 )).....@result{}.((1.2.3.4.5).ni
901c0 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 74 2d 61 74 20 l).@end.group.@group.(-split-at.
901e0 30 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 0.'(1.2.3.4.5)).....@result{}.(n
90200 69 6c 20 28 31 20 32 20 33 20 34 20 35 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 il.(1.2.3.4.5)).@end.group.@end.
90220 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 70 6c example.@end.defun..@anchor{-spl
90240 69 74 2d 77 69 74 68 7d 0a 40 64 65 66 75 6e 20 2d 73 70 6c 69 74 2d 77 69 74 68 20 28 70 72 65 it-with}.@defun.-split-with.(pre
90260 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 28 28 2d 74 61 6b 65 d.list).Return.a.list.of.((-take
90280 2d 77 68 69 6c 65 20 40 76 61 72 7b 70 72 65 64 7d 20 40 76 61 72 7b 6c 69 73 74 7d 29 20 28 2d -while.@var{pred}.@var{list}).(-
902a0 64 72 6f 70 2d 77 68 69 6c 65 20 40 76 61 72 7b 70 72 65 64 7d 20 40 76 61 72 7b 6c 69 73 74 7d drop-while.@var{pred}.@var{list}
902c0 29 29 2c 20 69 6e 20 6e 6f 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 70 61 73 73 20 74 68 72 )),.in.no.more.than.one.pass.thr
902e0 6f 75 67 68 20 74 68 65 20 6c 69 73 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a ough.the.list...@example.@group.
90300 28 2d 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 (-split-with.'even?.'(1.2.3.4)).
90320 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 69 6c 20 28 31 20 32 20 33 20 34 29 29 0a 40 65 ....@result{}.(nil.(1.2.3.4)).@e
90340 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 74 2d 77 69 74 68 20 27 65 76 nd.group.@group.(-split-with.'ev
90360 65 6e 3f 20 27 28 32 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 en?.'(2.4.5.6)).....@result{}.((
90380 32 20 34 29 20 28 35 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2.4).(5.6)).@end.group.@group.(-
903a0 2d 73 70 6c 69 74 2d 77 69 74 68 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 20 33 -split-with.(<.it.4).'(1.2.3.4.3
903c0 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 29 20 28 34 .2.1)).....@result{}.((1.2.3).(4
903e0 20 33 20 32 20 31 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 .3.2.1)).@end.group.@end.example
90400 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 70 6c 69 74 2d 6f 6e 7d 0a .@end.defun..@anchor{-split-on}.
90420 40 64 65 66 6d 61 63 20 2d 73 70 6c 69 74 2d 6f 6e 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 53 70 @defmac.-split-on.(item.list).Sp
90440 6c 69 74 20 74 68 65 20 40 76 61 72 7b 6c 69 73 74 7d 20 65 61 63 68 20 74 69 6d 65 20 40 76 61 lit.the.@var{list}.each.time.@va
90460 72 7b 69 74 65 6d 7d 20 69 73 20 66 6f 75 6e 64 2e 0a 0a 55 6e 6c 69 6b 65 20 40 63 6f 64 65 7b r{item}.is.found...Unlike.@code{
90480 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 7d 20 28 40 70 78 72 65 66 7b 2d 70 61 72 74 69 74 69 6f -partition-by}.(@pxref{-partitio
904a0 6e 2d 62 79 7d 29 2c 20 74 68 65 20 40 76 61 72 7b 69 74 65 6d 7d 20 69 73 20 64 69 73 63 61 72 n-by}),.the.@var{item}.is.discar
904c0 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 74 79 20 6c 69 73 74 ded.from.the.results..Empty.list
904e0 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 20 72 65 73 75 s.are.also.removed.from.the.resu
90500 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 79 20 40 63 6f 64 65 lt...Comparison.is.done.by.@code
90520 7b 65 71 75 61 6c 7d 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 73 70 6c 69 74 2d {equal}...See.also.@code{-split-
90540 77 68 65 6e 7d 20 28 40 70 78 72 65 66 7b 2d 73 70 6c 69 74 2d 77 68 65 6e 7d 29 0a 0a 40 65 78 when}.(@pxref{-split-when})..@ex
90560 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 74 2d 6f 6e 20 27 7c 20 27 28 4e 69 6c ample.@group.(-split-on.'|.'(Nil
90580 20 7c 20 4c 65 61 66 20 61 20 7c 20 4e 6f 64 65 20 5b 54 72 65 65 20 61 5d 29 29 0a 20 20 20 20 .|.Leaf.a.|.Node.[Tree.a])).....
905a0 40 72 65 73 75 6c 74 7b 7d 20 28 28 4e 69 6c 29 20 28 4c 65 61 66 20 61 29 20 28 4e 6f 64 65 20 @result{}.((Nil).(Leaf.a).(Node.
905c0 5b 54 72 65 65 20 61 5d 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 [Tree.a])).@end.group.@group.(-s
905e0 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
90600 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 65 22 29 29 0a 20 20 group."c".:endgroup."d"."e"))...
90620 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 22 61 22 20 22 62 22 29 20 28 22 63 22 29 20 28 22 64 ..@result{}.(("a"."b").("c").("d
90640 22 20 22 65 22 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 "."e")).@end.group.@group.(-spli
90660 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 67 72 6f t-on.:endgroup.'("a"."b".:endgro
90680 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 40 72 65 73 75 up.:endgroup."d"."e")).....@resu
906a0 6c 74 7b 7d 20 28 28 22 61 22 20 22 62 22 29 20 28 22 64 22 20 22 65 22 29 29 0a 40 65 6e 64 20 lt{}.(("a"."b").("d"."e")).@end.
906c0 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a group.@end.example.@end.defmac..
906e0 40 61 6e 63 68 6f 72 7b 2d 73 70 6c 69 74 2d 77 68 65 6e 7d 0a 40 64 65 66 75 6e 20 2d 73 70 6c @anchor{-split-when}.@defun.-spl
90700 69 74 2d 77 68 65 6e 20 28 66 6e 20 6c 69 73 74 29 0a 53 70 6c 69 74 20 74 68 65 20 40 76 61 72 it-when.(fn.list).Split.the.@var
90720 7b 6c 69 73 74 7d 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 77 68 65 72 65 20 40 76 61 {list}.on.each.element.where.@va
90740 72 7b 66 6e 7d 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 55 6e 6c 69 6b 65 20 40 r{fn}.returns.non-nil...Unlike.@
90760 63 6f 64 65 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 7d 20 28 40 70 78 72 65 66 7b 2d 70 61 72 code{-partition-by}.(@pxref{-par
90780 74 69 74 69 6f 6e 2d 62 79 7d 29 2c 20 74 68 65 20 22 6d 61 74 63 68 65 64 22 20 65 6c 65 6d 65 tition-by}),.the."matched".eleme
907a0 6e 74 20 69 73 20 64 69 73 63 61 72 64 65 64 20 66 72 6f 6d 0a 74 68 65 20 72 65 73 75 6c 74 73 nt.is.discarded.from.the.results
907c0 2e 20 20 45 6d 70 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 ...Empty.lists.are.also.removed.
907e0 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 from.the.result...This.function.
90800 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 6e 65 72 61 6c 69 7a can.be.thought.of.as.a.generaliz
90820 61 74 69 6f 6e 20 6f 66 0a 40 63 6f 64 65 7b 73 70 6c 69 74 2d 73 74 72 69 6e 67 7d 2e 0a 0a 40 ation.of.@code{split-string}...@
90840 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 70 6c 69 74 2d 77 68 65 6e 20 27 65 76 65 example.@group.(-split-when.'eve
90860 6e 3f 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d n?.'(1.2.3.4.5.6)).....@result{}
90880 20 28 28 31 29 20 28 33 29 20 28 35 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 .((1).(3).(5)).@end.group.@group
908a0 0a 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 36 .(-split-when.'even?.'(1.2.3.4.6
908c0 20 38 20 39 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 29 20 28 33 29 20 28 39 .8.9)).....@result{}.((1).(3).(9
908e0 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 73 70 6c 69 74 2d 77 68 )).@end.group.@group.(--split-wh
90900 65 6e 20 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 en.(memq.it.'(&optional.&rest)).
90920 27 28 61 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 '(a.b.&optional.c.d.&rest.args))
90940 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 61 20 62 29 20 28 63 20 64 29 20 28 61 72 67 .....@result{}.((a.b).(c.d).(arg
90960 73 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 s)).@end.group.@end.example.@end
90980 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 65 70 61 72 61 74 65 7d 0a 40 64 65 66 75 .defun..@anchor{-separate}.@defu
909a0 6e 20 2d 73 65 70 61 72 61 74 65 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 n.-separate.(pred.list).Return.a
909c0 20 6c 69 73 74 20 6f 66 20 28 28 2d 66 69 6c 74 65 72 20 40 76 61 72 7b 70 72 65 64 7d 20 40 76 .list.of.((-filter.@var{pred}.@v
909e0 61 72 7b 6c 69 73 74 7d 29 20 28 2d 72 65 6d 6f 76 65 20 40 76 61 72 7b 70 72 65 64 7d 20 40 76 ar{list}).(-remove.@var{pred}.@v
90a00 61 72 7b 6c 69 73 74 7d 29 29 2c 20 69 6e 20 6f 6e 65 20 70 61 73 73 20 74 68 72 6f 75 67 68 20 ar{list})),.in.one.pass.through.
90a20 74 68 65 20 6c 69 73 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 65 70 the.list...@example.@group.(-sep
90a40 61 72 61 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 arate.(lambda.(num).(=.0.(%.num.
90a60 32 29 29 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 2))).'(1.2.3.4.5.6.7)).....@resu
90a80 6c 74 7b 7d 20 28 28 32 20 34 20 36 29 20 28 31 20 33 20 35 20 37 29 29 0a 40 65 6e 64 20 67 72 lt{}.((2.4.6).(1.3.5.7)).@end.gr
90aa0 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 73 65 70 61 72 61 74 65 20 28 3c 20 69 74 20 35 29 20 oup.@group.(--separate.(<.it.5).
90ac0 27 28 33 20 37 20 35 20 39 20 33 20 32 20 31 20 34 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c '(3.7.5.9.3.2.1.4.6)).....@resul
90ae0 74 7b 7d 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 40 65 6e 64 t{}.((3.3.2.1.4).(7.5.9.6)).@end
90b00 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 65 70 61 72 61 74 65 20 27 63 64 72 20 27 28 .group.@group.(-separate.'cdr.'(
90b20 28 31 20 32 29 20 28 31 29 20 28 31 20 32 20 33 29 20 28 34 29 29 29 0a 20 20 20 20 40 72 65 73 (1.2).(1).(1.2.3).(4))).....@res
90b40 75 6c 74 7b 7d 20 28 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 ult{}.(((1.2).(1.2.3)).((1).(4))
90b60 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 ).@end.group.@end.example.@end.d
90b80 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e 7d 0a 40 64 65 66 75 6e efun..@anchor{-partition}.@defun
90ba0 20 2d 70 61 72 74 69 74 69 6f 6e 20 28 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 .-partition.(n.list).Return.a.ne
90bc0 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 40 76 61 72 7b 6c 69 w.list.with.the.items.in.@var{li
90be0 73 74 7d 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 40 76 61 72 7b 6e 7d 2d 73 69 7a 65 64 20 73 st}.grouped.into.@var{n}-sized.s
90c00 75 62 6c 69 73 74 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 ublists..If.there.are.not.enough
90c20 20 69 74 65 6d 73 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 6c 61 73 74 20 67 72 6f 75 70 20 40 76 .items.to.make.the.last.group.@v
90c40 61 72 7b 6e 7d 2d 73 69 7a 65 64 2c 0a 74 68 6f 73 65 20 69 74 65 6d 73 20 61 72 65 20 64 69 73 ar{n}-sized,.those.items.are.dis
90c60 63 61 72 64 65 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 carded...@example.@group.(-parti
90c80 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 40 72 65 73 75 tion.2.'(1.2.3.4.5.6)).....@resu
90ca0 6c 74 7b 7d 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 0a 40 65 6e 64 20 67 72 lt{}.((1.2).(3.4).(5.6)).@end.gr
90cc0 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 20 32 20 27 28 31 20 32 20 33 oup.@group.(-partition.2.'(1.2.3
90ce0 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 29 20 .4.5.6.7)).....@result{}.((1.2).
90d00 28 33 20 34 29 20 28 35 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 (3.4).(5.6)).@end.group.@group.(
90d20 2d 70 61 72 74 69 74 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 -partition.3.'(1.2.3.4.5.6.7))..
90d40 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 29 20 28 34 20 35 20 36 29 29 0a 40 ...@result{}.((1.2.3).(4.5.6)).@
90d60 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 end.group.@end.example.@end.defu
90d80 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 7d 0a 40 64 65 66 75 n..@anchor{-partition-all}.@defu
90da0 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 28 6e 20 6c 69 73 74 29 0a 52 65 74 75 72 6e n.-partition-all.(n.list).Return
90dc0 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 40 76 .a.new.list.with.the.items.in.@v
90de0 61 72 7b 6c 69 73 74 7d 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 40 76 61 72 7b 6e 7d 2d 73 69 ar{list}.grouped.into.@var{n}-si
90e00 7a 65 64 20 73 75 62 6c 69 73 74 73 2e 0a 54 68 65 20 6c 61 73 74 20 67 72 6f 75 70 20 6d 61 79 zed.sublists..The.last.group.may
90e20 20 63 6f 6e 74 61 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 40 76 61 72 7b 6e 7d 20 69 74 65 6d 73 .contain.less.than.@var{n}.items
90e40 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 ...@example.@group.(-partition-a
90e60 6c 6c 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 ll.2.'(1.2.3.4.5.6)).....@result
90e80 7b 7d 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 {}.((1.2).(3.4).(5.6)).@end.grou
90ea0 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 32 20 27 28 31 20 32 p.@group.(-partition-all.2.'(1.2
90ec0 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 .3.4.5.6.7)).....@result{}.((1.2
90ee0 29 20 28 33 20 34 29 20 28 35 20 36 29 20 28 37 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 ).(3.4).(5.6).(7)).@end.group.@g
90f00 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 33 20 27 28 31 20 32 20 33 20 34 roup.(-partition-all.3.'(1.2.3.4
90f20 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 29 20 .5.6.7)).....@result{}.((1.2.3).
90f40 28 34 20 35 20 36 29 20 28 37 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 (4.5.6).(7)).@end.group.@end.exa
90f60 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 mple.@end.defun..@anchor{-partit
90f80 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 7d 0a 40 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d ion-in-steps}.@defun.-partition-
90fa0 69 6e 2d 73 74 65 70 73 20 28 6e 20 73 74 65 70 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 in-steps.(n.step.list).Return.a.
90fc0 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 40 76 61 72 7b new.list.with.the.items.in.@var{
90fe0 6c 69 73 74 7d 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 40 76 61 72 7b 6e 7d 2d 73 69 7a 65 64 list}.grouped.into.@var{n}-sized
91000 20 73 75 62 6c 69 73 74 73 20 61 74 20 6f 66 66 73 65 74 73 20 40 76 61 72 7b 73 74 65 70 7d 20 .sublists.at.offsets.@var{step}.
91020 61 70 61 72 74 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 apart..If.there.are.not.enough.i
91040 74 65 6d 73 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 6c 61 73 74 20 67 72 6f 75 70 20 40 76 61 72 tems.to.make.the.last.group.@var
91060 7b 6e 7d 2d 73 69 7a 65 64 2c 0a 74 68 6f 73 65 20 69 74 65 6d 73 20 61 72 65 20 64 69 73 63 61 {n}-sized,.those.items.are.disca
91080 72 64 65 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 rded...@example.@group.(-partiti
910a0 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 0a 20 20 20 20 on-in-steps.2.1.'(1.2.3.4)).....
910c0 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 29 20 28 32 20 33 29 20 28 33 20 34 29 29 0a 40 65 @result{}.((1.2).(2.3).(3.4)).@e
910e0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 nd.group.@group.(-partition-in-s
91100 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 40 72 65 73 75 6c 74 teps.3.2.'(1.2.3.4)).....@result
91120 7b 7d 20 28 28 31 20 32 20 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 {}.((1.2.3)).@end.group.@group.(
91140 2d 70 61 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 -partition-in-steps.3.2.'(1.2.3.
91160 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 29 20 28 33 20 4.5)).....@result{}.((1.2.3).(3.
91180 34 20 35 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 4.5)).@end.group.@end.example.@e
911a0 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c nd.defun..@anchor{-partition-all
911c0 2d 69 6e 2d 73 74 65 70 73 7d 0a 40 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c -in-steps}.@defun.-partition-all
911e0 2d 69 6e 2d 73 74 65 70 73 20 28 6e 20 73 74 65 70 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 -in-steps.(n.step.list).Return.a
91200 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 40 76 61 72 .new.list.with.the.items.in.@var
91220 7b 6c 69 73 74 7d 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 40 76 61 72 7b 6e 7d 2d 73 69 7a 65 {list}.grouped.into.@var{n}-size
91240 64 20 73 75 62 6c 69 73 74 73 20 61 74 20 6f 66 66 73 65 74 73 20 40 76 61 72 7b 73 74 65 70 7d d.sublists.at.offsets.@var{step}
91260 20 61 70 61 72 74 2e 0a 54 68 65 20 6c 61 73 74 20 67 72 6f 75 70 73 20 6d 61 79 20 63 6f 6e 74 .apart..The.last.groups.may.cont
91280 61 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 40 76 61 72 7b 6e 7d 20 69 74 65 6d 73 2e 0a 0a 40 65 ain.less.than.@var{n}.items...@e
912a0 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e xample.@group.(-partition-all-in
912c0 2d 73 74 65 70 73 20 32 20 31 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 -steps.2.1.'(1.2.3.4)).....@resu
912e0 6c 74 7b 7d 20 28 28 31 20 32 29 20 28 32 20 33 29 20 28 33 20 34 29 20 28 34 29 29 0a 40 65 6e lt{}.((1.2).(2.3).(3.4).(4)).@en
91300 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 d.group.@group.(-partition-all-i
91320 6e 2d 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 40 72 65 73 n-steps.3.2.'(1.2.3.4)).....@res
91340 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 29 20 28 33 20 34 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 ult{}.((1.2.3).(3.4)).@end.group
91360 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 .@group.(-partition-all-in-steps
91380 20 33 20 32 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d .3.2.'(1.2.3.4.5)).....@result{}
913a0 20 28 28 31 20 32 20 33 29 20 28 33 20 34 20 35 29 20 28 35 29 29 0a 40 65 6e 64 20 67 72 6f 75 .((1.2.3).(3.4.5).(5)).@end.grou
913c0 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 p.@end.example.@end.defun..@anch
913e0 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 7d 0a 40 64 65 66 75 6e 20 2d 70 61 72 74 69 74 or{-partition-by}.@defun.-partit
91400 69 6f 6e 2d 62 79 20 28 66 6e 20 6c 69 73 74 29 0a 41 70 70 6c 79 20 40 76 61 72 7b 66 6e 7d 20 ion-by.(fn.list).Apply.@var{fn}.
91420 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 73 70 6c 69 to.each.item.in.@var{list},.spli
91440 74 74 69 6e 67 20 69 74 20 65 61 63 68 20 74 69 6d 65 20 40 76 61 72 7b 66 6e 7d 20 72 65 74 75 tting.it.each.time.@var{fn}.retu
91460 72 6e 73 20 61 20 6e 65 77 20 76 61 6c 75 65 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 rns.a.new.value...@example.@grou
91480 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 27 65 76 65 6e 3f 20 28 29 29 0a 20 20 20 20 p.(-partition-by.'even?.()).....
914a0 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 @result{}.().@end.group.@group.(
914c0 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 27 65 76 65 6e 3f 20 27 28 31 20 31 20 32 20 32 20 32 -partition-by.'even?.'(1.1.2.2.2
914e0 20 33 20 34 20 36 20 38 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 31 29 20 .3.4.6.8)).....@result{}.((1.1).
91500 28 32 20 32 20 32 29 20 28 33 29 20 28 34 20 36 20 38 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a (2.2.2).(3).(4.6.8)).@end.group.
91520 40 67 72 6f 75 70 0a 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 20 28 3c 20 69 74 20 33 29 20 @group.(--partition-by.(<.it.3).
91540 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 '(1.2.3.4.3.2.1)).....@result{}.
91560 28 28 31 20 32 29 20 28 33 20 34 20 33 29 20 28 32 20 31 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 ((1.2).(3.4.3).(2.1)).@end.group
91580 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f .@end.example.@end.defun..@ancho
915a0 72 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 7d 0a 40 64 65 66 75 6e 20 2d r{-partition-by-header}.@defun.-
915c0 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 66 6e 20 6c 69 73 74 29 0a 41 70 partition-by-header.(fn.list).Ap
915e0 70 6c 79 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 ply.@var{fn}.to.the.first.item.i
91600 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 20 54 68 61 74 20 69 73 20 74 68 65 20 68 65 61 64 65 72 n.@var{list}..That.is.the.header
91620 0a 76 61 6c 75 65 2e 20 41 70 70 6c 79 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 65 61 63 68 20 69 .value..Apply.@var{fn}.to.each.i
91640 74 65 6d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 73 70 6c 69 74 74 69 6e 67 20 69 74 20 tem.in.@var{list},.splitting.it.
91660 65 61 63 68 20 74 69 6d 65 20 40 76 61 72 7b 66 6e 7d 0a 72 65 74 75 72 6e 73 20 74 68 65 20 68 each.time.@var{fn}.returns.the.h
91680 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 20 73 65 65 69 eader.value,.but.only.after.seei
916a0 6e 67 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 0a 6f 74 68 65 72 20 76 61 6c 75 65 20 28 74 68 65 ng.at.least.one.other.value.(the
916c0 20 62 6f 64 79 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 2d 70 61 72 74 .body)...@example.@group.(--part
916e0 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 20 32 20 33 ition-by-header.(=.it.1).'(1.2.3
91700 20 31 20 32 20 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 .1.2.1.2.3.4)).....@result{}.((1
91720 20 32 20 33 29 20 28 31 20 32 29 20 28 31 20 32 20 33 20 34 29 29 0a 40 65 6e 64 20 67 72 6f 75 .2.3).(1.2).(1.2.3.4)).@end.grou
91740 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 p.@group.(--partition-by-header.
91760 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))..
91780 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 30 29 20 28 31 20 30 29 20 28 31 20 32 ...@result{}.((1.2.0).(1.0).(1.2
917a0 20 33 20 30 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 .3.0)).@end.group.@group.(-parti
917c0 74 69 6f 6e 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 tion-by-header.'even?.'(2.1.1.1.
917e0 34 20 31 20 33 20 35 20 36 20 36 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 4.1.3.5.6.6.1)).....@result{}.((
91800 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 40 65 6e 64 2.1.1.1).(4.1.3.5).(6.6.1)).@end
91820 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a .group.@end.example.@end.defun..
91840 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 7d 0a 40 @anchor{-partition-after-pred}.@
91860 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 72 65 defun.-partition-after-pred.(pre
91880 64 20 6c 69 73 74 29 0a 50 61 72 74 69 74 69 6f 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 66 74 d.list).Partition.@var{list}.aft
918a0 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 40 76 61 72 7b 70 er.each.element.for.which.@var{p
918c0 72 65 64 7d 20 72 65 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 red}.returns.non-nil...This.func
918e0 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.
91900 40 63 6f 64 65 7b 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 7d 2e 0a 0a @code{--partition-after-pred}...
91920 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 @example.@group.(-partition-afte
91940 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 40 72 65 73 75 6c r-pred.#'booleanp.()).....@resul
91960 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 t{}.().@end.group.@group.(-parti
91980 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
919a0 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 74 29 20 28 74 29 29 0a 40 65 6e 64 20 )).....@result{}.((t).(t)).@end.
919c0 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 group.@group.(-partition-after-p
919e0 72 65 64 20 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 red.#'booleanp.'(0.0.t.t.0.t))..
91a00 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 30 20 30 20 74 29 20 28 74 29 20 28 30 20 74 29 29 ...@result{}.((0.0.t).(t).(0.t))
91a20 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 .@end.group.@end.example.@end.de
91a40 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 fun..@anchor{-partition-before-p
91a60 72 65 64 7d 0a 40 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 red}.@defun.-partition-before-pr
91a80 65 64 20 28 70 72 65 64 20 6c 69 73 74 29 0a 50 61 72 74 69 74 69 6f 6e 20 64 69 72 65 63 74 6c ed.(pred.list).Partition.directl
91aa0 79 20 62 65 66 6f 72 65 20 65 61 63 68 20 74 69 6d 65 20 40 76 61 72 7b 70 72 65 64 7d 20 69 73 y.before.each.time.@var{pred}.is
91ac0 20 74 72 75 65 20 6f 6e 20 61 6e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 .true.on.an.element.of.@var{list
91ae0 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d }...@example.@group.(-partition-
91b00 62 65 66 6f 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 40 before-pred.#'booleanp.()).....@
91b20 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d result{}.().@end.group.@group.(-
91b40 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 20 23 27 62 6f 6f 6c 65 61 6e 70 partition-before-pred.#'booleanp
91b60 20 27 28 30 20 74 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 30 29 20 28 74 29 29 .'(0.t)).....@result{}.((0).(t))
91b80 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 .@end.group.@group.(-partition-b
91ba0 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 30 20 74 20 30 20 efore-pred.#'booleanp.'(0.0.t.0.
91bc0 74 20 74 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 30 20 30 29 20 28 74 20 30 29 t.t)).....@result{}.((0.0).(t.0)
91be0 20 28 74 29 20 28 74 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c .(t).(t)).@end.group.@end.exampl
91c00 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e e.@end.defun..@anchor{-partition
91c20 2d 62 65 66 6f 72 65 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d -before-item}.@defun.-partition-
91c40 62 65 66 6f 72 65 2d 69 74 65 6d 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 50 61 72 74 69 74 69 6f before-item.(item.list).Partitio
91c60 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 40 76 61 72 n.directly.before.each.time.@var
91c80 7b 69 74 65 6d 7d 20 61 70 70 65 61 72 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 {item}.appears.in.@var{list}...@
91ca0 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 example.@group.(-partition-befor
91cc0 65 2d 69 74 65 6d 20 33 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 e-item.3.()).....@result{}.().@e
91ce0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f nd.group.@group.(-partition-befo
91d00 72 65 2d 69 74 65 6d 20 33 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 re-item.3.'(1)).....@result{}.((
91d20 31 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 1)).@end.group.@group.(-partitio
91d40 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 20 40 72 65 73 75 6c n-before-item.3.'(3)).....@resul
91d60 74 7b 7d 20 28 28 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c t{}.((3)).@end.group.@end.exampl
91d80 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 74 69 6f 6e e.@end.defun..@anchor{-partition
91da0 2d 61 66 74 65 72 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 -after-item}.@defun.-partition-a
91dc0 66 74 65 72 2d 69 74 65 6d 20 28 69 74 65 6d 20 6c 69 73 74 29 0a 50 61 72 74 69 74 69 6f 6e 20 fter-item.(item.list).Partition.
91de0 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 40 76 61 72 7b 69 74 directly.after.each.time.@var{it
91e00 65 6d 7d 20 61 70 70 65 61 72 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 em}.appears.in.@var{list}...@exa
91e20 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 mple.@group.(-partition-after-it
91e40 65 6d 20 33 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 em.3.()).....@result{}.().@end.g
91e60 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 roup.@group.(-partition-after-it
91e80 65 6d 20 33 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 29 29 0a 40 em.3.'(1)).....@result{}.((1)).@
91ea0 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 end.group.@group.(-partition-aft
91ec0 65 72 2d 69 74 65 6d 20 33 20 27 28 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 er-item.3.'(3)).....@result{}.((
91ee0 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 3)).@end.group.@end.example.@end
91f00 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 67 72 6f 75 70 2d 62 79 7d 0a 40 64 65 66 75 .defun..@anchor{-group-by}.@defu
91f20 6e 20 2d 67 72 6f 75 70 2d 62 79 20 28 66 6e 20 6c 69 73 74 29 0a 53 65 70 61 72 61 74 65 20 40 n.-group-by.(fn.list).Separate.@
91f40 76 61 72 7b 6c 69 73 74 7d 20 69 6e 74 6f 20 61 6e 20 61 6c 69 73 74 20 77 68 6f 73 65 20 6b 65 var{list}.into.an.alist.whose.ke
91f60 79 73 20 61 72 65 20 40 76 61 72 7b 66 6e 7d 20 61 70 70 6c 69 65 64 20 74 6f 20 74 68 65 0a 65 ys.are.@var{fn}.applied.to.the.e
91f80 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 20 20 4b 65 79 73 20 61 72 65 lements.of.@var{list}...Keys.are
91fa0 20 63 6f 6d 70 61 72 65 64 20 62 79 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2e 0a 0a 40 65 78 61 .compared.by.@code{equal}...@exa
91fc0 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 67 72 6f 75 70 2d 62 79 20 27 65 76 65 6e 3f 20 28 29 mple.@group.(-group-by.'even?.()
91fe0 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 ).....@result{}.().@end.group.@g
92000 72 6f 75 70 0a 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 roup.(-group-by.'even?.'(1.1.2.2
92020 20 32 20 33 20 34 20 36 20 38 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 6e 69 6c .2.3.4.6.8)).....@result{}.((nil
92040 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 40 65 6e 64 20 67 72 .1.1.3).(t.2.2.2.4.6.8)).@end.gr
92060 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 67 72 6f 75 70 2d 62 79 20 28 63 61 72 20 28 73 70 6c oup.@group.(--group-by.(car.(spl
92080 69 74 2d 73 74 72 69 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 it-string.it."/")).'("a/b"."c/d"
920a0 20 22 61 2f 65 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 22 61 22 20 22 61 2f ."a/e")).....@result{}.(("a"."a/
920c0 62 22 20 22 61 2f 65 22 29 20 28 22 63 22 20 22 63 2f 64 22 29 29 0a 40 65 6e 64 20 67 72 6f 75 b"."a/e").("c"."c/d")).@end.grou
920e0 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 p.@end.example.@end.defun..@node
92100 20 49 6e 64 65 78 69 6e 67 0a 40 73 65 63 74 69 6f 6e 20 49 6e 64 65 78 69 6e 67 0a 0a 46 75 6e .Indexing.@section.Indexing..Fun
92120 63 74 69 6f 6e 73 20 72 65 74 72 69 65 76 69 6e 67 20 6f 72 20 73 6f 72 74 69 6e 67 20 62 61 73 ctions.retrieving.or.sorting.bas
92140 65 64 20 6f 6e 20 6c 69 73 74 20 69 6e 64 69 63 65 73 20 61 6e 64 0a 72 65 6c 61 74 65 64 20 70 ed.on.list.indices.and.related.p
92160 72 65 64 69 63 61 74 65 73 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 65 6c 65 6d 2d 69 6e 64 65 78 7d redicates...@anchor{-elem-index}
92180 0a 40 64 65 66 75 6e 20 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 28 65 6c 65 6d 20 6c 69 73 74 29 0a .@defun.-elem-index.(elem.list).
921a0 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 65 6c Return.the.index.of.the.first.el
921c0 65 6d 65 6e 74 20 69 6e 20 74 68 65 20 67 69 76 65 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 68 ement.in.the.given.@var{list}.wh
921e0 69 63 68 0a 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 71 75 65 72 79 20 65 6c 65 6d 65 6e ich.is.equal.to.the.query.elemen
92200 74 20 40 76 61 72 7b 65 6c 65 6d 7d 2c 20 6f 72 20 6e 69 6c 20 69 66 20 74 68 65 72 65 20 69 73 t.@var{elem},.or.nil.if.there.is
92220 20 6e 6f 0a 73 75 63 68 20 65 6c 65 6d 65 6e 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f .no.such.element...@example.@gro
92240 75 70 0a 28 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 32 20 27 28 36 20 37 20 38 20 32 20 33 20 34 29 up.(-elem-index.2.'(6.7.8.2.3.4)
92260 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 ).....@result{}.3.@end.group.@gr
92280 6f 75 70 0a 28 2d 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 oup.(-elem-index."bar".'("foo"."
922a0 62 61 72 22 20 22 62 61 7a 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e bar"."baz")).....@result{}.1.@en
922c0 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 27 28 31 20 d.group.@group.(-elem-index.'(1.
922e0 32 29 20 27 28 28 33 29 20 28 35 20 36 29 20 28 31 20 32 29 20 6e 69 6c 29 29 0a 20 20 20 20 40 2).'((3).(5.6).(1.2).nil)).....@
92300 72 65 73 75 6c 74 7b 7d 20 32 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 result{}.2.@end.group.@end.examp
92320 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 65 6c 65 6d 2d 69 6e 64 le.@end.defun..@anchor{-elem-ind
92340 69 63 65 73 7d 0a 40 64 65 66 75 6e 20 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 28 65 6c 65 6d ices}.@defun.-elem-indices.(elem
92360 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 69 6e 64 69 63 65 73 20 6f 66 20 61 6c 6c .list).Return.the.indices.of.all
92380 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 65 71 75 61 6c 20 74 6f .elements.in.@var{list}.equal.to
923a0 20 74 68 65 20 71 75 65 72 79 0a 65 6c 65 6d 65 6e 74 20 40 76 61 72 7b 65 6c 65 6d 7d 2c 20 69 .the.query.element.@var{elem},.i
923c0 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 n.ascending.order...@example.@gr
923e0 6f 75 70 0a 28 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 32 20 27 28 36 20 37 20 38 20 32 20 33 oup.(-elem-indices.2.'(6.7.8.2.3
92400 20 34 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 36 29 0a 40 65 6e .4.2.1)).....@result{}.(3.6).@en
92420 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 22 62 d.group.@group.(-elem-indices."b
92440 61 72 22 20 27 28 22 66 6f 6f 22 20 22 62 61 72 22 20 22 62 61 7a 22 29 29 0a 20 20 20 20 40 72 ar".'("foo"."bar"."baz")).....@r
92460 65 73 75 6c 74 7b 7d 20 28 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d esult{}.(1).@end.group.@group.(-
92480 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 28 31 20 32 29 20 elem-indices.'(1.2).'((3).(1.2).
924a0 28 35 20 36 29 20 28 31 20 32 29 20 6e 69 6c 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 (5.6).(1.2).nil)).....@result{}.
924c0 28 31 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 (1.3).@end.group.@end.example.@e
924e0 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 69 6e 64 2d 69 6e 64 65 78 7d 0a 40 nd.defun..@anchor{-find-index}.@
92500 64 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 54 61 defun.-find-index.(pred.list).Ta
92520 6b 65 20 61 20 70 72 65 64 69 63 61 74 65 20 40 76 61 72 7b 70 72 65 64 7d 20 61 6e 64 20 61 20 ke.a.predicate.@var{pred}.and.a.
92540 40 76 61 72 7b 6c 69 73 74 7d 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 @var{list}.and.return.the.index.
92560 6f 66 20 74 68 65 0a 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 65 20 6c 69 73 74 of.the.first.element.in.the.list
92580 20 73 61 74 69 73 66 79 69 6e 67 20 74 68 65 20 70 72 65 64 69 63 61 74 65 2c 20 6f 72 20 6e 69 .satisfying.the.predicate,.or.ni
925a0 6c 20 69 66 0a 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 l.if.there.is.no.such.element...
925c0 53 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 66 69 72 73 74 7d 20 28 40 70 78 72 65 66 7b 2d See.also.@code{-first}.(@pxref{-
925e0 66 69 72 73 74 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6e 64 first})...@example.@group.(-find
92600 2d 69 6e 64 65 78 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 31 20 36 20 33 20 33 20 35 20 38 29 -index.'even?.'(2.4.1.6.3.3.5.8)
92620 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 30 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 ).....@result{}.0.@end.group.@gr
92640 6f 75 70 0a 28 2d 2d 66 69 6e 64 2d 69 6e 64 65 78 20 28 3c 20 35 20 69 74 29 20 27 28 32 20 34 oup.(--find-index.(<.5.it).'(2.4
92660 20 31 20 36 20 33 20 33 20 35 20 38 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 .1.6.3.3.5.8)).....@result{}.3.@
92680 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6e 64 2d 69 6e 64 65 78 20 28 2d end.group.@group.(-find-index.(-
926a0 70 61 72 74 69 61 6c 20 27 73 74 72 69 6e 67 2d 6c 65 73 73 70 20 22 62 61 7a 22 29 20 27 28 22 partial.'string-lessp."baz").'("
926c0 62 61 72 22 20 22 66 6f 6f 22 20 22 62 61 7a 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d bar"."foo"."baz")).....@result{}
926e0 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 .1.@end.group.@end.example.@end.
92700 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 7d defun..@anchor{-find-last-index}
92720 0a 40 64 65 66 75 6e 20 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 70 72 65 64 20 6c .@defun.-find-last-index.(pred.l
92740 69 73 74 29 0a 54 61 6b 65 20 61 20 70 72 65 64 69 63 61 74 65 20 40 76 61 72 7b 70 72 65 64 7d ist).Take.a.predicate.@var{pred}
92760 20 61 6e 64 20 61 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 .and.a.@var{list}.and.return.the
92780 20 69 6e 64 65 78 20 6f 66 20 74 68 65 0a 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 .index.of.the.last.element.in.th
927a0 65 20 6c 69 73 74 20 73 61 74 69 73 66 79 69 6e 67 20 74 68 65 20 70 72 65 64 69 63 61 74 65 2c e.list.satisfying.the.predicate,
927c0 20 6f 72 20 6e 69 6c 20 69 66 0a 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 65 6c 65 6d .or.nil.if.there.is.no.such.elem
927e0 65 6e 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 40 63 6f 64 65 7b 2d 6c 61 73 74 7d 20 28 40 70 78 ent...See.also.@code{-last}.(@px
92800 72 65 66 7b 2d 6c 61 73 74 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d ref{-last})...@example.@group.(-
92820 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 31 20 36 find-last-index.'even?.'(2.4.1.6
92840 20 33 20 33 20 35 20 38 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 37 0a 40 65 6e 64 20 .3.3.5.8)).....@result{}.7.@end.
92860 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 group.@group.(--find-last-index.
92880 28 3c 20 35 20 69 74 29 20 27 28 32 20 37 20 31 20 36 20 33 20 38 20 35 20 32 29 29 0a 20 20 20 (<.5.it).'(2.7.1.6.3.8.5.2))....
928a0 20 40 72 65 73 75 6c 74 7b 7d 20 35 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 .@result{}.5.@end.group.@group.(
928c0 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 2d 70 61 72 74 69 61 6c 20 27 73 74 72 69 -find-last-index.(-partial.'stri
928e0 6e 67 2d 6c 65 73 73 70 20 22 62 61 7a 22 29 20 27 28 22 71 22 20 22 66 6f 6f 22 20 22 62 61 7a ng-lessp."baz").'("q"."foo"."baz
92900 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ")).....@result{}.1.@end.group.@
92920 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
92940 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 7d 0a 40 64 65 66 75 6e 20 2d 66 69 6e 64 2d 69 6e 64 69 -find-indices}.@defun.-find-indi
92960 63 65 73 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 69 6e 64 69 63 ces.(pred.list).Return.the.indic
92980 65 73 20 6f 66 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d es.of.all.elements.in.@var{list}
929a0 20 73 61 74 69 73 66 79 69 6e 67 20 74 68 65 0a 70 72 65 64 69 63 61 74 65 20 40 76 61 72 7b 70 .satisfying.the.predicate.@var{p
929c0 72 65 64 7d 2c 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 40 65 78 61 6d red},.in.ascending.order...@exam
929e0 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 27 65 76 65 6e 3f ple.@group.(-find-indices.'even?
92a00 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 40 72 65 73 75 6c 74 .'(2.4.1.6.3.3.5.8)).....@result
92a20 7b 7d 20 28 30 20 31 20 33 20 37 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 {}.(0.1.3.7).@end.group.@group.(
92a40 2d 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 28 3c 20 35 20 69 74 29 20 27 28 32 20 34 20 31 20 --find-indices.(<.5.it).'(2.4.1.
92a60 36 20 33 20 33 20 35 20 38 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 37 29 0a 6.3.3.5.8)).....@result{}.(3.7).
92a80 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 @end.group.@group.(-find-indices
92aa0 20 28 2d 70 61 72 74 69 61 6c 20 27 73 74 72 69 6e 67 2d 6c 65 73 73 70 20 22 62 61 7a 22 29 20 .(-partial.'string-lessp."baz").
92ac0 27 28 22 62 61 72 22 20 22 66 6f 6f 22 20 22 62 61 7a 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c '("bar"."foo"."baz")).....@resul
92ae0 74 7b 7d 20 28 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a t{}.(1).@end.group.@end.example.
92b00 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 67 72 61 64 65 2d 75 70 7d 0a 40 @end.defun..@anchor{-grade-up}.@
92b20 64 65 66 75 6e 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 defun.-grade-up.(comparator.list
92b40 29 0a 47 72 61 64 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 75 ).Grade.elements.of.@var{list}.u
92b60 73 69 6e 67 20 40 76 61 72 7b 63 6f 6d 70 61 72 61 74 6f 72 7d 20 72 65 6c 61 74 69 6f 6e 2e 0a sing.@var{comparator}.relation..
92b80 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 20 76 65 63 74 6f 72 This.yields.a.permutation.vector
92ba0 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 70 65 72 6d 75 74 61 .such.that.applying.this.permuta
92bc0 74 69 6f 6e 20 74 6f 20 40 76 61 72 7b 6c 69 73 74 7d 20 73 6f 72 74 73 20 69 74 20 69 6e 20 61 tion.to.@var{list}.sorts.it.in.a
92be0 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 scending.order...@example.@group
92c00 0a 28 2d 67 72 61 64 65 2d 75 70 20 23 27 3c 20 27 28 33 20 31 20 34 20 32 20 31 20 33 20 33 29 .(-grade-up.#'<.'(3.1.4.2.1.3.3)
92c20 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 33 20 30 20 35 20 36 20 32 29 0a ).....@result{}.(1.4.3.0.5.6.2).
92c40 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 6c 20 27 28 33 20 31 @end.group.@group.(let.((l.'(3.1
92c60 20 34 20 32 20 31 20 33 20 33 29 29 29 20 28 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 .4.2.1.3.3))).(-select-by-indice
92c80 73 20 28 2d 67 72 61 64 65 2d 75 70 20 23 27 3c 20 6c 29 20 6c 29 29 0a 20 20 20 20 40 72 65 73 s.(-grade-up.#'<.l).l)).....@res
92ca0 75 6c 74 7b 7d 20 28 31 20 31 20 32 20 33 20 33 20 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 ult{}.(1.1.2.3.3.3.4).@end.group
92cc0 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f .@end.example.@end.defun..@ancho
92ce0 72 7b 2d 67 72 61 64 65 2d 64 6f 77 6e 7d 0a 40 64 65 66 75 6e 20 2d 67 72 61 64 65 2d 64 6f 77 r{-grade-down}.@defun.-grade-dow
92d00 6e 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 47 72 61 64 65 20 65 6c 65 6d 65 6e n.(comparator.list).Grade.elemen
92d20 74 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 75 73 69 6e 67 20 40 76 61 72 7b 63 6f 6d 70 ts.of.@var{list}.using.@var{comp
92d40 61 72 61 74 6f 72 7d 20 72 65 6c 61 74 69 6f 6e 2e 0a 54 68 69 73 20 79 69 65 6c 64 73 20 61 20 arator}.relation..This.yields.a.
92d60 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 70 permutation.vector.such.that.app
92d80 6c 79 69 6e 67 20 74 68 69 73 0a 70 65 72 6d 75 74 61 74 69 6f 6e 20 74 6f 20 40 76 61 72 7b 6c lying.this.permutation.to.@var{l
92da0 69 73 74 7d 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 ist}.sorts.it.in.descending.orde
92dc0 72 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 67 72 61 64 65 2d 64 6f 77 6e r...@example.@group.(-grade-down
92de0 20 23 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 40 72 65 73 75 .#'<.'(3.1.4.2.1.3.3)).....@resu
92e00 6c 74 7b 7d 20 28 32 20 30 20 35 20 36 20 33 20 31 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a lt{}.(2.0.5.6.3.1.4).@end.group.
92e20 40 67 72 6f 75 70 0a 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 @group.(let.((l.'(3.1.4.2.1.3.3)
92e40 29 29 20 28 2d 73 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 64 )).(-select-by-indices.(-grade-d
92e60 6f 77 6e 20 23 27 3c 20 6c 29 20 6c 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 20 own.#'<.l).l)).....@result{}.(4.
92e80 33 20 33 20 33 20 32 20 31 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 3.3.3.2.1.1).@end.group.@end.exa
92ea0 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 53 65 74 20 6f 70 65 72 61 mple.@end.defun..@node.Set.opera
92ec0 74 69 6f 6e 73 0a 40 73 65 63 74 69 6f 6e 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 4f tions.@section.Set.operations..O
92ee0 70 65 72 61 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 73 perations.pretending.lists.are.s
92f00 65 74 73 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 75 6e 69 6f 6e 7d 0a 40 64 65 66 75 6e 20 2d 75 6e ets...@anchor{-union}.@defun.-un
92f20 69 6f 6e 20 28 6c 69 73 74 20 6c 69 73 74 32 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 ion.(list.list2).Return.a.new.li
92f40 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 st.containing.the.elements.of.@v
92f60 61 72 7b 6c 69 73 74 7d 20 61 6e 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 6c 69 ar{list}.and.elements.of.@var{li
92f80 73 74 32 7d 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2e st2}.that.are.not.in.@var{list}.
92fa0 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 77 .The.test.for.equality.is.done.w
92fc0 69 74 68 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2c 0a 6f 72 20 77 69 74 68 20 40 63 6f 64 65 7b ith.@code{equal},.or.with.@code{
92fe0 2d 63 6f 6d 70 61 72 65 2d 66 6e 7d 20 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a -compare-fn}.if.that's.non-nil..
93000 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 75 6e 69 6f 6e 20 27 28 31 20 32 20 33 .@example.@group.(-union.'(1.2.3
93020 29 20 27 28 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 ).'(3.4.5)).....@result{}.(1.2.3
93040 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 75 6e 69 6f 6e 20 .4.5).@end.group.@group.(-union.
93060 27 28 31 20 32 20 33 20 34 29 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 '(1.2.3.4).()).....@result{}.(1.
93080 32 20 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 75 6e 69 6f 6e 2.3.4).@end.group.@group.(-union
930a0 20 27 28 31 20 31 20 32 20 32 29 20 27 28 33 20 32 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c .'(1.1.2.2).'(3.2.1)).....@resul
930c0 74 7b 7d 20 28 31 20 31 20 32 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 t{}.(1.1.2.2.3).@end.group.@end.
930e0 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 64 69 66 example.@end.defun..@anchor{-dif
93100 66 65 72 65 6e 63 65 7d 0a 40 64 65 66 75 6e 20 2d 64 69 66 66 65 72 65 6e 63 65 20 28 6c 69 73 ference}.@defun.-difference.(lis
93120 74 20 6c 69 73 74 32 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 t.list2).Return.a.new.list.with.
93140 6f 6e 6c 79 20 74 68 65 20 6d 65 6d 62 65 72 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 74 only.the.members.of.@var{list}.t
93160 68 61 74 20 61 72 65 20 6e 6f 74 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 32 7d 2e 0a 54 68 65 20 hat.are.not.in.@var{list2}..The.
93180 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 40 test.for.equality.is.done.with.@
931a0 63 6f 64 65 7b 65 71 75 61 6c 7d 2c 0a 6f 72 20 77 69 74 68 20 40 63 6f 64 65 7b 2d 63 6f 6d 70 code{equal},.or.with.@code{-comp
931c0 61 72 65 2d 66 6e 7d 20 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 40 65 78 61 are-fn}.if.that's.non-nil...@exa
931e0 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 64 69 66 66 65 72 65 6e 63 65 20 28 29 20 28 29 29 0a mple.@group.(-difference.().()).
93200 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f ....@result{}.().@end.group.@gro
93220 75 70 0a 28 2d 64 69 66 66 65 72 65 6e 63 65 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 up.(-difference.'(1.2.3).'(4.5.6
93240 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 )).....@result{}.(1.2.3).@end.gr
93260 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 64 69 66 66 65 72 65 6e 63 65 20 27 28 31 20 32 20 33 20 oup.@group.(-difference.'(1.2.3.
93280 34 29 20 27 28 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 4).'(3.4.5.6)).....@result{}.(1.
932a0 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 2).@end.group.@end.example.@end.
932c0 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 7d 0a 40 64 defun..@anchor{-intersection}.@d
932e0 65 66 75 6e 20 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 28 6c 69 73 74 20 6c 69 73 74 32 29 0a efun.-intersection.(list.list2).
93300 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6f 6e 6c Return.a.new.list.containing.onl
93320 79 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 74 68 61 74 20 61 72 65 20 6d 65 6d 62 65 72 73 20 y.the.elements.that.are.members.
93340 6f 66 20 62 6f 74 68 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 6e 64 20 40 76 61 72 7b 6c 69 73 74 of.both.@var{list}.and.@var{list
93360 32 7d 2e 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 2}..The.test.for.equality.is.don
93380 65 20 77 69 74 68 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2c 0a 6f 72 20 77 69 74 68 20 40 63 6f e.with.@code{equal},.or.with.@co
933a0 64 65 7b 2d 63 6f 6d 70 61 72 65 2d 66 6e 7d 20 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 de{-compare-fn}.if.that's.non-ni
933c0 6c 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 73 65 63 74 69 l...@example.@group.(-intersecti
933e0 6f 6e 20 28 29 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 on.().()).....@result{}.().@end.
93400 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 27 28 31 20 group.@group.(-intersection.'(1.
93420 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 2.3).'(4.5.6)).....@result{}.().
93440 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e @end.group.@group.(-intersection
93460 20 27 28 31 20 32 20 33 20 34 29 20 27 28 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 .'(1.2.3.4).'(3.4.5.6)).....@res
93480 75 6c 74 7b 7d 20 28 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d ult{}.(3.4).@end.group.@end.exam
934a0 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 6f 77 65 72 73 65 ple.@end.defun..@anchor{-powerse
934c0 74 7d 0a 40 64 65 66 75 6e 20 2d 70 6f 77 65 72 73 65 74 20 28 6c 69 73 74 29 0a 52 65 74 75 72 t}.@defun.-powerset.(list).Retur
934e0 6e 20 74 68 65 20 70 6f 77 65 72 20 73 65 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a n.the.power.set.of.@var{list}...
93500 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 6f 77 65 72 73 65 74 20 28 29 29 0a 20 @example.@group.(-powerset.())..
93520 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 ...@result{}.(nil).@end.group.@g
93540 72 6f 75 70 0a 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 40 72 roup.(-powerset.'(x.y.z)).....@r
93560 65 73 75 6c 74 7b 7d 20 28 28 78 20 79 20 7a 29 20 28 78 20 79 29 20 28 78 20 7a 29 20 28 78 29 esult{}.((x.y.z).(x.y).(x.z).(x)
93580 20 28 79 20 7a 29 20 28 79 29 20 28 7a 29 20 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 .(y.z).(y).(z).nil).@end.group.@
935a0 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
935c0 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 7d 0a 40 64 65 66 75 6e 20 2d 70 65 72 6d 75 74 61 74 69 -permutations}.@defun.-permutati
935e0 6f 6e 73 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 70 65 72 6d 75 74 61 74 69 6f ons.(list).Return.the.permutatio
93600 6e 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f ns.of.@var{list}...@example.@gro
93620 75 70 0a 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c up.(-permutations.()).....@resul
93640 74 7b 7d 20 28 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 65 t{}.(nil).@end.group.@group.(-pe
93660 72 6d 75 74 61 74 69 6f 6e 73 20 27 28 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d rmutations.'(1.2)).....@result{}
93680 20 28 28 31 20 32 29 20 28 32 20 31 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 .((1.2).(2.1)).@end.group.@group
936a0 0a 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 40 72 .(-permutations.'(a.b.c)).....@r
936c0 65 73 75 6c 74 7b 7d 20 28 28 61 20 62 20 63 29 20 28 61 20 63 20 62 29 20 28 62 20 61 20 63 29 esult{}.((a.b.c).(a.c.b).(b.a.c)
936e0 20 28 62 20 63 20 61 29 20 28 63 20 61 20 62 29 20 28 63 20 62 20 61 29 29 0a 40 65 6e 64 20 67 .(b.c.a).(c.a.b).(c.b.a)).@end.g
93700 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 roup.@end.example.@end.defun..@a
93720 6e 63 68 6f 72 7b 2d 64 69 73 74 69 6e 63 74 7d 0a 40 64 65 66 75 6e 20 2d 64 69 73 74 69 6e 63 nchor{-distinct}.@defun.-distinc
93740 74 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 t.(list).Return.a.new.list.with.
93760 61 6c 6c 20 64 75 70 6c 69 63 61 74 65 73 20 72 65 6d 6f 76 65 64 2e 0a 54 68 65 20 74 65 73 74 all.duplicates.removed..The.test
93780 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 40 63 6f 64 65 .for.equality.is.done.with.@code
937a0 7b 65 71 75 61 6c 7d 2c 0a 6f 72 20 77 69 74 68 20 40 63 6f 64 65 7b 2d 63 6f 6d 70 61 72 65 2d {equal},.or.with.@code{-compare-
937c0 66 6e 7d 20 69 66 20 74 68 61 74 27 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 41 6c 69 61 73 3a 20 40 fn}.if.that's.non-nil...Alias:.@
937e0 63 6f 64 65 7b 2d 75 6e 69 71 7d 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 64 code{-uniq}..@example.@group.(-d
93800 69 73 74 69 6e 63 74 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e istinct.()).....@result{}.().@en
93820 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 64 69 73 74 69 6e 63 74 20 27 28 31 20 32 20 d.group.@group.(-distinct.'(1.2.
93840 32 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 34 29 0a 40 65 6e 64 2.4)).....@result{}.(1.2.4).@end
93860 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 64 69 73 74 69 6e 63 74 20 27 28 74 20 74 20 74 .group.@group.(-distinct.'(t.t.t
93880 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 74 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a )).....@result{}.(t).@end.group.
938a0 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 4f @end.example.@end.defun..@node.O
938c0 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 0a 40 73 65 63 74 69 6f 6e 20 4f 74 ther.list.operations.@section.Ot
938e0 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 0a 0a 4f 74 68 65 72 20 6c 69 73 74 20 her.list.operations..Other.list.
93900 66 75 6e 63 74 69 6f 6e 73 20 6e 6f 74 20 66 69 74 20 74 6f 20 62 65 20 63 6c 61 73 73 69 66 69 functions.not.fit.to.be.classifi
93920 65 64 20 65 6c 73 65 77 68 65 72 65 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 6f 74 61 74 65 7d 0a ed.elsewhere...@anchor{-rotate}.
93940 40 64 65 66 75 6e 20 2d 72 6f 74 61 74 65 20 28 6e 20 6c 69 73 74 29 0a 52 6f 74 61 74 65 20 40 @defun.-rotate.(n.list).Rotate.@
93960 76 61 72 7b 6c 69 73 74 7d 20 40 76 61 72 7b 6e 7d 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 var{list}.@var{n}.places.to.the.
93980 72 69 67 68 74 20 28 6c 65 66 74 20 69 66 20 40 76 61 72 7b 6e 7d 20 69 73 20 6e 65 67 61 74 69 right.(left.if.@var{n}.is.negati
939a0 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 69 73 20 40 76 61 72 ve)..The.time.complexity.is.@var
939c0 7b 6f 7d 28 6e 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 6f 74 61 74 {o}(n)...@example.@group.(-rotat
939e0 65 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 40 72 65 73 75 6c e.3.'(1.2.3.4.5.6.7)).....@resul
93a00 74 7b 7d 20 28 35 20 36 20 37 20 31 20 32 20 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 t{}.(5.6.7.1.2.3.4).@end.group.@
93a20 67 72 6f 75 70 0a 28 2d 72 6f 74 61 74 65 20 2d 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 group.(-rotate.-3.'(1.2.3.4.5.6.
93a40 37 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 20 35 20 36 20 37 20 31 20 32 20 33 7)).....@result{}.(4.5.6.7.1.2.3
93a60 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 6f 74 61 74 65 20 31 36 20 ).@end.group.@group.(-rotate.16.
93a80 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 '(1.2.3.4.5.6.7)).....@result{}.
93aa0 28 36 20 37 20 31 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 (6.7.1.2.3.4.5).@end.group.@end.
93ac0 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 65 70 example.@end.defun..@anchor{-rep
93ae0 65 61 74 7d 0a 40 64 65 66 75 6e 20 2d 72 65 70 65 61 74 20 28 6e 20 78 29 0a 52 65 74 75 72 6e eat}.@defun.-repeat.(n.x).Return
93b00 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 40 76 61 72 7b 6e 7d 20 77 69 .a.new.list.of.length.@var{n}.wi
93b20 74 68 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 62 65 69 6e 67 20 40 76 61 72 7b 78 7d 2e 0a 52 th.each.element.being.@var{x}..R
93b40 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 40 76 61 72 7b 6e 7d 20 69 73 20 6c 65 73 73 20 74 68 61 eturn.nil.if.@var{n}.is.less.tha
93b60 6e 20 31 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 65 61 74 20 33 n.1...@example.@group.(-repeat.3
93b80 20 3a 61 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 3a 61 20 3a 61 20 3a 61 29 0a 40 65 .:a).....@result{}.(:a.:a.:a).@e
93ba0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 72 65 70 65 61 74 20 31 20 3a 61 29 0a 20 nd.group.@group.(-repeat.1.:a)..
93bc0 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 3a 61 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 ...@result{}.(:a).@end.group.@gr
93be0 6f 75 70 0a 28 2d 72 65 70 65 61 74 20 30 20 3a 61 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d oup.(-repeat.0.:a).....@result{}
93c00 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e .nil.@end.group.@end.example.@en
93c20 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6f 6e 73 2a 7d 0a 40 64 65 66 75 6e 20 d.defun..@anchor{-cons*}.@defun.
93c40 2d 63 6f 6e 73 2a 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 4d 61 6b 65 20 61 20 6e 65 77 20 6c -cons*.(&rest.args).Make.a.new.l
93c60 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 40 76 61 72 7b 61 72 ist.from.the.elements.of.@var{ar
93c80 67 73 7d 2e 0a 54 68 65 20 6c 61 73 74 20 32 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 gs}..The.last.2.elements.of.@var
93ca0 7b 61 72 67 73 7d 20 61 72 65 20 75 73 65 64 20 61 73 20 74 68 65 20 66 69 6e 61 6c 20 63 6f 6e {args}.are.used.as.the.final.con
93cc0 73 20 6f 66 20 74 68 65 0a 72 65 73 75 6c 74 2c 20 73 6f 20 69 66 20 74 68 65 20 66 69 6e 61 6c s.of.the.result,.so.if.the.final
93ce0 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 61 72 67 73 7d 20 69 73 20 6e 6f 74 20 61 20 .element.of.@var{args}.is.not.a.
93d00 6c 69 73 74 2c 20 74 68 65 20 72 65 73 75 6c 74 0a 69 73 20 61 20 64 6f 74 74 65 64 20 6c 69 73 list,.the.result.is.a.dotted.lis
93d20 74 2e 20 20 57 69 74 68 20 6e 6f 20 40 76 61 72 7b 61 72 67 73 7d 2c 20 72 65 74 75 72 6e 20 6e t...With.no.@var{args},.return.n
93d40 69 6c 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e 73 2a 20 31 20 32 il...@example.@group.(-cons*.1.2
93d60 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 2e 20 32 29 0a 40 65 6e 64 20 67 72 6f ).....@result{}.(1...2).@end.gro
93d80 75 70 0a 40 67 72 6f 75 70 0a 28 2d 63 6f 6e 73 2a 20 31 20 32 20 33 29 0a 20 20 20 20 40 72 65 up.@group.(-cons*.1.2.3).....@re
93da0 73 75 6c 74 7b 7d 20 28 31 20 32 20 2e 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f sult{}.(1.2...3).@end.group.@gro
93dc0 75 70 0a 28 2d 63 6f 6e 73 2a 20 31 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 up.(-cons*.1).....@result{}.1.@e
93de0 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e nd.group.@end.example.@end.defun
93e00 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 6e 6f 63 7d 0a 40 64 65 66 75 6e 20 2d 73 6e 6f 63 20 28 6c ..@anchor{-snoc}.@defun.-snoc.(l
93e20 69 73 74 20 65 6c 65 6d 20 26 72 65 73 74 20 65 6c 65 6d 65 6e 74 73 29 0a 41 70 70 65 6e 64 20 ist.elem.&rest.elements).Append.
93e40 40 76 61 72 7b 65 6c 65 6d 7d 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 73 @var{elem}.to.the.end.of.the.lis
93e60 74 2e 0a 0a 54 68 69 73 20 69 73 20 6c 69 6b 65 20 40 63 6f 64 65 7b 63 6f 6e 73 7d 2c 20 62 75 t...This.is.like.@code{cons},.bu
93e80 74 20 6f 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 t.operates.on.the.end.of.list...
93ea0 49 66 20 40 76 61 72 7b 65 6c 65 6d 65 6e 74 73 7d 20 69 73 20 6e 6f 6e 20 6e 69 6c 2c 20 61 70 If.@var{elements}.is.non.nil,.ap
93ec0 70 65 6e 64 20 74 68 65 73 65 20 74 6f 20 74 68 65 20 6c 69 73 74 20 61 73 20 77 65 6c 6c 2e 0a pend.these.to.the.list.as.well..
93ee0 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 33 29 .@example.@group.(-snoc.'(1.2.3)
93f00 20 34 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 29 0a 40 65 6e 64 .4).....@result{}.(1.2.3.4).@end
93f20 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 33 29 20 34 20 .group.@group.(-snoc.'(1.2.3).4.
93f40 35 20 36 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 35 20 36 29 5.6).....@result{}.(1.2.3.4.5.6)
93f60 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 6e 6f 63 20 27 28 31 20 32 20 .@end.group.@group.(-snoc.'(1.2.
93f80 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 3).'(4.5.6)).....@result{}.(1.2.
93fa0 33 20 28 34 20 35 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 3.(4.5.6)).@end.group.@end.examp
93fc0 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 6e 74 65 72 70 6f 73 le.@end.defun..@anchor{-interpos
93fe0 65 7d 0a 40 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 0a e}.@defun.-interpose.(sep.list).
94000 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 6d 65 6e 74 Return.a.new.list.of.all.element
94020 73 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 73 65 70 61 72 61 74 65 64 20 62 79 20 40 76 61 s.in.@var{list}.separated.by.@va
94040 72 7b 73 65 70 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 r{sep}...@example.@group.(-inter
94060 70 6f 73 65 20 22 2d 22 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 pose."-".()).....@result{}.().@e
94080 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 nd.group.@group.(-interpose."-".
940a0 27 28 22 61 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 61 22 29 0a 40 65 6e 64 '("a")).....@result{}.("a").@end
940c0 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 27 28 .group.@group.(-interpose."-".'(
940e0 22 61 22 20 22 62 22 20 22 63 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 61 22 "a"."b"."c")).....@result{}.("a"
94100 20 22 2d 22 20 22 62 22 20 22 2d 22 20 22 63 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e ."-"."b"."-"."c").@end.group.@en
94120 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 d.example.@end.defun..@anchor{-i
94140 6e 74 65 72 6c 65 61 76 65 7d 0a 40 64 65 66 75 6e 20 2d 69 6e 74 65 72 6c 65 61 76 65 20 28 26 nterleave}.@defun.-interleave.(&
94160 72 65 73 74 20 6c 69 73 74 73 29 0a 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 rest.lists).Return.a.new.list.of
94180 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
941a0 65 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 65 74 63 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 en.the.second.etc...@example.@gr
941c0 6f 75 70 0a 28 2d 69 6e 74 65 72 6c 65 61 76 65 20 27 28 31 20 32 29 20 27 28 22 61 22 20 22 62 oup.(-interleave.'(1.2).'("a"."b
941e0 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 22 61 22 20 32 20 22 62 22 29 0a ")).....@result{}.(1."a".2."b").
94200 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 6c 65 61 76 65 20 27 @end.group.@group.(-interleave.'
94220 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 20 20 (1.2).'("a"."b").'("A"."B"))....
94240 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 22 61 22 20 22 41 22 20 32 20 22 62 22 20 22 42 22 29 .@result{}.(1."a"."A".2."b"."B")
94260 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6e 74 65 72 6c 65 61 76 65 20 .@end.group.@group.(-interleave.
94280 27 28 31 20 32 20 33 29 20 27 28 22 61 22 20 22 62 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 '(1.2.3).'("a"."b")).....@result
942a0 7b 7d 20 28 31 20 22 61 22 20 32 20 22 62 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 {}.(1."a".2."b").@end.group.@end
942c0 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 6f .example.@end.defun..@anchor{-io
942e0 74 61 7d 0a 40 64 65 66 75 6e 20 2d 69 6f 74 61 20 28 63 6f 75 6e 74 20 26 6f 70 74 69 6f 6e 61 ta}.@defun.-iota.(count.&optiona
94300 6c 20 73 74 61 72 74 20 73 74 65 70 29 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 63 6f 6e 74 l.start.step).Return.a.list.cont
94320 61 69 6e 69 6e 67 20 40 76 61 72 7b 63 6f 75 6e 74 7d 20 6e 75 6d 62 65 72 73 2e 0a 53 74 61 72 aining.@var{count}.numbers..Star
94340 74 73 20 66 72 6f 6d 20 40 76 61 72 7b 73 74 61 72 74 7d 20 61 6e 64 20 61 64 64 73 20 40 76 61 ts.from.@var{start}.and.adds.@va
94360 72 7b 73 74 65 70 7d 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 r{step}.each.time...The.default.
94380 40 76 61 72 7b 73 74 61 72 74 7d 20 69 73 0a 7a 65 72 6f 2c 20 74 68 65 20 64 65 66 61 75 6c 74 @var{start}.is.zero,.the.default
943a0 20 40 76 61 72 7b 73 74 65 70 7d 20 69 73 20 31 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 .@var{step}.is.1..This.function.
943c0 74 61 6b 65 73 20 69 74 73 20 6e 61 6d 65 20 66 72 6f 6d 20 74 68 65 20 63 6f 72 72 65 73 70 6f takes.its.name.from.the.correspo
943e0 6e 64 69 6e 67 20 70 72 69 6d 69 74 69 76 65 20 69 6e 0a 74 68 65 20 40 76 61 72 7b 61 70 6c 7d nding.primitive.in.the.@var{apl}
94400 20 6c 61 6e 67 75 61 67 65 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 6f .language...@example.@group.(-io
94420 74 61 20 36 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 30 20 31 20 32 20 33 20 34 20 35 ta.6).....@result{}.(0.1.2.3.4.5
94440 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6f 74 61 20 34 20 32 2e 35 ).@end.group.@group.(-iota.4.2.5
94460 20 2d 32 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 2e 35 20 30 2e 35 20 2d 31 2e 35 .-2).....@result{}.(2.5.0.5.-1.5
94480 20 2d 33 2e 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 6f 74 61 20 .-3.5).@end.group.@group.(-iota.
944a0 2d 31 29 0a 20 20 20 20 40 65 72 72 6f 72 7b 7d 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 75 -1).....@error{}.Wrong.type.argu
944c0 6d 65 6e 74 3a 20 6e 61 74 6e 75 6d 70 2c 20 2d 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e ment:.natnump,.-1.@end.group.@en
944e0 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 7a d.example.@end.defun..@anchor{-z
94500 69 70 2d 77 69 74 68 7d 0a 40 64 65 66 75 6e 20 2d 7a 69 70 2d 77 69 74 68 20 28 66 6e 20 6c 69 ip-with}.@defun.-zip-with.(fn.li
94520 73 74 31 20 6c 69 73 74 32 29 0a 5a 69 70 20 74 68 65 20 74 77 6f 20 6c 69 73 74 73 20 40 76 61 st1.list2).Zip.the.two.lists.@va
94540 72 7b 6c 69 73 74 31 7d 20 61 6e 64 20 40 76 61 72 7b 6c 69 73 74 32 7d 20 75 73 69 6e 67 20 61 r{list1}.and.@var{list2}.using.a
94560 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 2e 20 20 54 68 69 73 0a 66 75 6e 63 74 69 .function.@var{fn}...This.functi
94580 6f 6e 20 69 73 20 61 70 70 6c 69 65 64 20 70 61 69 72 77 69 73 65 20 74 61 6b 69 6e 67 20 61 73 on.is.applied.pairwise.taking.as
945a0 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 40 76 61 72 7b .first.argument.element.of.@var{
945c0 6c 69 73 74 31 7d 20 61 6e 64 20 61 73 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 65 6c list1}.and.as.second.argument.el
945e0 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 32 7d 20 61 74 20 63 6f 72 72 65 73 70 6f ement.of.@var{list2}.at.correspo
94600 6e 64 69 6e 67 0a 70 6f 73 69 74 69 6f 6e 2e 0a 0a 54 68 65 20 61 6e 61 70 68 6f 72 69 63 20 66 nding.position...The.anaphoric.f
94620 6f 72 6d 20 40 63 6f 64 65 7b 2d 2d 7a 69 70 2d 77 69 74 68 7d 20 62 69 6e 64 73 20 74 68 65 20 orm.@code{--zip-with}.binds.the.
94640 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 74 31 7d 20 61 73 20 73 79 6d elements.from.@var{list1}.as.sym
94660 62 6f 6c 20 40 63 6f 64 65 7b 69 74 7d 2c 0a 61 6e 64 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 bol.@code{it},.and.the.elements.
94680 66 72 6f 6d 20 40 76 61 72 7b 6c 69 73 74 32 7d 20 61 73 20 73 79 6d 62 6f 6c 20 40 63 6f 64 65 from.@var{list2}.as.symbol.@code
946a0 7b 6f 74 68 65 72 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 70 2d {other}...@example.@group.(-zip-
946c0 77 69 74 68 20 27 2b 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 40 with.'+.'(1.2.3).'(4.5.6)).....@
946e0 72 65 73 75 6c 74 7b 7d 20 28 35 20 37 20 39 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f result{}.(5.7.9).@end.group.@gro
94700 75 70 0a 28 2d 7a 69 70 2d 77 69 74 68 20 27 63 6f 6e 73 20 27 28 31 20 32 20 33 29 20 27 28 34 up.(-zip-with.'cons.'(1.2.3).'(4
94720 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 2e 20 34 29 20 28 32 .5.6)).....@result{}.((1...4).(2
94740 20 2e 20 35 29 20 28 33 20 2e 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 ...5).(3...6)).@end.group.@group
94760 0a 28 2d 2d 7a 69 70 2d 77 69 74 68 20 28 63 6f 6e 63 61 74 20 69 74 20 22 20 61 6e 64 20 22 20 .(--zip-with.(concat.it.".and.".
94780 6f 74 68 65 72 29 20 27 28 22 42 61 74 6d 61 6e 22 20 22 4a 65 6b 79 6c 6c 22 29 20 27 28 22 52 other).'("Batman"."Jekyll").'("R
947a0 6f 62 69 6e 22 20 22 48 79 64 65 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 22 42 obin"."Hyde")).....@result{}.("B
947c0 61 74 6d 61 6e 20 61 6e 64 20 52 6f 62 69 6e 22 20 22 4a 65 6b 79 6c 6c 20 61 6e 64 20 48 79 64 atman.and.Robin"."Jekyll.and.Hyd
947e0 65 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 e").@end.group.@end.example.@end
94800 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 7a 69 70 7d 0a 40 64 65 66 75 6e 20 2d 7a 69 .defun..@anchor{-zip}.@defun.-zi
94820 70 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 5a 69 70 20 40 76 61 72 7b 6c 69 73 74 73 7d 20 p.(&rest.lists).Zip.@var{lists}.
94840 74 6f 67 65 74 68 65 72 2e 20 20 47 72 6f 75 70 20 74 68 65 20 68 65 61 64 20 6f 66 20 65 61 63 together...Group.the.head.of.eac
94860 68 20 6c 69 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 0a 73 65 63 6f 6e 64 20 65 h.list,.followed.by.the.second.e
94880 6c 65 6d 65 6e 74 73 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 lements.of.each.list,.and.so.on.
948a0 20 54 68 65 20 6c 65 6e 67 74 68 73 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 0a 67 72 6f .The.lengths.of.the.returned.gro
948c0 75 70 69 6e 67 73 20 61 72 65 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f upings.are.equal.to.the.length.o
948e0 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 49 66 20 74 f.the.shortest.input.list...If.t
94900 77 6f 20 6c 69 73 74 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 20 61 73 20 61 72 67 75 6d 65 6e wo.lists.are.provided.as.argumen
94920 74 73 2c 20 72 65 74 75 72 6e 20 74 68 65 20 67 72 6f 75 70 69 6e 67 73 20 61 73 20 61 20 6c 69 ts,.return.the.groupings.as.a.li
94940 73 74 0a 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 st.of.cons.cells..Otherwise,.ret
94960 75 72 6e 20 74 68 65 20 67 72 6f 75 70 69 6e 67 73 20 61 73 20 61 20 6c 69 73 74 20 6f 66 20 6c urn.the.groupings.as.a.list.of.l
94980 69 73 74 73 2e 0a 0a 55 73 65 20 40 63 6f 64 65 7b 2d 7a 69 70 2d 6c 69 73 74 73 7d 20 28 40 70 ists...Use.@code{-zip-lists}.(@p
949a0 78 72 65 66 7b 2d 7a 69 70 2d 6c 69 73 74 73 7d 29 20 69 66 20 79 6f 75 20 6e 65 65 64 20 74 68 xref{-zip-lists}).if.you.need.th
949c0 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 74 6f 20 61 6c 77 61 79 73 20 62 65 20 61 20 6c 69 e.return.value.to.always.be.a.li
949e0 73 74 0a 6f 66 20 6c 69 73 74 73 2e 0a 0a 41 6c 69 61 73 3a 20 40 63 6f 64 65 7b 2d 7a 69 70 2d st.of.lists...Alias:.@code{-zip-
94a00 70 61 69 72 7d 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 7a 69 70 2d 6c 69 73 74 pair}..See.also:.@code{-zip-list
94a20 73 7d 20 28 40 70 78 72 65 66 7b 2d 7a 69 70 2d 6c 69 73 74 73 7d 29 0a 0a 40 65 78 61 6d 70 6c s}.(@pxref{-zip-lists})..@exampl
94a40 65 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 70 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 e.@group.(-zip.'(1.2.3).'(4.5.6)
94a60 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 2e 20 34 29 20 28 32 20 2e 20 35 29 ).....@result{}.((1...4).(2...5)
94a80 20 28 33 20 2e 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 .(3...6)).@end.group.@group.(-zi
94aa0 70 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 p.'(1.2.3).'(4.5.6.7)).....@resu
94ac0 6c 74 7b 7d 20 28 28 31 20 2e 20 34 29 20 28 32 20 2e 20 35 29 20 28 33 20 2e 20 36 29 29 0a 40 lt{}.((1...4).(2...5).(3...6)).@
94ae0 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 70 20 27 28 31 20 32 29 20 27 28 end.group.@group.(-zip.'(1.2).'(
94b00 33 20 34 20 35 29 20 27 28 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 33 3.4.5).'(6)).....@result{}.((1.3
94b20 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e .6)).@end.group.@end.example.@en
94b40 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 7a 69 70 2d 6c 69 73 74 73 7d 0a 40 64 65 d.defun..@anchor{-zip-lists}.@de
94b60 66 75 6e 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 5a 69 70 fun.-zip-lists.(&rest.lists).Zip
94b80 20 40 76 61 72 7b 6c 69 73 74 73 7d 20 74 6f 67 65 74 68 65 72 2e 20 20 47 72 6f 75 70 20 74 68 .@var{lists}.together...Group.th
94ba0 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 79 e.head.of.each.list,.followed.by
94bc0 20 74 68 65 0a 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 65 61 63 68 20 6c 69 73 .the.second.elements.of.each.lis
94be0 74 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 54 68 65 20 6c 65 6e 67 74 68 73 20 6f 66 20 74 68 65 t,.and.so.on..The.lengths.of.the
94c00 20 72 65 74 75 72 6e 65 64 0a 67 72 6f 75 70 69 6e 67 73 20 61 72 65 20 65 71 75 61 6c 20 74 6f .returned.groupings.are.equal.to
94c20 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 69 6e 70 75 .the.length.of.the.shortest.inpu
94c40 74 20 6c 69 73 74 2e 0a 0a 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 6c 77 t.list...The.return.value.is.alw
94c60 61 79 73 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 2c 20 77 68 69 63 68 20 69 73 20 61 20 64 69 ays.list.of.lists,.which.is.a.di
94c80 66 66 65 72 65 6e 63 65 0a 66 72 6f 6d 20 40 63 6f 64 65 7b 2d 7a 69 70 2d 70 61 69 72 7d 20 77 fference.from.@code{-zip-pair}.w
94ca0 68 69 63 68 20 72 65 74 75 72 6e 73 20 61 20 63 6f 6e 73 2d 63 65 6c 6c 20 69 6e 20 63 61 73 65 hich.returns.a.cons-cell.in.case
94cc0 20 74 77 6f 20 69 6e 70 75 74 0a 6c 69 73 74 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 2e 0a 0a .two.input.lists.are.provided...
94ce0 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 7a 69 70 7d 20 28 40 70 78 72 65 66 7b 2d 7a See.also:.@code{-zip}.(@pxref{-z
94d00 69 70 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 70 2d 6c 69 73 74 ip})..@example.@group.(-zip-list
94d20 73 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 s.'(1.2.3).'(4.5.6)).....@result
94d40 7b 7d 20 28 28 31 20 34 29 20 28 32 20 35 29 20 28 33 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 {}.((1.4).(2.5).(3.6)).@end.grou
94d60 70 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 70 2d 6c 69 73 74 73 20 27 28 31 20 32 20 33 29 20 27 28 p.@group.(-zip-lists.'(1.2.3).'(
94d80 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 34 29 20 28 4.5.6.7)).....@result{}.((1.4).(
94da0 32 20 35 29 20 28 33 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2.5).(3.6)).@end.group.@group.(-
94dc0 7a 69 70 2d 6c 69 73 74 73 20 27 28 31 20 32 29 20 27 28 33 20 34 20 35 29 20 27 28 36 29 29 0a zip-lists.'(1.2).'(3.4.5).'(6)).
94de0 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 33 20 36 29 29 0a 40 65 6e 64 20 67 72 6f ....@result{}.((1.3.6)).@end.gro
94e00 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 up.@end.example.@end.defun..@anc
94e20 68 6f 72 7b 2d 7a 69 70 2d 66 69 6c 6c 7d 0a 40 64 65 66 75 6e 20 2d 7a 69 70 2d 66 69 6c 6c 20 hor{-zip-fill}.@defun.-zip-fill.
94e40 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 5a 69 70 20 40 76 61 (fill-value.&rest.lists).Zip.@va
94e60 72 7b 6c 69 73 74 73 7d 2c 20 77 69 74 68 20 40 76 61 72 7b 66 69 6c 6c 2d 76 61 6c 75 65 7d 20 r{lists},.with.@var{fill-value}.
94e80 70 61 64 64 65 64 20 6f 6e 74 6f 20 74 68 65 20 73 68 6f 72 74 65 72 20 6c 69 73 74 73 2e 20 54 padded.onto.the.shorter.lists..T
94ea0 68 65 0a 6c 65 6e 67 74 68 73 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 67 72 6f 75 70 he.lengths.of.the.returned.group
94ec0 69 6e 67 73 20 61 72 65 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 ings.are.equal.to.the.length.of.
94ee0 74 68 65 0a 6c 6f 6e 67 65 73 74 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 40 65 78 61 6d 70 6c the.longest.input.list...@exampl
94f00 65 0a 40 67 72 6f 75 70 0a 28 2d 7a 69 70 2d 66 69 6c 6c 20 30 20 27 28 31 20 32 20 33 20 34 20 e.@group.(-zip-fill.0.'(1.2.3.4.
94f20 35 29 20 27 28 36 20 37 20 38 20 39 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 5).'(6.7.8.9)).....@result{}.((1
94f40 20 2e 20 36 29 20 28 32 20 2e 20 37 29 20 28 33 20 2e 20 38 29 20 28 34 20 2e 20 39 29 20 28 35 ...6).(2...7).(3...8).(4...9).(5
94f60 20 2e 20 30 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 ...0)).@end.group.@end.example.@
94f80 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 75 6e 7a 69 70 7d 0a 40 64 65 66 75 end.defun..@anchor{-unzip}.@defu
94fa0 6e 20 2d 75 6e 7a 69 70 20 28 6c 69 73 74 73 29 0a 55 6e 7a 69 70 20 40 76 61 72 7b 6c 69 73 74 n.-unzip.(lists).Unzip.@var{list
94fc0 73 7d 2e 0a 0a 54 68 69 73 20 77 6f 72 6b 73 20 6a 75 73 74 20 6c 69 6b 65 20 40 63 6f 64 65 7b s}...This.works.just.like.@code{
94fe0 2d 7a 69 70 7d 20 28 40 70 78 72 65 66 7b 2d 7a 69 70 7d 29 20 62 75 74 20 74 61 6b 65 73 20 61 -zip}.(@pxref{-zip}).but.takes.a
95000 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 0a 61 20 76 61 72 69 .list.of.lists.instead.of.a.vari
95020 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 68 20 74 able.number.of.arguments,.such.t
95040 68 61 74 0a 0a 20 20 28 2d 75 6e 7a 69 70 20 28 2d 7a 69 70 20 40 76 61 72 7b 6c 31 7d 20 40 76 hat....(-unzip.(-zip.@var{l1}.@v
95060 61 72 7b 6c 32 7d 20 40 76 61 72 7b 6c 33 7d 20 40 64 6f 74 73 7b 7d 29 29 0a 0a 69 73 20 69 64 ar{l2}.@var{l3}.@dots{}))..is.id
95080 65 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 entity.(given.that.the.lists.are
950a0 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 29 2e 0a 0a 4e 6f 74 65 20 69 6e 20 70 61 72 74 .the.same.length)...Note.in.part
950c0 69 63 75 6c 61 72 20 74 68 61 74 20 63 61 6c 6c 69 6e 67 20 74 68 69 73 20 6f 6e 20 61 20 6c 69 icular.that.calling.this.on.a.li
950e0 73 74 20 6f 66 20 74 77 6f 20 6c 69 73 74 73 20 77 69 6c 6c 0a 72 65 74 75 72 6e 20 61 20 6c 69 st.of.two.lists.will.return.a.li
95100 73 74 20 6f 66 20 63 6f 6e 73 2d 63 65 6c 6c 73 20 73 75 63 68 20 74 68 61 74 20 74 68 65 20 61 st.of.cons-cells.such.that.the.a
95120 62 6f 76 65 20 69 64 65 6e 74 69 74 79 20 77 6f 72 6b 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 bove.identity.works...See.also:.
95140 40 63 6f 64 65 7b 2d 7a 69 70 7d 20 28 40 70 78 72 65 66 7b 2d 7a 69 70 7d 29 0a 0a 40 65 78 61 @code{-zip}.(@pxref{-zip})..@exa
95160 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 75 6e 7a 69 70 20 28 2d 7a 69 70 20 27 28 31 20 32 20 mple.@group.(-unzip.(-zip.'(1.2.
95180 33 29 20 27 28 61 20 62 20 63 29 20 27 28 22 65 22 20 22 66 22 20 22 67 22 29 29 29 0a 20 20 20 3).'(a.b.c).'("e"."f"."g")))....
951a0 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 22 65 22 .@result{}.((1.2.3).(a.b.c).("e"
951c0 20 22 66 22 20 22 67 22 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 75 ."f"."g")).@end.group.@group.(-u
951e0 6e 7a 69 70 20 27 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 20 28 37 20 38 29 20 28 nzip.'((1.2).(3.4).(5.6).(7.8).(
95200 39 20 31 30 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 33 20 35 20 37 20 9.10))).....@result{}.((1.3.5.7.
95220 39 29 20 28 32 20 34 20 36 20 38 20 31 30 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 9).(2.4.6.8.10)).@end.group.@gro
95240 75 70 0a 28 2d 75 6e 7a 69 70 20 27 28 28 31 20 32 29 20 28 33 20 34 29 29 29 0a 20 20 20 20 40 up.(-unzip.'((1.2).(3.4))).....@
95260 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 2e 20 33 29 20 28 32 20 2e 20 34 29 29 0a 40 65 6e 64 20 result{}.((1...3).(2...4)).@end.
95280 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 group.@end.example.@end.defun..@
952a0 61 6e 63 68 6f 72 7b 2d 63 79 63 6c 65 7d 0a 40 64 65 66 75 6e 20 2d 63 79 63 6c 65 20 28 6c 69 anchor{-cycle}.@defun.-cycle.(li
952c0 73 74 29 0a 52 65 74 75 72 6e 20 61 6e 20 69 6e 66 69 6e 69 74 65 20 63 69 72 63 75 6c 61 72 20 st).Return.an.infinite.circular.
952e0 63 6f 70 79 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 copy.of.@var{list}..The.returned
95300 20 6c 69 73 74 20 63 79 63 6c 65 73 20 74 68 72 6f 75 67 68 20 74 68 65 20 65 6c 65 6d 65 6e 74 .list.cycles.through.the.element
95320 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 20 61 6e 64 20 72 65 70 65 61 74 73 0a 66 72 6f 6d s.of.@var{list}.and.repeats.from
95340 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 .the.beginning...@example.@group
95360 0a 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 20 20 20 .(-take.5.(-cycle.'(1.2.3)))....
95380 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 .@result{}.(1.2.3.1.2).@end.grou
953a0 70 0a 40 67 72 6f 75 70 0a 28 2d 74 61 6b 65 20 37 20 28 2d 63 79 63 6c 65 20 27 28 31 20 22 61 p.@group.(-take.7.(-cycle.'(1."a
953c0 6e 64 22 20 33 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 22 61 6e 64 22 20 nd".3))).....@result{}.(1."and".
953e0 33 20 31 20 22 61 6e 64 22 20 33 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 3.1."and".3.1).@end.group.@group
95400 0a 28 2d 7a 69 70 20 28 2d 63 79 63 6c 65 20 27 28 31 20 32 20 33 29 29 20 27 28 31 20 32 29 29 .(-zip.(-cycle.'(1.2.3)).'(1.2))
95420 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 2e 20 31 29 20 28 32 20 2e 20 32 29 29 .....@result{}.((1...1).(2...2))
95440 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 .@end.group.@end.example.@end.de
95460 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 64 7d 0a 40 64 65 66 75 6e 20 2d 70 61 64 20 28 fun..@anchor{-pad}.@defun.-pad.(
95480 66 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 41 70 70 65 6e 64 73 20 fill-value.&rest.lists).Appends.
954a0 40 76 61 72 7b 66 69 6c 6c 2d 76 61 6c 75 65 7d 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 65 @var{fill-value}.to.the.end.of.e
954c0 61 63 68 20 6c 69 73 74 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 73 7d 20 73 75 63 68 20 74 68 61 ach.list.in.@var{lists}.such.tha
954e0 74 20 74 68 65 79 0a 77 69 6c 6c 20 61 6c 6c 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 6c 65 t.they.will.all.have.the.same.le
95500 6e 67 74 68 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 70 61 64 20 30 20 28 ngth...@example.@group.(-pad.0.(
95520 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 )).....@result{}.(nil).@end.grou
95540 70 0a 40 67 72 6f 75 70 0a 28 2d 70 61 64 20 30 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 p.@group.(-pad.0.'(1)).....@resu
95560 6c 74 7b 7d 20 28 28 31 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 70 lt{}.((1)).@end.group.@group.(-p
95580 61 64 20 30 20 27 28 31 20 32 20 33 29 20 27 28 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c ad.0.'(1.2.3).'(4.5)).....@resul
955a0 74 7b 7d 20 28 28 31 20 32 20 33 29 20 28 34 20 35 20 30 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 t{}.((1.2.3).(4.5.0)).@end.group
955c0 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f .@end.example.@end.defun..@ancho
955e0 72 7b 2d 74 61 62 6c 65 7d 0a 40 64 65 66 75 6e 20 2d 74 61 62 6c 65 20 28 66 6e 20 26 72 65 73 r{-table}.@defun.-table.(fn.&res
95600 74 20 6c 69 73 74 73 29 0a 43 6f 6d 70 75 74 65 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 6f t.lists).Compute.outer.product.o
95620 66 20 40 76 61 72 7b 6c 69 73 74 73 7d 20 75 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 f.@var{lists}.using.function.@va
95640 72 7b 66 6e 7d 2e 0a 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 20 73 68 r{fn}...The.function.@var{fn}.sh
95660 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.
95680 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
956a0 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
956c0 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
956e0 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
95700 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
95720 20 64 69 6d 65 6e 73 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 28 6c 65 6e .dimension.of.the.result.is.(len
95740 67 74 68 20 6c 69 73 74 73 29 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 74 61 gth.lists)...See.also:.@code{-ta
95760 62 6c 65 2d 66 6c 61 74 7d 20 28 40 70 78 72 65 66 7b 2d 74 61 62 6c 65 2d 66 6c 61 74 7d 29 0a ble-flat}.(@pxref{-table-flat}).
95780 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 61 62 6c 65 20 27 2a 20 27 28 31 20 .@example.@group.(-table.'*.'(1.
957a0 32 20 33 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 2.3).'(1.2.3)).....@result{}.((1
957c0 20 32 20 33 29 20 28 32 20 34 20 36 29 20 28 33 20 36 20 39 29 29 0a 40 65 6e 64 20 67 72 6f 75 .2.3).(2.4.6).(3.6.9)).@end.grou
957e0 70 0a 40 67 72 6f 75 70 0a 28 2d 74 61 62 6c 65 20 28 6c 61 6d 62 64 61 20 28 61 20 62 29 20 28 p.@group.(-table.(lambda.(a.b).(
95800 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 28 28 31 20 32 -sum.(-zip-with.'*.a.b))).'((1.2
95820 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 20 20 40 72 65 ).(3.4)).'((1.3).(2.4))).....@re
95840 73 75 6c 74 7b 7d 20 28 28 37 20 31 35 29 20 28 31 30 20 32 32 29 29 0a 40 65 6e 64 20 67 72 6f sult{}.((7.15).(10.22)).@end.gro
95860 75 70 0a 40 67 72 6f 75 70 0a 28 61 70 70 6c 79 20 27 2d 74 61 62 6c 65 20 27 6c 69 73 74 20 28 up.@group.(apply.'-table.'list.(
95880 2d 72 65 70 65 61 74 20 33 20 27 28 31 20 32 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d -repeat.3.'(1.2))).....@result{}
958a0 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 31 29 20 28 32 .((((1.1.1).(2.1.1)).((1.2.1).(2
958c0 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 28 28 31 20 32 .2.1))).(((1.1.2).(2.1.2)).((1.2
958e0 20 32 29 20 28 32 20 32 20 32 29 29 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 .2).(2.2.2)))).@end.group.@end.e
95900 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 61 62 6c xample.@end.defun..@anchor{-tabl
95920 65 2d 66 6c 61 74 7d 0a 40 64 65 66 75 6e 20 2d 74 61 62 6c 65 2d 66 6c 61 74 20 28 66 6e 20 26 e-flat}.@defun.-table-flat.(fn.&
95940 72 65 73 74 20 6c 69 73 74 73 29 0a 43 6f 6d 70 75 74 65 20 66 6c 61 74 20 6f 75 74 65 72 20 70 rest.lists).Compute.flat.outer.p
95960 72 6f 64 75 63 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 73 7d 20 75 73 69 6e 67 20 66 75 6e 63 roduct.of.@var{lists}.using.func
95980 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 2e 0a 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 tion.@var{fn}...The.function.@va
959a0 72 7b 66 6e 7d 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 79 r{fn}.should.have.the.same.arity
959c0 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 73 .as.the.number.of.supplied.lists
959e0 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 64 ...The.outer.product.is.computed
95a00 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 0a .by.applying.fn.to.all.possible.
95a20 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 6f combinations.created.by.taking.o
95a40 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 64 ne.element.from.each.list.in.ord
95a60 65 72 2e 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 er...The.results.are.flattened,.
95a80 69 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 0a 6f 66 ignoring.the.tensor.structure.of
95aa0 20 74 68 65 20 72 65 73 75 6c 74 2e 20 20 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 .the.result...This.is.equivalent
95ac0 20 74 6f 20 63 61 6c 6c 69 6e 67 3a 0a 0a 20 20 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 28 31 2d 20 .to.calling:....(-flatten-n.(1-.
95ae0 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 29 20 28 61 70 70 6c 79 20 27 2d 74 61 62 6c 65 20 66 (length.lists)).(apply.'-table.f
95b00 6e 20 6c 69 73 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 n.lists))..but.the.implementatio
95b20 6e 20 68 65 72 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 n.here.is.much.more.efficient...
95b40 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 66 6c 61 74 74 65 6e 2d 6e 7d 20 28 40 70 78 See.also:.@code{-flatten-n}.(@px
95b60 72 65 66 7b 2d 66 6c 61 74 74 65 6e 2d 6e 7d 29 2c 20 40 63 6f 64 65 7b 2d 74 61 62 6c 65 7d 20 ref{-flatten-n}),.@code{-table}.
95b80 28 40 70 78 72 65 66 7b 2d 74 61 62 6c 65 7d 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 (@pxref{-table})..@example.@grou
95ba0 70 0a 28 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 6c 69 73 74 20 27 28 31 20 32 20 33 29 20 27 28 p.(-table-flat.'list.'(1.2.3).'(
95bc0 61 20 62 20 63 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 61 29 20 28 32 20 a.b.c)).....@result{}.((1.a).(2.
95be0 61 29 20 28 33 20 61 29 20 28 31 20 62 29 20 28 32 20 62 29 20 28 33 20 62 29 20 28 31 20 63 29 a).(3.a).(1.b).(2.b).(3.b).(1.c)
95c00 20 28 32 20 63 29 20 28 33 20 63 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a .(2.c).(3.c)).@end.group.@group.
95c20 28 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 2a 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 (-table-flat.'*.'(1.2.3).'(1.2.3
95c40 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 32 20 34 20 36 20 33 20 )).....@result{}.(1.2.3.2.4.6.3.
95c60 36 20 39 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 61 70 70 6c 79 20 27 2d 6.9).@end.group.@group.(apply.'-
95c80 74 61 62 6c 65 2d 66 6c 61 74 20 27 6c 69 73 74 20 28 2d 72 65 70 65 61 74 20 33 20 27 28 31 20 table-flat.'list.(-repeat.3.'(1.
95ca0 32 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 31 20 31 29 20 28 32 20 31 2))).....@result{}.((1.1.1).(2.1
95cc0 20 31 29 20 28 31 20 32 20 31 29 20 28 32 20 32 20 31 29 20 28 31 20 31 20 32 29 20 28 32 20 31 .1).(1.2.1).(2.2.1).(1.1.2).(2.1
95ce0 20 32 29 20 28 31 20 32 20 32 29 20 28 32 20 32 20 32 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a .2).(1.2.2).(2.2.2)).@end.group.
95d00 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 @end.example.@end.defun..@anchor
95d20 7b 2d 66 69 72 73 74 7d 0a 40 64 65 66 75 6e 20 2d 66 69 72 73 74 20 28 70 72 65 64 20 6c 69 73 {-first}.@defun.-first.(pred.lis
95d40 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 40 76 61 72 t).Return.the.first.item.in.@var
95d60 7b 6c 69 73 74 7d 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 {list}.for.which.@var{pred}.retu
95d80 72 6e 73 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 rns.non-nil..Return.nil.if.no.su
95da0 63 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 66 6f 75 6e 64 2e 0a 54 6f 20 67 65 74 20 74 68 65 20 ch.element.is.found..To.get.the.
95dc0 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6e 6f 20 71 75 65 73 74 69 first.item.in.the.list.no.questi
95de0 6f 6e 73 20 61 73 6b 65 64 2c 20 75 73 65 20 40 63 6f 64 65 7b 63 61 72 7d 2e 0a 0a 41 6c 69 61 ons.asked,.use.@code{car}...Alia
95e00 73 3a 20 40 63 6f 64 65 7b 2d 66 69 6e 64 7d 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 s:.@code{-find}...This.function'
95e20 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 40 63 6f 64 65 s.anaphoric.counterpart.is.@code
95e40 7b 2d 2d 66 69 72 73 74 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 69 {--first}...@example.@group.(-fi
95e60 72 73 74 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 31 20 30 20 31 29 29 0a 20 20 20 20 40 72 65 rst.#'natnump.'(-1.0.1)).....@re
95e80 73 75 6c 74 7b 7d 20 30 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 69 72 sult{}.0.@end.group.@group.(-fir
95ea0 73 74 20 23 27 6e 75 6c 6c 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b st.#'null.'(1.2.3)).....@result{
95ec0 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 66 69 72 73 74 }.nil.@end.group.@group.(--first
95ee0 20 28 3e 20 69 74 20 32 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b .(>.it.2).'(1.2.3)).....@result{
95f00 7d 20 33 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 }.3.@end.group.@end.example.@end
95f20 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6c 61 73 74 7d 0a 40 64 65 66 75 6e 20 2d 6c .defun..@anchor{-last}.@defun.-l
95f40 61 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 ast.(pred.list).Return.the.last.
95f60 78 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 20 77 68 65 72 65 20 28 40 76 61 72 7b 70 72 65 64 x.in.@var{list}.where.(@var{pred
95f80 7d 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 0a 40 65 78 61 }.x).is.non-nil,.else.nil...@exa
95fa0 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6c 61 73 74 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 mple.@group.(-last.'even?.'(1.2.
95fc0 33 20 34 20 35 20 36 20 33 20 33 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 36 0a 3.4.5.6.3.3.3)).....@result{}.6.
95fe0 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6c 61 73 74 20 27 65 76 65 6e 3f 20 @end.group.@group.(-last.'even?.
96000 27 28 31 20 33 20 37 20 35 20 39 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a '(1.3.7.5.9)).....@result{}.nil.
96020 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 6c 61 73 74 20 28 3e 20 28 6c 65 @end.group.@group.(--last.(>.(le
96040 6e 67 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 ngth.it).3).'("a"."looong"."word
96060 22 20 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 40 72 65 73 "."and"."short"."one")).....@res
96080 75 6c 74 7b 7d 20 22 73 68 6f 72 74 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 ult{}."short".@end.group.@end.ex
960a0 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 69 72 73 74 ample.@end.defun..@anchor{-first
960c0 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 66 69 72 73 74 2d 69 74 65 6d 20 28 6c 69 73 74 29 -item}.@defun.-first-item.(list)
960e0 0a 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 6f 66 20 40 76 61 72 7b 6c .Return.the.first.item.of.@var{l
96100 69 73 74 7d 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 ist},.or.nil.on.an.empty.list...
96120 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 7d 20 28 40 See.also:.@code{-second-item}.(@
96140 70 78 72 65 66 7b 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 7d 29 2c 20 40 63 6f 64 65 7b 2d 6c 61 73 pxref{-second-item}),.@code{-las
96160 74 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 6c 61 73 74 2d 69 74 65 6d 7d 29 2e 0a 0a 40 t-item}.(@pxref{-last-item})...@
96180 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 27 28 31 20 example.@group.(-first-item.'(1.
961a0 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 2.3)).....@result{}.1.@end.group
961c0 0a 40 67 72 6f 75 70 0a 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 6e 69 6c 29 0a 20 20 20 20 40 72 .@group.(-first-item.nil).....@r
961e0 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c esult{}.nil.@end.group.@group.(l
96200 65 74 20 28 28 6c 69 73 74 20 28 6c 69 73 74 20 31 20 32 20 33 29 29 29 20 28 73 65 74 66 20 28 et.((list.(list.1.2.3))).(setf.(
96220 2d 66 69 72 73 74 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 40 -first-item.list).5).list).....@
96240 72 65 73 75 6c 74 7b 7d 20 28 35 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 result{}.(5.2.3).@end.group.@end
96260 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 65 .example.@end.defun..@anchor{-se
96280 63 6f 6e 64 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 28 cond-item}.@defun.-second-item.(
962a0 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 20 6f 66 20 list).Return.the.second.item.of.
962c0 40 76 61 72 7b 6c 69 73 74 7d 2c 20 6f 72 20 6e 69 6c 20 69 66 20 40 76 61 72 7b 6c 69 73 74 7d @var{list},.or.nil.if.@var{list}
962e0 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 40 63 6f 64 65 7b .is.too.short...See.also:.@code{
96300 2d 74 68 69 72 64 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 74 68 69 72 64 2d 69 74 65 6d -third-item}.(@pxref{-third-item
96320 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 65 63 6f 6e 64 2d 69 74 })...@example.@group.(-second-it
96340 65 6d 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 32 0a 40 65 6e em.'(1.2.3)).....@result{}.2.@en
96360 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 6e 69 6c d.group.@group.(-second-item.nil
96380 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ).....@result{}.nil.@end.group.@
963a0 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
963c0 2d 74 68 69 72 64 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 74 68 69 72 64 2d 69 74 65 6d 20 -third-item}.@defun.-third-item.
963e0 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 74 68 69 72 64 20 69 74 65 6d 20 6f 66 20 (list).Return.the.third.item.of.
96400 40 76 61 72 7b 6c 69 73 74 7d 2c 20 6f 72 20 6e 69 6c 20 69 66 20 40 76 61 72 7b 6c 69 73 74 7d @var{list},.or.nil.if.@var{list}
96420 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 40 63 6f 64 65 7b .is.too.short...See.also:.@code{
96440 2d 66 6f 75 72 74 68 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 66 6f 75 72 74 68 2d 69 74 -fourth-item}.(@pxref{-fourth-it
96460 65 6d 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 68 69 72 64 2d 69 em})...@example.@group.(-third-i
96480 74 65 6d 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 65 tem.'(1.2.3)).....@result{}.3.@e
964a0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 68 69 72 64 2d 69 74 65 6d 20 6e 69 6c nd.group.@group.(-third-item.nil
964c0 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ).....@result{}.nil.@end.group.@
964e0 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
96500 2d 66 6f 75 72 74 68 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 66 6f 75 72 74 68 2d 69 74 65 -fourth-item}.@defun.-fourth-ite
96520 6d 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 66 6f 75 72 74 68 20 69 74 65 6d 20 m.(list).Return.the.fourth.item.
96540 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 6f 72 20 6e 69 6c 20 69 66 20 40 76 61 72 7b 6c 69 of.@var{list},.or.nil.if.@var{li
96560 73 74 7d 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 40 63 6f st}.is.too.short...See.also:.@co
96580 64 65 7b 2d 66 69 66 74 68 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 66 69 66 74 68 2d 69 de{-fifth-item}.(@pxref{-fifth-i
965a0 74 65 6d 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 6f 75 72 74 68 tem})...@example.@group.(-fourth
965c0 2d 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 -item.'(1.2.3.4)).....@result{}.
965e0 34 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 6f 75 72 74 68 2d 69 74 65 4.@end.group.@group.(-fourth-ite
96600 6d 20 6e 69 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 m.nil).....@result{}.nil.@end.gr
96620 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e oup.@end.example.@end.defun..@an
96640 63 68 6f 72 7b 2d 66 69 66 74 68 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 66 69 66 74 68 2d chor{-fifth-item}.@defun.-fifth-
96660 69 74 65 6d 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 66 69 66 74 68 20 69 74 65 item.(list).Return.the.fifth.ite
96680 6d 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 6f 72 20 6e 69 6c 20 69 66 20 40 76 61 72 7b m.of.@var{list},.or.nil.if.@var{
966a0 6c 69 73 74 7d 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 40 list}.is.too.short...See.also:.@
966c0 63 6f 64 65 7b 2d 6c 61 73 74 2d 69 74 65 6d 7d 20 28 40 70 78 72 65 66 7b 2d 6c 61 73 74 2d 69 code{-last-item}.(@pxref{-last-i
966e0 74 65 6d 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 69 66 74 68 2d tem})...@example.@group.(-fifth-
96700 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d item.'(1.2.3.4.5)).....@result{}
96720 20 35 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 69 66 74 68 2d 69 74 65 .5.@end.group.@group.(-fifth-ite
96740 6d 20 6e 69 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 m.nil).....@result{}.nil.@end.gr
96760 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e oup.@end.example.@end.defun..@an
96780 63 68 6f 72 7b 2d 6c 61 73 74 2d 69 74 65 6d 7d 0a 40 64 65 66 75 6e 20 2d 6c 61 73 74 2d 69 74 chor{-last-item}.@defun.-last-it
967a0 65 6d 20 28 6c 69 73 74 29 0a 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 6f em.(list).Return.the.last.item.o
967c0 66 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 6f 72 20 6e 69 6c 20 6f 6e 20 61 6e 20 65 6d 70 74 79 f.@var{list},.or.nil.on.an.empty
967e0 20 6c 69 73 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6c 61 73 74 2d 69 .list...@example.@group.(-last-i
96800 74 65 6d 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 65 tem.'(1.2.3)).....@result{}.3.@e
96820 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6c 61 73 74 2d 69 74 65 6d 20 6e 69 6c 29 nd.group.@group.(-last-item.nil)
96840 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 .....@result{}.nil.@end.group.@g
96860 72 6f 75 70 0a 28 6c 65 74 20 28 28 6c 69 73 74 20 28 6c 69 73 74 20 31 20 32 20 33 29 29 29 20 roup.(let.((list.(list.1.2.3))).
96880 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 73 74 29 (setf.(-last-item.list).5).list)
968a0 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 .....@result{}.(1.2.5).@end.grou
968c0 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 p.@end.example.@end.defun..@anch
968e0 6f 72 7b 2d 62 75 74 6c 61 73 74 7d 0a 40 64 65 66 75 6e 20 2d 62 75 74 6c 61 73 74 20 28 6c 69 or{-butlast}.@defun.-butlast.(li
96900 73 74 29 0a 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 st).Return.a.list.of.all.items.i
96920 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 0a 0a 40 65 78 n.list.except.for.the.last...@ex
96940 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 62 75 74 6c 61 73 74 20 27 28 31 20 32 20 33 29 29 ample.@group.(-butlast.'(1.2.3))
96960 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a .....@result{}.(1.2).@end.group.
96980 40 67 72 6f 75 70 0a 28 2d 62 75 74 6c 61 73 74 20 27 28 31 20 32 29 29 0a 20 20 20 20 40 72 65 @group.(-butlast.'(1.2)).....@re
969a0 73 75 6c 74 7b 7d 20 28 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 62 sult{}.(1).@end.group.@group.(-b
969c0 75 74 6c 61 73 74 20 27 28 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 utlast.'(1)).....@result{}.nil.@
969e0 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 end.group.@end.example.@end.defu
96a00 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 6f 72 74 7d 0a 40 64 65 66 75 6e 20 2d 73 6f 72 74 20 28 n..@anchor{-sort}.@defun.-sort.(
96a20 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 53 6f 72 74 20 40 76 61 72 7b 6c 69 73 74 7d comparator.list).Sort.@var{list}
96a40 2c 20 73 74 61 62 6c 79 2c 20 63 6f 6d 70 61 72 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 75 73 69 ,.stably,.comparing.elements.usi
96a60 6e 67 20 40 76 61 72 7b 63 6f 6d 70 61 72 61 74 6f 72 7d 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 ng.@var{comparator}..Return.the.
96a80 73 6f 72 74 65 64 20 6c 69 73 74 2e 20 20 40 76 61 72 7b 6c 69 73 74 7d 20 69 73 20 40 76 61 72 sorted.list...@var{list}.is.@var
96aa0 7b 6e 6f 74 7d 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 0a {not}.modified.by.side.effects..
96ac0 40 76 61 72 7b 63 6f 6d 70 61 72 61 74 6f 72 7d 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 @var{comparator}.is.called.with.
96ae0 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 61 6e 64 20 two.elements.of.@var{list},.and.
96b00 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 0a 69 66 20 74 68 65 20 66 69 72 should.return.non-nil.if.the.fir
96b20 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 68 st.element.should.sort.before.th
96b40 65 20 73 65 63 6f 6e 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 72 e.second...@example.@group.(-sor
96b60 74 20 27 3c 20 27 28 33 20 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 t.'<.'(3.1.2)).....@result{}.(1.
96b80 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 72 74 20 27 3e 2.3).@end.group.@group.(-sort.'>
96ba0 20 27 28 33 20 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 32 20 31 29 .'(3.1.2)).....@result{}.(3.2.1)
96bc0 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 73 6f 72 74 20 28 3c 20 69 74 .@end.group.@group.(--sort.(<.it
96be0 20 6f 74 68 65 72 29 20 27 28 33 20 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 .other).'(3.1.2)).....@result{}.
96c00 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a (1.2.3).@end.group.@end.example.
96c20 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6c 69 73 74 7d 0a 40 64 65 66 75 @end.defun..@anchor{-list}.@defu
96c40 6e 20 2d 6c 69 73 74 20 28 61 72 67 29 0a 45 6e 73 75 72 65 20 40 76 61 72 7b 61 72 67 7d 20 69 n.-list.(arg).Ensure.@var{arg}.i
96c60 73 20 61 20 6c 69 73 74 2e 0a 49 66 20 40 76 61 72 7b 61 72 67 7d 20 69 73 20 61 6c 72 65 61 64 s.a.list..If.@var{arg}.is.alread
96c80 79 20 61 20 6c 69 73 74 2c 20 72 65 74 75 72 6e 20 69 74 20 61 73 20 69 73 20 28 6e 6f 74 20 61 y.a.list,.return.it.as.is.(not.a
96ca0 20 63 6f 70 79 29 2e 0a 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 20 61 20 6e 65 77 20 .copy)..Otherwise,.return.a.new.
96cc0 6c 69 73 74 20 77 69 74 68 20 40 76 61 72 7b 61 72 67 7d 20 61 73 20 69 74 73 20 6f 6e 6c 79 20 list.with.@var{arg}.as.its.only.
96ce0 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 65 64 20 63 61 6c 6c element...Another.supported.call
96d00 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 26 72 65 73 74 20 40 ing.convention.is.(-list.&rest.@
96d20 76 61 72 7b 61 72 67 73 7d 29 2e 0a 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 69 66 20 40 76 61 var{args})..In.this.case,.if.@va
96d40 72 7b 61 72 67 7d 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 r{arg}.is.not.a.list,.a.new.list
96d60 20 77 69 74 68 20 61 6c 6c 20 6f 66 0a 40 76 61 72 7b 61 72 67 73 7d 20 61 73 20 65 6c 65 6d 65 .with.all.of.@var{args}.as.eleme
96d80 6e 74 73 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 54 68 69 73 20 75 73 65 20 69 73 20 73 75 nts.is.returned...This.use.is.su
96da0 70 70 6f 72 74 65 64 20 66 6f 72 0a 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 pported.for.backward.compatibili
96dc0 74 79 20 61 6e 64 20 69 73 20 6f 74 68 65 72 77 69 73 65 20 64 65 70 72 65 63 61 74 65 64 2e 0a ty.and.is.otherwise.deprecated..
96de0 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6c 69 73 74 20 31 29 0a 20 20 20 20 40 .@example.@group.(-list.1).....@
96e00 72 65 73 75 6c 74 7b 7d 20 28 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 result{}.(1).@end.group.@group.(
96e20 2d 6c 69 73 74 20 28 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 -list.()).....@result{}.().@end.
96e40 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6c 69 73 74 20 27 28 31 20 32 20 33 29 29 0a 20 20 group.@group.(-list.'(1.2.3))...
96e60 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ..@result{}.(1.2.3).@end.group.@
96e80 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
96ea0 2d 66 69 78 7d 0a 40 64 65 66 75 6e 20 2d 66 69 78 20 28 66 6e 20 6c 69 73 74 29 0a 43 6f 6d 70 -fix}.@defun.-fix.(fn.list).Comp
96ec0 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 40 76 61 72 ute.the.(least).fixpoint.of.@var
96ee0 7b 66 6e 7d 20 77 69 74 68 20 69 6e 69 74 69 61 6c 20 69 6e 70 75 74 20 40 76 61 72 7b 6c 69 73 {fn}.with.initial.input.@var{lis
96f00 74 7d 2e 0a 0a 40 76 61 72 7b 66 6e 7d 20 69 73 20 63 61 6c 6c 65 64 20 61 74 20 6c 65 61 73 74 t}...@var{fn}.is.called.at.least
96f20 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 20 77 69 74 68 .once,.results.are.compared.with
96f40 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a .@code{equal}...@example.@group.
96f60 28 2d 66 69 78 20 28 6c 61 6d 62 64 61 20 28 6c 29 20 28 2d 6e 6f 6e 2d 6e 69 6c 20 28 2d 2d 6d (-fix.(lambda.(l).(-non-nil.(--m
96f80 61 70 63 61 74 20 28 2d 73 70 6c 69 74 2d 61 74 20 28 2f 20 28 6c 65 6e 67 74 68 20 69 74 29 20 apcat.(-split-at.(/.(length.it).
96fa0 32 29 20 69 74 29 20 6c 29 29 29 20 27 28 28 31 20 32 20 33 29 29 29 0a 20 20 20 20 40 72 65 73 2).it).l))).'((1.2.3))).....@res
96fc0 75 6c 74 7b 7d 20 28 28 31 29 20 28 32 29 20 28 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ult{}.((1).(2).(3)).@end.group.@
96fe0 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 6c 20 27 28 28 73 74 61 72 77 61 72 73 20 73 63 69 66 69 group.(let.((l.'((starwars.scifi
97000 29 20 28 6a 65 64 69 20 73 74 61 72 77 61 72 73 20 77 61 72 72 69 6f 72 29 29 29 29 20 28 2d 2d ).(jedi.starwars.warrior)))).(--
97020 66 69 78 20 28 2d 75 6e 69 71 20 28 2d 2d 6d 61 70 63 61 74 20 28 63 6f 6e 73 20 69 74 20 28 63 fix.(-uniq.(--mapcat.(cons.it.(c
97040 64 72 20 28 61 73 73 71 20 69 74 20 6c 29 29 29 20 69 74 29 29 20 27 28 6a 65 64 69 20 62 6f 6f dr.(assq.it.l))).it)).'(jedi.boo
97060 6b 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6a 65 64 69 20 73 74 61 72 77 61 72 k))).....@result{}.(jedi.starwar
97080 73 20 77 61 72 72 69 6f 72 20 73 63 69 66 69 20 62 6f 6f 6b 29 0a 40 65 6e 64 20 67 72 6f 75 70 s.warrior.scifi.book).@end.group
970a0 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 .@end.example.@end.defun..@node.
970c0 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 0a 40 73 65 63 74 69 6f 6e 20 54 72 65 65 20 6f 70 Tree.operations.@section.Tree.op
970e0 65 72 61 74 69 6f 6e 73 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 70 72 65 74 65 6e 64 69 6e 67 20 6c erations..Functions.pretending.l
97100 69 73 74 73 20 61 72 65 20 74 72 65 65 73 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 72 65 65 2d 73 ists.are.trees...@anchor{-tree-s
97120 65 71 7d 0a 40 64 65 66 75 6e 20 2d 74 72 65 65 2d 73 65 71 20 28 62 72 61 6e 63 68 20 63 68 69 eq}.@defun.-tree-seq.(branch.chi
97140 6c 64 72 65 6e 20 74 72 65 65 29 0a 52 65 74 75 72 6e 20 61 20 73 65 71 75 65 6e 63 65 20 6f 66 ldren.tree).Return.a.sequence.of
97160 20 74 68 65 20 6e 6f 64 65 73 20 69 6e 20 40 76 61 72 7b 74 72 65 65 7d 2c 20 69 6e 20 64 65 70 .the.nodes.in.@var{tree},.in.dep
97180 74 68 2d 66 69 72 73 74 20 73 65 61 72 63 68 20 6f 72 64 65 72 2e 0a 0a 40 76 61 72 7b 62 72 61 th-first.search.order...@var{bra
971a0 6e 63 68 7d 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 nch}.is.a.predicate.of.one.argum
971c0 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.
971e0 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
97200 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
97220 72 65 6e 2e 0a 0a 40 76 61 72 7b 63 68 69 6c 64 72 65 6e 7d 20 69 73 20 61 20 66 75 6e 63 74 69 ren...@var{children}.is.a.functi
97240 6f 6e 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 on.of.one.argument.that.returns.
97260 74 68 65 20 63 68 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 the.children.of.the.passed.branc
97280 68 20 6e 6f 64 65 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 h.node...Non-branch.nodes.are.si
972a0 6d 70 6c 79 20 63 6f 70 69 65 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d mply.copied...@example.@group.(-
972c0 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 32 tree-seq.'listp.'identity.'(1.(2
972e0 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 .3).4.(5.(6.7)))).....@result{}.
97300 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 20 33 29 20 32 ((1.(2.3).4.(5.(6.7))).1.(2.3).2
97320 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 0a 40 65 6e 64 .3.4.(5.(6.7)).5.(6.7).6.7).@end
97340 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 2d 73 65 71 20 27 6c 69 73 74 70 20 .group.@group.(-tree-seq.'listp.
97360 27 72 65 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 'reverse.'(1.(2.3).4.(5.(6.7))))
97380 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 36 .....@result{}.((1.(2.3).4.(5.(6
973a0 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 32 .7))).(5.(6.7)).(6.7).7.6.5.4.(2
973c0 20 33 29 20 33 20 32 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d .3).3.2.1).@end.group.@group.(--
973e0 74 72 65 65 2d 73 65 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 tree-seq.(vectorp.it).(append.it
97400 20 6e 69 6c 29 20 5b 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 .nil).[1.[2.3].4.[5.[6.7]]])....
97420 20 40 72 65 73 75 6c 74 7b 7d 20 28 5b 31 20 5b 32 20 33 5d 20 34 20 5b 35 20 5b 36 20 37 5d 5d .@result{}.([1.[2.3].4.[5.[6.7]]
97440 5d 20 31 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 ].1.[2.3].2.3.4.[5.[6.7]].5.[6.7
97460 5d 20 36 20 37 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 ].6.7).@end.group.@end.example.@
97480 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 72 65 65 2d 6d 61 70 7d 0a 40 64 end.defun..@anchor{-tree-map}.@d
974a0 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 41 70 70 6c 79 20 40 efun.-tree-map.(fn.tree).Apply.@
974c0 76 61 72 7b 66 6e 7d 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b var{fn}.to.each.element.of.@var{
974e0 74 72 65 65 7d 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 tree}.while.preserving.the.tree.
97500 73 74 72 75 63 74 75 72 65 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 72 structure...@example.@group.(-tr
97520 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 20 36 29 20 37 29 ee-map.'1+.'(1.(2.3).(4.(5.6).7)
97540 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 28 33 20 34 29 20 28 35 20 28 36 20 )).....@result{}.(2.(3.4).(5.(6.
97560 37 29 20 38 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 2d 7).8)).@end.group.@group.(-tree-
97580 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 20 32 map.'(lambda.(x).(cons.x.(expt.2
975a0 20 78 29 29 29 20 27 28 31 20 28 32 20 33 29 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b .x))).'(1.(2.3).4)).....@result{
975c0 7d 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 29 29 20 28 34 20 }.((1...2).((2...4).(3...8)).(4.
975e0 2e 20 31 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 65 65 ..16)).@end.group.@group.(--tree
97600 2d 6d 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 -map.(length.it).'("<body>".("<p
97620 3e 22 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 >"."text"."</p>")."</body>"))...
97640 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 36 20 28 33 20 34 20 34 29 20 37 29 0a 40 65 6e 64 20 67 ..@result{}.(6.(3.4.4).7).@end.g
97660 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 roup.@end.example.@end.defun..@a
97680 6e 63 68 6f 72 7b 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 7d 0a 40 64 65 66 75 6e 20 2d 74 nchor{-tree-map-nodes}.@defun.-t
976a0 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 28 70 72 65 64 20 66 75 6e 20 74 72 65 65 29 0a 43 61 ree-map-nodes.(pred.fun.tree).Ca
976c0 6c 6c 20 40 76 61 72 7b 66 75 6e 7d 20 6f 6e 20 65 61 63 68 20 6e 6f 64 65 20 6f 66 20 40 76 61 ll.@var{fun}.on.each.node.of.@va
976e0 72 7b 74 72 65 65 7d 20 74 68 61 74 20 73 61 74 69 73 66 69 65 73 20 40 76 61 72 7b 70 72 65 64 r{tree}.that.satisfies.@var{pred
97700 7d 2e 0a 0a 49 66 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 63 }...If.@var{pred}.returns.nil,.c
97720 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 6e 6f 64 ontinue.descending.down.this.nod
97740 65 2e 20 20 49 66 20 40 76 61 72 7b 70 72 65 64 7d 0a 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 e...If.@var{pred}.returns.non-ni
97760 6c 2c 20 61 70 70 6c 79 20 40 76 61 72 7b 66 75 6e 7d 20 74 6f 20 74 68 69 73 20 6e 6f 64 65 20 l,.apply.@var{fun}.to.this.node.
97780 61 6e 64 20 64 6f 20 6e 6f 74 20 64 65 73 63 65 6e 64 0a 66 75 72 74 68 65 72 2e 0a 0a 40 65 78 and.do.not.descend.further...@ex
977a0 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 20 27 76 ample.@group.(-tree-map-nodes.'v
977c0 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 65 6e 64 ectorp.(lambda.(x).(-sum.(append
977e0 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 5d 20 38 .x.nil))).'(1.[2.3].4.(5.[6.7].8
97800 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 35 20 34 20 28 35 20 31 33 20 38 ))).....@result{}.(1.5.4.(5.13.8
97820 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 2d 6d 61 70 2d )).@end.group.@group.(-tree-map-
97840 6e 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 nodes.'keywordp.(lambda.(x).(sym
97860 62 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 bol-name.x)).'(1.:foo.4.((5.6.:b
97880 61 72 29 20 3a 62 61 7a 20 38 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 22 ar).:baz.8))).....@result{}.(1."
978a0 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 38 29 29 :foo".4.((5.6.":bar").":baz".8))
978c0 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 65 65 2d 6d 61 70 2d 6e .@end.group.@group.(--tree-map-n
978e0 6f 64 65 73 20 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 odes.(eq.(car-safe.it).'add-mode
97900 29 20 28 2d 63 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 ).(-concat.it.(list.:mode.'emacs
97920 2d 6c 69 73 70 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 -lisp-mode)).'(with-mode.emacs-l
97940 69 73 70 2d 6d 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 isp-mode.(foo.bar).(add-mode.a.b
97960 29 20 28 62 61 7a 20 28 61 64 64 2d 6d 6f 64 65 20 63 20 64 29 29 29 29 0a 20 20 20 20 40 72 65 ).(baz.(add-mode.c.d)))).....@re
97980 73 75 6c 74 7b 7d 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 sult{}.(with-mode.emacs-lisp-mod
979a0 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 20 3a 6d 6f 64 65 20 e.(foo.bar).(add-mode.a.b.:mode.
979c0 65 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 emacs-lisp-mode).(baz.(add-mode.
979e0 63 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 40 65 6e c.d.:mode.emacs-lisp-mode))).@en
97a00 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a d.group.@end.example.@end.defun.
97a20 0a 40 61 6e 63 68 6f 72 7b 2d 74 72 65 65 2d 72 65 64 75 63 65 7d 0a 40 64 65 66 75 6e 20 2d 74 .@anchor{-tree-reduce}.@defun.-t
97a40 72 65 65 2d 72 65 64 75 63 65 20 28 66 6e 20 74 72 65 65 29 0a 55 73 65 20 40 76 61 72 7b 66 6e ree-reduce.(fn.tree).Use.@var{fn
97a60 7d 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 74 20 40 76 61 }.to.reduce.elements.of.list.@va
97a80 72 7b 74 72 65 65 7d 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 74 72 65 r{tree}..If.elements.of.@var{tre
97aa0 65 7d 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 74 e}.are.lists.themselves,.apply.t
97ac0 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 0a 40 76 61 72 7b he.reduction.recursively...@var{
97ae0 66 6e 7d 20 69 73 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 20 74 6f 20 66 69 72 73 74 20 65 6c fn}.is.first.applied.to.first.el
97b00 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 64 0a 65 6c 65 ement.of.the.list.and.second.ele
97b20 6d 65 6e 74 2c 20 74 68 65 6e 20 6f 6e 20 74 68 69 73 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 ment,.then.on.this.result.and.th
97b40 69 72 64 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a ird.element.from.the.list.etc...
97b60 53 65 65 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 72 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 See.@code{-reduce-r}.(@pxref{-re
97b80 64 75 63 65 2d 72 7d 29 20 66 6f 72 20 68 6f 77 20 65 78 61 63 74 6c 79 20 61 72 65 20 6c 69 73 duce-r}).for.how.exactly.are.lis
97ba0 74 73 20 6f 66 20 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 ts.of.zero.or.one.element.handle
97bc0 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 2d 72 65 64 75 63 d...@example.@group.(-tree-reduc
97be0 65 20 27 2b 20 27 28 31 20 28 32 20 33 29 20 28 34 20 35 29 29 29 0a 20 20 20 20 40 72 65 73 75 e.'+.'(1.(2.3).(4.5))).....@resu
97c00 6c 74 7b 7d 20 31 35 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 lt{}.15.@end.group.@group.(-tree
97c20 2d 72 65 64 75 63 65 20 27 63 6f 6e 63 61 74 20 27 28 22 73 74 72 69 6e 67 73 22 20 28 22 20 6f -reduce.'concat.'("strings".(".o
97c40 6e 22 20 22 20 76 61 72 69 6f 75 73 22 29 20 28 28 22 20 6c 65 76 65 6c 73 22 29 29 29 29 0a 20 n".".various").((".levels"))))..
97c60 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 22 73 74 72 69 6e 67 73 20 6f 6e 20 76 61 72 69 6f 75 73 ...@result{}."strings.on.various
97c80 20 6c 65 76 65 6c 73 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 .levels".@end.group.@group.(--tr
97ca0 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 74 29 20 28 63 ee-reduce.(cond.((stringp.it).(c
97cc0 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 28 28 73 6e 20 oncat.it.".".acc)).(t.(let.((sn.
97ce0 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 22 3c 22 20 73 (symbol-name.it))).(concat."<".s
97d00 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 28 62 6f 64 79 n.">".acc."</".sn.">")))).'(body
97d20 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 65 22 20 28 62 .(p."some.words").(div."more".(b
97d40 20 22 62 6f 6c 64 22 29 20 22 77 6f 72 64 73 22 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b ."bold")."words"))).....@result{
97d60 7d 20 22 3c 62 6f 64 79 3e 3c 70 3e 73 6f 6d 65 20 77 6f 72 64 73 3c 2f 70 3e 20 3c 64 69 76 3e }."<body><p>some.words</p>.<div>
97d80 6d 6f 72 65 20 3c 62 3e 62 6f 6c 64 3c 2f 62 3e 20 77 6f 72 64 73 3c 2f 64 69 76 3e 3c 2f 62 6f more.<b>bold</b>.words</div></bo
97da0 64 79 3e 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e dy>".@end.group.@end.example.@en
97dc0 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 d.defun..@anchor{-tree-reduce-fr
97de0 6f 6d 7d 0a 40 64 65 66 75 6e 20 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6e om}.@defun.-tree-reduce-from.(fn
97e00 20 69 6e 69 74 2d 76 61 6c 75 65 20 74 72 65 65 29 0a 55 73 65 20 40 76 61 72 7b 66 6e 7d 20 74 .init-value.tree).Use.@var{fn}.t
97e20 6f 20 72 65 64 75 63 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 6c 69 73 74 20 40 76 61 72 7b 74 o.reduce.elements.of.list.@var{t
97e40 72 65 65 7d 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 74 72 65 65 7d 20 ree}..If.elements.of.@var{tree}.
97e60 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 74 68 65 20 are.lists.themselves,.apply.the.
97e80 72 65 64 75 63 74 69 6f 6e 20 72 65 63 75 72 73 69 76 65 6c 79 2e 0a 0a 40 76 61 72 7b 66 6e 7d reduction.recursively...@var{fn}
97ea0 20 69 73 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 20 74 6f 20 40 76 61 72 7b 69 6e 69 74 2d 76 .is.first.applied.to.@var{init-v
97ec0 61 6c 75 65 7d 20 61 6e 64 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c alue}.and.first.element.of.the.l
97ee0 69 73 74 2c 0a 74 68 65 6e 20 6f 6e 20 74 68 69 73 20 72 65 73 75 6c 74 20 61 6e 64 20 73 65 63 ist,.then.on.this.result.and.sec
97f00 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a ond.element.from.the.list.etc...
97f20 54 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 69 73 20 69 67 6e 6f 72 65 64 20 6f 6e 20 The.initial.value.is.ignored.on.
97f40 63 6f 6e 73 20 70 61 69 72 73 20 61 73 20 74 68 65 79 20 61 6c 77 61 79 73 20 63 6f 6e 74 61 69 cons.pairs.as.they.always.contai
97f60 6e 0a 74 77 6f 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 n.two.elements...@example.@group
97f80 0a 28 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 27 2b 20 31 20 27 28 31 20 28 31 20 .(-tree-reduce-from.'+.1.'(1.(1.
97fa0 31 29 20 28 28 31 29 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 38 0a 40 65 6e 64 20 1).((1)))).....@result{}.8.@end.
97fc0 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d group.@group.(--tree-reduce-from
97fe0 20 28 2d 63 6f 6e 63 61 74 20 61 63 63 20 28 6c 69 73 74 20 69 74 29 29 20 6e 69 6c 20 27 28 31 .(-concat.acc.(list.it)).nil.'(1
98000 20 28 32 20 33 20 28 34 20 35 29 29 20 28 36 20 37 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 .(2.3.(4.5)).(6.7))).....@result
98020 7b 7d 20 28 28 37 20 36 29 20 28 28 35 20 34 29 20 33 20 32 29 20 31 29 0a 40 65 6e 64 20 67 72 {}.((7.6).((5.4).3.2).1).@end.gr
98040 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e oup.@end.example.@end.defun..@an
98060 63 68 6f 72 7b 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 7d 0a 40 64 65 66 75 6e 20 2d 74 72 chor{-tree-mapreduce}.@defun.-tr
98080 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 65 29 0a 41 70 ee-mapreduce.(fn.folder.tree).Ap
980a0 70 6c 79 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 ply.@var{fn}.to.each.element.of.
980c0 40 76 61 72 7b 74 72 65 65 7d 2c 20 61 6e 64 20 6d 61 6b 65 20 61 20 6c 69 73 74 20 6f 66 20 74 @var{tree},.and.make.a.list.of.t
980e0 68 65 20 72 65 73 75 6c 74 73 2e 0a 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 40 76 61 72 7b he.results..If.elements.of.@var{
98100 74 72 65 65 7d 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 tree}.are.lists.themselves,.appl
98120 79 20 40 76 61 72 7b 66 6e 7d 20 72 65 63 75 72 73 69 76 65 6c 79 20 74 6f 0a 65 6c 65 6d 65 6e y.@var{fn}.recursively.to.elemen
98140 74 73 20 6f 66 20 74 68 65 73 65 20 6e 65 73 74 65 64 20 6c 69 73 74 73 2e 0a 0a 54 68 65 6e 20 ts.of.these.nested.lists...Then.
98160 72 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 reduce.the.resulting.lists.using
98180 20 40 76 61 72 7b 66 6f 6c 64 65 72 7d 20 61 6e 64 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 0a .@var{folder}.and.initial.value.
981a0 40 76 61 72 7b 69 6e 69 74 2d 76 61 6c 75 65 7d 2e 20 53 65 65 20 40 63 6f 64 65 7b 2d 72 65 64 @var{init-value}..See.@code{-red
981c0 75 63 65 2d 72 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 7b 2d 72 65 64 75 63 65 2d 72 2d 66 72 uce-r-from}.(@pxref{-reduce-r-fr
981e0 6f 6d 7d 29 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 om})...This.is.the.same.as.calli
98200 6e 67 20 40 63 6f 64 65 7b 2d 74 72 65 65 2d 72 65 64 75 63 65 7d 20 28 40 70 78 72 65 66 7b 2d ng.@code{-tree-reduce}.(@pxref{-
98220 74 72 65 65 2d 72 65 64 75 63 65 7d 29 20 61 66 74 65 72 20 40 63 6f 64 65 7b 2d 74 72 65 65 2d tree-reduce}).after.@code{-tree-
98240 6d 61 70 7d 20 28 40 70 78 72 65 66 7b 2d 74 72 65 65 2d 6d 61 70 7d 29 0a 62 75 74 20 69 73 20 map}.(@pxref{-tree-map}).but.is.
98260 74 77 69 63 65 20 61 73 20 66 61 73 74 20 61 73 20 69 74 20 6f 6e 6c 79 20 74 72 61 76 65 72 73 twice.as.fast.as.it.only.travers
98280 65 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 6f 6e 63 65 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a e.the.structure.once...@example.
982a0 40 67 72 6f 75 70 0a 28 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 27 6c 69 73 74 20 27 61 @group.(-tree-mapreduce.'list.'a
982c0 70 70 65 6e 64 20 27 28 31 20 28 32 20 28 33 20 34 29 20 28 35 20 36 29 29 20 28 37 20 28 38 20 ppend.'(1.(2.(3.4).(5.6)).(7.(8.
982e0 39 29 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 35 20 36 9)))).....@result{}.(1.2.3.4.5.6
98300 20 37 20 38 20 39 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 65 .7.8.9).@end.group.@group.(--tre
98320 65 2d 6d 61 70 72 65 64 75 63 65 20 31 20 28 2b 20 69 74 20 61 63 63 29 20 27 28 31 20 28 32 20 e-mapreduce.1.(+.it.acc).'(1.(2.
98340 28 34 20 39 29 20 28 32 20 31 29 29 20 28 37 20 28 34 20 33 29 29 29 29 0a 20 20 20 20 40 72 65 (4.9).(2.1)).(7.(4.3)))).....@re
98360 73 75 6c 74 7b 7d 20 39 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 sult{}.9.@end.group.@group.(--tr
98380 65 65 2d 6d 61 70 72 65 64 75 63 65 20 30 20 28 6d 61 78 20 61 63 63 20 28 31 2b 20 69 74 29 29 ee-mapreduce.0.(max.acc.(1+.it))
983a0 20 27 28 31 20 28 32 20 28 34 20 39 29 20 28 32 20 31 29 29 20 28 37 20 28 34 20 33 29 29 29 29 .'(1.(2.(4.9).(2.1)).(7.(4.3))))
983c0 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 .....@result{}.3.@end.group.@end
983e0 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 74 72 .example.@end.defun..@anchor{-tr
98400 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 7d 0a 40 64 65 66 75 6e 20 2d 74 72 65 65 2d ee-mapreduce-from}.@defun.-tree-
98420 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6e 20 66 6f 6c 64 65 72 20 69 6e 69 74 2d 76 mapreduce-from.(fn.folder.init-v
98440 61 6c 75 65 20 74 72 65 65 29 0a 41 70 70 6c 79 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 65 61 63 alue.tree).Apply.@var{fn}.to.eac
98460 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 74 72 65 65 7d 2c 20 61 6e 64 20 6d 61 6b h.element.of.@var{tree},.and.mak
98480 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 49 66 20 65 6c 65 6d e.a.list.of.the.results..If.elem
984a0 65 6e 74 73 20 6f 66 20 40 76 61 72 7b 74 72 65 65 7d 20 61 72 65 20 6c 69 73 74 73 20 74 68 65 ents.of.@var{tree}.are.lists.the
984c0 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 40 76 61 72 7b 66 6e 7d 20 72 65 63 75 72 73 69 76 mselves,.apply.@var{fn}.recursiv
984e0 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 65 64 20 ely.to.elements.of.these.nested.
98500 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 74 69 6e lists...Then.reduce.the.resultin
98520 67 20 6c 69 73 74 73 20 75 73 69 6e 67 20 40 76 61 72 7b 66 6f 6c 64 65 72 7d 20 61 6e 64 20 69 g.lists.using.@var{folder}.and.i
98540 6e 69 74 69 61 6c 20 76 61 6c 75 65 0a 40 76 61 72 7b 69 6e 69 74 2d 76 61 6c 75 65 7d 2e 20 53 nitial.value.@var{init-value}..S
98560 65 65 20 40 63 6f 64 65 7b 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 ee.@code{-reduce-r-from}.(@pxref
98580 7b 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 7d 29 2e 0a 0a 54 68 69 73 20 69 73 20 74 68 65 20 {-reduce-r-from})...This.is.the.
985a0 73 61 6d 65 20 61 73 20 63 61 6c 6c 69 6e 67 20 40 63 6f 64 65 7b 2d 74 72 65 65 2d 72 65 64 75 same.as.calling.@code{-tree-redu
985c0 63 65 2d 66 72 6f 6d 7d 20 28 40 70 78 72 65 66 7b 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 ce-from}.(@pxref{-tree-reduce-fr
985e0 6f 6d 7d 29 20 61 66 74 65 72 20 40 63 6f 64 65 7b 2d 74 72 65 65 2d 6d 61 70 7d 20 28 40 70 78 om}).after.@code{-tree-map}.(@px
98600 72 65 66 7b 2d 74 72 65 65 2d 6d 61 70 7d 29 0a 62 75 74 20 69 73 20 74 77 69 63 65 20 61 73 20 ref{-tree-map}).but.is.twice.as.
98620 66 61 73 74 20 61 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 fast.as.it.only.traverse.the.str
98640 75 63 74 75 72 65 20 6f 6e 63 65 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d ucture.once...@example.@group.(-
98660 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 20 27 69 64 65 6e 74 69 74 79 20 27 2a tree-mapreduce-from.'identity.'*
98680 20 31 20 27 28 31 20 28 32 20 28 33 20 34 29 20 28 35 20 36 29 29 20 28 37 20 28 38 20 39 29 29 .1.'(1.(2.(3.4).(5.6)).(7.(8.9))
986a0 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 36 32 38 38 30 0a 40 65 6e 64 20 67 72 6f )).....@result{}.362880.@end.gro
986c0 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d up.@group.(--tree-mapreduce-from
986e0 20 28 2b 20 69 74 20 69 74 29 20 28 63 6f 6e 73 20 69 74 20 61 63 63 29 20 6e 69 6c 20 27 28 31 .(+.it.it).(cons.it.acc).nil.'(1
98700 20 28 32 20 28 34 20 39 29 20 28 32 20 31 29 29 20 28 37 20 28 34 20 33 29 29 29 29 0a 20 20 20 .(2.(4.9).(2.1)).(7.(4.3))))....
98720 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 28 34 20 28 38 20 31 38 29 20 28 34 20 32 29 29 20 28 .@result{}.(2.(4.(8.18).(4.2)).(
98740 31 34 20 28 38 20 36 29 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 63 6f 14.(8.6))).@end.group.@group.(co
98760 6e 63 61 74 20 22 40 7b 22 20 28 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d ncat."@{".(--tree-mapreduce-from
98780 20 28 63 6f 6e 64 20 28 28 2d 63 6f 6e 73 2d 70 61 69 72 3f 20 69 74 29 20 28 63 6f 6e 63 61 74 .(cond.((-cons-pair?.it).(concat
987a0 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 63 61 72 20 69 74 29 29 20 22 20 2d 3e 20 22 20 28 .(symbol-name.(car.it)).".->.".(
987c0 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 63 64 72 20 69 74 29 29 29 29 20 28 74 20 28 63 6f 6e 63 symbol-name.(cdr.it)))).(t.(conc
987e0 61 74 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 69 74 29 20 22 20 3a 20 40 7b 22 29 29 29 20 28 at.(symbol-name.it).".:.@{"))).(
98800 63 6f 6e 63 61 74 20 69 74 20 28 75 6e 6c 65 73 73 20 28 6f 72 20 28 65 71 75 61 6c 20 61 63 63 concat.it.(unless.(or.(equal.acc
98820 20 22 40 7d 22 29 20 28 65 71 75 61 6c 20 28 73 75 62 73 74 72 69 6e 67 20 69 74 20 28 31 2d 20 ."@}").(equal.(substring.it.(1-.
98840 28 6c 65 6e 67 74 68 20 69 74 29 29 29 20 22 40 7b 22 29 29 20 22 2c 20 22 29 20 61 63 63 29 20 (length.it)))."@{")).",.").acc).
98860 22 40 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 72 20 2e 20 62 "@}".'((elisp-mode.(foo.(bar...b
98880 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 20 28 66 6f 6f ooze)).(baz...qux)).(c-mode.(foo
988a0 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 20 40 72 65 73 ...bla).(bum...bam))))).....@res
988c0 75 6c 74 7b 7d 20 22 40 7b 65 6c 69 73 70 2d 6d 6f 64 65 20 3a 20 40 7b 66 6f 6f 20 3a 20 40 7b ult{}."@{elisp-mode.:.@{foo.:.@{
988e0 62 61 72 20 2d 3e 20 62 6f 6f 7a 65 40 7d 2c 20 62 61 7a 20 2d 3e 20 71 75 78 40 7d 2c 20 63 2d bar.->.booze@},.baz.->.qux@},.c-
98900 6d 6f 64 65 20 3a 20 40 7b 66 6f 6f 20 2d 3e 20 62 6c 61 2c 20 62 75 6d 20 2d 3e 20 62 61 6d 40 mode.:.@{foo.->.bla,.bum.->.bam@
98920 7d 40 7d 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e }@}".@end.group.@end.example.@en
98940 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6c 6f 6e 65 7d 0a 40 64 65 66 75 6e 20 d.defun..@anchor{-clone}.@defun.
98960 2d 63 6c 6f 6e 65 20 28 6c 69 73 74 29 0a 43 72 65 61 74 65 20 61 20 64 65 65 70 20 63 6f 70 79 -clone.(list).Create.a.deep.copy
98980 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 54 68 65 20 6e 65 77 20 6c 69 73 74 20 68 61 73 .of.@var{list}..The.new.list.has
989a0 20 74 68 65 20 73 61 6d 65 20 65 6c 65 6d 65 6e 74 73 20 61 6e 64 20 73 74 72 75 63 74 75 72 65 .the.same.elements.and.structure
989c0 20 62 75 74 20 61 6c 6c 20 63 6f 6e 73 20 61 72 65 0a 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 .but.all.cons.are.replaced.with.
989e0 6e 65 77 20 6f 6e 65 73 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 77 68 65 6e 20 79 new.ones...This.is.useful.when.y
98a00 6f 75 20 6e 65 65 64 20 74 6f 20 63 6c 6f 6e 65 20 61 0a 73 74 72 75 63 74 75 72 65 20 73 75 63 ou.need.to.clone.a.structure.suc
98a20 68 20 61 73 20 70 6c 69 73 74 20 6f 72 20 61 6c 69 73 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 h.as.plist.or.alist...@example.@
98a40 67 72 6f 75 70 0a 28 6c 65 74 2a 20 28 28 61 20 27 28 31 20 32 20 33 29 29 20 28 62 20 28 2d 63 group.(let*.((a.'(1.2.3)).(b.(-c
98a60 6c 6f 6e 65 20 61 29 29 29 20 28 6e 72 65 76 65 72 73 65 20 61 29 20 62 29 0a 20 20 20 20 40 72 lone.a))).(nreverse.a).b).....@r
98a80 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 esult{}.(1.2.3).@end.group.@end.
98aa0 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 54 68 72 65 61 64 example.@end.defun..@node.Thread
98ac0 69 6e 67 20 6d 61 63 72 6f 73 0a 40 73 65 63 74 69 6f 6e 20 54 68 72 65 61 64 69 6e 67 20 6d 61 ing.macros.@section.Threading.ma
98ae0 63 72 6f 73 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 cros..Macros.that.conditionally.
98b00 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 20 62 72 65 combine.sequential.forms.for.bre
98b20 76 69 74 79 0a 6f 72 20 72 65 61 64 61 62 69 6c 69 74 79 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 3e vity.or.readability...@anchor{->
98b40 7d 0a 40 64 65 66 6d 61 63 20 2d 3e 20 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 }.@defmac.->.(x.&optional.form.&
98b60 72 65 73 74 20 6d 6f 72 65 29 0a 54 68 72 65 61 64 20 74 68 65 20 65 78 70 72 20 74 68 72 6f 75 rest.more).Thread.the.expr.throu
98b80 67 68 20 74 68 65 20 66 6f 72 6d 73 2e 20 49 6e 73 65 72 74 20 40 76 61 72 7b 78 7d 20 61 73 20 gh.the.forms..Insert.@var{x}.as.
98ba0 74 68 65 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 the.second.item.in.the.first.for
98bc0 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.
98be0 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
98c00 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
98c20 72 6d 20 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 rm.as.the.second.item.in.second.
98c40 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 3e 20 form,.etc...@example.@group.(->.
98c60 27 28 32 20 33 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 33 20 35 29 0a '(2.3.5)).....@result{}.(2.3.5).
98c80 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 3e 20 27 28 32 20 33 20 35 29 20 28 @end.group.@group.(->.'(2.3.5).(
98ca0 61 70 70 65 6e 64 20 27 28 38 20 31 33 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 append.'(8.13))).....@result{}.(
98cc0 32 20 33 20 35 20 38 20 31 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2.3.5.8.13).@end.group.@group.(-
98ce0 3e 20 27 28 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 >.'(2.3.5).(append.'(8.13)).(-sl
98d00 69 63 65 20 31 20 2d 31 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 35 20 38 29 ice.1.-1)).....@result{}.(3.5.8)
98d20 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 .@end.group.@end.example.@end.de
98d40 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 3e 3e 7d 0a 40 64 65 66 6d 61 63 20 2d 3e 3e 20 28 fmac..@anchor{->>}.@defmac.->>.(
98d60 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 54 68 72 x.&optional.form.&rest.more).Thr
98d80 65 61 64 20 74 68 65 20 65 78 70 72 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 6f 72 6d 73 2e 20 ead.the.expr.through.the.forms..
98da0 49 6e 73 65 72 74 20 40 76 61 72 7b 78 7d 20 61 73 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 0a Insert.@var{x}.as.the.last.item.
98dc0 69 6e 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 6d 61 6b 69 6e 67 20 61 20 6c 69 73 74 in.the.first.form,.making.a.list
98de0 20 6f 66 20 69 74 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 0a 61 6c 72 65 61 .of.it.if.it.is.not.a.list.alrea
98e00 64 79 2e 20 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 dy..If.there.are.more.forms,.ins
98e20 65 72 74 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 61 73 20 74 68 65 0a 6c 61 73 74 20 69 ert.the.first.form.as.the.last.i
98e40 74 65 6d 20 69 6e 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 40 65 78 61 6d 70 tem.in.second.form,.etc...@examp
98e60 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 le.@group.(->>.'(1.2.3).(-map.'s
98e80 71 75 61 72 65 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 29 0a 40 65 quare)).....@result{}.(1.4.9).@e
98ea0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d nd.group.@group.(->>.'(1.2.3).(-
98ec0 6d 61 70 20 27 73 71 75 61 72 65 29 20 28 2d 72 65 6d 6f 76 65 20 27 65 76 65 6e 3f 29 29 0a 20 map.'square).(-remove.'even?))..
98ee0 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 39 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 ...@result{}.(1.9).@end.group.@g
98f00 72 6f 75 70 0a 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 roup.(->>.'(1.2.3).(-map.'square
98f20 29 20 28 2d 72 65 64 75 63 65 20 27 2b 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 34 ).(-reduce.'+)).....@result{}.14
98f40 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 .@end.group.@end.example.@end.de
98f60 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 2d 3e 7d 0a 40 64 65 66 6d 61 63 20 2d 2d 3e 20 28 fmac..@anchor{-->}.@defmac.-->.(
98f80 78 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 53 74 61 72 74 69 6e 67 20 77 69 74 68 20 74 68 65 x.&rest.forms).Starting.with.the
98fa0 20 76 61 6c 75 65 20 6f 66 20 40 76 61 72 7b 78 7d 2c 20 74 68 72 65 61 64 20 65 61 63 68 20 65 .value.of.@var{x},.thread.each.e
98fc0 78 70 72 65 73 73 69 6f 6e 20 74 68 72 6f 75 67 68 20 40 76 61 72 7b 66 6f 72 6d 73 7d 2e 0a 0a xpression.through.@var{forms}...
98fe0 49 6e 73 65 72 74 20 40 76 61 72 7b 78 7d 20 61 74 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 73 Insert.@var{x}.at.the.position.s
99000 69 67 6e 69 66 69 65 64 20 62 79 20 74 68 65 20 73 79 6d 62 6f 6c 20 40 63 6f 64 65 7b 69 74 7d ignified.by.the.symbol.@code{it}
99020 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 65 72 65 20 61 72 .in.the.first.form...If.there.ar
99040 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 73 74 20 66 e.more.forms,.insert.the.first.f
99060 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 69 65 64 20 62 79 orm.at.the.position.signified.by
99080 20 40 63 6f 64 65 7b 69 74 7d 20 69 6e 20 69 6e 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 .@code{it}.in.in.second.form,.et
990a0 63 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 2d 3e 20 22 64 65 66 22 20 28 c...@example.@group.(-->."def".(
990c0 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 40 72 65 73 concat."abc".it."ghi")).....@res
990e0 75 6c 74 7b 7d 20 22 61 62 63 64 65 66 67 68 69 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 ult{}."abcdefghi".@end.group.@gr
99100 6f 75 70 0a 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 oup.(-->."def".(concat."abc".it.
99120 22 67 68 69 22 29 20 28 75 70 63 61 73 65 20 69 74 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b "ghi").(upcase.it)).....@result{
99140 7d 20 22 41 42 43 44 45 46 47 48 49 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a }."ABCDEFGHI".@end.group.@group.
99160 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 67 68 69 (-->."def".(concat."abc".it."ghi
99180 22 29 20 75 70 63 61 73 65 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 22 41 42 43 44 45 46 ").upcase).....@result{}."ABCDEF
991a0 47 48 49 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e GHI".@end.group.@end.example.@en
991c0 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 61 73 2d 3e 7d 0a 40 64 65 66 6d 61 63 d.defmac..@anchor{-as->}.@defmac
991e0 20 2d 61 73 2d 3e 20 28 76 61 6c 75 65 20 76 61 72 69 61 62 6c 65 20 26 72 65 73 74 20 66 6f 72 .-as->.(value.variable.&rest.for
99200 6d 73 29 0a 53 74 61 72 74 69 6e 67 20 77 69 74 68 20 40 76 61 72 7b 76 61 6c 75 65 7d 2c 20 74 ms).Starting.with.@var{value},.t
99220 68 72 65 61 64 20 40 76 61 72 7b 76 61 72 69 61 62 6c 65 7d 20 74 68 72 6f 75 67 68 20 40 76 61 hread.@var{variable}.through.@va
99240 72 7b 66 6f 72 6d 73 7d 2e 0a 0a 49 6e 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 62 69 r{forms}...In.the.first.form,.bi
99260 6e 64 20 40 76 61 72 7b 76 61 72 69 61 62 6c 65 7d 20 74 6f 20 40 76 61 72 7b 76 61 6c 75 65 7d nd.@var{variable}.to.@var{value}
99280 2e 20 20 49 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 62 69 6e 64 0a 40 76 61 72 ...In.the.second.form,.bind.@var
992a0 7b 76 61 72 69 61 62 6c 65 7d 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 {variable}.to.the.result.of.the.
992c0 66 69 72 73 74 20 66 6f 72 6d 2c 20 61 6e 64 20 73 6f 20 66 6f 72 74 68 2e 0a 0a 40 65 78 61 6d first.form,.and.so.forth...@exam
992e0 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 20 28 31 2b 20 6d ple.@group.(-as->.3.my-var.(1+.m
99300 79 2d 76 61 72 29 20 28 6c 69 73 74 20 6d 79 2d 76 61 72 29 20 28 6d 61 70 63 61 72 20 28 6c 61 y-var).(list.my-var).(mapcar.(la
99320 6d 62 64 61 20 28 65 6c 65 29 20 28 2a 20 32 20 65 6c 65 29 29 20 6d 79 2d 76 61 72 29 29 0a 20 mbda.(ele).(*.2.ele)).my-var))..
99340 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 38 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f ...@result{}.(8).@end.group.@gro
99360 75 70 0a 28 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 20 31 2b 29 0a 20 20 20 20 40 72 65 73 75 up.(-as->.3.my-var.1+).....@resu
99380 6c 74 7b 7d 20 34 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 61 73 2d 3e 20 lt{}.4.@end.group.@group.(-as->.
993a0 33 20 6d 79 2d 76 61 72 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 33 0a 40 65 6e 64 20 67 3.my-var).....@result{}.3.@end.g
993c0 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 roup.@end.example.@end.defmac..@
993e0 61 6e 63 68 6f 72 7b 2d 73 6f 6d 65 2d 3e 7d 0a 40 64 65 66 6d 61 63 20 2d 73 6f 6d 65 2d 3e 20 anchor{-some->}.@defmac.-some->.
99400 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 57 68 (x.&optional.form.&rest.more).Wh
99420 65 6e 20 65 78 70 72 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 20 69 74 20 74 68 en.expr.is.non-nil,.thread.it.th
99440 72 6f 75 67 68 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 20 28 76 69 61 20 40 63 6f 64 65 7b rough.the.first.form.(via.@code{
99460 2d 3e 7d 20 28 40 70 78 72 65 66 7b 2d 3e 7d 29 29 2c 0a 61 6e 64 20 77 68 65 6e 20 74 68 61 74 ->}.(@pxref{->})),.and.when.that
99480 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 65 20 .result.is.non-nil,.through.the.
994a0 6e 65 78 74 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 next.form,.etc...@example.@group
994c0 0a 28 2d 73 6f 6d 65 2d 3e 20 27 28 32 20 33 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b .(-some->.'(2.3.5)).....@result{
994e0 7d 20 28 32 20 33 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 6f }.(2.3.5).@end.group.@group.(-so
99500 6d 65 2d 3e 20 35 20 73 71 75 61 72 65 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 32 35 0a me->.5.square).....@result{}.25.
99520 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 6d 65 2d 3e 20 35 20 65 76 65 @end.group.@group.(-some->.5.eve
99540 6e 3f 20 73 71 75 61 72 65 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e n?.square).....@result{}.nil.@en
99560 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 d.group.@end.example.@end.defmac
99580 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 6f 6d 65 2d 3e 3e 7d 0a 40 64 65 66 6d 61 63 20 2d 73 6f 6d ..@anchor{-some->>}.@defmac.-som
995a0 65 2d 3e 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 6d 6f 72 e->>.(x.&optional.form.&rest.mor
995c0 65 29 0a 57 68 65 6e 20 65 78 70 72 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 20 e).When.expr.is.non-nil,.thread.
995e0 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 69 61 20 40 it.through.the.first.form.(via.@
99600 63 6f 64 65 7b 2d 3e 3e 7d 20 28 40 70 78 72 65 66 7b 2d 3e 3e 7d 29 29 2c 0a 61 6e 64 20 77 68 code{->>}.(@pxref{->>})),.and.wh
99620 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 68 72 6f 75 en.that.result.is.non-nil,.throu
99640 67 68 20 74 68 65 20 6e 65 78 74 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 40 65 78 61 6d 70 6c 65 gh.the.next.form,.etc...@example
99660 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 6d 65 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d 6d 61 70 .@group.(-some->>.'(1.2.3).(-map
99680 20 27 73 71 75 61 72 65 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 29 .'square)).....@result{}.(1.4.9)
996a0 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 6d 65 2d 3e 3e 20 27 28 31 .@end.group.@group.(-some->>.'(1
996c0 20 33 20 35 29 20 28 2d 6c 61 73 74 20 27 65 76 65 6e 3f 29 20 28 2b 20 31 30 30 29 29 0a 20 20 .3.5).(-last.'even?).(+.100))...
996e0 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 ..@result{}.nil.@end.group.@grou
99700 70 0a 28 2d 73 6f 6d 65 2d 3e 3e 20 27 28 32 20 34 20 36 29 20 28 2d 6c 61 73 74 20 27 65 76 65 p.(-some->>.'(2.4.6).(-last.'eve
99720 6e 3f 29 20 28 2b 20 31 30 30 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 30 36 0a 40 n?).(+.100)).....@result{}.106.@
99740 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d end.group.@end.example.@end.defm
99760 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 6f 6d 65 2d 2d 3e 7d 0a 40 64 65 66 6d 61 63 20 2d 73 ac..@anchor{-some-->}.@defmac.-s
99780 6f 6d 65 2d 2d 3e 20 28 65 78 70 72 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 54 68 72 65 61 64 ome-->.(expr.&rest.forms).Thread
997a0 20 40 76 61 72 7b 65 78 70 72 7d 20 74 68 72 6f 75 67 68 20 40 76 61 72 7b 66 6f 72 6d 73 7d 20 .@var{expr}.through.@var{forms}.
997c0 76 69 61 20 40 63 6f 64 65 7b 2d 2d 3e 7d 20 28 40 70 78 72 65 66 7b 2d 2d 3e 7d 29 2c 20 77 68 via.@code{-->}.(@pxref{-->}),.wh
997e0 69 6c 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 57 68 65 6e 20 ile.the.result.is.non-nil..When.
99800 40 76 61 72 7b 65 78 70 72 7d 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c @var{expr}.evaluates.to.non-nil,
99820 20 74 68 72 65 61 64 20 74 68 65 20 72 65 73 75 6c 74 20 74 68 72 6f 75 67 68 20 74 68 65 0a 66 .thread.the.result.through.the.f
99840 69 72 73 74 20 6f 66 20 40 76 61 72 7b 66 6f 72 6d 73 7d 2c 20 61 6e 64 20 77 68 65 6e 20 74 68 irst.of.@var{forms},.and.when.th
99860 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 65 61 64 20 69 74 0a at.result.is.non-nil,.thread.it.
99880 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 2e 0a 0a 40 65 78 through.the.next.form,.etc...@ex
998a0 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 6d 65 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f ample.@group.(-some-->."def".(co
998c0 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 40 72 65 73 75 6c ncat."abc".it."ghi")).....@resul
998e0 74 7b 7d 20 22 61 62 63 64 65 66 67 68 69 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 t{}."abcdefghi".@end.group.@grou
99900 70 0a 28 2d 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 p.(-some-->.nil.(concat."abc".it
99920 20 22 67 68 69 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 ."ghi")).....@result{}.nil.@end.
99940 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 6d 65 2d 2d 3e 20 27 28 30 20 31 29 20 28 2d group.@group.(-some-->.'(0.1).(-
99960 72 65 6d 6f 76 65 20 23 27 6e 61 74 6e 75 6d 70 20 69 74 29 20 28 61 70 70 65 6e 64 20 69 74 20 remove.#'natnump.it).(append.it.
99980 69 74 29 20 28 2d 6d 61 70 20 23 27 31 2b 20 69 74 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b it).(-map.#'1+.it)).....@result{
999a0 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e }.().@end.group.@end.example.@en
999c0 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 64 6f 74 6f 7d 0a 40 64 65 66 6d 61 63 d.defmac..@anchor{-doto}.@defmac
999e0 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 0a 45 76 61 6c 75 61 .-doto.(init.&rest.forms).Evalua
99a00 74 65 20 40 76 61 72 7b 69 6e 69 74 7d 20 61 6e 64 20 70 61 73 73 20 69 74 20 61 73 20 61 72 67 te.@var{init}.and.pass.it.as.arg
99a20 75 6d 65 6e 74 20 74 6f 20 40 76 61 72 7b 66 6f 72 6d 73 7d 20 77 69 74 68 20 40 63 6f 64 65 7b ument.to.@var{forms}.with.@code{
99a40 2d 3e 7d 20 28 40 70 78 72 65 66 7b 2d 3e 7d 29 2e 0a 54 68 65 20 40 76 61 72 7b 72 65 73 75 6c ->}.(@pxref{->})..The.@var{resul
99a60 74 7d 20 6f 66 20 65 76 61 6c 75 61 74 69 6e 67 20 40 76 61 72 7b 69 6e 69 74 7d 20 69 73 20 74 t}.of.evaluating.@var{init}.is.t
99a80 68 72 65 61 64 65 64 20 74 68 72 6f 75 67 68 20 65 61 63 68 20 6f 66 20 40 76 61 72 7b 66 6f 72 hreaded.through.each.of.@var{for
99aa0 6d 73 7d 0a 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 75 73 69 6e 67 20 40 63 6f 64 65 7b 2d 3e 7d ms}.individually.using.@code{->}
99ac0 20 28 40 70 78 72 65 66 7b 2d 3e 7d 29 2c 20 77 68 69 63 68 20 73 65 65 2e 20 20 54 68 65 20 72 .(@pxref{->}),.which.see...The.r
99ae0 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 40 76 61 72 7b 72 65 73 75 6c 74 7d 2c 0a 77 68 69 eturn.value.is.@var{result},.whi
99b00 63 68 20 40 76 61 72 7b 66 6f 72 6d 73 7d 20 6d 61 79 20 68 61 76 65 20 6d 6f 64 69 66 69 65 64 ch.@var{forms}.may.have.modified
99b20 20 62 79 20 73 69 64 65 20 65 66 66 65 63 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 .by.side.effect...@example.@grou
99b40 70 0a 28 2d 64 6f 74 6f 20 28 6c 69 73 74 20 31 20 32 20 33 29 20 70 6f 70 20 70 6f 70 29 0a 20 p.(-doto.(list.1.2.3).pop.pop)..
99b60 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f ...@result{}.(3).@end.group.@gro
99b80 75 70 0a 28 2d 64 6f 74 6f 20 28 63 6f 6e 73 20 31 20 32 29 20 28 73 65 74 63 61 72 20 33 29 20 up.(-doto.(cons.1.2).(setcar.3).
99ba0 28 73 65 74 63 64 72 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 2e 20 34 (setcdr.4)).....@result{}.(3...4
99bc0 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 67 65 74 68 61 73 68 20 27 6b 20 ).@end.group.@group.(gethash.'k.
99be0 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 20 28 70 75 74 68 61 (--doto.(make-hash-table).(putha
99c00 73 68 20 27 6b 20 27 76 20 69 74 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 76 0a 40 sh.'k.'v.it))).....@result{}.v.@
99c20 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d end.group.@end.example.@end.defm
99c40 61 63 0a 0a 40 6e 6f 64 65 20 42 69 6e 64 69 6e 67 0a 40 73 65 63 74 69 6f 6e 20 42 69 6e 64 69 ac..@node.Binding.@section.Bindi
99c60 6e 67 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 63 6f 6d 62 69 6e 65 20 40 63 6f 64 65 7b 6c 65 ng..Macros.that.combine.@code{le
99c80 74 7d 20 61 6e 64 20 40 63 6f 64 65 7b 6c 65 74 2a 7d 20 77 69 74 68 20 64 65 73 74 72 75 63 74 t}.and.@code{let*}.with.destruct
99ca0 75 72 69 6e 67 20 61 6e 64 20 66 6c 6f 77 20 63 6f 6e 74 72 6f 6c 2e 0a 0a 40 61 6e 63 68 6f 72 uring.and.flow.control...@anchor
99cc0 7b 2d 77 68 65 6e 2d 6c 65 74 7d 0a 40 64 65 66 6d 61 63 20 2d 77 68 65 6e 2d 6c 65 74 20 28 28 {-when-let}.@defmac.-when-let.((
99ce0 76 61 72 20 76 61 6c 29 20 26 72 65 73 74 20 62 6f 64 79 29 0a 49 66 20 40 76 61 72 7b 76 61 6c var.val).&rest.body).If.@var{val
99d00 7d 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 }.evaluates.to.non-nil,.bind.it.
99d20 74 6f 20 40 76 61 72 7b 76 61 72 7d 20 61 6e 64 20 65 78 65 63 75 74 65 20 62 6f 64 79 2e 0a 0a to.@var{var}.and.execute.body...
99d40 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 6f 72 64 69 6e 67 20 Note:.binding.is.done.according.
99d60 74 6f 20 40 63 6f 64 65 7b 2d 6c 65 74 7d 20 28 40 70 78 72 65 66 7b 2d 6c 65 74 7d 29 2e 0a 0a to.@code{-let}.(@pxref{-let})...
99d80 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 77 68 65 6e 2d 6c 65 74 20 28 6d 61 74 63 @example.@group.(-when-let.(matc
99da0 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 64 22 h-index.(string-match."d"."abcd"
99dc0 29 29 20 28 2b 20 6d 61 74 63 68 2d 69 6e 64 65 78 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c )).(+.match-index.2)).....@resul
99de0 74 7b 7d 20 35 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 77 68 65 6e 2d 6c t{}.5.@end.group.@group.(-when-l
99e00 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 66 6f 6f et.((&plist.:foo.foo).(list.:foo
99e20 20 22 66 6f 6f 22 29 29 20 66 6f 6f 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 22 66 6f 6f ."foo")).foo).....@result{}."foo
99e40 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 77 68 65 6e 2d 6c 65 74 20 28 ".@end.group.@group.(-when-let.(
99e60 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 61 72 20 22 62 61 (&plist.:foo.foo).(list.:bar."ba
99e80 72 22 29 29 20 66 6f 6f 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 r")).foo).....@result{}.nil.@end
99ea0 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a .group.@end.example.@end.defmac.
99ec0 0a 40 61 6e 63 68 6f 72 7b 2d 77 68 65 6e 2d 6c 65 74 2a 7d 0a 40 64 65 66 6d 61 63 20 2d 77 68 .@anchor{-when-let*}.@defmac.-wh
99ee0 65 6e 2d 6c 65 74 2a 20 28 76 61 72 73 2d 76 61 6c 73 20 26 72 65 73 74 20 62 6f 64 79 29 0a 49 en-let*.(vars-vals.&rest.body).I
99f00 66 20 61 6c 6c 20 40 76 61 72 7b 76 61 6c 73 7d 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 72 75 f.all.@var{vals}.evaluate.to.tru
99f20 65 2c 20 62 69 6e 64 20 74 68 65 6d 20 74 6f 20 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 e,.bind.them.to.their.correspond
99f40 69 6e 67 0a 40 76 61 72 7b 76 61 72 73 7d 20 61 6e 64 20 65 78 65 63 75 74 65 20 62 6f 64 79 2e ing.@var{vars}.and.execute.body.
99f60 20 40 76 61 72 7b 76 61 72 73 2d 76 61 6c 73 7d 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 .@var{vars-vals}.should.be.a.lis
99f80 74 20 6f 66 20 28 40 76 61 72 7b 76 61 72 7d 20 40 76 61 72 7b 76 61 6c 7d 29 0a 70 61 69 72 73 t.of.(@var{var}.@var{val}).pairs
99fa0 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 6f 72 64 69 ...Note:.binding.is.done.accordi
99fc0 6e 67 20 74 6f 20 40 63 6f 64 65 7b 2d 6c 65 74 2a 7d 20 28 40 70 78 72 65 66 7b 2d 6c 65 74 2a ng.to.@code{-let*}.(@pxref{-let*
99fe0 7d 29 2e 20 20 40 76 61 72 7b 76 61 6c 73 7d 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 0a 73 65 })...@var{vals}.are.evaluated.se
9a000 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 73 74 6f 70 73 quentially,.and.evaluation.stops
9a020 20 61 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 6e 69 6c 20 40 76 61 72 7b 76 61 6c 7d 20 69 .after.the.first.nil.@var{val}.i
9a040 73 0a 65 6e 63 6f 75 6e 74 65 72 65 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a s.encountered...@example.@group.
9a060 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 28 2b 20 79 (-when-let*.((x.5).(y.3).(z.(+.y
9a080 20 34 29 29 29 20 28 2b 20 78 20 79 20 7a 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 .4))).(+.x.y.z)).....@result{}.1
9a0a0 35 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 77 68 65 6e 2d 6c 65 74 2a 20 5.@end.group.@group.(-when-let*.
9a0c0 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))
9a0e0 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 .....@result{}.nil.@end.group.@e
9a100 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b nd.example.@end.defmac..@anchor{
9a120 2d 69 66 2d 6c 65 74 7d 0a 40 64 65 66 6d 61 63 20 2d 69 66 2d 6c 65 74 20 28 28 76 61 72 20 76 -if-let}.@defmac.-if-let.((var.v
9a140 61 6c 29 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 0a 49 66 20 40 76 61 72 7b 76 61 6c al).then.&rest.else).If.@var{val
9a160 7d 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 }.evaluates.to.non-nil,.bind.it.
9a180 74 6f 20 40 76 61 72 7b 76 61 72 7d 20 61 6e 64 20 64 6f 20 40 76 61 72 7b 74 68 65 6e 7d 2c 0a to.@var{var}.and.do.@var{then},.
9a1a0 6f 74 68 65 72 77 69 73 65 20 64 6f 20 40 76 61 72 7b 65 6c 73 65 7d 2e 0a 0a 4e 6f 74 65 3a 20 otherwise.do.@var{else}...Note:.
9a1c0 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 40 63 6f binding.is.done.according.to.@co
9a1e0 64 65 7b 2d 6c 65 74 7d 20 28 40 70 78 72 65 66 7b 2d 6c 65 74 7d 29 2e 0a 0a 40 65 78 61 6d 70 de{-let}.(@pxref{-let})...@examp
9a200 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 66 2d 6c 65 74 20 28 6d 61 74 63 68 2d 69 6e 64 65 78 20 le.@group.(-if-let.(match-index.
9a220 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 64 22 20 22 61 62 63 22 29 29 20 28 2b 20 6d 61 74 (string-match."d"."abc")).(+.mat
9a240 63 68 2d 69 6e 64 65 78 20 33 29 20 37 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 37 0a 40 ch-index.3).7).....@result{}.7.@
9a260 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 2d 69 66 2d 6c 65 74 20 28 65 76 65 6e end.group.@group.(--if-let.(even
9a280 3f 20 34 29 20 69 74 20 6e 69 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e ?.4).it.nil).....@result{}.t.@en
9a2a0 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 d.group.@end.example.@end.defmac
9a2c0 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 66 2d 6c 65 74 2a 7d 0a 40 64 65 66 6d 61 63 20 2d 69 66 2d ..@anchor{-if-let*}.@defmac.-if-
9a2e0 6c 65 74 2a 20 28 76 61 72 73 2d 76 61 6c 73 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 let*.(vars-vals.then.&rest.else)
9a300 0a 49 66 20 61 6c 6c 20 40 76 61 72 7b 76 61 6c 73 7d 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 .If.all.@var{vals}.evaluate.to.t
9a320 72 75 65 2c 20 62 69 6e 64 20 74 68 65 6d 20 74 6f 20 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f rue,.bind.them.to.their.correspo
9a340 6e 64 69 6e 67 0a 40 76 61 72 7b 76 61 72 73 7d 20 61 6e 64 20 64 6f 20 40 76 61 72 7b 74 68 65 nding.@var{vars}.and.do.@var{the
9a360 6e 7d 2c 20 6f 74 68 65 72 77 69 73 65 20 64 6f 20 40 76 61 72 7b 65 6c 73 65 7d 2e 20 40 76 61 n},.otherwise.do.@var{else}..@va
9a380 72 7b 76 61 72 73 2d 76 61 6c 73 7d 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 0a 6f 66 r{vars-vals}.should.be.a.list.of
9a3a0 20 28 40 76 61 72 7b 76 61 72 7d 20 40 76 61 72 7b 76 61 6c 7d 29 20 70 61 69 72 73 2e 0a 0a 4e .(@var{var}.@var{val}).pairs...N
9a3c0 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
9a3e0 6f 20 40 63 6f 64 65 7b 2d 6c 65 74 2a 7d 20 28 40 70 78 72 65 66 7b 2d 6c 65 74 2a 7d 29 2e 20 o.@code{-let*}.(@pxref{-let*})..
9a400 20 40 76 61 72 7b 76 61 6c 73 7d 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 0a 73 65 71 75 65 6e .@var{vals}.are.evaluated.sequen
9a420 74 69 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 tially,.and.evaluation.stops.aft
9a440 65 72 20 74 68 65 20 66 69 72 73 74 20 6e 69 6c 20 40 76 61 72 7b 76 61 6c 7d 20 69 73 0a 65 6e er.the.first.nil.@var{val}.is.en
9a460 63 6f 75 6e 74 65 72 65 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 69 66 countered...@example.@group.(-if
9a480 2d 6c 65 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 -let*.((x.5).(y.3).(z.7)).(+.x.y
9a4a0 20 7a 29 20 22 66 6f 6f 22 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 35 0a 40 65 6e 64 .z)."foo").....@result{}.15.@end
9a4c0 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 69 66 2d 6c 65 74 2a 20 28 28 78 20 35 29 20 28 .group.@group.(-if-let*.((x.5).(
9a4e0 79 20 6e 69 6c 29 20 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 y.nil).(z.7)).(+.x.y.z)."foo")..
9a500 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 22 66 6f 6f 22 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 ...@result{}."foo".@end.group.@g
9a520 72 6f 75 70 0a 28 2d 69 66 2d 6c 65 74 2a 20 28 28 28 5f 20 5f 20 78 29 20 27 28 6e 69 6c 20 6e roup.(-if-let*.(((_._.x).'(nil.n
9a540 69 6c 20 37 29 29 29 20 78 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 37 0a 40 65 6e 64 20 il.7))).x).....@result{}.7.@end.
9a560 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a group.@end.example.@end.defmac..
9a580 40 61 6e 63 68 6f 72 7b 2d 6c 65 74 7d 0a 40 64 65 66 6d 61 63 20 2d 6c 65 74 20 28 76 61 72 6c @anchor{-let}.@defmac.-let.(varl
9a5a0 69 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 0a 42 69 6e 64 20 76 61 72 69 61 62 6c 65 73 20 61 ist.&rest.body).Bind.variables.a
9a5c0 63 63 6f 72 64 69 6e 67 20 74 6f 20 40 76 61 72 7b 76 61 72 6c 69 73 74 7d 20 74 68 65 6e 20 65 ccording.to.@var{varlist}.then.e
9a5e0 76 61 6c 20 40 76 61 72 7b 62 6f 64 79 7d 2e 0a 0a 40 76 61 72 7b 76 61 72 6c 69 73 74 7d 20 69 val.@var{body}...@var{varlist}.i
9a600 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 28 40 s.a.list.of.lists.of.the.form.(@
9a620 76 61 72 7b 70 61 74 74 65 72 6e 7d 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 29 2e 20 20 45 61 63 var{pattern}.@var{source})...Eac
9a640 68 0a 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 20 69 73 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e h.@var{pattern}.is.matched.again
9a660 73 74 20 74 68 65 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 20 22 73 74 72 75 63 74 75 72 61 6c 6c st.the.@var{source}."structurall
9a680 79 22 2e 20 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 0a 69 73 20 6f 6e 6c 79 20 65 76 61 6c 75 61 y"...@var{source}.is.only.evalua
9a6a0 74 65 64 20 6f 6e 63 65 20 66 6f 72 20 65 61 63 68 20 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 2e ted.once.for.each.@var{pattern}.
9a6c0 20 20 45 61 63 68 20 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 20 69 73 20 6d 61 74 63 68 65 64 0a ..Each.@var{pattern}.is.matched.
9a6e0 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 65 66 6f 72 65 20 63 recursively,.and.can.therefore.c
9a700 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 20 61 72 65 0a 6d 61 ontain.sub-patterns.which.are.ma
9a720 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 75 62 2d tched.against.corresponding.sub-
9a740 65 78 70 72 65 73 73 69 6f 6e 73 20 6f 66 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 2e 0a 0a 41 6c expressions.of.@var{source}...Al
9a760 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 65 66 6f 72 65 l.the.SOURCEs.are.evalled.before
9a780 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 2e 20 22 69 6e .any.symbols.are.bound.(i.e.."in
9a7a0 20 70 61 72 61 6c 6c 65 6c 22 29 2e 0a 0a 49 66 20 40 76 61 72 7b 76 61 72 6c 69 73 74 7d 20 6f .parallel")...If.@var{varlist}.o
9a7c0 6e 6c 79 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 28 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 20 nly.contains.one.(@var{pattern}.
9a7e0 40 76 61 72 7b 73 6f 75 72 63 65 7d 29 20 65 6c 65 6d 65 6e 74 2c 20 79 6f 75 20 63 61 6e 0a 6f @var{source}).element,.you.can.o
9a800 70 74 69 6f 6e 61 6c 6c 79 20 73 70 65 63 69 66 79 20 69 74 20 75 73 69 6e 67 20 61 20 76 65 63 ptionally.specify.it.using.a.vec
9a820 74 6f 72 20 61 6e 64 20 64 69 73 63 61 72 64 69 6e 67 20 74 68 65 0a 6f 75 74 65 72 2d 6d 6f 73 tor.and.discarding.the.outer-mos
9a840 74 20 70 61 72 65 6e 73 2e 20 20 54 68 75 73 0a 0a 20 20 28 2d 6c 65 74 20 28 28 40 76 61 72 7b t.parens...Thus....(-let.((@var{
9a860 70 61 74 74 65 72 6e 7d 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 29 29 20 40 64 6f 74 73 7b 7d 29 pattern}.@var{source})).@dots{})
9a880 0a 0a 62 65 63 6f 6d 65 73 0a 0a 20 20 28 2d 6c 65 74 20 5b 40 76 61 72 7b 70 61 74 74 65 72 6e ..becomes....(-let.[@var{pattern
9a8a0 7d 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 5d 20 40 64 6f 74 73 7b 7d 29 2e 0a 0a 40 63 6f 64 65 }.@var{source}].@dots{})...@code
9a8c0 7b 2d 6c 65 74 7d 20 28 40 70 78 72 65 66 7b 2d 6c 65 74 7d 29 20 75 73 65 73 20 61 20 63 6f 6e {-let}.(@pxref{-let}).uses.a.con
9a8e0 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 73 vention.of.not.binding.places.(s
9a900 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 72 ymbols).starting.with._.whenever
9a920 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 69 .it's.possible...You.can.use.thi
9a940 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 74 s.to.skip.over.entries.you.don't
9a960 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 6e .care.about...However,.this.is.n
9a980 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 6c ot.*always*.possible.(as.a.resul
9a9a0 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 73 t.of.implementation).and.these.s
9a9c0 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 69 ymbols.might.get.bound.to.undefi
9a9e0 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 76 ned.values...Following.is.the.ov
9aa00 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 52 erview.of.supported.patterns...R
9aa20 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 74 emember.that.patterns.can.be.mat
9aa40 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 2c ched.recursively,.so.every.a,.b,
9aa60 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 61 .aK.in.the.following.can.be.a.ma
9aa80 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 61 tching.construct.and.not.necessa
9aaa0 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 3a rily.a.symbol/variable...Symbol:
9aac0 0a 0a 20 20 61 20 2d 20 62 69 6e 64 20 74 68 65 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 20 74 6f ....a.-.bind.the.@var{source}.to
9aae0 20 40 76 61 72 7b 61 7d 2e 20 20 54 68 69 73 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 20 72 65 67 .@var{a}...This.is.just.like.reg
9ab00 75 6c 61 72 20 40 63 6f 64 65 7b 6c 65 74 7d 2e 0a 0a 43 6f 6e 73 65 73 20 61 6e 64 20 6c 69 73 ular.@code{let}...Conses.and.lis
9ab20 74 73 3a 0a 0a 20 20 28 61 29 20 2d 20 62 69 6e 64 20 40 63 6f 64 65 7b 63 61 72 7d 20 6f 66 20 ts:....(a).-.bind.@code{car}.of.
9ab40 63 6f 6e 73 2f 6c 69 73 74 20 74 6f 20 40 76 61 72 7b 61 7d 0a 0a 20 20 28 61 20 2e 20 62 29 20 cons/list.to.@var{a}....(a...b).
9ab60 2d 20 62 69 6e 64 20 63 61 72 20 6f 66 20 63 6f 6e 73 20 74 6f 20 40 76 61 72 7b 61 7d 20 61 6e -.bind.car.of.cons.to.@var{a}.an
9ab80 64 20 40 63 6f 64 65 7b 63 64 72 7d 20 74 6f 20 40 76 61 72 7b 62 7d 0a 0a 20 20 28 61 20 62 29 d.@code{cdr}.to.@var{b}....(a.b)
9aba0 20 2d 20 62 69 6e 64 20 63 61 72 20 6f 66 20 6c 69 73 74 20 74 6f 20 40 76 61 72 7b 61 7d 20 61 .-.bind.car.of.list.to.@var{a}.a
9abc0 6e 64 20 40 63 6f 64 65 7b 63 61 64 72 7d 20 74 6f 20 40 76 61 72 7b 62 7d 0a 0a 20 20 28 61 31 nd.@code{cadr}.to.@var{b}....(a1
9abe0 20 61 32 20 61 33 20 40 64 6f 74 73 7b 7d 29 20 2d 20 62 69 6e 64 20 30 74 68 20 63 61 72 20 6f .a2.a3.@dots{}).-.bind.0th.car.o
9ac00 66 20 6c 69 73 74 20 74 6f 20 40 76 61 72 7b 61 31 7d 2c 20 31 73 74 20 74 6f 20 40 76 61 72 7b f.list.to.@var{a1},.1st.to.@var{
9ac20 61 32 7d 2c 20 32 6e 64 20 74 6f 20 40 76 61 72 7b 61 33 7d 40 65 6e 64 64 6f 74 73 7b 7d 0a 0a a2},.2nd.to.@var{a3}@enddots{}..
9ac40 20 20 28 61 31 20 61 32 20 61 33 20 40 64 6f 74 73 7b 7d 20 61 4e 20 2e 20 72 65 73 74 29 20 2d ..(a1.a2.a3.@dots{}.aN...rest).-
9ac60 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 72 20 .as.above,.but.bind.the.Nth.cdr.
9ac80 74 6f 20 40 76 61 72 7b 72 65 73 74 7d 2e 0a 0a 56 65 63 74 6f 72 73 3a 0a 0a 20 20 5b 61 5d 20 to.@var{rest}...Vectors:....[a].
9aca0 2d 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 -.bind.0th.element.of.a.non-list
9acc0 20 73 65 71 75 65 6e 63 65 20 74 6f 20 40 76 61 72 7b 61 7d 20 28 77 6f 72 6b 73 20 77 69 74 68 .sequence.to.@var{a}.(works.with
9ace0 0a 20 20 20 20 20 20 20 20 76 65 63 74 6f 72 73 2c 20 73 74 72 69 6e 67 73 2c 20 62 69 74 20 61 .........vectors,.strings,.bit.a
9ad00 72 72 61 79 73 40 64 6f 74 73 7b 7d 29 0a 0a 20 20 5b 61 31 20 61 32 20 61 33 20 40 64 6f 74 73 rrays@dots{})....[a1.a2.a3.@dots
9ad20 7b 7d 5d 20 2d 20 62 69 6e 64 20 30 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 6e 6f 6e 2d 6c 69 {}].-.bind.0th.element.of.non-li
9ad40 73 74 20 73 65 71 75 65 6e 63 65 20 74 6f 20 40 76 61 72 7b 61 30 7d 2c 20 31 73 74 20 74 6f 0a st.sequence.to.@var{a0},.1st.to.
9ad60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 40 76 61 72 7b 61 31 7d 2c 20 32 6e 64 ...................@var{a1},.2nd
9ad80 20 74 6f 20 40 76 61 72 7b 61 32 7d 2c 20 40 65 6e 64 64 6f 74 73 7b 7d 0a 20 20 20 20 20 20 20 .to.@var{a2},.@enddots{}........
9ada0 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 40 76 61 72 7b 70 61 74 74 65 72 6e 7d ............If.the.@var{pattern}
9adc0 20 69 73 20 73 68 6f 72 74 65 72 20 74 68 61 6e 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 2c 20 74 .is.shorter.than.@var{source},.t
9ade0 68 65 20 76 61 6c 75 65 73 20 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 he.values.at....................
9ae00 70 6c 61 63 65 73 20 6e 6f 74 20 69 6e 20 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 20 61 72 65 20 places.not.in.@var{pattern}.are.
9ae20 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 66 20 74 ignored.....................If.t
9ae40 68 65 20 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 20 69 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 he.@var{pattern}.is.longer.than.
9ae60 40 76 61 72 7b 73 6f 75 72 63 65 7d 2c 20 61 6e 20 40 63 6f 64 65 7b 65 72 72 6f 72 7d 20 69 73 @var{source},.an.@code{error}.is
9ae80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 6e 2e 0a 0a 20 20 5b ....................thrown.....[
9aea0 61 31 20 61 32 20 61 33 20 40 64 6f 74 73 7b 7d 20 26 72 65 73 74 20 72 65 73 74 5d 20 2d 20 61 a1.a2.a3.@dots{}.&rest.rest].-.a
9aec0 73 20 61 62 6f 76 65 2c 20 62 75 74 20 62 69 6e 64 20 74 68 65 20 72 65 73 74 20 6f 66 0a 20 20 s.above,.but.bind.the.rest.of...
9aee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 ............................the.
9af00 73 65 71 75 65 6e 63 65 20 74 6f 20 40 76 61 72 7b 72 65 73 74 7d 2e 20 20 54 68 69 73 20 69 73 sequence.to.@var{rest}...This.is
9af20 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 63 ...............................c
9af40 6f 6e 63 65 70 74 75 61 6c 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 69 6d 70 72 6f 70 65 72 onceptually.the.same.as.improper
9af60 20 6c 69 73 74 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 .list...........................
9af80 20 20 20 20 6d 61 74 63 68 69 6e 67 20 28 61 31 20 61 32 20 40 64 6f 74 73 7b 7d 20 61 4e 20 2e ....matching.(a1.a2.@dots{}.aN..
9afa0 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 20 28 26 70 .rest)..Key/value.stores:....(&p
9afc0 6c 69 73 74 20 6b 65 79 30 20 61 30 20 40 64 6f 74 73 7b 7d 20 6b 65 79 4e 20 61 4e 29 20 2d 20 list.key0.a0.@dots{}.keyN.aN).-.
9afe0 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
9b000 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 ................................
9b020 20 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 20 70 6c 69 73 74 20 74 6f 20 61 4b 2e 20 20 49 66 20 ..@var{source}.plist.to.aK...If.
9b040 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.............................
9b060 20 20 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 .....value.is.not.found,.aK.is.n
9b080 69 6c 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 il..............................
9b0a0 20 20 20 20 20 55 73 65 73 20 40 63 6f 64 65 7b 70 6c 69 73 74 2d 67 65 74 7d 20 74 6f 20 66 65 .....Uses.@code{plist-get}.to.fe
9b0c0 74 63 68 20 76 61 6c 75 65 73 2e 0a 0a 20 20 28 26 61 6c 69 73 74 20 6b 65 79 30 20 61 30 20 40 tch.values.....(&alist.key0.a0.@
9b0e0 64 6f 74 73 7b 7d 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 dots{}.keyN.aN).-.bind.value.map
9b100 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ped.by.keyK.in.the..............
9b120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 40 76 61 72 7b 73 6f 75 72 63 65 7d ....................@var{source}
9b140 20 61 6c 69 73 74 20 74 6f 20 61 4b 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 .alist.to.aK...If.the...........
9b160 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 6c 75 65 20 69 73 20 .......................value.is.
9b180 6e 6f 74 20 66 6f 75 6e 64 2c 20 61 4b 20 69 73 20 6e 69 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 not.found,.aK.is.nil............
9b1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 73 65 73 20 40 63 6f 64 .......................Uses.@cod
9b1c0 65 7b 61 73 73 6f 63 7d 20 74 6f 20 66 65 74 63 68 20 76 61 6c 75 65 73 2e 0a 0a 20 20 28 26 68 e{assoc}.to.fetch.values.....(&h
9b1e0 61 73 68 20 6b 65 79 30 20 61 30 20 40 64 6f 74 73 7b 7d 20 6b 65 79 4e 20 61 4e 29 20 2d 20 62 ash.key0.a0.@dots{}.keyN.aN).-.b
9b200 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 0a ind.value.mapped.by.keyK.in.the.
9b220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
9b240 40 76 61 72 7b 73 6f 75 72 63 65 7d 20 68 61 73 68 20 74 61 62 6c 65 20 74 6f 20 61 4b 2e 20 20 @var{source}.hash.table.to.aK...
9b260 49 66 20 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 If.the..........................
9b280 20 20 20 20 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 .......value.is.not.found,.aK.is
9b2a0 20 6e 69 6c 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 .nil............................
9b2c0 20 20 20 20 20 20 55 73 65 73 20 40 63 6f 64 65 7b 67 65 74 68 61 73 68 7d 20 74 6f 20 66 65 74 ......Uses.@code{gethash}.to.fet
9b2e0 63 68 20 76 61 6c 75 65 73 2e 0a 0a 46 75 72 74 68 65 72 2c 20 73 70 65 63 69 61 6c 20 6b 65 79 ch.values...Further,.special.key
9b300 77 6f 72 64 20 26 6b 65 79 73 20 73 75 70 70 6f 72 74 73 20 22 69 6e 6c 69 6e 65 22 20 6d 61 74 word.&keys.supports."inline".mat
9b320 63 68 69 6e 67 20 6f 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 ching.of.plist-like.key-value.pa
9b340 69 72 73 2c 20 73 69 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 irs,.similarly.to.&keys.keyword.
9b360 6f 66 0a 40 63 6f 64 65 7b 63 6c 2d 64 65 66 75 6e 7d 2e 0a 0a 20 20 28 61 31 20 61 32 20 40 64 of.@code{cl-defun}.....(a1.a2.@d
9b380 6f 74 73 7b 7d 20 61 4e 20 26 6b 65 79 73 20 6b 65 79 31 20 62 31 20 40 64 6f 74 73 7b 7d 20 6b ots{}.aN.&keys.key1.b1.@dots{}.k
9b3a0 65 79 4e 20 62 4b 29 0a 0a 54 68 69 73 20 62 69 6e 64 73 20 40 76 61 72 7b 6e 7d 20 76 61 6c 75 eyN.bK)..This.binds.@var{n}.valu
9b3c0 65 73 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 74 6f 20 61 31 20 40 64 6f 74 73 7b 7d 20 61 es.from.the.list.to.a1.@dots{}.a
9b3e0 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 61 20 N,.then.interprets.the.cdr.as.a.
9b400 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 61 62 plist.(see.key/value.matching.ab
9b420 6f 76 65 29 2e 0a 0a 40 76 61 72 7b 61 7d 20 73 68 6f 72 74 68 61 6e 64 20 6e 6f 74 61 74 69 6f ove)...@var{a}.shorthand.notatio
9b440 6e 20 66 6f 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 n.for.kv-destructuring.exists.wh
9b460 69 63 68 20 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 ich.allows.the.patterns.be.optio
9b480 6e 61 6c 6c 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 nally.left.out.and.derived.from.
9b4a0 74 68 65 20 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 the.key.name.in.the.following.fa
9b4c0 73 68 69 6f 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 shion:..-.a.key.:foo.is.converte
9b4e0 64 20 69 6e 74 6f 20 40 63 6f 64 65 7b 66 6f 6f 7d 20 70 61 74 74 65 72 6e 2c 0a 2d 20 61 20 6b d.into.@code{foo}.pattern,.-.a.k
9b500 65 79 20 27 62 61 72 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 40 63 6f 64 65 7b ey.'bar.is.converted.into.@code{
9b520 62 61 72 7d 20 70 61 74 74 65 72 6e 2c 0a 2d 20 61 20 6b 65 79 20 22 62 61 7a 22 20 69 73 20 63 bar}.pattern,.-.a.key."baz".is.c
9b540 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 40 63 6f 64 65 7b 62 61 7a 7d 20 70 61 74 74 65 72 6e onverted.into.@code{baz}.pattern
9b560 2e 0a 0a 54 68 61 74 20 69 73 2c 20 74 68 65 20 65 6e 74 69 72 65 20 76 61 6c 75 65 20 75 6e 64 ...That.is,.the.entire.value.und
9b580 65 72 20 74 68 65 20 6b 65 79 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 64 65 72 69 76 er.the.key.is.bound.to.the.deriv
9b5a0 65 64 0a 76 61 72 69 61 62 6c 65 20 77 69 74 68 6f 75 74 20 61 6e 79 20 66 75 72 74 68 65 72 20 ed.variable.without.any.further.
9b5c0 64 65 73 74 72 75 63 74 75 72 69 6e 67 2e 0a 0a 54 68 69 73 20 69 73 20 70 6f 73 73 69 62 6c 65 destructuring...This.is.possible
9b5e0 20 6f 6e 6c 79 20 77 68 65 6e 20 74 68 65 20 66 6f 72 6d 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 .only.when.the.form.following.th
9b600 65 20 6b 65 79 20 69 73 20 6e 6f 74 20 61 0a 76 61 6c 69 64 20 70 61 74 74 65 72 6e 20 28 69 2e e.key.is.not.a.valid.pattern.(i.
9b620 65 2e 20 6e 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 e..not.a.symbol,.a.cons.cell.or.
9b640 61 20 76 65 63 74 6f 72 29 2e 0a 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 6d 61 74 63 68 69 6e a.vector)..Otherwise.the.matchin
9b660 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 20 g.proceeds.as.usual.and.in.case.
9b680 6f 66 20 61 6e 0a 69 6e 76 61 6c 69 64 20 73 70 65 63 20 66 61 69 6c 73 20 77 69 74 68 20 61 6e of.an.invalid.spec.fails.with.an
9b6a0 20 65 72 72 6f 72 2e 0a 0a 54 68 75 73 20 74 68 65 20 70 61 74 74 65 72 6e 73 20 61 72 65 20 6e .error...Thus.the.patterns.are.n
9b6c0 6f 72 6d 61 6c 69 7a 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 20 20 20 3b 3b 20 64 65 72 ormalized.as.follows:.....;;.der
9b6e0 69 76 65 20 61 6c 6c 20 74 68 65 20 6d 69 73 73 69 6e 67 20 70 61 74 74 65 72 6e 73 0a 20 20 20 ive.all.the.missing.patterns....
9b700 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 27 62 61 72 20 22 62 61 7a 22 29 20 3d 3e 20 28 26 70 6c (&plist.:foo.'bar."baz").=>.(&pl
9b720 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 27 62 61 72 20 62 61 72 20 22 62 61 7a 22 20 62 61 7a 29 ist.:foo.foo.'bar.bar."baz".baz)
9b740 0a 0a 20 20 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 .....;;.we.can.specify.some.but.
9b760 6e 6f 74 20 6f 74 68 65 72 73 0a 20 20 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 27 62 61 72 20 not.others....(&plist.:foo.'bar.
9b780 65 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 explicit-bar).=>.(&plist.:foo.fo
9b7a0 6f 20 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 74 68 o.'bar.explicit-bar).....;;.noth
9b7c0 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 78 0a ing.happens,.we.store.:foo.in.x.
9b7e0 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 3a 66 ...(&plist.:foo.x).=>.(&plist.:f
9b800 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 77 65 oo.x).....;;.nothing.happens,.we
9b820 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 3a 66 .match.recursively....(&plist.:f
9b840 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 20 62 oo.(a.b.c)).=>.(&plist.:foo.(a.b
9b860 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 75 73 .c))..You.can.name.the.source.us
9b880 69 6e 67 20 74 68 65 20 73 79 6e 74 61 78 20 40 76 61 72 7b 73 79 6d 62 6f 6c 7d 20 26 61 73 20 ing.the.syntax.@var{symbol}.&as.
9b8a0 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 2e 0a 54 68 69 73 20 73 79 6e 74 61 78 20 77 6f 72 6b 73 @var{pattern}..This.syntax.works
9b8c0 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 72 29 .with.lists.(proper.or.improper)
9b8e0 2c 20 76 65 63 74 6f 72 73 20 61 6e 64 0a 61 6c 6c 20 74 79 70 65 73 20 6f 66 20 6d 61 70 73 2e ,.vectors.and.all.types.of.maps.
9b900 0a 0a 20 20 28 6c 69 73 74 20 26 61 73 20 61 20 62 20 63 29 20 28 6c 69 73 74 20 31 20 32 20 33 ....(list.&as.a.b.c).(list.1.2.3
9b920 29 0a 0a 62 69 6e 64 73 20 40 76 61 72 7b 61 7d 20 74 6f 20 31 2c 20 40 76 61 72 7b 62 7d 20 74 )..binds.@var{a}.to.1,.@var{b}.t
9b940 6f 20 32 2c 20 40 76 61 72 7b 63 7d 20 74 6f 20 33 20 61 6e 64 20 40 76 61 72 7b 6c 69 73 74 7d o.2,.@var{c}.to.3.and.@var{list}
9b960 20 74 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 .to.(1.2.3)...Similarly:....(bou
9b980 6e 64 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 nds.&as.beg...end).(cons.1.2)..b
9b9a0 69 6e 64 73 20 40 76 61 72 7b 62 65 67 7d 20 74 6f 20 31 2c 20 40 76 61 72 7b 65 6e 64 7d 20 74 inds.@var{beg}.to.1,.@var{end}.t
9b9c0 6f 20 32 20 61 6e 64 20 40 76 61 72 7b 62 6f 75 6e 64 73 7d 20 74 6f 20 28 31 20 2e 20 32 29 2e o.2.and.@var{bounds}.to.(1...2).
9b9e0 0a 0a 20 20 28 69 74 65 6d 73 20 26 61 73 20 66 69 72 73 74 20 2e 20 72 65 73 74 29 20 28 6c 69 ....(items.&as.first...rest).(li
9ba00 73 74 20 31 20 32 20 33 29 0a 0a 62 69 6e 64 73 20 40 76 61 72 7b 66 69 72 73 74 7d 20 74 6f 20 st.1.2.3)..binds.@var{first}.to.
9ba20 31 2c 20 40 76 61 72 7b 72 65 73 74 7d 20 74 6f 20 28 32 20 33 29 20 61 6e 64 20 40 76 61 72 7b 1,.@var{rest}.to.(2.3).and.@var{
9ba40 69 74 65 6d 73 7d 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 items}.to.(1.2.3)....[vect.&as._
9ba60 20 62 20 63 5d 20 5b 31 20 32 20 33 5d 0a 0a 62 69 6e 64 73 20 40 76 61 72 7b 62 7d 20 74 6f 20 .b.c].[1.2.3]..binds.@var{b}.to.
9ba80 32 2c 20 40 76 61 72 7b 63 7d 20 74 6f 20 33 20 61 6e 64 20 40 76 61 72 7b 76 65 63 74 7d 20 74 2,.@var{c}.to.3.and.@var{vect}.t
9baa0 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 20 75 o.[1.2.3].(_.avoids.binding.as.u
9bac0 73 75 61 6c 29 2e 0a 0a 20 20 28 70 6c 69 73 74 20 26 61 73 20 26 70 6c 69 73 74 20 3a 62 20 62 sual).....(plist.&as.&plist.:b.b
9bae0 29 20 28 6c 69 73 74 20 3a 61 20 31 20 3a 62 20 32 20 3a 63 20 33 29 0a 0a 62 69 6e 64 73 20 40 ).(list.:a.1.:b.2.:c.3)..binds.@
9bb00 76 61 72 7b 62 7d 20 74 6f 20 32 20 61 6e 64 20 40 76 61 72 7b 70 6c 69 73 74 7d 20 74 6f 20 28 var{b}.to.2.and.@var{plist}.to.(
9bb20 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 69 73 :a.1.:b.2.:c.3)...Same.for.&alis
9bb40 74 20 61 6e 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 t.and.&hash...This.is.especially
9bb60 20 75 73 65 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 .useful.when.we.want.to.capture.
9bb80 74 68 65 20 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 the.result.of.a.computation.and.
9bba0 64 65 73 74 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 destructure.at.the.same.time...C
9bbc0 6f 6e 73 69 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 onsider.the.form.(function-retur
9bbe0 6e 69 6e 67 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 ning-complex-structure).returnin
9bc00 67 20 61 20 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 g.a.list.of.two.vectors.with.two
9bc20 20 69 74 65 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 .items.each...We.want.to.capture
9bc40 20 74 68 69 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 .this.entire.result.and.pass.it.
9bc60 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
9bc80 68 65 20 73 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 he.same.time.we.want.to.get.the.
9bca0 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 72 2e 20 20 57 second.item.from.each.vector...W
9bcc0 65 20 63 61 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 e.can.achieve.it.with.pattern...
9bce0 20 28 72 65 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 .(result.&as.[_.a].[_.b]).(funct
9bd00 69 6f 6e 2d 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 ion-returning-complex-structure)
9bd20 0a 0a 4e 6f 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 ..Note:.Clojure.programmers.may.
9bd40 6b 6e 6f 77 20 74 68 69 73 20 66 65 61 74 75 72 65 20 61 73 20 74 68 65 20 22 3a 61 73 0a 62 69 know.this.feature.as.the.":as.bi
9bd60 6e 64 69 6e 67 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 nding"...The.difference.is.that.
9bd80 77 65 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 we.put.the.&as.at.the.front.beca
9bda0 75 73 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 use.we.need.to.support.improper.
9bdc0 6c 69 73 74 20 62 69 6e 64 69 6e 67 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 list.binding...@example.@group.(
9bde0 2d 6c 65 74 20 28 28 5b 61 20 28 62 20 63 29 20 64 5d 20 5b 31 20 28 32 20 33 29 20 34 5d 29 29 -let.(([a.(b.c).d].[1.(2.3).4]))
9be00 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 .(list.a.b.c.d)).....@result{}.(
9be20 31 20 32 20 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6c 65 74 1.2.3.4).@end.group.@group.(-let
9be40 20 5b 28 61 20 62 20 63 20 2e 20 64 29 20 28 6c 69 73 74 20 31 20 32 20 33 20 34 20 35 20 36 29 .[(a.b.c...d).(list.1.2.3.4.5.6)
9be60 5d 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 ].(list.a.b.c.d)).....@result{}.
9be80 28 31 20 32 20 33 20 28 34 20 35 20 36 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 (1.2.3.(4.5.6)).@end.group.@grou
9bea0 70 0a 28 2d 6c 65 74 20 5b 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f 20 3a 62 61 72 20 62 p.(-let.[(&plist.:foo.foo.:bar.b
9bec0 61 72 29 20 28 6c 69 73 74 20 3a 62 61 7a 20 33 20 3a 66 6f 6f 20 31 20 3a 71 75 78 20 34 20 3a ar).(list.:baz.3.:foo.1.:qux.4.:
9bee0 62 61 72 20 32 29 5d 20 28 6c 69 73 74 20 66 6f 6f 20 62 61 72 29 29 0a 20 20 20 20 40 72 65 73 bar.2)].(list.foo.bar)).....@res
9bf00 75 6c 74 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d ult{}.(1.2).@end.group.@end.exam
9bf20 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6c 65 74 2a 7d 0a ple.@end.defmac..@anchor{-let*}.
9bf40 40 64 65 66 6d 61 63 20 2d 6c 65 74 2a 20 28 76 61 72 6c 69 73 74 20 26 72 65 73 74 20 62 6f 64 @defmac.-let*.(varlist.&rest.bod
9bf60 79 29 0a 42 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 40 y).Bind.variables.according.to.@
9bf80 76 61 72 7b 76 61 72 6c 69 73 74 7d 20 74 68 65 6e 20 65 76 61 6c 20 40 76 61 72 7b 62 6f 64 79 var{varlist}.then.eval.@var{body
9bfa0 7d 2e 0a 0a 40 76 61 72 7b 76 61 72 6c 69 73 74 7d 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c }...@var{varlist}.is.a.list.of.l
9bfc0 69 73 74 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 20 ists.of.the.form.(@var{pattern}.
9bfe0 40 76 61 72 7b 73 6f 75 72 63 65 7d 29 2e 20 20 45 61 63 68 0a 40 76 61 72 7b 70 61 74 74 65 72 @var{source})...Each.@var{patter
9c000 6e 7d 20 69 73 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 74 68 65 20 40 76 61 72 7b 73 n}.is.matched.against.the.@var{s
9c020 6f 75 72 63 65 7d 20 73 74 72 75 63 74 75 72 61 6c 6c 79 2e 20 20 40 76 61 72 7b 73 6f 75 72 63 ource}.structurally...@var{sourc
9c040 65 7d 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 e}.is.only.evaluated.once.for.ea
9c060 63 68 20 40 76 61 72 7b 70 61 74 74 65 72 6e 7d 2e 0a 0a 45 61 63 68 20 40 76 61 72 7b 73 6f 75 ch.@var{pattern}...Each.@var{sou
9c080 72 63 65 7d 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 rce}.can.refer.to.the.symbols.al
9c0a0 72 65 61 64 79 20 62 6f 75 6e 64 20 62 79 20 74 68 69 73 0a 40 76 61 72 7b 76 61 72 6c 69 73 74 ready.bound.by.this.@var{varlist
9c0c0 7d 2e 20 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 }...This.is.useful.if.you.want.t
9c0e0 6f 20 64 65 73 74 72 75 63 74 75 72 65 20 40 76 61 72 7b 73 6f 75 72 63 65 7d 0a 72 65 63 75 72 o.destructure.@var{source}.recur
9c100 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 61 6d 65 20 74 68 65 sively.but.also.want.to.name.the
9c120 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 0a 0a 53 65 65 20 40 .intermediate.structures...See.@
9c140 63 6f 64 65 7b 2d 6c 65 74 7d 20 28 40 70 78 72 65 66 7b 2d 6c 65 74 7d 29 20 66 6f 72 20 74 68 code{-let}.(@pxref{-let}).for.th
9c160 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.
9c180 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 6c 65 74 2a 20 28 28 28 61 20 2e 20 ..@example.@group.(-let*.(((a...
9c1a0 62 29 20 28 63 6f 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 b).(cons.1.2)).((c...d).(cons.3.
9c1c0 34 29 29 29 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 4))).(list.a.b.c.d)).....@result
9c1e0 7b 7d 20 28 31 20 32 20 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 {}.(1.2.3.4).@end.group.@group.(
9c200 2d 6c 65 74 2a 20 28 28 28 61 20 2e 20 62 29 20 28 63 6f 6e 73 20 31 20 28 63 6f 6e 73 20 32 20 -let*.(((a...b).(cons.1.(cons.2.
9c220 33 29 29 29 20 28 28 63 20 2e 20 64 29 20 62 29 29 20 28 6c 69 73 74 20 61 20 62 20 63 20 64 29 3))).((c...d).b)).(list.a.b.c.d)
9c240 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 28 32 20 2e 20 33 29 20 32 20 33 29 0a ).....@result{}.(1.(2...3).2.3).
9c260 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6c 65 74 2a 20 28 28 28 26 61 6c 69 @end.group.@group.(-let*.(((&ali
9c280 73 74 20 22 66 6f 6f 22 20 66 6f 6f 20 22 62 61 72 22 20 62 61 72 29 20 28 6c 69 73 74 20 28 63 st."foo".foo."bar".bar).(list.(c
9c2a0 6f 6e 73 20 22 66 6f 6f 22 20 31 29 20 28 63 6f 6e 73 20 22 62 61 72 22 20 28 6c 69 73 74 20 27 ons."foo".1).(cons."bar".(list.'
9c2c0 61 20 27 62 20 27 63 29 29 29 29 20 28 28 61 20 62 20 63 29 20 62 61 72 29 29 20 28 6c 69 73 74 a.'b.'c)))).((a.b.c).bar)).(list
9c2e0 20 66 6f 6f 20 61 20 62 20 63 20 62 61 72 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 .foo.a.b.c.bar)).....@result{}.(
9c300 31 20 61 20 62 20 63 20 28 61 20 62 20 63 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 1.a.b.c.(a.b.c)).@end.group.@end
9c320 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6c .example.@end.defmac..@anchor{-l
9c340 61 6d 62 64 61 7d 0a 40 64 65 66 6d 61 63 20 2d 6c 61 6d 62 64 61 20 28 6d 61 74 63 68 2d 66 6f ambda}.@defmac.-lambda.(match-fo
9c360 72 6d 20 26 72 65 73 74 20 62 6f 64 79 29 0a 52 65 74 75 72 6e 20 61 20 6c 61 6d 62 64 61 20 77 rm.&rest.body).Return.a.lambda.w
9c380 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 74 20 61 73 20 40 hich.destructures.its.input.as.@
9c3a0 76 61 72 7b 6d 61 74 63 68 2d 66 6f 72 6d 7d 20 61 6e 64 20 65 78 65 63 75 74 65 73 20 40 76 61 var{match-form}.and.executes.@va
9c3c0 72 7b 62 6f 64 79 7d 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 r{body}...Note.that.you.have.to.
9c3e0 65 6e 63 6c 6f 73 65 20 74 68 65 20 40 76 61 72 7b 6d 61 74 63 68 2d 66 6f 72 6d 7d 20 69 6e 20 enclose.the.@var{match-form}.in.
9c400 61 20 70 61 69 72 20 6f 66 20 70 61 72 65 6e 73 2c 0a 73 75 63 68 20 74 68 61 74 3a 0a 0a 20 20 a.pair.of.parens,.such.that:....
9c420 28 2d 6c 61 6d 62 64 61 20 28 78 29 20 62 6f 64 79 29 0a 20 20 28 2d 6c 61 6d 62 64 61 20 28 78 (-lambda.(x).body)...(-lambda.(x
9c440 20 79 20 40 64 6f 74 73 7b 7d 29 20 62 6f 64 79 29 0a 0a 68 61 73 20 74 68 65 20 75 73 75 61 6c .y.@dots{}).body)..has.the.usual
9c460 20 73 65 6d 61 6e 74 69 63 73 20 6f 66 20 40 63 6f 64 65 7b 6c 61 6d 62 64 61 7d 2e 20 20 46 75 .semantics.of.@code{lambda}...Fu
9c480 72 74 68 65 72 6d 6f 72 65 2c 20 74 68 65 73 65 20 67 65 74 0a 74 72 61 6e 73 6c 61 74 65 64 20 rthermore,.these.get.translated.
9c4a0 69 6e 74 6f 20 6e 6f 72 6d 61 6c 20 40 63 6f 64 65 7b 6c 61 6d 62 64 61 7d 2c 20 73 6f 20 74 68 into.normal.@code{lambda},.so.th
9c4c0 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 6c 74 79 2e 0a 0a ere.is.no.performance.penalty...
9c4e0 53 65 65 20 40 63 6f 64 65 7b 2d 6c 65 74 7d 20 28 40 70 78 72 65 66 7b 2d 6c 65 74 7d 29 20 66 See.@code{-let}.(@pxref{-let}).f
9c500 6f 72 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 64 65 73 74 72 75 63 74 or.a.description.of.the.destruct
9c520 75 72 69 6e 67 20 6d 65 63 68 61 6e 69 73 6d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 uring.mechanism...@example.@grou
9c540 70 0a 28 2d 6d 61 70 20 28 2d 6c 61 6d 62 64 61 20 28 28 78 20 79 29 29 20 28 2b 20 78 20 79 29 p.(-map.(-lambda.((x.y)).(+.x.y)
9c560 29 20 27 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 29 0a 20 20 20 20 40 72 65 73 ).'((1.2).(3.4).(5.6))).....@res
9c580 75 6c 74 7b 7d 20 28 33 20 37 20 31 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 ult{}.(3.7.11).@end.group.@group
9c5a0 0a 28 2d 6d 61 70 20 28 2d 6c 61 6d 62 64 61 20 28 5b 78 20 79 5d 29 20 28 2b 20 78 20 79 29 29 .(-map.(-lambda.([x.y]).(+.x.y))
9c5c0 20 27 28 5b 31 20 32 5d 20 5b 33 20 34 5d 20 5b 35 20 36 5d 29 29 0a 20 20 20 20 40 72 65 73 75 .'([1.2].[3.4].[5.6])).....@resu
9c5e0 6c 74 7b 7d 20 28 33 20 37 20 31 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a lt{}.(3.7.11).@end.group.@group.
9c600 28 66 75 6e 63 61 6c 6c 20 28 2d 6c 61 6d 62 64 61 20 28 28 5f 20 2e 20 61 29 20 28 5f 20 2e 20 (funcall.(-lambda.((_...a).(_...
9c620 62 29 29 20 28 2d 63 6f 6e 63 61 74 20 61 20 62 29 29 20 27 28 31 20 32 20 33 29 20 27 28 34 20 b)).(-concat.a.b)).'(1.2.3).'(4.
9c640 35 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 33 20 35 20 36 29 0a 40 65 5.6)).....@result{}.(2.3.5.6).@e
9c660 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 nd.group.@end.example.@end.defma
9c680 63 0a 0a 40 61 6e 63 68 6f 72 7b 2d 73 65 74 71 7d 0a 40 64 65 66 6d 61 63 20 2d 73 65 74 71 20 c..@anchor{-setq}.@defmac.-setq.
9c6a0 28 5b 6d 61 74 63 68 2d 66 6f 72 6d 20 76 61 6c 5d 20 2e 2e 2e 29 0a 42 69 6e 64 20 65 61 63 68 ([match-form.val]....).Bind.each
9c6c0 20 40 76 61 72 7b 6d 61 74 63 68 2d 66 6f 72 6d 7d 20 74 6f 20 74 68 65 20 76 61 6c 75 65 20 6f .@var{match-form}.to.the.value.o
9c6e0 66 20 69 74 73 20 40 76 61 72 7b 76 61 6c 7d 2e 0a 0a 40 76 61 72 7b 6d 61 74 63 68 2d 66 6f 72 f.its.@var{val}...@var{match-for
9c700 6d 7d 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 m}.destructuring.is.done.accordi
9c720 6e 67 20 74 6f 20 74 68 65 20 72 75 6c 65 73 20 6f 66 20 40 63 6f 64 65 7b 2d 6c 65 74 7d 20 28 ng.to.the.rules.of.@code{-let}.(
9c740 40 70 78 72 65 66 7b 2d 6c 65 74 7d 29 2e 0a 0a 54 68 69 73 20 6d 61 63 72 6f 20 61 6c 6c 6f 77 @pxref{-let})...This.macro.allow
9c760 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
9c780 20 62 79 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 0a 74 68 65 20 76 61 6c 75 65 2c 20 73 6f 20 .by.destructuring.the.value,.so.
9c7a0 66 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 28 2d 73 65 74 71 20 28 61 20 62 29 20 78 0a 20 for.example:....(-setq.(a.b).x..
9c7c0 20 20 20 20 20 20 20 20 28 26 70 6c 69 73 74 20 3a 63 20 63 29 20 70 6c 69 73 74 29 0a 0a 65 78 ........(&plist.:c.c).plist)..ex
9c7e0 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 65 20 66 6f pands.roughly.speaking.to.the.fo
9c800 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 0a 0a 20 20 28 73 65 74 71 20 61 20 28 63 61 72 20 78 29 0a llowing.code....(setq.a.(car.x).
9c820 20 20 20 20 20 20 20 20 62 20 28 63 61 64 72 20 78 29 0a 20 20 20 20 20 20 20 20 63 20 28 70 6c ........b.(cadr.x).........c.(pl
9c840 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 3a 63 29 29 0a 0a 43 61 72 65 20 69 73 20 74 61 6b 65 ist-get.plist.:c))..Care.is.take
9c860 6e 20 74 6f 20 6f 6e 6c 79 20 65 76 61 6c 75 61 74 65 20 65 61 63 68 20 40 76 61 72 7b 76 61 6c n.to.only.evaluate.each.@var{val
9c880 7d 20 6f 6e 63 65 20 73 6f 20 74 68 61 74 20 69 6e 20 63 61 73 65 20 6f 66 0a 6d 75 6c 74 69 70 }.once.so.that.in.case.of.multip
9c8a0 6c 65 20 61 73 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 le.assignments.it.does.not.cause
9c8c0 20 75 6e 65 78 70 65 63 74 65 64 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 40 65 78 61 6d .unexpected.side.effects...@exam
9c8e0 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 61 29 20 28 2d 73 65 74 71 20 61 20 31 29 20 ple.@group.(let.(a).(-setq.a.1).
9c900 61 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 a).....@result{}.1.@end.group.@g
9c920 72 6f 75 70 0a 28 6c 65 74 20 28 61 20 62 29 20 28 2d 73 65 74 71 20 28 61 20 62 29 20 28 6c 69 roup.(let.(a.b).(-setq.(a.b).(li
9c940 73 74 20 31 20 32 29 29 20 28 6c 69 73 74 20 61 20 62 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 st.1.2)).(list.a.b)).....@result
9c960 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 {}.(1.2).@end.group.@group.(let.
9c980 28 63 29 20 28 2d 73 65 74 71 20 28 26 70 6c 69 73 74 20 3a 63 20 63 29 20 28 6c 69 73 74 20 3a (c).(-setq.(&plist.:c.c).(list.:
9c9a0 63 20 22 63 22 29 29 20 63 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 22 63 22 0a 40 65 6e c."c")).c).....@result{}."c".@en
9c9c0 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 d.group.@end.example.@end.defmac
9c9e0 0a 0a 40 6e 6f 64 65 20 53 69 64 65 20 65 66 66 65 63 74 73 0a 40 73 65 63 74 69 6f 6e 20 53 69 ..@node.Side.effects.@section.Si
9ca00 64 65 20 65 66 66 65 63 74 73 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 69 74 65 72 61 74 69 6e 67 20 de.effects..Functions.iterating.
9ca20 6f 76 65 72 20 6c 69 73 74 73 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 20 6f 6e 6c 79 2e over.lists.for.side.effect.only.
9ca40 0a 0a 40 61 6e 63 68 6f 72 7b 2d 65 61 63 68 7d 0a 40 64 65 66 75 6e 20 2d 65 61 63 68 20 28 6c ..@anchor{-each}.@defun.-each.(l
9ca60 69 73 74 20 66 6e 29 0a 43 61 6c 6c 20 40 76 61 72 7b 66 6e 7d 20 6f 6e 20 65 61 63 68 20 65 6c ist.fn).Call.@var{fn}.on.each.el
9ca80 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 3b ement.of.@var{list}..Return.nil;
9caa0 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 20 73 .this.function.is.intended.for.s
9cac0 69 64 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 ide.effects...Its.anaphoric.coun
9cae0 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 65 61 63 68 7d 2e 0a 0a 46 6f 72 20 61 terpart.is.@code{--each}...For.a
9cb00 63 63 65 73 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 27 73 20 69 ccess.to.the.current.element's.i
9cb20 6e 64 65 78 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 73 65 65 0a 40 63 6f 64 65 7b 2d 65 ndex.in.@var{list},.see.@code{-e
9cb40 61 63 68 2d 69 6e 64 65 78 65 64 7d 20 28 40 70 78 72 65 66 7b 2d 65 61 63 68 2d 69 6e 64 65 78 ach-indexed}.(@pxref{-each-index
9cb60 65 64 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 ed})...@example.@group.(let.(l).
9cb80 28 2d 65 61 63 68 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 73 (-each.'(1.2.3).(lambda.(x).(pus
9cba0 68 20 78 20 6c 29 29 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 32 20 31 h.x.l))).l).....@result{}.(3.2.1
9cbc0 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d ).@end.group.@group.(let.(l).(--
9cbe0 65 61 63 68 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 each.'(1.2.3).(push.it.l)).l)...
9cc00 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 33 20 32 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ..@result{}.(3.2.1).@end.group.@
9cc20 67 72 6f 75 70 0a 28 2d 65 61 63 68 20 27 28 31 20 32 20 33 29 20 23 27 69 64 65 6e 74 69 74 79 group.(-each.'(1.2.3).#'identity
9cc40 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 ).....@result{}.nil.@end.group.@
9cc60 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
9cc80 2d 65 61 63 68 2d 77 68 69 6c 65 7d 0a 40 64 65 66 75 6e 20 2d 65 61 63 68 2d 77 68 69 6c 65 20 -each-while}.@defun.-each-while.
9cca0 28 6c 69 73 74 20 70 72 65 64 20 66 6e 29 0a 43 61 6c 6c 20 40 76 61 72 7b 66 6e 7d 20 6f 6e 20 (list.pred.fn).Call.@var{fn}.on.
9ccc0 65 61 63 68 20 40 76 61 72 7b 69 74 65 6d 7d 20 69 6e 20 40 76 61 72 7b 6c 69 73 74 7d 2c 20 77 each.@var{item}.in.@var{list},.w
9cce0 68 69 6c 65 20 28 40 76 61 72 7b 70 72 65 64 7d 20 40 76 61 72 7b 69 74 65 6d 7d 29 20 69 73 20 hile.(@var{pred}.@var{item}).is.
9cd00 6e 6f 6e 2d 6e 69 6c 2e 0a 4f 6e 63 65 20 61 6e 20 40 76 61 72 7b 69 74 65 6d 7d 20 69 73 20 72 non-nil..Once.an.@var{item}.is.r
9cd20 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 65 64 7d 20 72 65 74 75 eached.for.which.@var{pred}.retu
9cd40 72 6e 73 20 6e 69 6c 2c 20 40 76 61 72 7b 66 6e 7d 20 69 73 20 6e 6f 0a 6c 6f 6e 67 65 72 20 63 rns.nil,.@var{fn}.is.no.longer.c
9cd60 61 6c 6c 65 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 alled...Return.nil;.this.functio
9cd80 6e 20 69 73 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 n.is.intended.for.side.effects..
9cda0 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 20 40 63 .Its.anaphoric.counterpart.is.@c
9cdc0 6f 64 65 7b 2d 2d 65 61 63 68 2d 77 68 69 6c 65 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 ode{--each-while}...@example.@gr
9cde0 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 77 68 69 6c 65 20 27 28 32 20 34 20 oup.(let.(l).(-each-while.'(2.4.
9ce00 35 20 36 29 20 23 27 65 76 65 6e 3f 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 70 75 73 68 20 78 5.6).#'even?.(lambda.(x).(push.x
9ce20 20 6c 29 29 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 20 32 29 0a 40 65 6e .l))).l).....@result{}.(4.2).@en
9ce40 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d d.group.@group.(let.(l).(--each-
9ce60 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 28 70 75 73 68 20 while.'(1.2.3.4).(<.it.3).(push.
9ce80 69 74 20 6c 29 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 31 29 0a 40 65 it.l)).l).....@result{}.(2.1).@e
9cea0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 73 20 30 29 29 20 28 2d 2d nd.group.@group.(let.((s.0)).(--
9cec0 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 20 28 each-while.'(1.3.4.5).(<.it.5).(
9cee0 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 40 72 65 73 75 6c 74 setq.s.(+.s.it))).s).....@result
9cf00 7b 7d 20 38 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e {}.8.@end.group.@end.example.@en
9cf20 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 7d 0a d.defun..@anchor{-each-indexed}.
9cf40 40 64 65 66 75 6e 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 28 6c 69 73 74 20 66 6e 29 0a 43 @defun.-each-indexed.(list.fn).C
9cf60 61 6c 6c 20 40 76 61 72 7b 66 6e 7d 20 6f 6e 20 65 61 63 68 20 69 6e 64 65 78 20 61 6e 64 20 65 all.@var{fn}.on.each.index.and.e
9cf80 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 46 6f 72 20 65 61 63 68 20 40 lement.of.@var{list}..For.each.@
9cfa0 76 61 72 7b 69 74 65 6d 7d 20 61 74 20 40 76 61 72 7b 69 6e 64 65 78 7d 20 69 6e 20 40 76 61 72 var{item}.at.@var{index}.in.@var
9cfc0 7b 6c 69 73 74 7d 2c 20 63 61 6c 6c 20 28 66 75 6e 63 61 6c 6c 20 40 76 61 72 7b 66 6e 7d 20 40 {list},.call.(funcall.@var{fn}.@
9cfe0 76 61 72 7b 69 6e 64 65 78 7d 20 40 76 61 72 7b 69 74 65 6d 7d 29 2e 0a 52 65 74 75 72 6e 20 6e var{index}.@var{item})..Return.n
9d000 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 64 20 66 6f il;.this.function.is.intended.fo
9d020 72 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 40 63 6f 64 65 r.side.effects...See.also:.@code
9d040 7b 2d 6d 61 70 2d 69 6e 64 65 78 65 64 7d 20 28 40 70 78 72 65 66 7b 2d 6d 61 70 2d 69 6e 64 65 {-map-indexed}.(@pxref{-map-inde
9d060 78 65 64 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 xed})...@example.@group.(let.(l)
9d080 20 28 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 27 28 61 20 62 20 63 29 20 28 6c 61 6d 62 64 61 .(-each-indexed.'(a.b.c).(lambda
9d0a0 20 28 69 20 78 29 20 28 70 75 73 68 20 28 6c 69 73 74 20 78 20 69 29 20 6c 29 29 29 20 6c 29 0a .(i.x).(push.(list.x.i).l))).l).
9d0c0 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 63 20 32 29 20 28 62 20 31 29 20 28 61 20 30 29 ....@result{}.((c.2).(b.1).(a.0)
9d0e0 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d ).@end.group.@group.(let.(l).(--
9d100 65 61 63 68 2d 69 6e 64 65 78 65 64 20 27 28 61 20 62 20 63 29 20 28 70 75 73 68 20 28 6c 69 73 each-indexed.'(a.b.c).(push.(lis
9d120 74 20 69 74 20 69 74 2d 69 6e 64 65 78 29 20 6c 29 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c t.it.it-index).l)).l).....@resul
9d140 74 7b 7d 20 28 28 63 20 32 29 20 28 62 20 31 29 20 28 61 20 30 29 29 0a 40 65 6e 64 20 67 72 6f t{}.((c.2).(b.1).(a.0)).@end.gro
9d160 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 69 6e 64 65 78 up.@group.(let.(l).(--each-index
9d180 65 64 20 28 29 20 28 70 75 73 68 20 69 74 20 6c 29 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c ed.().(push.it.l)).l).....@resul
9d1a0 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 t{}.().@end.group.@end.example.@
9d1c0 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 65 61 63 68 2d 72 7d 0a 40 64 65 66 end.defun..@anchor{-each-r}.@def
9d1e0 75 6e 20 2d 65 61 63 68 2d 72 20 28 6c 69 73 74 20 66 6e 29 0a 43 61 6c 6c 20 40 76 61 72 7b 66 un.-each-r.(list.fn).Call.@var{f
9d200 6e 7d 20 6f 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d n}.on.each.element.of.@var{list}
9d220 20 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 .in.reversed.order..Return.nil;.
9d240 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
9d260 64 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 de.effects...Its.anaphoric.count
9d280 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 65 61 63 68 2d 72 7d 2e 0a 0a 40 65 78 61 erpart.is.@code{--each-r}...@exa
9d2a0 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 72 20 27 28 mple.@group.(let.(l).(-each-r.'(
9d2c0 31 20 32 20 33 29 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 1.2.3).(lambda.(x).(push.x.l))).
9d2e0 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 l).....@result{}.(1.2.3).@end.gr
9d300 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 72 20 27 28 oup.@group.(let.(l).(--each-r.'(
9d320 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 20 40 72 65 73 75 1.2.3).(push.it.l)).l).....@resu
9d340 6c 74 7b 7d 20 28 31 20 32 20 33 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 lt{}.(1.2.3).@end.group.@group.(
9d360 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 20 20 -each-r.'(1.2.3).#'identity)....
9d380 20 40 72 65 73 75 6c 74 7b 7d 20 6e 69 6c 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 .@result{}.nil.@end.group.@end.e
9d3a0 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 65 61 63 68 xample.@end.defun..@anchor{-each
9d3c0 2d 72 2d 77 68 69 6c 65 7d 0a 40 64 65 66 75 6e 20 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 28 -r-while}.@defun.-each-r-while.(
9d3e0 6c 69 73 74 20 70 72 65 64 20 66 6e 29 0a 43 61 6c 6c 20 40 76 61 72 7b 66 6e 7d 20 6f 6e 20 65 list.pred.fn).Call.@var{fn}.on.e
9d400 61 63 68 20 40 76 61 72 7b 69 74 65 6d 7d 20 69 6e 20 72 65 76 65 72 73 65 64 20 40 76 61 72 7b ach.@var{item}.in.reversed.@var{
9d420 6c 69 73 74 7d 2c 20 77 68 69 6c 65 20 28 40 76 61 72 7b 70 72 65 64 7d 20 40 76 61 72 7b 69 74 list},.while.(@var{pred}.@var{it
9d440 65 6d 7d 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 4f 6e 63 65 20 61 6e 20 40 76 61 72 7b 69 74 em}).is.non-nil..Once.an.@var{it
9d460 65 6d 7d 20 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 40 76 61 72 7b 70 72 em}.is.reached.for.which.@var{pr
9d480 65 64 7d 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 40 76 61 72 7b 66 6e 7d 20 69 73 20 6e 6f 0a ed}.returns.nil,.@var{fn}.is.no.
9d4a0 6c 6f 6e 67 65 72 20 63 61 6c 6c 65 64 2e 20 20 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 longer.called...Return.nil;.this
9d4c0 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 65 0a 65 .function.is.intended.for.side.e
9d4e0 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 72 70 61 ffects...Its.anaphoric.counterpa
9d500 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 7d 2e 0a 0a 40 65 rt.is.@code{--each-r-while}...@e
9d520 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 72 2d xample.@group.(let.(l).(-each-r-
9d540 77 68 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 while.'(2.4.5.6).#'even?.(lambda
9d560 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 40 72 65 73 75 6c 74 .(x).(push.x.l))).l).....@result
9d580 7b 7d 20 28 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c {}.(6).@end.group.@group.(let.(l
9d5a0 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 20 28 3e 3d ).(--each-r-while.'(1.2.3.4).(>=
9d5c0 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 40 72 65 73 75 .it.3).(push.it.l)).l).....@resu
9d5e0 6c 74 7b 7d 20 28 33 20 34 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 lt{}.(3.4).@end.group.@group.(le
9d600 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.
9d620 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)))
9d640 20 73 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 30 0a 40 65 6e 64 20 67 72 6f 75 70 0a .s).....@result{}.10.@end.group.
9d660 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 @end.example.@end.defun..@anchor
9d680 7b 2d 64 6f 74 69 6d 65 73 7d 0a 40 64 65 66 75 6e 20 2d 64 6f 74 69 6d 65 73 20 28 6e 75 6d 20 {-dotimes}.@defun.-dotimes.(num.
9d6a0 66 6e 29 0a 43 61 6c 6c 20 40 76 61 72 7b 66 6e 7d 20 40 76 61 72 7b 6e 75 6d 7d 20 74 69 6d 65 fn).Call.@var{fn}.@var{num}.time
9d6c0 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 66 65 63 74 73 2e 0a s,.presumably.for.side.effects..
9d6e0 40 76 61 72 7b 66 6e 7d 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 @var{fn}.is.called.with.a.single
9d700 20 61 72 67 75 6d 65 6e 74 20 6f 6e 20 73 75 63 63 65 73 73 69 76 65 20 69 6e 74 65 67 65 72 73 .argument.on.successive.integers
9d720 0a 72 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 40 .running.from.0,.inclusive,.to.@
9d740 76 61 72 7b 6e 75 6d 7d 2c 20 65 78 63 6c 75 73 69 76 65 2e 20 20 40 76 61 72 7b 66 6e 7d 20 69 var{num},.exclusive...@var{fn}.i
9d760 73 20 6e 6f 74 20 63 61 6c 6c 65 64 0a 69 66 20 40 76 61 72 7b 6e 75 6d 7d 20 69 73 20 6c 65 73 s.not.called.if.@var{num}.is.les
9d780 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 70 68 s.than.1...This.function's.anaph
9d7a0 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 40 63 6f 64 65 7b 2d 2d 64 6f 74 69 oric.counterpart.is.@code{--doti
9d7c0 6d 65 73 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 73 29 20 mes}...@example.@group.(let.(s).
9d7e0 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 6e 20 (-dotimes.3.(lambda.(n).(push.n.
9d800 73 29 29 29 20 73 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 31 20 30 29 0a 40 65 s))).s).....@result{}.(2.1.0).@e
9d820 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 73 29 20 28 2d 64 6f 74 69 6d nd.group.@group.(let.(s).(-dotim
9d840 65 73 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 es.0.(lambda.(n).(push.n.s))).s)
9d860 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 .....@result{}.().@end.group.@gr
9d880 6f 75 70 0a 28 6c 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 oup.(let.(s).(--dotimes.5.(push.
9d8a0 69 74 20 73 29 29 20 73 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 20 33 20 32 20 31 it.s)).s).....@result{}.(4.3.2.1
9d8c0 20 30 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 .0).@end.group.@end.example.@end
9d8e0 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 .defun..@node.Destructive.operat
9d900 69 6f 6e 73 0a 40 73 65 63 74 69 6f 6e 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 ions.@section.Destructive.operat
9d920 69 6f 6e 73 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 6d 6f 64 69 66 79 20 76 61 72 69 61 62 6c ions..Macros.that.modify.variabl
9d940 65 73 20 68 6f 6c 64 69 6e 67 20 6c 69 73 74 73 2e 0a 0a 40 61 6e 63 68 6f 72 7b 21 63 6f 6e 73 es.holding.lists...@anchor{!cons
9d960 7d 0a 40 64 65 66 6d 61 63 20 21 63 6f 6e 73 20 28 63 61 72 20 63 64 72 29 0a 44 65 73 74 72 75 }.@defmac.!cons.(car.cdr).Destru
9d980 63 74 69 76 65 3a 20 53 65 74 20 40 76 61 72 7b 63 64 72 7d 20 74 6f 20 74 68 65 20 63 6f 6e 73 ctive:.Set.@var{cdr}.to.the.cons
9d9a0 20 6f 66 20 40 76 61 72 7b 63 61 72 7d 20 61 6e 64 20 40 76 61 72 7b 63 64 72 7d 2e 0a 0a 40 65 .of.@var{car}.and.@var{cdr}...@e
9d9c0 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 6c 29 20 28 21 63 6f 6e 73 20 35 20 xample.@group.(let.(l).(!cons.5.
9d9e0 6c 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 35 29 0a 40 65 6e 64 20 67 72 6f l).l).....@result{}.(5).@end.gro
9da00 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 6c 20 27 28 33 29 29 29 20 28 21 63 6f 6e 73 up.@group.(let.((l.'(3))).(!cons
9da20 20 35 20 6c 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 35 20 33 29 0a 40 65 6e .5.l).l).....@result{}.(5.3).@en
9da40 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 d.group.@end.example.@end.defmac
9da60 0a 0a 40 61 6e 63 68 6f 72 7b 21 63 64 72 7d 0a 40 64 65 66 6d 61 63 20 21 63 64 72 20 28 6c 69 ..@anchor{!cdr}.@defmac.!cdr.(li
9da80 73 74 29 0a 44 65 73 74 72 75 63 74 69 76 65 3a 20 53 65 74 20 40 76 61 72 7b 6c 69 73 74 7d 20 st).Destructive:.Set.@var{list}.
9daa0 74 6f 20 74 68 65 20 63 64 72 20 6f 66 20 40 76 61 72 7b 6c 69 73 74 7d 2e 0a 0a 40 65 78 61 6d to.the.cdr.of.@var{list}...@exam
9dac0 70 6c 65 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 6c 20 27 28 33 29 29 29 20 28 21 63 64 72 ple.@group.(let.((l.'(3))).(!cdr
9dae0 20 6c 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f .l).l).....@result{}.().@end.gro
9db00 75 70 0a 40 67 72 6f 75 70 0a 28 6c 65 74 20 28 28 6c 20 27 28 33 20 35 29 29 29 20 28 21 63 64 up.@group.(let.((l.'(3.5))).(!cd
9db20 72 20 6c 29 20 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 35 29 0a 40 65 6e 64 20 67 r.l).l).....@result{}.(5).@end.g
9db40 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 roup.@end.example.@end.defmac..@
9db60 6e 6f 64 65 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 0a 40 73 65 63 74 69 node.Function.combinators.@secti
9db80 6f 6e 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 0a 0a 46 75 6e 63 74 69 6f on.Function.combinators..Functio
9dba0 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 6f 73 65 20 6f ns.that.manipulate.and.compose.o
9dbc0 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 70 61 72 74 69 61 ther.functions...@anchor{-partia
9dbe0 6c 7d 0a 40 64 65 66 75 6e 20 2d 70 61 72 74 69 61 6c 20 28 66 75 6e 20 26 72 65 73 74 20 61 72 l}.@defun.-partial.(fun.&rest.ar
9dc00 67 73 29 0a 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 gs).Return.a.function.that.is.a.
9dc20 70 61 72 74 69 61 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 40 76 61 72 7b 66 75 6e 7d partial.application.of.@var{fun}
9dc40 20 74 6f 20 40 76 61 72 7b 61 72 67 73 7d 2e 0a 40 76 61 72 7b 61 72 67 73 7d 20 69 73 20 61 20 .to.@var{args}..@var{args}.is.a.
9dc60 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 40 76 61 72 7b 6e 7d 20 61 72 67 75 6d 65 list.of.the.first.@var{n}.argume
9dc80 6e 74 73 20 74 6f 20 70 61 73 73 20 74 6f 20 40 76 61 72 7b 66 75 6e 7d 2e 0a 54 68 65 20 72 65 nts.to.pass.to.@var{fun}..The.re
9dca0 73 75 6c 74 20 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 sult.is.a.new.function.which.doe
9dcc0 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 40 76 61 72 7b 66 75 6e 7d 2c 20 65 78 63 65 70 74 20 s.the.same.as.@var{fun},.except.
9dce0 74 68 61 74 0a 74 68 65 20 66 69 72 73 74 20 40 76 61 72 7b 6e 7d 20 61 72 67 75 6d 65 6e 74 73 that.the.first.@var{n}.arguments
9dd00 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 74 68 20 77 68 .are.fixed.at.the.values.with.wh
9dd20 69 63 68 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 77 61 73 20 63 61 6c 6c 65 64 2e 0a 0a 40 ich.this.function.was.called...@
9dd40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 example.@group.(funcall.(-partia
9dd60 6c 20 23 27 2b 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 35 0a 40 65 6e 64 20 67 l.#'+.5)).....@result{}.5.@end.g
9dd80 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 roup.@group.(funcall.(-partial.#
9dda0 27 2d 20 35 29 20 33 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 32 0a 40 65 6e 64 20 67 72 '-.5).3).....@result{}.2.@end.gr
9ddc0 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 27 oup.@group.(funcall.(-partial.#'
9dde0 2b 20 35 20 32 29 20 33 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 30 0a 40 65 6e 64 20 +.5.2).3).....@result{}.10.@end.
9de00 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 group.@end.example.@end.defun..@
9de20 61 6e 63 68 6f 72 7b 2d 72 70 61 72 74 69 61 6c 7d 0a 40 64 65 66 75 6e 20 2d 72 70 61 72 74 69 anchor{-rpartial}.@defun.-rparti
9de40 61 6c 20 28 66 6e 20 26 72 65 73 74 20 61 72 67 73 29 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 al.(fn.&rest.args).Return.a.func
9de60 74 69 6f 6e 20 74 68 61 74 20 69 73 20 61 20 70 61 72 74 69 61 6c 20 61 70 70 6c 69 63 61 74 69 tion.that.is.a.partial.applicati
9de80 6f 6e 20 6f 66 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 40 76 61 72 7b 61 72 67 73 7d 2e 0a 40 76 on.of.@var{fn}.to.@var{args}..@v
9dea0 61 72 7b 61 72 67 73 7d 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6c 61 73 74 20 40 ar{args}.is.a.list.of.the.last.@
9dec0 76 61 72 7b 6e 7d 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 70 61 73 73 20 74 6f 20 40 76 61 72 var{n}.arguments.to.pass.to.@var
9dee0 7b 66 6e 7d 2e 20 20 54 68 65 20 72 65 73 75 6c 74 0a 69 73 20 61 20 6e 65 77 20 66 75 6e 63 74 {fn}...The.result.is.a.new.funct
9df00 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 40 76 61 72 7b ion.which.does.the.same.as.@var{
9df20 66 6e 7d 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 6c 61 73 74 0a 40 76 61 72 7b 6e fn},.except.that.the.last.@var{n
9df40 7d 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 20 76 61 6c }.arguments.are.fixed.at.the.val
9df60 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 20 77 61 73 ues.with.which.this.function.was
9df80 0a 63 61 6c 6c 65 64 2e 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 40 63 6f 64 65 7b 2d 70 61 .called...This.is.like.@code{-pa
9dfa0 72 74 69 61 6c 7d 20 28 40 70 78 72 65 66 7b 2d 70 61 72 74 69 61 6c 7d 29 2c 20 65 78 63 65 70 rtial}.(@pxref{-partial}),.excep
9dfc0 74 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 0a 73 74 61 72 74 69 t.the.arguments.are.fixed.starti
9dfe0 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 6e 20 74 68 ng.from.the.right.rather.than.th
9e000 65 20 6c 65 66 74 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c e.left...@example.@group.(funcal
9e020 6c 20 28 2d 72 70 61 72 74 69 61 6c 20 23 27 2d 20 35 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 l.(-rpartial.#'-.5)).....@result
9e040 7b 7d 20 2d 35 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c {}.-5.@end.group.@group.(funcall
9e060 20 28 2d 72 70 61 72 74 69 61 6c 20 23 27 2d 20 35 29 20 38 29 0a 20 20 20 20 40 72 65 73 75 6c .(-rpartial.#'-.5).8).....@resul
9e080 74 7b 7d 20 33 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c t{}.3.@end.group.@group.(funcall
9e0a0 20 28 2d 72 70 61 72 74 69 61 6c 20 23 27 2d 20 35 20 32 29 20 31 30 29 0a 20 20 20 20 40 72 65 .(-rpartial.#'-.5.2).10).....@re
9e0c0 73 75 6c 74 7b 7d 20 33 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 sult{}.3.@end.group.@end.example
9e0e0 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 6a 75 78 74 7d 0a 40 64 65 66 .@end.defun..@anchor{-juxt}.@def
9e100 75 6e 20 2d 6a 75 78 74 20 28 26 72 65 73 74 20 66 6e 73 29 0a 52 65 74 75 72 6e 20 61 20 66 75 un.-juxt.(&rest.fns).Return.a.fu
9e120 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 73 20 74 68 65 20 6a 75 78 74 61 70 6f 73 69 74 69 6f 6e nction.that.is.the.juxtaposition
9e140 20 6f 66 20 40 76 61 72 7b 66 6e 73 7d 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 .of.@var{fns}..The.returned.func
9e160 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 65 72 20 6f 66 20 tion.takes.a.variable.number.of.
9e180 40 76 61 72 7b 61 72 67 73 7d 2c 20 61 70 70 6c 69 65 73 0a 65 61 63 68 20 6f 66 20 40 76 61 72 @var{args},.applies.each.of.@var
9e1a0 7b 66 6e 73 7d 20 69 6e 20 74 75 72 6e 20 74 6f 20 40 76 61 72 7b 61 72 67 73 7d 2c 20 61 6e 64 {fns}.in.turn.to.@var{args},.and
9e1c0 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 6c 74 73 2e 0a 0a 40 .returns.the.list.of.results...@
9e1e0 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6a 75 78 74 29 20 example.@group.(funcall.(-juxt).
9e200 31 20 32 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 29 0a 40 65 6e 64 20 67 72 6f 75 70 1.2).....@result{}.().@end.group
9e220 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6a 75 78 74 20 23 27 2b 20 23 27 2d 20 .@group.(funcall.(-juxt.#'+.#'-.
9e240 23 27 2a 20 23 27 2f 29 20 37 20 35 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 32 20 #'*.#'/).7.5).....@result{}.(12.
9e260 32 20 33 35 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6d 61 70 63 61 2.35.1).@end.group.@group.(mapca
9e280 72 20 28 2d 6a 75 78 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 r.(-juxt.#'number-to-string.#'1+
9e2a0 29 20 27 28 31 20 32 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 22 31 22 20 32 29 ).'(1.2)).....@result{}.(("1".2)
9e2c0 20 28 22 32 22 20 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c .("2".3)).@end.group.@end.exampl
9e2e0 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6f 6d 70 6f 73 65 7d 0a e.@end.defun..@anchor{-compose}.
9e300 40 64 65 66 75 6e 20 2d 63 6f 6d 70 6f 73 65 20 28 26 72 65 73 74 20 66 6e 73 29 0a 43 6f 6d 70 @defun.-compose.(&rest.fns).Comp
9e320 6f 73 65 20 40 76 61 72 7b 66 6e 73 7d 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 63 6f 6d 70 ose.@var{fns}.into.a.single.comp
9e340 6f 73 69 74 65 20 66 75 6e 63 74 69 6f 6e 2e 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f osite.function..Return.a.functio
9e360 6e 20 74 68 61 74 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 6f n.that.takes.a.variable.number.o
9e380 66 20 40 76 61 72 7b 61 72 67 73 7d 2c 20 61 70 70 6c 69 65 73 0a 74 68 65 20 6c 61 73 74 20 66 f.@var{args},.applies.the.last.f
9e3a0 75 6e 63 74 69 6f 6e 20 69 6e 20 40 76 61 72 7b 66 6e 73 7d 20 74 6f 20 40 76 61 72 7b 61 72 67 unction.in.@var{fns}.to.@var{arg
9e3c0 73 7d 2c 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 s},.and.returns.the.result.of.ca
9e3e0 6c 6c 69 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 lling.each.remaining.function.on
9e400 20 74 68 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 .the.result.of.the.previous.func
9e420 74 69 6f 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 40 76 61 72 tion,.right-to-left...If.no.@var
9e440 7b 66 6e 73 7d 20 61 72 65 20 67 69 76 65 6e 2c 20 72 65 74 75 72 6e 20 61 20 76 61 72 69 61 64 {fns}.are.given,.return.a.variad
9e460 69 63 0a 40 63 6f 64 65 7b 69 64 65 6e 74 69 74 79 7d 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 40 65 ic.@code{identity}.function...@e
9e480 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 63 6f 6d 70 6f 73 65 xample.@group.(funcall.(-compose
9e4a0 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 40 72 65 73 75 6c .#'-.#'1+.#'+).1.2.3).....@resul
9e4c0 74 7b 7d 20 2d 37 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c t{}.-7.@end.group.@group.(funcal
9e4e0 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).
9e500 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 34 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 ....@result{}.4.@end.group.@grou
9e520 70 0a 28 6d 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 p.(mapcar.(-compose.#'not.#'stri
9e540 6e 67 70 29 20 27 28 6e 69 6c 20 22 22 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 74 ngp).'(nil."")).....@result{}.(t
9e560 20 6e 69 6c 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 .nil).@end.group.@end.example.@e
9e580 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 61 70 70 6c 69 66 79 7d 0a 40 64 65 66 nd.defun..@anchor{-applify}.@def
9e5a0 75 6e 20 2d 61 70 70 6c 69 66 79 20 28 66 6e 29 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 un.-applify.(fn).Return.a.functi
9e5c0 6f 6e 20 74 68 61 74 20 61 70 70 6c 69 65 73 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 61 20 73 69 on.that.applies.@var{fn}.to.a.si
9e5e0 6e 67 6c 65 20 6c 69 73 74 20 6f 66 20 61 72 67 73 2e 0a 54 68 69 73 20 63 68 61 6e 67 65 73 20 ngle.list.of.args..This.changes.
9e600 74 68 65 20 61 72 69 74 79 20 6f 66 20 40 76 61 72 7b 66 6e 7d 20 66 72 6f 6d 20 74 61 6b 69 6e the.arity.of.@var{fn}.from.takin
9e620 67 20 40 76 61 72 7b 6e 7d 20 64 69 73 74 69 6e 63 74 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 0a g.@var{n}.distinct.arguments.to.
9e640 74 61 6b 69 6e 67 20 31 20 61 72 67 75 6d 65 6e 74 20 77 68 69 63 68 20 69 73 20 61 20 6c 69 73 taking.1.argument.which.is.a.lis
9e660 74 20 6f 66 20 40 76 61 72 7b 6e 7d 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 40 65 78 61 6d 70 6c t.of.@var{n}.arguments...@exampl
9e680 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 61 70 70 6c 69 66 79 20 23 27 2b 29 e.@group.(funcall.(-applify.#'+)
9e6a0 20 6e 69 6c 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 30 0a 40 65 6e 64 20 67 72 6f 75 70 .nil).....@result{}.0.@end.group
9e6c0 0a 40 67 72 6f 75 70 0a 28 6d 61 70 63 61 72 20 28 2d 61 70 70 6c 69 66 79 20 23 27 2b 29 20 27 .@group.(mapcar.(-applify.#'+).'
9e6e0 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 40 ((1.1.1).(1.2.3).(5.5.5))).....@
9e700 72 65 73 75 6c 74 7b 7d 20 28 33 20 36 20 31 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 result{}.(3.6.15).@end.group.@gr
9e720 6f 75 70 0a 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 oup.(funcall.(-applify.#'<).'(3.
9e740 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 6)).....@result{}.t.@end.group.@
9e760 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
9e780 2d 6f 6e 7d 0a 40 64 65 66 75 6e 20 2d 6f 6e 20 28 6f 70 20 74 72 61 6e 73 29 0a 52 65 74 75 72 -on}.@defun.-on.(op.trans).Retur
9e7a0 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 40 76 61 72 7b 74 72 61 n.a.function.that.calls.@var{tra
9e7c0 6e 73 7d 20 6f 6e 20 65 61 63 68 20 61 72 67 20 61 6e 64 20 40 76 61 72 7b 6f 70 7d 20 6f 6e 20 ns}.on.each.arg.and.@var{op}.on.
9e7e0 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 the.results..The.returned.functi
9e800 6f 6e 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 6f 66 20 61 72 on.takes.a.variable.number.of.ar
9e820 67 75 6d 65 6e 74 73 2c 20 63 61 6c 6c 73 0a 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 guments,.calls.the.function.@var
9e840 7b 74 72 61 6e 73 7d 20 6f 6e 20 65 61 63 68 20 6f 6e 65 20 69 6e 20 74 75 72 6e 2c 20 61 6e 64 {trans}.on.each.one.in.turn,.and
9e860 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 74 68 .then.passes.those.results.as.th
9e880 65 20 6c 69 73 74 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 40 76 61 72 7b 6f 70 7d 2c e.list.of.arguments.to.@var{op},
9e8a0 20 69 6e 20 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 .in.the.same.order...For.example
9e8c0 2c 20 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 ,.the.following.pairs.of.express
9e8e0 69 6f 6e 73 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 ions.are.morally.equivalent:....
9e900 28 66 75 6e 63 61 6c 6c 20 28 2d 6f 6e 20 23 27 2b 20 23 27 31 2b 29 20 31 20 32 20 33 29 20 3d (funcall.(-on.#'+.#'1+).1.2.3).=
9e920 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 75 6e .(+.(1+.1).(1+.2).(1+.3))...(fun
9e940 63 61 6c 6c 20 28 2d 6f 6e 20 23 27 2b 20 23 27 31 2b 29 29 20 20 20 20 20 20 20 3d 20 28 2b 29 call.(-on.#'+.#'1+)).......=.(+)
9e960 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 72 74 20 28 2d 6f 6e 20 23 27 ..@example.@group.(-sort.(-on.#'
9e980 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 31 20 32 29 29 <.#'length).'((1.2.3).(1).(1.2))
9e9a0 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 28 31 29 20 28 31 20 32 29 20 28 31 20 32 20 ).....@result{}.((1).(1.2).(1.2.
9e9c0 33 29 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 3)).@end.group.@group.(funcall.(
9e9e0 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 32 -on.#'min.#'string-to-number)."2
9ea00 32 22 20 22 32 22 20 22 31 22 20 22 31 32 22 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 2"."2"."1"."12").....@result{}.1
9ea20 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 6d 69 6e 2d 62 79 20 28 2d 6f 6e .@end.group.@group.(-min-by.(-on
9ea40 20 23 27 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 .#'>.#'length).'((1.2.3).(4).(1.
9ea60 32 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 34 29 0a 40 65 6e 64 20 67 72 6f 75 2))).....@result{}.(4).@end.grou
9ea80 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 p.@end.example.@end.defun..@anch
9eaa0 6f 72 7b 2d 66 6c 69 70 7d 0a 40 64 65 66 75 6e 20 2d 66 6c 69 70 20 28 66 6e 29 0a 52 65 74 75 or{-flip}.@defun.-flip.(fn).Retu
9eac0 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 40 76 61 72 7b 66 6e rn.a.function.that.calls.@var{fn
9eae0 7d 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 65 64 2e 0a 54 }.with.its.arguments.reversed..T
9eb00 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 74 68 65 20 73 he.returned.function.takes.the.s
9eb20 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 40 76 61 72 7b ame.number.of.arguments.as.@var{
9eb40 66 6e 7d 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 fn}...For.example,.the.following
9eb60 20 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 .two.expressions.are.morally.equ
9eb80 69 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 27 2d 29 ivalent:....(funcall.(-flip.#'-)
9eba0 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 40 63 6f 64 65 .1.2).=.(-.2.1)..See.also:.@code
9ebc0 7b 2d 72 6f 74 61 74 65 2d 61 72 67 73 7d 20 28 40 70 78 72 65 66 7b 2d 72 6f 74 61 74 65 2d 61 {-rotate-args}.(@pxref{-rotate-a
9ebe0 72 67 73 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 73 6f 72 74 20 28 rgs})...@example.@group.(-sort.(
9ec00 2d 66 6c 69 70 20 23 27 3c 29 20 27 28 34 20 33 20 36 20 31 29 29 0a 20 20 20 20 40 72 65 73 75 -flip.#'<).'(4.3.6.1)).....@resu
9ec20 6c 74 7b 7d 20 28 36 20 34 20 33 20 31 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 lt{}.(6.4.3.1).@end.group.@group
9ec40 0a 28 66 75 6e 63 61 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 .(funcall.(-flip.#'-).3.2.1.10).
9ec60 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 34 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 ....@result{}.4.@end.group.@grou
9ec80 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 66 6c 69 70 20 23 27 31 2b 29 20 31 29 0a 20 20 20 20 40 p.(funcall.(-flip.#'1+).1).....@
9eca0 72 65 73 75 6c 74 7b 7d 20 32 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 result{}.2.@end.group.@end.examp
9ecc0 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 72 6f 74 61 74 65 2d 61 le.@end.defun..@anchor{-rotate-a
9ece0 72 67 73 7d 0a 40 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 rgs}.@defun.-rotate-args.(n.fn).
9ed00 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 40 76 61 Return.a.function.that.calls.@va
9ed20 72 7b 66 6e 7d 20 77 69 74 68 20 61 72 67 73 20 72 6f 74 61 74 65 64 20 40 76 61 72 7b 6e 7d 20 r{fn}.with.args.rotated.@var{n}.
9ed40 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 67 68 74 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 places.to.the.right..The.returne
9ed60 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 75 6d 62 65 72 d.function.takes.the.same.number
9ed80 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 73 20 40 76 61 72 7b 66 6e 7d 2c 0a 72 6f 74 61 74 .of.arguments.as.@var{fn},.rotat
9eda0 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 40 76 61 72 7b 6e 7d es.the.list.of.arguments.@var{n}
9edc0 20 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 40 76 .places.to.the.right.(left.if.@v
9ede0 61 72 7b 6e 7d 20 69 73 0a 6e 65 67 61 74 69 76 65 29 20 6a 75 73 74 20 6c 69 6b 65 20 40 63 6f ar{n}.is.negative).just.like.@co
9ee00 64 65 7b 2d 72 6f 74 61 74 65 7d 20 28 40 70 78 72 65 66 7b 2d 72 6f 74 61 74 65 7d 29 2c 20 61 de{-rotate}.(@pxref{-rotate}),.a
9ee20 6e 64 20 61 70 70 6c 69 65 73 20 40 76 61 72 7b 66 6e 7d 20 74 6f 20 74 68 65 20 72 65 73 75 6c nd.applies.@var{fn}.to.the.resul
9ee40 74 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 66 6c 69 70 7d 20 28 40 70 78 72 t...See.also:.@code{-flip}.(@pxr
9ee60 65 66 7b 2d 66 6c 69 70 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 ef{-flip})...@example.@group.(fu
9ee80 6e 63 61 6c 6c 20 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 ncall.(-rotate-args.-1.#'list).1
9eea0 20 32 20 33 20 34 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 32 20 33 20 34 20 31 29 0a .2.3.4).....@result{}.(2.3.4.1).
9eec0 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 72 6f 74 @end.group.@group.(funcall.(-rot
9eee0 61 74 65 2d 61 72 67 73 20 31 20 23 27 2d 29 20 31 20 31 30 20 31 30 30 29 0a 20 20 20 20 40 72 ate-args.1.#'-).1.10.100).....@r
9ef00 65 73 75 6c 74 7b 7d 20 38 39 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 esult{}.89.@end.group.@group.(fu
9ef20 6e 63 61 6c 6c 20 28 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 32 20 23 27 6c 69 73 74 29 20 33 20 ncall.(-rotate-args.2.#'list).3.
9ef40 34 20 35 20 31 20 32 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 20 4.5.1.2).....@result{}.(1.2.3.4.
9ef60 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 5).@end.group.@end.example.@end.
9ef80 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 6f 6e 73 74 7d 0a 40 64 65 66 75 6e 20 2d 63 defun..@anchor{-const}.@defun.-c
9efa0 6f 6e 73 74 20 28 63 29 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 onst.(c).Return.a.function.that.
9efc0 72 65 74 75 72 6e 73 20 40 76 61 72 7b 63 7d 20 69 67 6e 6f 72 69 6e 67 20 61 6e 79 20 61 64 64 returns.@var{c}.ignoring.any.add
9efe0 69 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 49 6e 20 74 79 70 65 73 3a 20 61 20 itional.arguments...In.types:.a.
9f000 2d 3e 20 62 20 2d 3e 20 61 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 ->.b.->.a..@example.@group.(func
9f020 61 6c 6c 20 28 2d 63 6f 6e 73 74 20 32 29 20 31 20 33 20 22 66 6f 6f 22 29 0a 20 20 20 20 40 72 all.(-const.2).1.3."foo").....@r
9f040 65 73 75 6c 74 7b 7d 20 32 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 6d 61 70 esult{}.2.@end.group.@group.(map
9f060 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 20 22 64 22 car.(-const.1).'("a"."b"."c"."d"
9f080 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 31 20 31 20 31 29 0a 40 65 6e 64 20 )).....@result{}.(1.1.1.1).@end.
9f0a0 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 73 75 6d 20 28 6d 61 70 63 61 72 20 28 2d 63 6f 6e group.@group.(-sum.(mapcar.(-con
9f0c0 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 40 st.1).'("a"."b"."c"."d"))).....@
9f0e0 72 65 73 75 6c 74 7b 7d 20 34 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 result{}.4.@end.group.@end.examp
9f100 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 63 75 74 7d 0a 40 64 65 le.@end.defun..@anchor{-cut}.@de
9f120 66 6d 61 63 20 2d 63 75 74 20 28 26 72 65 73 74 20 70 61 72 61 6d 73 29 0a 54 61 6b 65 20 6e 2d fmac.-cut.(&rest.params).Take.n-
9f140 61 72 79 20 66 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 ary.function.and.n.arguments.and
9f160 20 73 70 65 63 69 61 6c 69 7a 65 20 73 6f 6d 65 20 6f 66 20 74 68 65 6d 2e 0a 41 72 67 75 6d 65 .specialize.some.of.them..Argume
9f180 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
9f1a0 6e 73 70 65 63 69 61 6c 69 7a 65 64 2e 0a 0a 53 65 65 20 40 76 61 72 7b 73 72 66 69 2d 32 36 7d nspecialized...See.@var{srfi-26}
9f1c0 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 0a 0a 40 65 78 61 .for.detailed.description...@exa
9f1e0 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 63 75 74 20 6c 69 73 74 20 mple.@group.(funcall.(-cut.list.
9f200 31 20 3c 3e 20 33 20 3c 3e 20 35 29 20 32 20 34 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 1.<>.3.<>.5).2.4).....@result{}.
9f220 28 31 20 32 20 33 20 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d (1.2.3.4.5).@end.group.@group.(-
9f240 6d 61 70 20 28 2d 63 75 74 20 66 75 6e 63 61 6c 6c 20 3c 3e 20 35 29 20 60 28 31 2b 20 31 2d 20 map.(-cut.funcall.<>.5).`(1+.1-.
9f260 2c 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2f 20 31 2e 30 20 78 29 29 29 29 0a 20 20 20 20 40 72 ,(lambda.(x).(/.1.0.x)))).....@r
9f280 65 73 75 6c 74 7b 7d 20 28 36 20 34 20 30 2e 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 esult{}.(6.4.0.2).@end.group.@gr
9f2a0 6f 75 70 0a 28 2d 6d 61 70 20 28 2d 63 75 74 20 3c 3e 20 31 20 32 20 33 29 20 27 28 6c 69 73 74 oup.(-map.(-cut.<>.1.2.3).'(list
9f2c0 20 76 65 63 74 6f 72 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 .vector.string)).....@result{}.(
9f2e0 28 31 20 32 20 33 29 20 5b 31 20 32 20 33 5d 20 22 5c 31 5c 32 5c 33 22 29 0a 40 65 6e 64 20 67 (1.2.3).[1.2.3]."\1\2\3").@end.g
9f300 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 6d 61 63 0a 0a 40 roup.@end.example.@end.defmac..@
9f320 61 6e 63 68 6f 72 7b 2d 6e 6f 74 7d 0a 40 64 65 66 75 6e 20 2d 6e 6f 74 20 28 70 72 65 64 29 0a anchor{-not}.@defun.-not.(pred).
9f340 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 73 20 Return.a.predicate.that.negates.
9f360 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 40 76 61 72 7b 70 72 65 64 7d 2e 0a 54 68 65 20 72 65 the.result.of.@var{pred}..The.re
9f380 74 75 72 6e 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 turned.predicate.passes.its.argu
9f3a0 6d 65 6e 74 73 20 74 6f 20 40 76 61 72 7b 70 72 65 64 7d 2e 20 20 49 66 20 40 76 61 72 7b 70 72 ments.to.@var{pred}...If.@var{pr
9f3c0 65 64 7d 0a 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e ed}.returns.nil,.the.result.is.n
9f3e0 6f 6e 2d 6e 69 6c 3b 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 on-nil;.otherwise.the.result.is.
9f400 6e 69 6c 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 61 6e 64 66 6e 7d 20 28 40 nil...See.also:.@code{-andfn}.(@
9f420 70 78 72 65 66 7b 2d 61 6e 64 66 6e 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 6f 72 66 6e 7d 20 pxref{-andfn}).and.@code{-orfn}.
9f440 28 40 70 78 72 65 66 7b 2d 6f 72 66 6e 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 (@pxref{-orfn})...@example.@grou
9f460 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 6e 6f 74 20 23 27 6e 75 6d 62 65 72 70 29 20 22 35 22 29 p.(funcall.(-not.#'numberp)."5")
9f480 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f .....@result{}.t.@end.group.@gro
9f4a0 75 70 0a 28 2d 73 6f 72 74 20 28 2d 6e 6f 74 20 23 27 3c 29 20 27 28 35 20 32 20 31 20 30 20 36 up.(-sort.(-not.#'<).'(5.2.1.0.6
9f4c0 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 36 20 35 20 32 20 31 20 30 29 0a 40 65 6e )).....@result{}.(6.5.2.1.0).@en
9f4e0 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6c 74 65 72 20 28 2d 6e 6f 74 20 28 2d d.group.@group.(-filter.(-not.(-
9f500 70 61 72 74 69 61 6c 20 23 27 3c 20 34 29 29 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 partial.#'<.4)).'(1.2.3.4.5.6.7.
9f520 38 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 20 33 20 34 29 0a 40 65 6e 64 8)).....@result{}.(1.2.3.4).@end
9f540 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a .group.@end.example.@end.defun..
9f560 40 61 6e 63 68 6f 72 7b 2d 6f 72 66 6e 7d 0a 40 64 65 66 75 6e 20 2d 6f 72 66 6e 20 28 26 72 65 @anchor{-orfn}.@defun.-orfn.(&re
9f580 73 74 20 70 72 65 64 73 29 0a 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 61 st.preds).Return.a.predicate.tha
9f5a0 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 69 72 73 74 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 t.returns.the.first.non-nil.resu
9f5c0 6c 74 20 6f 66 20 40 76 61 72 7b 70 72 65 64 73 7d 2e 0a 54 68 65 20 72 65 74 75 72 6e 65 64 20 lt.of.@var{preds}..The.returned.
9f5e0 70 72 65 64 69 63 61 74 65 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 predicate.takes.a.variable.numbe
9f600 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 0a 70 61 73 73 65 73 20 74 68 65 6d 20 74 6f 20 65 r.of.arguments,.passes.them.to.e
9f620 61 63 68 20 70 72 65 64 69 63 61 74 65 20 69 6e 20 40 76 61 72 7b 70 72 65 64 73 7d 20 69 6e 20 ach.predicate.in.@var{preds}.in.
9f640 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 6e 73 20 6e turn.until.one.of.them.returns.n
9f660 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 2d 6e 69 6c on-nil,.and.returns.that.non-nil
9f680 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 72 65 6d 61 .result.without.calling.the.rema
9f6a0 69 6e 69 6e 67 20 40 76 61 72 7b 70 72 65 64 73 7d 2e 20 20 49 66 20 61 6c 6c 20 40 76 61 72 7b ining.@var{preds}...If.all.@var{
9f6c0 70 72 65 64 73 7d 20 72 65 74 75 72 6e 20 6e 69 6c 2c 20 6f 72 20 69 66 20 6e 6f 20 40 76 61 72 preds}.return.nil,.or.if.no.@var
9f6e0 7b 70 72 65 64 73 7d 20 61 72 65 0a 67 69 76 65 6e 2c 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 {preds}.are.given,.the.returned.
9f700 70 72 65 64 69 63 61 74 65 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 0a 53 65 65 20 61 6c 73 6f predicate.returns.nil...See.also
9f720 3a 20 40 63 6f 64 65 7b 2d 61 6e 64 66 6e 7d 20 28 40 70 78 72 65 66 7b 2d 61 6e 64 66 6e 7d 29 :.@code{-andfn}.(@pxref{-andfn})
9f740 20 61 6e 64 20 40 63 6f 64 65 7b 2d 6e 6f 74 7d 20 28 40 70 78 72 65 66 7b 2d 6e 6f 74 7d 29 2e .and.@code{-not}.(@pxref{-not}).
9f760 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 2d 66 69 6c 74 65 72 20 28 2d 6f 72 66 ..@example.@group.(-filter.(-orf
9f780 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 6e 69 6c 20 n.#'natnump.#'booleanp).'(1.nil.
9f7a0 22 61 22 20 2d 34 20 62 20 63 20 74 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 "a".-4.b.c.t)).....@result{}.(1.
9f7c0 6e 69 6c 20 74 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c nil.t).@end.group.@group.(funcal
9f7e0 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-
9f800 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 40 72 65 73 match-p."x".<>))."axe").....@res
9f820 75 6c 74 7b 7d 20 31 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 ult{}.1.@end.group.@group.(funca
9f840 6c 6c 20 28 2d 6f 72 66 6e 20 23 27 3d 20 23 27 2b 29 20 31 20 31 29 0a 20 20 20 20 40 72 65 73 ll.(-orfn.#'=.#'+).1.1).....@res
9f860 75 6c 74 7b 7d 20 74 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a ult{}.t.@end.group.@end.example.
9f880 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 61 6e 64 66 6e 7d 0a 40 64 65 66 @end.defun..@anchor{-andfn}.@def
9f8a0 75 6e 20 2d 61 6e 64 66 6e 20 28 26 72 65 73 74 20 70 72 65 64 73 29 0a 52 65 74 75 72 6e 20 61 un.-andfn.(&rest.preds).Return.a
9f8c0 20 70 72 65 64 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 .predicate.that.returns.non-nil.
9f8e0 69 66 20 61 6c 6c 20 40 76 61 72 7b 70 72 65 64 73 7d 20 64 6f 20 73 6f 2e 0a 54 68 65 20 72 65 if.all.@var{preds}.do.so..The.re
9f900 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 40 76 61 72 7b 70 7d 20 74 61 6b 65 73 20 61 turned.predicate.@var{p}.takes.a
9f920 20 76 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 20 61 6e .variable.number.of.arguments.an
9f940 64 0a 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 d.passes.them.to.each.predicate.
9f960 69 6e 20 40 76 61 72 7b 70 72 65 64 73 7d 20 69 6e 20 74 75 72 6e 2e 20 20 49 66 20 61 6e 79 20 in.@var{preds}.in.turn...If.any.
9f980 6f 6e 65 20 6f 66 0a 40 76 61 72 7b 70 72 65 64 73 7d 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 one.of.@var{preds}.returns.nil,.
9f9a0 40 76 61 72 7b 70 7d 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 @var{p}.also.returns.nil.without
9f9c0 20 63 61 6c 6c 69 6e 67 20 74 68 65 0a 72 65 6d 61 69 6e 69 6e 67 20 40 76 61 72 7b 70 72 65 64 .calling.the.remaining.@var{pred
9f9e0 73 7d 2e 20 20 49 66 20 61 6c 6c 20 40 76 61 72 7b 70 72 65 64 73 7d 20 72 65 74 75 72 6e 20 6e s}...If.all.@var{preds}.return.n
9fa00 6f 6e 2d 6e 69 6c 2c 20 40 76 61 72 7b 70 7d 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 61 73 74 on-nil,.@var{p}.returns.the.last
9fa20 0a 73 75 63 68 20 76 61 6c 75 65 2e 20 20 49 66 20 6e 6f 20 40 76 61 72 7b 70 72 65 64 73 7d 20 .such.value...If.no.@var{preds}.
9fa40 61 72 65 20 67 69 76 65 6e 2c 20 40 76 61 72 7b 70 7d 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e are.given,.@var{p}.always.return
9fa60 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a 20 40 63 6f 64 65 7b 2d 6f 72 66 s.non-nil...See.also:.@code{-orf
9fa80 6e 7d 20 28 40 70 78 72 65 66 7b 2d 6f 72 66 6e 7d 29 20 61 6e 64 20 40 63 6f 64 65 7b 2d 6e 6f n}.(@pxref{-orfn}).and.@code{-no
9faa0 74 7d 20 28 40 70 78 72 65 66 7b 2d 6e 6f 74 7d 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 t}.(@pxref{-not})...@example.@gr
9fac0 6f 75 70 0a 28 2d 66 69 6c 74 65 72 20 28 2d 61 6e 64 66 6e 20 23 27 6e 75 6d 62 65 72 70 20 28 oup.(-filter.(-andfn.#'numberp.(
9fae0 2d 63 75 74 20 3c 20 3c 3e 20 35 29 29 20 27 28 61 20 31 20 62 20 36 20 63 20 32 29 29 0a 20 20 -cut.<.<>.5)).'(a.1.b.6.c.2))...
9fb00 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 32 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 ..@result{}.(1.2).@end.group.@gr
9fb20 6f 75 70 0a 28 6d 61 70 63 61 72 20 28 2d 61 6e 64 66 6e 20 23 27 6e 75 6d 62 65 72 70 20 23 27 oup.(mapcar.(-andfn.#'numberp.#'
9fb40 31 2b 29 20 27 28 61 20 31 20 62 20 36 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 6e 1+).'(a.1.b.6)).....@result{}.(n
9fb60 69 6c 20 32 20 6e 69 6c 20 37 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 il.2.nil.7).@end.group.@group.(f
9fb80 75 6e 63 61 6c 6c 20 28 2d 61 6e 64 66 6e 20 23 27 3d 20 23 27 2b 29 20 31 20 31 29 0a 20 20 20 uncall.(-andfn.#'=.#'+).1.1)....
9fba0 20 40 72 65 73 75 6c 74 7b 7d 20 32 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 .@result{}.2.@end.group.@end.exa
9fbc0 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 69 74 65 72 61 74 mple.@end.defun..@anchor{-iterat
9fbe0 65 66 6e 7d 0a 40 64 65 66 75 6e 20 2d 69 74 65 72 61 74 65 66 6e 20 28 66 6e 20 6e 29 0a 52 65 efn}.@defun.-iteratefn.(fn.n).Re
9fc00 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 40 76 61 72 7b 66 6e 7d 20 63 6f 6d 70 6f 73 65 turn.a.function.@var{fn}.compose
9fc20 64 20 40 76 61 72 7b 6e 7d 20 74 69 6d 65 73 20 77 69 74 68 20 69 74 73 65 6c 66 2e 0a 0a 40 76 d.@var{n}.times.with.itself...@v
9fc40 61 72 7b 66 6e 7d 20 69 73 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 20 20 49 66 20 ar{fn}.is.a.unary.function...If.
9fc60 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 20 6f 66 20 68 69 you.need.to.use.a.function.of.hi
9fc80 67 68 65 72 0a 61 72 69 74 79 2c 20 75 73 65 20 40 63 6f 64 65 7b 2d 61 70 70 6c 69 66 79 7d 20 gher.arity,.use.@code{-applify}.
9fca0 28 40 70 78 72 65 66 7b 2d 61 70 70 6c 69 66 79 7d 29 20 66 69 72 73 74 20 74 6f 20 74 75 72 6e (@pxref{-applify}).first.to.turn
9fcc0 20 69 74 20 69 6e 74 6f 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 57 69 74 68 .it.into.a.unary.function...With
9fce0 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 79 20 66 75 .n.=.0,.this.acts.as.identity.fu
9fd00 6e 63 74 69 6f 6e 2e 0a 0a 49 6e 20 74 79 70 65 73 3a 20 28 61 20 2d 3e 20 61 29 20 2d 3e 20 49 nction...In.types:.(a.->.a).->.I
9fd20 6e 74 20 2d 3e 20 61 20 2d 3e 20 61 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 61 74 nt.->.a.->.a...This.function.sat
9fd40 69 73 66 69 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 61 77 3a 0a 0a 20 20 28 66 75 isfies.the.following.law:....(fu
9fd60 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 66 6e 20 6e 29 20 69 6e 69 74 29 20 3d 20 ncall.(-iteratefn.fn.n).init).=.
9fd80 28 2d 6c 61 73 74 2d 69 74 65 6d 20 28 2d 69 74 65 72 61 74 65 20 66 6e 20 69 6e 69 74 20 28 31 (-last-item.(-iterate.fn.init.(1
9fda0 2b 20 6e 29 29 29 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c +.n)))...@example.@group.(funcal
9fdc0 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2a 20 78 20 78 l.(-iteratefn.(lambda.(x).(*.x.x
9fde0 29 29 20 33 29 20 32 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 32 35 36 0a 40 65 6e 64 20 )).3).2).....@result{}.256.@end.
9fe00 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 group.@group.(funcall.(-iteratef
9fe20 6e 20 27 31 2b 20 33 29 20 31 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 34 0a 40 65 6e 64 n.'1+.3).1).....@result{}.4.@end
9fe40 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 .group.@group.(funcall.(-iterate
9fe60 66 6e 20 27 63 64 72 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 40 72 65 fn.'cdr.3).'(1.2.3.4.5)).....@re
9fe80 73 75 6c 74 7b 7d 20 28 34 20 35 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 sult{}.(4.5).@end.group.@end.exa
9fea0 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 66 69 78 66 6e 7d mple.@end.defun..@anchor{-fixfn}
9fec0 0a 40 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 6c 20 65 71 75 .@defun.-fixfn.(fn.&optional.equ
9fee0 61 6c 2d 74 65 73 74 20 68 61 6c 74 2d 74 65 73 74 29 0a 52 65 74 75 72 6e 20 61 20 66 75 6e 63 al-test.halt-test).Return.a.func
9ff00 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 73 74 29 20 66 tion.that.computes.the.(least).f
9ff20 69 78 70 6f 69 6e 74 20 6f 66 20 40 76 61 72 7b 66 6e 7d 2e 0a 0a 40 76 61 72 7b 66 6e 7d 20 6d ixpoint.of.@var{fn}...@var{fn}.m
9ff40 75 73 74 20 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 ust.be.a.unary.function..The.ret
9ff60 75 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 61 72 67 75 urned.lambda.takes.a.single.argu
9ff80 6d 65 6e 74 2c 20 40 76 61 72 7b 78 7d 2c 20 74 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 ment,.@var{x},.the.initial.value
9ffa0 20 66 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 54 68 65 .for.the.fixpoint.iteration..The
9ffc0 0a 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 20 6f 66 20 .iteration.halts.when.either.of.
9ffe0 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 20 73 61 74 69 the.following.conditions.is.sati
a0000 73 66 69 65 64 3a 0a 0a 20 31 2e 20 49 74 65 72 61 74 69 6f 6e 20 63 6f 6e 76 65 72 67 65 73 20 sfied:...1..Iteration.converges.
a0020 74 6f 20 74 68 65 20 66 69 78 70 6f 69 6e 74 2c 20 77 69 74 68 20 65 71 75 61 6c 69 74 79 20 62 to.the.fixpoint,.with.equality.b
a0040 65 69 6e 67 0a 20 20 20 20 74 65 73 74 65 64 20 75 73 69 6e 67 20 40 76 61 72 7b 65 71 75 61 6c eing.....tested.using.@var{equal
a0060 2d 74 65 73 74 7d 2e 20 49 66 20 40 76 61 72 7b 65 71 75 61 6c 2d 74 65 73 74 7d 20 69 73 20 6e -test}..If.@var{equal-test}.is.n
a0080 6f 74 20 73 70 65 63 69 66 69 65 64 2c 0a 20 20 20 20 40 63 6f 64 65 7b 65 71 75 61 6c 7d 20 69 ot.specified,.....@code{equal}.i
a00a0 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 74 68 65 20 66 s.used..For.functions.over.the.f
a00c0 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 69 74 20 6d 61 loating.point.....numbers,.it.ma
a00e0 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 6e 20 61 70 70 y.be.necessary.to.provide.an.app
a0100 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 6d 70 61 72 69 ropriate.....approximate.compari
a0120 73 6f 6e 20 74 65 73 74 2e 0a 0a 20 32 2e 20 40 76 61 72 7b 68 61 6c 74 2d 74 65 73 74 7d 20 72 son.test....2..@var{halt-test}.r
a0140 65 74 75 72 6e 73 20 61 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75 65 2e 20 40 76 61 72 7b 68 61 6c eturns.a.non-nil.value..@var{hal
a0160 74 2d 74 65 73 74 7d 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 t-test}.defaults.to.a.....simple
a0180 20 63 6f 75 6e 74 65 72 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 20 61 66 74 65 72 20 40 63 .counter.that.returns.t.after.@c
a01a0 6f 64 65 7b 2d 66 69 78 66 6e 2d 6d 61 78 2d 69 74 65 72 61 74 69 6f 6e 73 7d 2c 0a 20 20 20 20 ode{-fixfn-max-iterations},.....
a01c0 74 6f 20 67 75 61 72 64 20 61 67 61 69 6e 73 74 20 69 6e 66 69 6e 69 74 65 20 69 74 65 72 61 74 to.guard.against.infinite.iterat
a01e0 69 6f 6e 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 40 76 61 72 7b 68 61 6c 74 2d 74 65 73 74 7d 0a ion..Otherwise,.@var{halt-test}.
a0200 20 20 20 20 6d 75 73 74 20 62 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 63 63 65 ....must.be.a.function.that.acce
a0220 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 0a 20 20 20 20 63 pts.a.single.argument,.the.....c
a0240 75 72 72 65 6e 74 20 76 61 6c 75 65 20 6f 66 20 40 76 61 72 7b 78 7d 2c 20 61 6e 64 20 72 65 74 urrent.value.of.@var{x},.and.ret
a0260 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 61 73 20 6c 6f 6e 67 20 61 73 20 69 74 65 72 61 74 69 6f urns.non-nil.as.long.as.iteratio
a0280 6e 0a 20 20 20 20 73 68 6f 75 6c 64 20 63 6f 6e 74 69 6e 75 65 2e 20 49 6e 20 74 68 69 73 20 77 n.....should.continue..In.this.w
a02a0 61 79 2c 20 61 20 6d 6f 72 65 20 73 6f 70 68 69 73 74 69 63 61 74 65 64 0a 20 20 20 20 63 6f 6e ay,.a.more.sophisticated.....con
a02c0 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 20 62 79 vergence.test.may.be.supplied.by
a02e0 20 74 68 65 20 63 61 6c 6c 65 72 2e 0a 0a 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f .the.caller...The.return.value.o
a0300 66 20 74 68 65 20 6c 61 6d 62 64 61 20 69 73 20 65 69 74 68 65 72 20 74 68 65 20 66 69 78 70 6f f.the.lambda.is.either.the.fixpo
a0320 69 6e 74 20 6f 72 2c 20 69 66 0a 69 74 65 72 61 74 69 6f 6e 20 68 61 6c 74 65 64 20 62 65 66 6f int.or,.if.iteration.halted.befo
a0340 72 65 20 63 6f 6e 76 65 72 67 69 6e 67 2c 20 61 20 63 6f 6e 73 20 77 69 74 68 20 63 61 72 20 40 re.converging,.a.cons.with.car.@
a0360 63 6f 64 65 7b 68 61 6c 74 65 64 7d 20 61 6e 64 0a 63 64 72 20 74 68 65 20 66 69 6e 61 6c 20 6f code{halted}.and.cdr.the.final.o
a0380 75 74 70 75 74 20 66 72 6f 6d 20 40 76 61 72 7b 68 61 6c 74 2d 74 65 73 74 7d 2e 0a 0a 49 6e 20 utput.from.@var{halt-test}...In.
a03a0 74 79 70 65 73 3a 20 28 61 20 2d 3e 20 61 29 20 2d 3e 20 61 20 2d 3e 20 61 2e 0a 0a 40 65 78 61 types:.(a.->.a).->.a.->.a...@exa
a03c0 6d 70 6c 65 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 66 6e 20 23 27 63 mple.@group.(funcall.(-fixfn.#'c
a03e0 6f 73 20 23 27 61 70 70 72 6f 78 3d 29 20 30 2e 37 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d os.#'approx=).0.7).....@result{}
a0400 20 30 2e 37 33 39 30 38 35 31 33 33 32 31 35 31 36 30 37 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 .0.7390851332151607.@end.group.@
a0420 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 66 6e 20 28 6c 61 6d 62 64 61 20 28 group.(funcall.(-fixfn.(lambda.(
a0440 78 29 20 28 65 78 70 74 20 28 2b 20 78 20 31 30 29 20 30 2e 32 35 29 29 29 20 32 2e 30 29 0a 20 x).(expt.(+.x.10).0.25))).2.0)..
a0460 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 31 2e 38 35 35 35 38 34 35 32 38 36 34 30 39 33 37 38 0a ...@result{}.1.8555845286409378.
a0480 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 @end.group.@group.(funcall.(-fix
a04a0 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 20 20 20 20 40 72 65 fn.#'sin.#'approx=).0.1).....@re
a04c0 73 75 6c 74 7b 7d 20 28 68 61 6c 74 65 64 20 2e 20 74 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 sult{}.(halted...t).@end.group.@
a04e0 65 6e 64 20 65 78 61 6d 70 6c 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 61 6e 63 68 6f 72 7b end.example.@end.defun..@anchor{
a0500 2d 70 72 6f 64 66 6e 7d 0a 40 64 65 66 75 6e 20 2d 70 72 6f 64 66 6e 20 28 26 72 65 73 74 20 66 -prodfn}.@defun.-prodfn.(&rest.f
a0520 6e 73 29 0a 54 61 6b 65 20 61 20 6c 69 73 74 20 6f 66 20 6e 20 66 75 6e 63 74 69 6f 6e 73 20 61 ns).Take.a.list.of.n.functions.a
a0540 6e 64 20 72 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 nd.return.a.function.that.takes.
a0560 61 0a 6c 69 73 74 20 6f 66 20 6c 65 6e 67 74 68 20 6e 2c 20 61 70 70 6c 79 69 6e 67 20 69 2d 74 a.list.of.length.n,.applying.i-t
a0580 68 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 69 2d 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 h.function.to.i-th.element.of.th
a05a0 65 0a 69 6e 70 75 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 e.input.list...Returns.a.list.of
a05c0 20 6c 65 6e 67 74 68 20 6e 2e 0a 0a 49 6e 20 74 79 70 65 73 20 28 66 6f 72 20 6e 3d 32 29 3a 20 .length.n...In.types.(for.n=2):.
a05e0 28 28 61 20 2d 3e 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 ((a.->.b),.(c.->.d)).->.(a,.c).-
a0600 3e 20 28 62 2c 20 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 >.(b,.d)..This.function.satisfie
a0620 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 61 77 73 3a 0a 0a 20 20 28 2d 63 6f 6d 70 6f s.the.following.laws:....(-compo
a0640 73 65 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 40 64 6f 74 73 7b 7d 29 20 28 2d 70 72 6f 64 66 se.(-prodfn.f.g.@dots{}).(-prodf
a0660 6e 20 66 27 20 67 27 20 40 64 6f 74 73 7b 7d 29 29 20 3d 20 28 2d 70 72 6f 64 66 6e 20 28 2d 63 n.f'.g'.@dots{})).=.(-prodfn.(-c
a0680 6f 6d 70 6f 73 65 20 66 20 66 27 29 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 67 27 29 20 40 64 6f ompose.f.f').(-compose.g.g').@do
a06a0 74 73 7b 7d 29 0a 20 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 40 64 6f 74 73 7b 7d 29 20 3d 20 ts{})...(-prodfn.f.g.@dots{}).=.
a06c0 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 69 61 6c 20 27 6e 74 (-juxt.(-compose.f.(-partial.'nt
a06e0 68 20 30 29 29 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 28 2d 70 61 72 74 69 61 6c 20 27 6e 74 68 h.0)).(-compose.g.(-partial.'nth
a0700 20 31 29 29 20 40 64 6f 74 73 7b 7d 29 0a 20 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 72 6f 64 .1)).@dots{})...(-compose.(-prod
a0720 66 6e 20 66 20 67 20 40 64 6f 74 73 7b 7d 29 20 28 2d 6a 75 78 74 20 66 27 20 67 27 20 40 64 6f fn.f.g.@dots{}).(-juxt.f'.g'.@do
a0740 74 73 7b 7d 29 29 20 3d 20 28 2d 6a 75 78 74 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 66 27 29 20 ts{})).=.(-juxt.(-compose.f.f').
a0760 28 2d 63 6f 6d 70 6f 73 65 20 67 20 67 27 29 20 40 64 6f 74 73 7b 7d 29 0a 20 20 28 2d 63 6f 6d (-compose.g.g').@dots{})...(-com
a0780 70 6f 73 65 20 28 2d 70 61 72 74 69 61 6c 20 27 6e 74 68 20 6e 29 20 28 2d 70 72 6f 64 20 66 31 pose.(-partial.'nth.n).(-prod.f1
a07a0 20 66 32 20 40 64 6f 74 73 7b 7d 29 29 20 3d 20 28 2d 63 6f 6d 70 6f 73 65 20 66 6e 20 28 2d 70 .f2.@dots{})).=.(-compose.fn.(-p
a07c0 61 72 74 69 61 6c 20 27 6e 74 68 20 6e 29 29 0a 0a 40 65 78 61 6d 70 6c 65 0a 40 67 72 6f 75 70 artial.'nth.n))..@example.@group
a07e0 0a 28 66 75 6e 63 61 6c 6c 20 28 2d 70 72 6f 64 66 6e 20 27 31 2b 20 27 31 2d 20 27 6e 75 6d 62 .(funcall.(-prodfn.'1+.'1-.'numb
a0800 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 20 40 72 65 73 er-to-string).'(1.2.3)).....@res
a0820 75 6c 74 7b 7d 20 28 32 20 31 20 22 33 22 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 ult{}.(2.1."3").@end.group.@grou
a0840 70 0a 28 2d 6d 61 70 20 28 2d 70 72 6f 64 66 6e 20 27 31 2b 20 27 31 2d 29 20 27 28 28 31 20 32 p.(-map.(-prodfn.'1+.'1-).'((1.2
a0860 29 20 28 33 20 34 29 20 28 35 20 36 29 20 28 37 20 38 29 29 29 0a 20 20 20 20 40 72 65 73 75 6c ).(3.4).(5.6).(7.8))).....@resul
a0880 74 7b 7d 20 28 28 32 20 31 29 20 28 34 20 33 29 20 28 36 20 35 29 20 28 38 20 37 29 29 0a 40 65 t{}.((2.1).(4.3).(6.5).(8.7)).@e
a08a0 6e 64 20 67 72 6f 75 70 0a 40 67 72 6f 75 70 0a 28 61 70 70 6c 79 20 27 2b 20 28 66 75 6e 63 61 nd.group.@group.(apply.'+.(funca
a08c0 6c 6c 20 28 2d 70 72 6f 64 66 6e 20 27 6c 65 6e 67 74 68 20 27 73 74 72 69 6e 67 2d 74 6f 2d 6e ll.(-prodfn.'length.'string-to-n
a08e0 75 6d 62 65 72 29 20 27 28 28 31 20 32 20 33 29 20 22 31 35 22 29 29 29 0a 20 20 20 20 40 72 65 umber).'((1.2.3)."15"))).....@re
a0900 73 75 6c 74 7b 7d 20 31 38 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 65 78 61 6d 70 6c sult{}.18.@end.group.@end.exampl
a0920 65 0a 40 65 6e 64 20 64 65 66 75 6e 0a 0a 40 6e 6f 64 65 20 44 65 76 65 6c 6f 70 6d 65 6e 74 0a e.@end.defun..@node.Development.
a0940 40 63 68 61 70 74 65 72 20 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 0a 54 68 65 20 44 61 73 68 20 72 @chapter.Development..The.Dash.r
a0960 65 70 6f 73 69 74 6f 72 79 20 69 73 20 68 6f 73 74 65 64 20 6f 6e 20 47 69 74 48 75 62 20 61 74 epository.is.hosted.on.GitHub.at
a0980 0a 40 75 72 6c 7b 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 .@url{https://github.com/magnars
a09a0 2f 64 61 73 68 2e 65 6c 7d 2e 0a 0a 40 6d 65 6e 75 0a 2a 20 43 6f 6e 74 72 69 62 75 74 65 3a 3a /dash.el}...@menu.*.Contribute::
a09c0 20 20 20 20 20 20 20 20 20 20 48 6f 77 20 74 6f 20 63 6f 6e 74 72 69 62 75 74 65 2e 0a 2a 20 43 ..........How.to.contribute..*.C
a09e0 6f 6e 74 72 69 62 75 74 6f 72 73 3a 3a 20 20 20 20 20 20 20 20 4c 69 73 74 20 6f 66 20 63 6f 6e ontributors::........List.of.con
a0a00 74 72 69 62 75 74 6f 72 73 2e 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 43 6f 6e 74 tributors..@end.menu..@node.Cont
a0a20 72 69 62 75 74 65 0a 40 73 65 63 74 69 6f 6e 20 43 6f 6e 74 72 69 62 75 74 65 0a 0a 59 65 73 2c ribute.@section.Contribute..Yes,
a0a40 20 70 6c 65 61 73 65 20 64 6f 2e 20 20 50 75 72 65 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 74 .please.do...Pure.functions.in.t
a0a60 68 65 20 6c 69 73 74 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 72 65 61 6c 6d 20 6f 6e 6c 79 2c he.list.manipulation.realm.only,
a0a80 0a 70 6c 65 61 73 65 2e 20 20 54 68 65 72 65 27 73 20 61 20 73 75 69 74 65 20 6f 66 20 65 78 61 .please...There's.a.suite.of.exa
a0aa0 6d 70 6c 65 73 2f 74 65 73 74 73 20 69 6e 20 40 66 69 6c 65 7b 64 65 76 2f 65 78 61 6d 70 6c 65 mples/tests.in.@file{dev/example
a0ac0 73 2e 65 6c 7d 2c 0a 73 6f 20 72 65 6d 65 6d 62 65 72 20 74 6f 20 61 64 64 20 74 65 73 74 73 20 s.el},.so.remember.to.add.tests.
a0ae0 66 6f 72 20 79 6f 75 72 20 61 64 64 69 74 69 6f 6e 73 2c 20 6f 72 20 74 68 65 79 20 6d 61 79 20 for.your.additions,.or.they.may.
a0b00 67 65 74 20 62 72 6f 6b 65 6e 0a 6c 61 74 65 72 2e 0a 0a 52 75 6e 20 74 68 65 20 74 65 73 74 73 get.broken.later...Run.the.tests
a0b20 20 77 69 74 68 20 40 73 61 6d 70 7b 6d 61 6b 65 20 63 68 65 63 6b 7d 2e 20 20 52 65 67 65 6e 65 .with.@samp{make.check}...Regene
a0b40 72 61 74 65 20 74 68 65 20 64 6f 63 73 20 77 69 74 68 0a 40 73 61 6d 70 7b 6d 61 6b 65 20 64 6f rate.the.docs.with.@samp{make.do
a0b60 63 73 7d 2e 20 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 72 65 20 65 6e 63 6f 75 72 61 67 65 cs}...Contributors.are.encourage
a0b80 64 20 74 6f 20 69 6e 73 74 61 6c 6c 20 74 68 65 73 65 0a 63 6f 6d 6d 61 6e 64 73 20 61 73 20 61 d.to.install.these.commands.as.a
a0ba0 20 47 69 74 20 70 72 65 2d 63 6f 6d 6d 69 74 20 68 6f 6f 6b 2c 20 73 6f 20 74 68 61 74 20 74 68 .Git.pre-commit.hook,.so.that.th
a0bc0 65 20 74 65 73 74 73 20 61 72 65 20 61 6c 77 61 79 73 0a 72 75 6e 6e 69 6e 67 20 61 6e 64 20 74 e.tests.are.always.running.and.t
a0be0 68 65 20 64 6f 63 73 20 61 72 65 20 61 6c 77 61 79 73 20 69 6e 20 73 79 6e 63 3a 0a 0a 40 65 78 he.docs.are.always.in.sync:..@ex
a0c00 61 6d 70 6c 65 0a 24 20 63 70 20 64 65 76 2f 70 72 65 2d 63 6f 6d 6d 69 74 2e 73 68 20 2e 67 69 ample.$.cp.dev/pre-commit.sh..gi
a0c20 74 2f 68 6f 6f 6b 73 2f 70 72 65 2d 63 6f 6d 6d 69 74 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a t/hooks/pre-commit.@end.example.
a0c40 0a 4f 68 2c 20 61 6e 64 20 64 6f 6e 27 74 20 65 64 69 74 20 40 66 69 6c 65 7b 52 45 41 44 4d 45 .Oh,.and.don't.edit.@file{README
a0c60 2e 6d 64 7d 20 6f 72 20 40 66 69 6c 65 7b 64 61 73 68 2e 74 65 78 69 7d 20 64 69 72 65 63 74 6c .md}.or.@file{dash.texi}.directl
a0c80 79 2c 20 61 73 0a 74 68 65 79 20 61 72 65 20 61 75 74 6f 2d 67 65 6e 65 72 61 74 65 64 2e 20 20 y,.as.they.are.auto-generated...
a0ca0 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 74 69 76 65 Instead,.change.their.respective
a0cc0 20 74 65 6d 70 6c 61 74 65 73 0a 40 66 69 6c 65 7b 72 65 61 64 6d 65 2d 74 65 6d 70 6c 61 74 65 .templates.@file{readme-template
a0ce0 2e 6d 64 7d 20 6f 72 20 40 66 69 6c 65 7b 64 61 73 68 2d 74 65 6d 70 6c 61 74 65 2e 74 65 78 69 .md}.or.@file{dash-template.texi
a0d00 7d 2e 0a 0a 54 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 44 61 73 68 20 63 61 6e 20 62 65 20 64 }...To.ensure.that.Dash.can.be.d
a0d20 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 20 45 6d 61 63 istributed.with.GNU.ELPA.or.Emac
a0d40 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 72 69 62 75 74 s,.we.require.that.all.contribut
a0d60 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 20 46 72 65 65 ors.assign.copyright.to.the.Free
a0d80 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 6d 6f 72 65 20 .Software.Foundation...For.more.
a0da0 6f 6e 20 74 68 69 73 2c 20 40 70 78 72 65 66 7b 43 6f 70 79 72 69 67 68 74 20 41 73 73 69 67 6e on.this,.@pxref{Copyright.Assign
a0dc0 6d 65 6e 74 2c 2c 2c 20 65 6d 61 63 73 2c 0a 54 68 65 20 47 4e 55 20 45 6d 61 63 73 20 4d 61 6e ment,,,.emacs,.The.GNU.Emacs.Man
a0de0 75 61 6c 7d 2e 0a 0a 40 6e 6f 64 65 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 0a 40 73 65 63 74 69 ual}...@node.Contributors.@secti
a0e00 6f 6e 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 0a 0a 40 69 74 65 6d 69 7a 65 0a 40 69 74 65 6d 0a on.Contributors..@itemize.@item.
a0e20 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 46 75 63 6f 31 2c 20 4d @url{https://github.com/Fuco1,.M
a0e40 61 74 75 73 20 47 6f 6c 6a 65 72 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 20 6c 6f 74 73 20 6f 66 atus.Goljer}.contributed.lots.of
a0e60 0a 66 65 61 74 75 72 65 73 20 61 6e 64 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 40 69 74 65 6d 0a 40 .features.and.functions..@item.@
a0e80 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 6b 66 2c 20 54 61 6b 61 url{https://github.com/tkf,.Taka
a0ea0 66 75 6d 69 20 41 72 61 6b 61 6b 69 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b fumi.Arakaki}.contributed.@code{
a0ec0 2d 67 72 6f 75 70 2d 62 79 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 -group-by}..@item.@url{https://g
a0ee0 69 74 68 75 62 2e 63 6f 6d 2f 74 61 6c 69 37 31 33 2c 20 74 61 6c 69 37 31 33 7d 20 69 73 20 74 ithub.com/tali713,.tali713}.is.t
a0f00 68 65 20 61 75 74 68 6f 72 20 6f 66 0a 40 63 6f 64 65 7b 2d 61 70 70 6c 69 66 79 7d 2e 0a 40 69 he.author.of.@code{-applify}..@i
a0f20 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 65 6d 76 tem.@url{https://github.com/vemv
a0f40 2c 20 56 40 27 7b 69 7d 63 74 6f 72 20 4d 2e 20 56 61 6c 65 6e 7a 75 65 6c 61 7d 20 63 6f 6e 74 ,.V@'{i}ctor.M..Valenzuela}.cont
a0f60 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 72 65 70 65 61 74 7d 2e 0a 40 69 74 65 6d 0a 40 75 ributed.@code{-repeat}..@item.@u
a0f80 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6e 69 63 66 65 72 72 69 65 72 rl{https://github.com/nicferrier
a0fa0 2c 20 4e 69 63 20 46 65 72 72 69 65 72 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 ,.Nic.Ferrier}.contributed.@code
a0fc0 7b 2d 63 6f 6e 73 2a 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 {-cons*}..@item.@url{https://git
a0fe0 68 75 62 2e 63 6f 6d 2f 57 69 6c 66 72 65 64 2c 20 57 69 6c 66 72 65 64 20 48 75 67 68 65 73 7d hub.com/Wilfred,.Wilfred.Hughes}
a1000 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 73 6c 69 63 65 7d 2c 20 40 63 6f 64 .contributed.@code{-slice},.@cod
a1020 65 7b 2d 66 69 72 73 74 2d 69 74 65 6d 7d 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d 6c 61 73 74 2d e{-first-item},.and.@code{-last-
a1040 69 74 65 6d 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 item}..@item.@url{https://github
a1060 2e 63 6f 6d 2f 73 68 6f 73 74 69 2c 20 45 6d 61 6e 75 65 6c 20 45 76 61 6e 73 7d 20 63 6f 6e 74 .com/shosti,.Emanuel.Evans}.cont
a1080 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 69 66 2d 6c 65 74 7d 2c 20 40 63 6f 64 65 7b 2d 77 ributed.@code{-if-let},.@code{-w
a10a0 68 65 6e 2d 6c 65 74 7d 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d 69 6e 73 65 72 74 2d 61 74 7d 2e hen-let},.and.@code{-insert-at}.
a10c0 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 .@item.@url{https://github.com/r
a10e0 65 6a 65 65 70 2c 20 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 7d 20 63 6f 6e 74 72 69 62 75 ejeep,.Johan.Andersson}.contribu
a1100 74 65 64 0a 40 63 6f 64 65 7b 2d 73 75 6d 7d 2c 20 40 63 6f 64 65 7b 2d 70 72 6f 64 75 63 74 7d ted.@code{-sum},.@code{-product}
a1120 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 7d 2e 0a 40 69 74 65 6d ,.and.@code{-same-items?}..@item
a1140 0a 40 75 72 6c 7b 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 .@url{https://github.com/kurisuw
a1160 68 79 74 65 2c 20 43 68 72 69 73 74 69 6e 61 20 57 68 79 74 65 7d 20 63 6f 6e 74 72 69 62 75 74 hyte,.Christina.Whyte}.contribut
a1180 65 64 0a 40 63 6f 64 65 7b 2d 63 6f 6d 70 6f 73 65 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 ed.@code{-compose}..@item.@url{h
a11a0 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 74 65 76 65 6e 74 6c 61 6d 62 2c 20 53 ttps://github.com/steventlamb,.S
a11c0 74 65 76 65 20 4c 61 6d 62 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 63 79 teve.Lamb}.contributed.@code{-cy
a11e0 63 6c 65 7d 2c 20 40 63 6f 64 65 7b 2d 70 61 64 7d 2c 20 40 63 6f 64 65 7b 2d 61 6e 6e 6f 74 61 cle},.@code{-pad},.@code{-annota
a1200 74 65 7d 2c 20 40 63 6f 64 65 7b 2d 7a 69 70 2d 66 69 6c 6c 7d 2c 20 61 6e 64 20 61 0a 76 61 72 te},.@code{-zip-fill},.and.a.var
a1220 69 61 64 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 40 63 6f 64 65 7b 2d 7a 69 70 7d 2e 0a 40 69 iadic.version.of.@code{-zip}..@i
a1240 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 66 62 65 72 tem.@url{https://github.com/fber
a1260 67 72 6f 74 68 2c 20 46 72 65 64 72 69 6b 20 42 65 72 67 72 6f 74 68 7d 20 6d 61 64 65 20 74 68 groth,.Fredrik.Bergroth}.made.th
a1280 65 0a 40 63 6f 64 65 7b 2d 69 66 2d 6c 65 74 7d 20 66 61 6d 69 6c 79 20 75 73 65 20 40 63 6f 64 e.@code{-if-let}.family.use.@cod
a12a0 65 7b 2d 6c 65 74 7d 20 64 65 73 74 72 75 63 74 75 72 69 6e 67 20 61 6e 64 20 69 6d 70 72 6f 76 e{-let}.destructuring.and.improv
a12c0 65 64 20 74 68 65 0a 73 63 72 69 70 74 20 66 6f 72 20 67 65 6e 65 72 61 74 69 6e 67 20 64 6f 63 ed.the.script.for.generating.doc
a12e0 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 umentation..@item.@url{https://g
a1300 69 74 68 75 62 2e 63 6f 6d 2f 68 6f 6c 6f 6d 6f 72 70 68 2c 20 4d 61 72 6b 20 4f 74 65 69 7a 61 ithub.com/holomorph,.Mark.Oteiza
a1320 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 69 6f 74 61 7d 20 61 6e 64 20 74 }.contributed.@code{-iota}.and.t
a1340 68 65 20 73 63 72 69 70 74 20 74 6f 20 63 72 65 61 74 65 20 61 6e 20 49 6e 66 6f 20 6d 61 6e 75 he.script.to.create.an.Info.manu
a1360 61 6c 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f al..@item.@url{https://github.co
a1380 6d 2f 77 61 73 61 6d 61 73 61 2c 20 56 61 73 69 6c 69 6a 20 53 63 68 6e 65 69 64 65 72 6d 61 6e m/wasamasa,.Vasilij.Schneiderman
a13a0 6e 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 73 6f 6d 65 7d 2e 0a 40 69 74 n}.contributed.@code{-some}..@it
a13c0 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6f 63 63 69 64 em.@url{https://github.com/occid
a13e0 65 6e 73 2c 20 57 69 6c 6c 69 61 6d 20 57 65 73 74 7d 20 6d 61 64 65 20 40 63 6f 64 65 7b 2d 66 ens,.William.West}.made.@code{-f
a1400 69 78 66 6e 7d 0a 6d 6f 72 65 20 72 6f 62 75 73 74 20 61 74 20 68 61 6e 64 6c 69 6e 67 20 66 6c ixfn}.more.robust.at.handling.fl
a1420 6f 61 74 73 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e oats..@item.@url{https://github.
a1440 63 6f 6d 2f 63 61 6d 73 61 75 6c 2c 20 43 61 6d 20 53 61 75 6c 7d 20 63 6f 6e 74 72 69 62 75 74 com/camsaul,.Cam.Saul}.contribut
a1460 65 64 20 40 63 6f 64 65 7b 2d 73 6f 6d 65 2d 3e 7d 2c 0a 40 63 6f 64 65 7b 2d 73 6f 6d 65 2d 3e ed.@code{-some->},.@code{-some->
a1480 3e 7d 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d 73 6f 6d 65 2d 2d 3e 7d 2e 0a 40 69 74 65 6d 0a 40 >},.and.@code{-some-->}..@item.@
a14a0 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 61 73 69 6c 2d 63 6f 6e url{https://github.com/basil-con
a14c0 74 6f 2c 20 42 61 73 69 6c 20 4c 2e 20 43 6f 6e 74 6f 76 6f 75 6e 65 73 69 6f 73 7d 0a 63 6f 6e to,.Basil.L..Contovounesios}.con
a14e0 74 72 69 62 75 74 65 64 20 40 63 6f 64 65 7b 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 7d 2c 20 tributed.@code{-common-prefix},.
a1500 40 63 6f 64 65 7b 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 7d 2c 20 61 6e 64 20 76 61 72 69 6f @code{-common-suffix},.and.vario
a1520 75 73 0a 6f 74 68 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2e 0a 40 69 74 65 6d 0a 40 75 72 us.other.improvements..@item.@ur
a1540 6c 7b 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 2c 20 50 61 l{https://github.com/doublep,.Pa
a1560 75 6c 20 50 6f 67 6f 6e 79 73 68 65 76 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 ul.Pogonyshev}.contributed.@code
a1580 7b 2d 65 61 63 68 2d 72 7d 20 61 6e 64 20 40 63 6f 64 65 7b 2d 65 61 63 68 2d 72 2d 77 68 69 6c {-each-r}.and.@code{-each-r-whil
a15a0 65 7d 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 54 68 61 6e 6b 73 21 0a 0a 4e 65 77 20 63 e}..@end.itemize..Thanks!..New.c
a15c0 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 72 65 20 76 65 72 79 20 77 65 6c 63 6f 6d 65 2e 20 20 40 ontributors.are.very.welcome...@
a15e0 78 72 65 66 7b 43 6f 6e 74 72 69 62 75 74 65 7d 2e 0a 0a 40 63 20 41 70 70 65 6e 64 69 63 65 73 xref{Contribute}...@c.Appendices
a1600 2e 0a 0a 40 6e 6f 64 65 20 46 44 4c 0a 40 61 70 70 65 6e 64 69 78 20 47 4e 55 20 46 72 65 65 20 ...@node.FDL.@appendix.GNU.Free.
a1620 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 0a 40 69 6e 63 6c 75 64 65 20 64 Documentation.License.@include.d
a1640 6f 63 2f 66 64 6c 2e 74 65 78 69 0a 0a 40 6e 6f 64 65 20 47 50 4c 0a 40 61 70 70 65 6e 64 69 78 oc/fdl.texi..@node.GPL.@appendix
a1660 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 0a 40 69 6e 63 .GNU.General.Public.License.@inc
a1680 6c 75 64 65 20 64 6f 63 2f 67 70 6c 2e 74 65 78 69 0a 0a 40 6e 6f 64 65 20 49 6e 64 65 78 0a 40 lude.doc/gpl.texi..@node.Index.@
a16a0 75 6e 6e 75 6d 62 65 72 65 64 20 49 6e 64 65 78 0a 40 70 72 69 6e 74 69 6e 64 65 78 20 66 6e 0a unnumbered.Index.@printindex.fn.
a16c0 0a 40 62 79 65 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 .@bye...........................
a16e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a17a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a17c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a17e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1800 64 61 73 68 2d 32 2e 31 39 2e 31 2f 72 61 69 6e 62 6f 77 2d 64 61 73 68 2e 70 6e 67 00 00 00 00 dash-2.19.1/rainbow-dash.png....
a1820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1860 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
a1880 30 30 32 32 31 36 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 32 35 30 00 20 30 00 00 00 0022161.00000000000.014250..0...
a18a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a18c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a18e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1900 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...................
a1920 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...................
a1940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a19a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a19c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a19e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1a00 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 00 8e 00 00 00 78 08 03 00 00 00 13 e8 3a .PNG........IHDR.......x.......:
a1a20 3e 00 00 00 19 74 45 58 74 53 6f 66 74 77 61 72 65 00 41 64 6f 62 65 20 49 6d 61 67 65 52 65 61 >....tEXtSoftware.Adobe.ImageRea
a1a40 64 79 71 c9 65 3c 00 00 03 22 69 54 58 74 58 4d 4c 3a 63 6f 6d 2e 61 64 6f 62 65 2e 78 6d 70 00 dyq.e<..."iTXtXML:com.adobe.xmp.
a1a60 00 00 00 00 3c 3f 78 70 61 63 6b 65 74 20 62 65 67 69 6e 3d 22 ef bb bf 22 20 69 64 3d 22 57 35 ....<?xpacket.begin="...".id="W5
a1a80 4d 30 4d 70 43 65 68 69 48 7a 72 65 53 7a 4e 54 63 7a 6b 63 39 64 22 3f 3e 20 3c 78 3a 78 6d 70 M0MpCehiHzreSzNTczkc9d"?>.<x:xmp
a1aa0 6d 65 74 61 20 78 6d 6c 6e 73 3a 78 3d 22 61 64 6f 62 65 3a 6e 73 3a 6d 65 74 61 2f 22 20 78 3a meta.xmlns:x="adobe:ns:meta/".x:
a1ac0 78 6d 70 74 6b 3d 22 41 64 6f 62 65 20 58 4d 50 20 43 6f 72 65 20 35 2e 30 2d 63 30 36 30 20 36 xmptk="Adobe.XMP.Core.5.0-c060.6
a1ae0 31 2e 31 33 34 37 37 37 2c 20 32 30 31 30 2f 30 32 2f 31 32 2d 31 37 3a 33 32 3a 30 30 20 20 20 1.134777,.2010/02/12-17:32:00...
a1b00 20 20 20 20 20 22 3e 20 3c 72 64 66 3a 52 44 46 20 78 6d 6c 6e 73 3a 72 64 66 3d 22 68 74 74 70 .....">.<rdf:RDF.xmlns:rdf="http
a1b20 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f 31 39 39 39 2f 30 32 2f 32 32 2d 72 64 66 2d 73 79 6e ://www.w3.org/1999/02/22-rdf-syn
a1b40 74 61 78 2d 6e 73 23 22 3e 20 3c 72 64 66 3a 44 65 73 63 72 69 70 74 69 6f 6e 20 72 64 66 3a 61 tax-ns#">.<rdf:Description.rdf:a
a1b60 62 6f 75 74 3d 22 22 20 78 6d 6c 6e 73 3a 78 6d 70 3d 22 68 74 74 70 3a 2f 2f 6e 73 2e 61 64 6f bout="".xmlns:xmp="http://ns.ado
a1b80 62 65 2e 63 6f 6d 2f 78 61 70 2f 31 2e 30 2f 22 20 78 6d 6c 6e 73 3a 78 6d 70 4d 4d 3d 22 68 74 be.com/xap/1.0/".xmlns:xmpMM="ht
a1ba0 74 70 3a 2f 2f 6e 73 2e 61 64 6f 62 65 2e 63 6f 6d 2f 78 61 70 2f 31 2e 30 2f 6d 6d 2f 22 20 78 tp://ns.adobe.com/xap/1.0/mm/".x
a1bc0 6d 6c 6e 73 3a 73 74 52 65 66 3d 22 68 74 74 70 3a 2f 2f 6e 73 2e 61 64 6f 62 65 2e 63 6f 6d 2f mlns:stRef="http://ns.adobe.com/
a1be0 78 61 70 2f 31 2e 30 2f 73 54 79 70 65 2f 52 65 73 6f 75 72 63 65 52 65 66 23 22 20 78 6d 70 3a xap/1.0/sType/ResourceRef#".xmp:
a1c00 43 72 65 61 74 6f 72 54 6f 6f 6c 3d 22 41 64 6f 62 65 20 50 68 6f 74 6f 73 68 6f 70 20 43 53 35 CreatorTool="Adobe.Photoshop.CS5
a1c20 20 4d 61 63 69 6e 74 6f 73 68 22 20 78 6d 70 4d 4d 3a 49 6e 73 74 61 6e 63 65 49 44 3d 22 78 6d .Macintosh".xmpMM:InstanceID="xm
a1c40 70 2e 69 69 64 3a 35 42 36 30 36 30 37 33 31 34 39 44 31 31 45 32 38 34 45 30 44 32 33 30 42 30 p.iid:5B606073149D11E284E0D230B0
a1c60 39 44 31 43 38 46 22 20 78 6d 70 4d 4d 3a 44 6f 63 75 6d 65 6e 74 49 44 3d 22 78 6d 70 2e 64 69 9D1C8F".xmpMM:DocumentID="xmp.di
a1c80 64 3a 35 42 36 30 36 30 37 34 31 34 39 44 31 31 45 32 38 34 45 30 44 32 33 30 42 30 39 44 31 43 d:5B606074149D11E284E0D230B09D1C
a1ca0 38 46 22 3e 20 3c 78 6d 70 4d 4d 3a 44 65 72 69 76 65 64 46 72 6f 6d 20 73 74 52 65 66 3a 69 6e 8F">.<xmpMM:DerivedFrom.stRef:in
a1cc0 73 74 61 6e 63 65 49 44 3d 22 78 6d 70 2e 69 69 64 3a 35 42 36 30 36 30 37 31 31 34 39 44 31 31 stanceID="xmp.iid:5B606071149D11
a1ce0 45 32 38 34 45 30 44 32 33 30 42 30 39 44 31 43 38 46 22 20 73 74 52 65 66 3a 64 6f 63 75 6d 65 E284E0D230B09D1C8F".stRef:docume
a1d00 6e 74 49 44 3d 22 78 6d 70 2e 64 69 64 3a 35 42 36 30 36 30 37 32 31 34 39 44 31 31 45 32 38 34 ntID="xmp.did:5B606072149D11E284
a1d20 45 30 44 32 33 30 42 30 39 44 31 43 38 46 22 2f 3e 20 3c 2f 72 64 66 3a 44 65 73 63 72 69 70 74 E0D230B09D1C8F"/>.</rdf:Descript
a1d40 69 6f 6e 3e 20 3c 2f 72 64 66 3a 52 44 46 3e 20 3c 2f 78 3a 78 6d 70 6d 65 74 61 3e 20 3c 3f 78 ion>.</rdf:RDF>.</x:xmpmeta>.<?x
a1d60 70 61 63 6b 65 74 20 65 6e 64 3d 22 72 22 3f 3e 76 b9 da 1b 00 00 03 00 50 4c 54 45 e1 a0 6d f1 packet.end="r"?>v.......PLTE..m.
a1d80 f5 f7 d0 4d 58 bc ec ec 8c d2 f6 ec f6 fa f2 f6 f8 b1 e8 e8 ef f8 f8 93 99 9c f1 f8 f6 ed f8 f7 ...MX...........................
a1da0 c2 ed ed 89 c5 e4 cb f1 f1 b1 e8 e6 8d 6b 93 af 66 73 4f a7 d3 e5 f7 f4 4f b6 65 c7 ec ee 93 db .............k..fsO.....O.e.....
a1dc0 fa f0 f8 f8 d4 ee f3 98 e3 fe cb ee ed fb 6b 31 a8 d5 eb ae de 85 81 c5 f2 b1 e6 e6 e4 f8 f4 90 ..............k1................
a1de0 c7 db 95 dd fd 76 b5 dc f8 51 3a 7d c1 ea 88 b6 d2 b5 e9 e8 fd ff fd af e7 e8 ad e6 e6 6e b2 e4 .....v...Q:}.................n..
a1e00 ae e8 e8 ee c1 86 d5 f1 f1 c5 f0 ef 33 a3 af c4 98 ac 71 b4 e3 6b 91 ae 57 b0 df 26 97 d5 e6 44 ............3.....q..k..W..&...D
a1e20 49 d4 f0 ef ac e6 ea b2 e6 e8 f5 f6 f6 e9 f5 f6 5e 5b 68 70 c6 55 ec f5 f6 97 d4 e6 8e d0 6a fc I...............^[hp.U........j.
a1e40 63 2e 95 dc fb e5 f5 f8 05 03 03 84 c9 f1 7e c3 f1 b0 d3 c3 d8 e9 f0 97 c7 e3 79 bd e9 d9 f2 f1 c.............~...........y.....
a1e60 ea e8 ac 94 da f9 2f 69 b5 65 b8 d9 75 bb ea e1 f5 f6 ae e8 e6 50 99 c8 75 b9 e4 60 2e 83 c4 d5 ....../i.e..u........P..u..`....
a1e80 af dd f5 f5 66 32 4b 4d 48 98 d0 f0 f0 78 79 82 66 aa de 7b bb e2 d0 ca cb 83 bf df 41 ae 8e f4 ....f2KMH....xy.f..{........A...
a1ea0 f8 f8 54 84 b3 6c ae e1 45 67 b1 b4 e7 fb d9 e9 b0 ea ed b0 1d 92 d7 e5 f5 f3 92 dc fa 88 ce f3 ..T..l..Eg......................
a1ec0 b3 d7 ea 73 b6 e9 7b 86 96 40 a0 d2 29 9c c8 ab 1e 63 fa 3d 3d 6e 74 a4 f5 ec aa 75 c4 d5 92 dd ...s..{..@..)....c.==nt....u....
a1ee0 fd d9 f4 f5 dd ef f2 a8 cc e2 d5 b7 c9 dc f5 f7 98 de fc ba ea e8 89 d3 e9 e9 f7 f8 b1 43 7a 45 .............................CzE
a1f00 56 a4 91 d9 fb d8 f2 f4 b6 eb e9 91 d9 f6 f0 f7 f3 e4 f8 f9 cc e5 99 8f d6 f9 95 db fc a3 db f0 V...............................
a1f20 dd f3 f4 74 ac d9 e1 f4 f3 b5 e7 e7 fc de f4 37 9b d3 d4 6e 48 f0 ee b3 a7 e0 f5 94 d3 f2 d5 f5 ...t...........7...nH...........
a1f40 f5 7c 90 c2 be f0 f9 b1 b6 c0 e6 e4 e6 a6 e2 ea f7 f5 f5 b2 e9 ea fa fb f8 7b bf ef 3e 89 c3 f5 .|.......................{..>...
a1f60 fc f8 b0 e7 e9 d9 f4 f2 df f8 f8 b2 e7 ea e1 f1 f6 c1 d9 e3 29 14 21 40 aa e1 38 92 c4 e3 f2 f2 ....................).!@..8.....
a1f80 ee f8 fb 69 c7 f3 7b b6 e0 d5 f3 f1 f2 6e 36 b5 ea eb c1 eb e9 ed f5 f4 e6 f3 f1 d3 f1 fa d5 f2 ...i..{......n6.................
a1fa0 f3 f2 f0 b8 5b 7d 95 cf f2 f3 dd f4 f0 30 85 c1 f1 f8 fa e4 dd db 39 77 bd 20 96 de 57 bc 44 bd ....[}.......0........9w....W.D.
a1fc0 e9 eb f4 f8 fb ea f3 f6 ea f9 fb d9 f7 f7 32 36 39 eb d7 9a b0 e6 ee b1 dc f1 c4 e4 f0 cf f5 f9 ..............269...............
a1fe0 ce e3 ee 63 be ef 29 8e d4 b2 eb e8 5a ba e9 e5 f3 f6 b8 ed eb 22 9c dd 7c a4 be e8 f7 f4 61 ab ...c..).....Z........"..|.....a.
a2000 c5 e5 ef f3 f8 fc fc 81 d4 fb f7 f7 f8 73 b1 e0 ce f4 f2 ea fa f7 f4 f7 f4 9d d4 f1 ed f1 b8 ea .............s..................
a2020 f3 f1 a5 ef f6 b5 e7 ec 63 bf e2 b8 df ef ac e3 e5 b2 e5 e8 f0 fa f9 b9 e9 e9 f0 f3 f1 f0 f3 f6 ........c.......................
a2040 ed eb ed f4 f5 f7 a7 de e4 a0 dc e4 60 8a a1 49 ac b9 5b b7 92 d1 f9 f2 7d bb c1 ef 86 4c 7a cc ............`..I..[.....}....Lz.
a2060 ea f0 fc fb b5 ef ea f3 fa fa 2f 85 cf 28 3e 4e 7e c9 87 46 48 47 f0 f7 f5 b1 e7 e8 fc a6 06 85 ........../..(>N~..FHG..........
a2080 00 00 1d d9 49 44 41 54 78 da dc 9c 0f 5c 13 77 9a ff 4d 93 cc a4 93 90 88 34 09 8c 5e c4 b8 18 ....IDATx....\.w..M......4..^...
a20a0 06 a6 49 1b b5 18 e2 c1 1a 84 55 22 35 89 58 da 54 4a 23 bd b6 24 46 fb 6f 01 97 60 14 42 68 38 ..I.......U"5.X.TJ#..$F.o..`.Bh8
a20c0 4a 7e d6 4a d7 b3 91 75 20 6d dd 66 a1 09 3d 5a 6c b6 2d 29 fe ea 76 6d 53 b1 71 59 50 f6 76 b5 J~.J...u.m.f..=Zl.-)..vmS.qYP.v.
a20e0 4a b6 87 76 f7 b6 7f d8 bb 4d ee 3b 93 00 51 6b 0b 7a ee fd 5e bf 07 c9 1f c2 8b 79 e7 f3 fc f9 J..v.....M.;..Qk.z..^......y....
a2100 3e cf 77 26 ce 8b fe 3f 65 f3 fe 7f c3 21 08 e2 7f 15 07 06 df 6e 18 07 10 30 b8 85 e1 a0 8e 07 >.w&...?e....!.......n...0......
a2120 e3 b8 02 fc 94 a7 50 cc fc 1a 86 61 8a d8 73 f7 f4 8f 15 04 76 d1 ed 86 89 99 df 53 b8 6f 5a 1d ......P....a..s.....v......S.oZ.
a2140 d8 cb f1 12 2e 6f f4 b8 97 8b ea 6c 3d 5d 3d f5 3a dc 75 8e 42 98 11 0a 73 d1 e9 92 c5 24 3a 86 .....o.....l=]=.:.u.B...s....$:.
a2160 db 24 71 19 5d 74 0e c7 eb c6 5c b6 69 69 5d ae 2b c4 bd 21 67 e9 3d 7d ce 7f ed 1a 72 1d 9b 6c .$q.]t....\.ii].+..!g.=}....r..l
a2180 a3 77 8d 8f 19 b4 f5 9c 3a 14 a0 28 86 38 30 75 10 f0 45 6f b7 0e d6 85 71 f0 04 93 35 f3 b1 c5 .w......:..(.80u..Eo....q...5...
a21a0 18 8e 07 65 75 1e bf a7 d1 49 af 6b 1e 88 02 e9 60 f2 27 75 5c 98 b8 11 1c 18 86 09 0c 23 14 51 ...eu....I.k....`.'u\........#.Q
a21c0 c2 76 76 24 a2 66 1b 8e 1e 1b 47 42 29 88 dd 6e 47 52 06 27 50 19 47 c7 19 b4 4a 74 3c 05 ec 22 .vv$.f....GB)..nGR.'P.G...Jt<.."
a21e0 70 34 84 20 48 a0 91 20 30 9c eb 09 a0 74 fe 10 38 b4 c1 20 f4 8f d0 d0 e6 49 1a a7 5f 46 6f a4 p4..H...0....t..8........I.._Fo.
a2200 db b4 fe c0 88 5f bf 8a 20 e0 a8 62 8e 38 3c 1c a7 73 65 43 59 0a 82 33 0e 08 ec f6 71 28 22 14 ....._.....b.8<..seCY..3....q(".
a2220 22 91 08 2d 62 47 a0 bc 32 e1 49 d9 e0 48 95 37 3c e4 ed ab 09 f6 8f 8f 45 22 f6 31 a6 8d 3e 24 "..-bG..2.I..H.7<.......E".1..>$
a2240 1b 34 d0 8e 0e 06 ac 35 1e 88 c5 b6 db c7 68 35 42 44 a9 0d e4 1d 0b a8 b5 10 c2 46 0c 4a 3e 97 .4.....5......h5BD.........F.J>.
a2260 e3 9c 3b 0e cc 65 4f 06 98 1c 2c 4b 36 62 27 25 41 10 5a 84 6d 07 38 34 5a 64 5c 18 40 d8 42 08 ..;..eO...,K6b'%A.Z.m.84Zd\.@.B.
a2280 6a 6b 1f 6c ee f2 e7 f5 8d b3 01 4e 04 a1 f5 5b f3 ac 10 3b 22 24 a5 f2 83 1b bb 3d e2 2f 10 22 jk.l.......N...[...;"$.....=./."
a22a0 e3 86 88 61 1c 61 fb 59 11 d2 84 93 79 3e 0c 9e 23 0e 46 6f f6 0b 11 c3 20 6a ab ef 9d a0 01 4d ...a.a.Y....y>..#.Fo.....j.....M
a22c0 48 03 7f 9e b2 31 bb 10 1c 3d 22 cc 03 87 04 82 41 76 ea 05 da 18 02 e5 92 de 8c 20 88 90 c5 8a H....1...=".....Av..............
a22e0 90 34 34 88 25 14 b2 ec 11 21 a9 a9 30 22 a4 de d7 88 7e 31 3e 47 9c 2c 0e 50 9b c5 1a f7 b3 ca .44.%....!..0"....~1>G.,.P......
a2300 ac 50 e4 26 0c 99 79 48 83 22 14 78 6e 2a 8f 37 37 1c e2 1b ae 07 bc 43 d2 0c d0 58 04 41 6e 8a .P.&..yH.".xn*.77......C...X.An.
a2320 86 bc 81 10 24 37 a6 5d 24 82 46 e7 e2 2c 50 d2 f0 1a a0 0b 65 6c 10 09 37 8c 63 87 a0 dc 31 40 ....$7.]$.F..,P.....el..7.c...1@
a2340 11 b1 d3 22 10 78 90 3b 36 86 44 c6 7a c3 8a 59 e3 b8 41 f5 e2 9e 39 93 32 ce 66 4d 99 70 22 11 ...".x.;6.D.z..Y..A...9.2.fM.p".
a2360 07 a2 7d 17 00 6d 26 c6 d8 76 24 77 e2 25 60 13 48 84 96 1b b3 31 44 88 f4 a2 17 67 5f 77 30 5b ..}..m&..v$w.%`.H....1D....g_w0[
a2380 fb a0 df 30 39 29 64 cd e0 e4 5e 81 43 66 c7 75 91 a8 df 04 01 4b e2 80 27 2f bd 94 0b e5 be 64 ...09)d...^.Cf.u.....K..'/.....d
a23a0 18 8b d3 e4 42 79 af a1 3e de ec cb 20 e1 ea 9b 14 fa 21 ff 38 0b 4a c0 19 43 a6 92 2a 02 f2 26 ....By..>.........!.8.J..C..*..&
a23c0 d2 0b 5d 2f ba d9 11 25 70 6d 84 6d b0 53 38 55 b9 b9 bd bd 63 40 a0 29 1a 16 db 3a 10 cf f2 59 ..]/...%pm.m.S8U....c@.)...:...Y
a23e0 e0 80 52 3e 34 18 60 25 9a 10 a4 6a 84 2a 3d 6c ea 80 bf 3f 39 f6 7b eb 1f d9 94 06 76 da e7 42 ..R>4.`%...j.*=l...?9.{.....v..B
a2400 16 44 b3 23 93 14 2e 94 db cb e1 fb ac 88 21 35 d5 70 18 28 c4 1e 79 43 cd cc d3 8e 4c d0 28 75 .D.#..........!5.p.(..yC....L.(u
a2420 68 11 26 69 3e 1c 9f 35 4e 14 93 8d 1b 12 61 c0 3f 7f 2b 5f 5a 05 de b3 81 4a 0b e4 b5 5a b4 4c h.&i>..5N.....a.?.+_Z....J...Z.L
a2440 4d 69 65 47 58 6f 40 a0 fa 21 f6 a3 55 a0 9c 8c d9 0d 4a 67 96 0e 15 2a 25 38 aa ce f1 1d 1d 19 MieGXo@..!..U.....Jg...*%8......
a2460 79 c9 6e 40 72 46 f2 98 b9 d0 04 04 31 d9 4c b6 90 29 75 ce 01 47 91 c5 0f 40 57 d0 b0 58 7e 7d y.n@rF......1.L..)u..G...@W..X~}
a2480 16 af 0f 41 de d0 e6 b4 1a 22 f6 11 5a 7d b0 0e 81 a8 30 41 8e b6 42 68 9b 61 f2 7d a7 84 df 59 ...A....."..Z}....0A..Bh.a.}...Y
a24a0 c5 b4 87 d0 8b 0a 37 ec ab c7 61 98 37 c4 d5 e7 8d bc 71 34 74 54 7f 34 a7 6d 24 97 c6 66 5b 99 ......7...a.7.....q4tT.4.m$..f[.
a24c0 cc 5a bd 8f 17 8c 2a 66 8b e3 56 d8 64 6c ff 14 cb b8 3f af 8a 35 3e 6e d0 eb a2 12 6d 9e 0f 86 .Z....*f..V.dl....?..5>n....m...
a24e0 87 ea 22 34 25 5f 87 d3 b5 42 c3 d8 98 5f a9 77 f2 f9 b8 57 df ca d7 e9 30 cc 39 40 b7 f1 14 a4 .."4%_...B..._.w...W....0.9@....
a2500 c0 18 01 2b 86 0a fc d6 be da 4e ad 5e eb 29 68 56 bf c6 62 33 59 4c 26 0d d5 61 0a 78 f6 2b 3a ...+......N.^.)hV..b3YL&..a.x.+:
a2520 46 ef f2 b0 a0 78 52 09 85 d6 b6 14 3f 12 69 1b 00 3d 41 d8 c7 c3 61 cc cb e1 d8 70 9c c8 0a cb F....xR.....?.i..=A...a....p....
a2540 3a 3b d5 fc 30 d9 72 b9 09 1d 7c 91 d4 9f c0 f1 e9 06 88 c0 86 06 99 1e a6 96 c9 d4 16 78 40 bc :;..0.r...|..................x@.
a2560 00 61 98 2c 36 5b a8 86 71 78 d6 fd 0e 41 e0 b2 a9 ea 07 68 94 ac 80 41 eb e3 fb 24 18 59 8d 08 .a.,6[..qx...A.....h...A...$.Y..
a2580 37 e8 39 40 7d 04 ef 3c 0a 2b c0 5f 5d 0c 9a 0f 38 0a bb e1 68 5c 7d f0 fa 74 7a d2 65 5a 0f 80 7.9@}..<.+._]...8...h\}..tz.eZ..
a25a0 b0 5a 99 4a 2b c9 c2 64 5b 95 4c c8 9f a3 20 66 87 a3 80 31 e0 71 fa 20 32 5d 6f 84 21 b4 95 66 .Z.J+..d[.L....f...1.q..2]o.!..f
a25c0 0d 67 61 54 6f e9 76 c3 53 bd 2a 50 44 41 90 3d 33 4c 31 c4 83 8e 7c 37 f1 43 61 43 ed 83 a4 26 .gaTo.v.S.*PDA.=3L1...|7.CaC...&
a25e0 94 28 31 b3 7a b4 3e 0e 9f 2f 51 cc b2 39 75 bb 38 ff d1 d5 d5 ec 47 a6 8b b1 70 12 c5 07 06 24 .(1.z.>../Q..9u.8.....G...p....$
a2600 f0 9c bb 47 1c 3f e3 67 5e 6d 1e a5 24 0b c3 88 d9 b6 ee 6e ae 3f 00 9a 12 50 a7 a6 d3 6a b2 06 ...G.?.g^m..$......n.?...P...j..
a2620 73 13 ee b9 37 b3 78 50 cb ba 92 05 78 8d 75 34 88 cd 7e 92 20 bc cd 23 1e 96 67 66 65 10 0a 85 s...7.xP....x.u4..~....#..gfe...
a2640 81 54 50 3f e1 1b e8 f5 b3 d0 2b 69 f2 98 75 3e be 4d 31 87 c1 06 b3 9d 85 a0 c4 f2 37 11 30 bc .TP?......+i..u>.M1.........7.0.
a2660 3c 70 43 23 95 db 4b e7 14 78 06 67 68 fc 4a ce 50 14 23 66 33 67 4d ad 66 b0 4d 3b 99 c8 e3 6f <pC#..K..x.gh.J.P.#f3gM.f.M;...o
a2680 45 41 1e 5f f3 6b df 5b d4 c1 1b 83 7f 0d 52 9c e9 39 3c 15 3f 05 29 da 01 1d 3e a7 b1 0f a6 77 EA._.k.[......R..9<.?.)...>....w
a26a0 0d fa a1 29 1e bf df 1f 28 70 62 8b 67 92 72 96 38 a0 16 b8 6d 9c 3a 3f 9b 19 58 b7 73 1d 95 5c ...)....(pb.g.r.8...m.:?..X.s..\
a26c0 4c 96 da 16 bc 9e cf e7 5d 67 d0 24 b8 01 68 26 c3 5f ab 6d 6b e5 2b 14 df 3d 9b c2 bc 58 a9 49 L.......]g.$..h&._.mk.+..=...X.I
a26e0 38 90 db 8d e3 70 3d 9b 69 a5 4d ae 5b ba 65 34 16 37 1e 65 58 37 b7 a1 18 0c 87 74 eb 8c a7 fc 8....p=.i.M.[.e4.7.eX7.....t....
a2700 5a 09 a6 c0 c0 1f bf 3e 4d 30 78 8e 1a 8b 5d 36 1b 9c d8 45 7e 23 a9 78 ee 43 3f d3 ff 7e 77 47 Z......>M0x...]6...E~#.x.C?..~wG
a2720 47 e5 3a 3f 59 78 20 26 1d 9e 1b 0e ce 6d d6 5a fd 33 59 e5 e7 2e 06 61 a0 b8 16 07 76 53 6a c0 G.:?Yx.&.....m.Z.3Y....a....vSj.
a2740 ae 25 15 97 6c e0 65 f8 f8 92 fc 2c 49 fc f7 08 9c 7e a6 b3 a2 b4 72 fd d7 cc c9 9d 66 51 47 65 .%..l.e....,I....~....r.....fQGe
a2760 6d 00 04 8e 55 29 95 cc 09 07 8e f2 ea 02 7e 8f c7 13 87 f1 b0 46 da 78 d4 46 c1 b7 e0 50 77 92 m...U)........~......F.x.F...Pw.
a2780 fc 2d 19 f2 4b 60 12 77 e6 57 56 2e 5d 15 e7 81 e9 cd 86 25 66 91 b9 c2 33 b9 ee b9 22 51 c7 68 .-..K`.w.WV.]......%f...3..."Q.h
a27a0 6b 9e b0 31 4c 0f c3 73 dc c1 e0 f1 fa 03 2c e1 14 8e 10 99 34 34 c2 d7 ee 62 24 3c 5b fc 5c 71 k..1L..s......,.....44...b$<[.\q
a27c0 5a a1 7c 95 cb 6d ab e8 b0 68 96 c6 c2 87 c0 da 87 5f a9 14 89 cc dd 1e c3 fa 51 51 91 a6 fb 7d Z.|..m...h......._........QQ...}
a27e0 ae 4f 82 63 d8 1c 37 54 08 6f bb 95 85 4c 7b 0a 61 2b a5 f5 a0 51 70 c1 53 c3 fa 15 48 e0 a9 eb .O.c..7T.o...L{.a+...Qp.S...H...
a2800 d2 73 0c b1 b8 b4 c2 cb e3 2d 15 59 54 f2 a4 60 0c e7 cc 6f 80 28 00 c7 b0 6e 0b b8 d7 24 0d 17 .s.......-.YT..`...o.(...n...$..
a2820 c0 f8 dc f6 77 c0 31 dc 18 c7 13 98 c9 2a bf 7a 20 8c 63 57 ec 1d 5c 8d 23 b9 54 e9 30 aa 1c 5b ....w.1......*.z..cW..\.#.T.0..[
a2840 f2 6d 51 80 63 61 54 1e 74 81 57 dd ae 33 3b b3 45 22 91 bc 62 98 ba cf fe 95 ff 65 49 1c 67 31 .mQ.caT.t.W..3;.E"..b......eI.g1
a2860 58 5d 41 b6 2b 78 df a7 0e 81 61 b2 32 50 90 a7 78 84 01 2d 8c 7f cf 3a 05 d4 71 18 05 96 8c 51 X]A.+x....a.2P..x..-...:..q....Q
a2880 97 73 69 91 45 20 2e 4d 92 38 61 2c 78 ec 24 29 8e a8 72 7f ef 73 1d 22 51 d1 28 bd 5e 12 3b c4 .si.E..M.8a,x.$)..r..s."Q.(.^.;.
a28a0 62 d0 26 f5 1f 3b d6 3f 80 5f 1d 46 f3 ae fa 01 0e d3 65 83 01 68 06 87 05 41 f5 31 6d e2 42 c3 b.&..;.?._.F......e..h...A.1m.B.
a28c0 f1 f0 8d 8b 04 c3 a0 af b8 30 6a 12 1b 55 0d 95 f9 df 54 68 2c 46 b1 69 54 07 83 1e af ec 43 10 .........0j..U....Th,F.iT.....C.
a28e0 39 22 d1 96 cf 4e 90 f7 9a a4 46 1e d5 82 e0 3a a7 ac cb 13 40 90 49 6d 98 b8 46 1d f8 0a 57 ad 9"...N....F....:....@.Im..F...W.
a2900 a2 0f b2 a1 09 d0 56 93 83 3d f8 1a 47 46 0a 6c 04 9e e0 9d 78 9d 9b 2a 77 30 19 52 c1 72 91 98 ......V..=..GF.l....x..*w0.R.r..
a2920 94 a7 fb 9b 25 72 b1 c0 28 a8 bc 1c 84 5d 43 e8 7a 0d c0 28 da b2 6e bd 99 f2 15 17 b4 8d 0a 1c ....%r..(....]C.z..(..n.........
a2940 c7 e9 75 e3 08 e8 04 d9 ac 40 23 7c 2d ce cc 8f dc 18 8e 0f 79 84 10 69 a0 23 1d 0f b1 c7 0d 23 ..u......@#|-.......y..i.#.....#
a2960 79 fc c5 57 25 d2 54 fd 99 a9 d2 c1 fc 6e b1 40 a0 72 54 1e bc 9c dd 60 34 8a 8b 93 5c 3c 7a b3 y..W%.T......n.@.rT....`4...\<z.
a2980 b2 9b f4 55 c6 e8 ba ee 0c 91 a8 43 de d5 e9 a2 87 71 19 97 3b 08 7a 28 ca 90 b3 f5 a0 99 54 5c ...U.......C.....q..;.z(......T\
a29a0 27 76 08 af ec 58 59 dd 20 35 4a 41 42 61 5e 9b 1a 2c 76 a9 f5 38 2f 1e 71 bc c4 85 31 7e 17 77 'v...XY..5JABa^..,v..8/.q...1~.w
a29c0 dc c1 a5 0d 46 81 00 60 1c 04 41 4d 7a 0b ff 46 36 be 6e a9 88 72 d2 2b a3 e0 ce 9c ff b5 b5 6b ....F..`..AMz..F6.n..r.+.......k
a29e0 58 db 95 39 3c 19 87 01 f2 f8 d1 55 1c 2f 58 0a bf 0d 87 80 db bf 1e 31 c4 3a 63 2a 74 d8 fe 56 X..9<......U./X........1.:c*t..V
a2a00 1e 2f 0b 73 f3 e0 ab ca 8c 2b be ff 44 f5 8c 51 89 d7 05 07 93 4c a4 3c 8c d1 83 a3 0c b1 51 cc ./.s.....+..D..Q.....L.<......Q.
a2a20 c8 e6 34 9f 1d 3f 41 fa 48 64 5e 44 fa aa a8 bb 2e f3 70 ed 87 2f fc f3 0b ff 94 7a f8 b0 87 cd ..4..?A.Hd^D......p../.....z....
a2a40 f6 90 38 c2 46 ae a7 0f f7 ba 40 1b 1c 2b 47 f3 12 87 06 56 40 78 c5 bc 89 28 25 e4 64 f0 1d 1b ..8.F.....@..+G....V@x...(%.d...
a2a60 ba e0 96 77 e9 72 56 30 78 b9 03 e0 08 8c f2 cb 15 20 b5 8c 25 95 9f fd 86 35 f9 8a 86 c2 39 d1 ...w.rV0x...........%....5....9.
a2a80 dd 51 28 d2 6c 7b 7f d1 c6 9f 6f 9d 0f ec 8b 6e ce e4 18 8d 19 13 68 d0 6f ed 2c e0 ca fa cf 70 .Q(.l{....o....n......h.o.,....p
a2aa0 c8 9d e1 44 9c 2c 8e 1f ba 72 fa 55 d3 e1 ef d9 5f 8e ba cf 5d aa ac 1c cd b7 f1 2a 1c 02 41 8b ...D.,...r.U...._...]......*..A.
a2ac0 4a 54 91 6f 56 19 05 2a f3 96 e7 52 87 77 76 90 38 a5 3b 9f 13 15 16 8d 56 6c da 9e fc fa 0f 9e JT.oV..*...R.wv.8.;.....Vl......
a2ae0 02 76 cf 6d f3 97 d5 0d db 63 ee 22 f7 67 84 67 27 85 e3 e3 5c 72 6b 3a d1 59 74 96 5f c8 26 33 .v.m.....c.".g.g'...\rk:.Yt._.&3
a2b00 8a da c5 61 b1 0c 05 92 6f eb d8 a6 23 d9 4d 75 7a 97 2b 1b 18 e5 15 ae fc 42 55 89 aa c5 51 9a ...a....o...#.Muz.+......BU...Q.
a2b20 2f 07 2a 59 8a cd e6 a5 27 d7 93 38 9a 51 4d 76 b6 79 c5 82 25 f7 2d 04 46 f2 24 6f 4f de bd fc /.*Y....'..8.QMv.y..%.-.F.$oO...
a2b40 b3 43 2c 8a c7 c3 64 b3 3c 7e c0 35 d9 a7 a3 ea ce 94 00 ee 73 0a 2d eb 28 5b c8 f2 1f 1e 3e 3c .C,...d.<~.5........s.-.([....><
a2b60 4e 32 f9 df 0f 63 df 36 26 c7 87 19 30 5d 81 5b e7 85 4a 86 45 55 58 7e b9 42 d0 d2 22 10 67 2c N2...c.6&...0].[..J.EUX~.B..".g,
a2b80 91 3b c4 2d e2 0c 73 a1 79 3d 99 58 c5 e6 16 b1 7c c7 8e 1f 3f fa cc 33 f3 48 9e 85 f7 00 9e 8f .;.-..s.y=.X....|...?..3.H......
a2ba0 96 6c 7d 3b ff 30 8b 9d 60 c2 b6 7a 98 c2 e1 c1 53 bb 4a 59 be 56 eb e4 f8 1b af 2c da f6 61 2d .l};.0..`..z....S.JY.V.....,..a-
a2bc0 92 39 7c d8 33 bd 0b 74 ed d2 19 ab 3d 20 d7 16 db 92 8a c5 02 8b a9 bc 82 a1 02 38 8c f2 6e 93 .9|.3..t....=..............8..n.
a2be0 a5 c5 92 61 06 f5 06 24 54 51 b6 43 6c 29 96 3f fa cc 86 0d fb 36 7c b9 30 2e 50 f2 82 86 15 2b ...a...$TQ.Cl).?.....6|.0.P....+
a2c00 17 1d 4e a4 29 40 c9 f9 19 38 0b e0 b8 25 5e 89 64 48 76 e6 4c fb f0 f0 f0 a1 f1 c6 fc 15 3b 16 ..N.)@...8...%^.dHv.L.........;.
a2c20 2c db 76 6e 68 28 7c dd ce 64 7a e4 8b 06 0f 8e 3a 54 25 16 87 bc d4 22 68 11 34 64 24 c9 e5 c5 ,.vnh(|..dz.....:T%...."h.4d$...
a2c40 2d c5 20 99 cc 60 a1 32 67 34 08 2c 45 3f 7a e6 b1 0d 1b 36 3c 76 e7 eb 53 3c bb 3f a9 2e dd 95 -....`.2g4.,E?z....6<v..S<.?....
a2c60 83 24 f0 b0 d8 e9 1c 82 8a 1d 85 fb e2 a5 cb c0 3e 3c 71 e2 43 f0 7d 62 5d ed 1f ff 98 5a f1 b3 .$..............><q.C.}b]....Z..
a2c80 7b df f9 d9 c6 5d 07 83 43 24 d1 77 0e 33 b6 a4 52 8b 11 e8 22 67 80 e4 32 9a 32 b6 88 4a 8b 8b {....]..C$.w.3..R..."g..2.2..J..
a2ca0 8b 49 65 c0 f2 c9 30 89 c5 85 3f 02 e2 90 3c f3 d6 90 38 64 40 cf ff 85 e8 c4 88 3d 81 c6 ef 87 .Ie...0...?...<...8d@......=....
a2cc0 f4 31 1c 58 72 69 e3 82 bd 2b 1f 07 b6 92 b2 bd 7b 77 6c 29 ff f1 c6 b7 f7 3c b0 e7 ed 05 5f 5d .1.Xri...+......{wl).....<...._]
a2ce0 f6 0e 7d e7 e0 c9 73 ad 1a 35 a9 04 46 15 a3 d4 a1 32 1a 1d 95 66 b0 a4 57 92 51 5c 39 aa e9 60 ..}...s..5..F....2...f..W.Q\9..`
a2d00 30 c4 d5 a6 9d cf 50 3c 8f 7d 10 93 67 e1 c2 a7 9e fa e2 17 eb 0f 0d 26 a8 a3 2c d0 3b a7 32 cb 0.....P<.}..g..........&..,.;.2.
a2d20 15 d4 e5 7f 75 7e c5 11 c0 f4 ee bb ef 3e fe ee e3 31 b4 77 df de b3 79 f3 9e 77 16 ec 3a 38 64 ....u~.......>...1.w...y..w..:8d
a2d40 fb 0e 9c a8 2d bf 52 20 36 02 9e e2 06 50 02 4b 3b 2c 25 72 b2 bf 91 67 57 6e 61 88 1c 2d e2 5d ....-.R.6....P.K;,%r...gWna..-.]
a2d60 7b 4f df f7 cc b4 3c 00 e9 f5 35 4f dd 76 a4 f8 0d 7f 42 30 a3 b1 c5 6f 1e 75 82 25 0a 07 65 ff {O....<...5O.v....B0...o.u.%..e.
a2d80 a1 de b9 e0 f1 27 ee 7a f8 8e 87 1f be eb 89 27 00 0c b0 53 7f 7d 60 f3 e6 cd f7 fe fc fc 65 9b .....'.z.......'...S.}`.......e.
a2da0 cd 05 bb dd f1 ac 9a 9e 13 c8 a6 46 02 46 97 0a 33 c0 31 36 8c 56 8a 54 e2 52 d0 f1 14 6f 01 34 ...........F.F..3.16.V.T.R...o.4
a2dc0 66 91 a6 b2 24 a3 41 55 d2 f2 db 23 2b ff b2 e1 19 52 9e 85 53 f6 d4 d3 9f bc 3c c2 8a f1 44 d8 f...$.AU...#+....R..S.....<...D.
a2de0 08 c2 c7 a9 59 27 5e 77 08 de b1 c9 50 ed af 36 fe e9 cf ff f5 c3 1f fe f0 1f ff f1 bd 3b ee 00 ....Y'^w....P..6.............;..
a2e00 50 00 e9 d4 c7 8f 00 a0 3d 6f af d8 a5 1b 3a 07 c3 2e 49 94 97 e8 39 5e f0 d2 65 5e 50 a2 20 db P.......=o....:...I...9^..e^P...
a2e20 9c ea 62 b9 43 5e 6c 01 38 2a 10 36 1d d9 e4 b2 09 70 c4 2d 02 4b da 57 a7 16 90 02 ed 8b 45 0f ..b.C^l.8*.6.....p.-.K.W......E.
a2e40 b0 35 c9 7b 6b 47 20 68 42 e8 01 cd 2f db af ac 4f 5c b3 08 0c 6f 6f 2d 18 1f ce 1c fc 95 66 c1 .5.{kG.hB.../...O\...oo-......f.
a2e60 ed 07 ee fc e0 d9 7f 88 31 91 48 2b 1f 01 12 3d 70 ef 8e af 0e da 6c 97 2e 0c 79 5d 09 f9 c5 5b ........1.H+...=p.....l...y]...[
a2e80 52 5a 5a 91 9f 35 74 61 b4 d0 52 92 6d b2 08 e4 a6 d2 42 b1 25 43 5e 28 2f 2a 2c 14 99 55 85 4d RZZ..5ta..R.m.....B.%C^(/*,..U.M
a2ea0 bb c4 c0 2c c6 23 7b ef db 37 23 cf eb 0b d7 6c fd e9 a4 55 a9 64 b2 95 4a 76 9b d6 47 cc e0 10 ...,.#{..7#....l...U.d..Jv..G...
a2ec0 51 5b ff b1 be 3a 0f a8 80 81 cc cc b3 17 4e 2f 4f fe f2 ce 0f 36 3c 0a 90 de 7b ef 8e 87 9f 38 Q[...:........N/O....6<...{....8
a2ee0 b5 f2 af 7b 48 89 7e 76 fe 60 fe 8e 8d f9 2e 5b 7c c0 53 38 83 4b 8a c5 25 8c 8c ee fc 0b 97 46 ...{H.~v.`.....[|.S8.K..%......F
a2f00 19 96 6c 90 45 8c 72 4d a1 58 5c bc e5 93 15 1f 7d b2 62 41 b6 ca 58 fd e9 a7 c6 f2 af d2 2c 69 ..l.E.rM.X\.....}.bA..X.......,i
a2f20 1f ad fc d1 33 f7 dd f7 65 4c 9e e7 9f 5f f8 60 13 92 42 59 5b 99 3e 8c 25 e0 60 e1 ba 40 00 6a ....3...eL..._.`..BY[.>.%.`..@.j
a2f40 65 fa fd c2 de 57 96 2d 3b b0 ec f4 13 6f 3d ff fa 97 f3 3e d8 f7 e8 b3 3f 7c 0f 10 dd f5 c4 a9 e....W.-;....o=....>....?|......
a2f60 77 df 01 44 0f bc bd f1 fc bd 7b 36 ed fa 06 08 a4 e0 e9 9c 92 4b a5 2d 0d 26 95 b8 a1 b0 3b 29 w..D......{6.........K.-.&....;)
a2f80 29 db 91 41 36 a6 85 72 12 e7 91 07 48 db fc 62 75 b9 b1 e9 3f 57 6f 7f f0 8b 34 b1 e5 17 7b 9f )..A6..r....H..bu...?Wo...4...{.
a2fa0 7d f4 89 4f e3 f2 6c 4f 7e fe fc d7 80 25 3d bd 2c a5 80 9f 95 d8 60 c0 dc 00 c2 f2 78 c0 fa c0 }..O..lO~....%=.,.....`.....x...
a2fc0 1a cb c9 d8 3a 7f f7 3d f7 dc 73 db 3d 6b 16 be fe e5 9d 1b fe 6d c3 3f 00 89 de 7b f8 ae 53 a7 ....:..=..s.=k.......m.?...{..S.
a2fe0 1e 7f e7 81 cd 0f bc f3 f1 03 9b f7 6c 74 49 08 97 d7 1b e5 2d 31 89 19 26 10 ab 96 6a 46 46 65 ............ltI.....-1..&...jFFe
a3000 76 a1 5c 0c d6 2d 12 a7 9c cc 00 60 8f 34 7d b1 7a f9 ea 5f 66 66 de fe 56 9a d1 f2 8b 1d 8f fe v.\..-.....`.4}.z.._ff..V.......
a3020 e5 c8 17 b1 64 4f 3e f2 e0 e9 e6 74 80 d3 8c d2 eb 61 57 02 8e 02 6e 0f 90 8e a2 d6 a9 c9 cc c1 ....dO>....t.....aW...n.........
a3040 0f 97 6d 4f be 8d 5c 7a d7 ac 59 08 80 de 7c ec d9 98 d3 ee 7a e2 dd 8f 1f 79 60 0f 19 48 0b 82 ..mO..\z..Y...|.....z....y`..H..
a3060 fd c7 9a 0b fa 2f 75 0b 54 26 47 49 49 09 68 75 54 25 85 9a 4a 51 83 d8 c2 30 59 2c 9a 47 62 38 ...../u.T&GII.huT%..JQ...0Y,.Gb8
a3080 9b 2b fe f0 d5 df 0a 32 0d 23 99 0f 56 a4 95 58 3e 3a fd a3 df 7e b4 f5 79 ca 5b 47 76 9c 3e 99 .+.....2.#..V..X>:...~..y.[Gv.>.
a30a0 92 62 0d 59 fb 74 b0 cb 9d 80 03 47 b9 fe d8 32 4e 2e e7 c8 4b 87 32 07 53 f7 7f 4a 11 ad 59 b3 .b.Y.t.....G...2N...K.2.S..J..Y.
a30c0 06 44 d1 9b fb 62 12 bd 47 12 fd f5 1d 92 67 c5 d9 43 63 86 e1 6d 45 96 26 b0 0a c4 cc 28 6e 71 .D...b..G.....g..Cc..mE.&....(nq
a30e0 64 94 8a 18 2a 4b 89 aa fc 67 8f 3c b2 87 74 d7 d6 4f bf 38 90 39 32 9c 79 e8 a1 b7 d2 4a c4 e2 d...*K...g.<..t..O.8.92.y....J..
a3100 15 7f 3a bf 7d e7 26 52 9f e7 4f 5f 3a 52 17 2a a8 a9 51 73 ae 1a 6c 78 84 44 cf 16 8e b3 94 6c ..:.}.&R..O_:R.*..Qs..lx.D.....l
a3120 d0 50 1b c6 72 c7 5e 3a f4 fe b6 8a f3 9b 9e 4e be e7 a9 1f ac 59 b8 06 04 d1 63 6f 3e f3 2c 45 .P..r.^:.......N.....Y....co>.,E
a3140 04 72 ed ae 53 20 b0 f7 6c 14 1e 8a 1c de 69 12 37 31 54 82 69 03 51 64 2a cf 30 35 a5 15 ef 3d .r..S...l.....i.71T.i.Qd*.05...=
a3160 15 b3 8f 37 2d b3 67 fe fb 43 3f f9 f7 df af 6e 32 b6 a8 04 47 de 3e 70 e8 12 e9 af d7 4f b7 27 ...7-.g..C?....n2...G.>p.....O.'
a3180 e9 43 29 3e fc ca 7d 91 79 54 50 72 d8 79 c0 57 af b5 b5 d1 46 72 73 c9 33 3c ef f3 93 36 6d 7d .C)>..}.yTPr.y.W....Frs.3<...6m}
a31a0 7a 7e 0c 88 0a a2 7d fb 36 50 4e a3 dc f6 f1 9e 7b 37 46 0e 1d 5a 6f b2 a8 5a 4a 04 82 44 a0 16 z~....}.6PN.....{7F..Zo..ZJ..D..
a31c0 47 91 c6 a4 d9 0b ca fb 29 b2 8e 76 fc d3 f0 2f ef bf 7f f5 fd 0f 6d 27 bb 57 f1 57 5b c7 32 87 G.......)..v.../......m'.W.W[.2.
a31e0 9b 1e 04 7f 72 f9 af b5 ad 21 2b 07 b4 be bc ab 5b 77 4c 16 28 48 61 b3 20 26 2d 37 17 34 ed e4 ....r....!+.....[wL.(Ha..&-7.4..
a3200 b9 85 43 87 ce 2e 5a 3e 7f 37 e9 31 12 68 21 90 68 c3 9b 6f ee 8b 25 3f 20 fa f9 e3 2b 94 99 27 ..C...Z>.7.1.h!.h..o..%?....+..'
a3220 4a 0b 19 0d 60 b9 6a 4a e0 21 a3 88 91 b1 62 ef 13 a4 ad dc a1 f9 e9 2f 9f fc 49 66 e6 fd f7 3f J...`.jJ.!....b......../..If...?
a3240 b8 cb 28 30 5a 32 fe f2 2f f3 57 df 7d 3e 19 a4 d6 af 07 d3 43 29 1c 02 be 76 0a 25 bc 8d 27 6b ..(0Z2../.W.}>......C)...v.%..'k
a3260 d2 99 fe 3c da 44 0c 87 3a db 9a d9 7c 79 d3 d3 54 4c 93 2e 03 44 a0 16 ed db f7 d8 86 78 89 bc ...<.D..:...|y..TL...D.......x..
a3280 6b c1 89 cc 97 17 55 64 14 9a 1c 2d 2a d5 b4 cb 40 60 1b 81 46 8c 1f ff f9 8e 3b fe bc b1 48 f3 k.....Ud...-*...@`..F.....;...H.
a32a0 eb e4 bb 33 33 ff 65 ed ab f7 37 55 97 08 d2 96 1d 48 fe c9 dd 4f de fd a7 d7 17 6e ff 69 81 f6 ...33.e...7U.....H...O.....n.i..
a32c0 a8 3a 1c fd 16 1c 50 95 15 74 66 c0 ff 1a 94 3b 06 d1 e2 38 f6 31 c3 a1 af 0f 2e 78 fa b6 7b 28 .:....P..tf....;...8.1.....x..{(
a32e0 20 40 b4 86 ac 45 1f 6c f8 b7 37 df 7c ec 51 10 4a 7f de 5b 51 9b 99 f9 f2 b2 ca d2 e2 42 53 93 .@...E.l..7.|.Q.J..[Q........BS.
a3300 6a 0a 89 72 5e 4b b5 b8 65 d7 52 51 8b a9 63 d1 ee ff 33 f2 d2 ea b5 6b 57 5b aa 41 57 b4 2c f9 j..r^K..e.RQ..c...3....kW[.AW.,.
a3320 27 87 1e 7a 75 b7 e8 c1 35 cb ff 10 1e 88 0f c9 d7 ce 59 04 81 d1 5b 99 65 55 b9 f6 3c 21 89 23 '..zu...5.........Y...[.eU..<!.#
a3340 84 d8 10 3b 0f 19 3f fc f5 0b 2b b6 26 93 40 f7 90 44 0b c9 62 34 ef ce 0f 00 d4 3e c0 b4 e4 f4 ...;..?...+.&.@..D..b4.....>....
a3360 92 13 eb cd 2d 2a 86 48 53 9a 21 32 39 04 60 39 30 4e c7 92 58 dc a0 32 65 ac 7f 72 fe 81 d5 0f ....-*.HS.!29.`90N..X..2e..r....
a3380 fd 6d ed 83 69 60 cd 4f 5b be 3b 33 73 f5 da dd cb 76 3c bf 7c 55 14 bb 76 f3 74 a6 75 c7 f0 f0 .m..i`.O[.;3s....v<.|U..v.t.u...
a33a0 00 5d aa ae ad ea 05 38 55 56 16 c4 6a ad ca b3 b3 0e 1d a6 7f b2 69 3e e5 b3 a7 62 44 c0 00 d4 .].....8UV..j.........i>...bD...
a33c0 97 5f de 09 b0 ee 3b 9d dd d2 62 34 5a 54 25 8e c2 62 4d 31 40 32 4e cb 04 c6 3f 15 43 b3 fe c9 ._....;...b4ZT%..bM1@2N...?.C...
a33e0 b5 40 9a b5 6b 97 a5 81 a0 4f 7b fa fe 87 6e ff db da dd eb f7 bf b5 22 08 7f e7 86 8a 22 8a 13 .@..k....O{...n........"....."..
a3400 ba 7e 3f cb ca 42 22 48 5e 88 e5 9f c8 29 60 db ed 91 b1 02 d9 c0 57 2b be a0 24 22 91 7e b0 26 .~?..B"H^....)`.......W+..$".~.&
a3420 c1 e6 69 aa 05 2f fc 2b bf ab 76 bf 51 2c 16 38 18 a5 95 d9 45 26 06 88 6f 31 89 d4 a2 6a 32 3b ..i../.+..v.Q,.8....E&..o1...j2;
a3440 6e 5f 4b da ff b5 38 44 22 46 da 76 f0 e8 f6 b5 f3 7f 57 bf f2 fc d0 77 ef ef 50 d7 b6 d4 2b 21 n_K...8D"F.v......W....w..P...+!
a3460 e8 a4 3a 82 44 0c 10 92 e3 44 d9 63 63 86 5e fe 62 9b e4 e2 a2 8f 76 2c 4f be 0d ac 1e d4 a4 04 ..:.D....D.cc.^.b.....v,O.......
a3480 16 91 e7 6f 4b 4e 7e f0 f6 4a 47 75 c3 0b 27 7e f9 d0 89 fd 0d 54 9a 8b 19 c5 c5 85 85 45 20 be ...oKN~..JGu..'~.....T.......E..
a34a0 19 54 79 b4 64 14 2e 7a 95 c4 59 96 e6 28 11 34 a5 bd 48 3e 7e 75 f4 0f df fc 78 97 6d 16 db 4d .Ty.d..z..Y..(.4..H>~u....x.m..M
a34c0 58 3d 9f 23 91 b4 55 f1 51 3d df 49 f0 38 6d d6 93 fc c5 c1 4b 4b 35 a2 0c 8d f9 93 23 7b 37 2d X=.#..U.Q=.I.8m.....KK5.....#{7-
a34e0 df 3e 7f fe ed 2f 3e d7 ad 29 92 37 71 b7 69 aa ab ab 77 9d be 7d de 81 26 63 bc 34 1b 2d 4d 0c .>.../>..).7q.i...w..}..&c.4.-M.
a3500 53 93 a0 a9 c9 41 e1 88 1d d9 e2 4f 5f 5d fb ea f2 34 47 61 43 8b a9 64 3d 89 f3 d6 7e 9b 6b d5 S....A.....O_]...4GaC..d=...~.k.
a3520 2c b7 b9 31 1c 53 38 6d 98 0e d7 e9 14 0a 9e 33 ec 24 5c 17 96 9a c4 16 71 83 83 c1 60 14 fe 16 ,..1.S8m.......3.$\.....q...`...
a3540 58 75 03 a0 48 63 54 ec cc 10 57 ef ff cb bc 79 07 f6 57 57 83 84 2a 51 c5 d2 0a 14 1e b2 fe c4 Xu..HcT...W....y..WW..*Q........
a3560 e3 b9 48 93 b6 6b d9 ae 34 86 48 2c 10 97 98 2c 20 8a de ca 08 4a ae 1e fb af 8b 43 f9 0c c3 71 ..H..k..4.H,...,.....J.....C...q
a3580 6a 64 8e 2a 30 0c 0b 26 15 5a c8 f7 5d 2d ae 16 83 89 ae ba da 58 0d c6 5e a3 43 9e 51 bd 7f c9 jd.*0..&.Z..]-.......X..^.C.Q...
a35a0 81 f5 77 ef af 36 c6 2b 8e 4a 50 d2 12 af 3d 80 8e 7a ac 12 17 8b d2 d2 2c 2a c6 8b bf ad ae 2e ..w..6.+.JP...=..z......,*......
a35c0 17 a5 89 3f fd b4 e3 b8 84 17 25 e6 b2 eb 7e e5 4e db 52 a3 31 61 1d 20 9f 80 03 89 19 0c 55 53 ...?......%...~.N.R.1a........US
a35e0 fe ef 80 4e 0d d4 ab 2d 14 c6 54 6d 2e 69 99 7a dc 52 02 3a 0e a3 d8 31 7f fe 8b 4f bf d8 22 16 ...N...-..Tm.i.z.R.:...1...O..".
a3600 88 44 c7 bd ee ef d9 aa 84 bf 75 7f 36 3e 46 2d 11 89 05 d7 58 b5 80 4c e7 2b 38 49 9c 99 e7 53 .D........u.6>F-....X..L.+8I...S
a3620 64 a0 17 ca ce b0 88 19 f3 9f 7c 72 f7 ef c4 26 79 92 cb 75 53 57 c6 c1 15 0e d5 d5 30 2a 81 49 d.........|r...&y..uSW......0*.I
a3640 4c ca 61 2c a1 80 a6 0e 6d 9c 16 70 4a 30 b1 a5 c4 a4 29 4f ca 28 6c 28 4f be 7b 99 a9 b8 fc 9f L.a,....m..pJ0....)O.(l(O.{.....
a3660 5d 24 0e 7c a3 38 3c 58 51 ee 68 b9 02 45 05 1a 71 47 06 e8 f9 aa 5b c0 81 c1 f7 15 aa 4c 71 b5 ]$.|.8<XQ.h..E..qG....[......Lq.
a3680 80 5f 53 35 31 32 b6 8c 2e 2a 63 f3 d7 77 8b 8a cd c5 85 97 71 d7 cd 5d 37 e8 76 bb 2a 4c 60 b9 ._S512...*c..w......q..]7.v.*L`.
a36a0 89 99 c5 42 1e c2 24 2a cd d6 94 16 9b 1c 62 ca 40 26 95 5c 25 1e 40 06 9d 50 61 86 7c 4b e5 ef ...B..$*......b.@&.\%.@..Pa.|K..
a36c0 ea ce 9e 4d 61 a7 17 d4 7e 76 dc ed f5 7e df e9 b9 ef c3 39 ee 76 5d 96 17 32 18 0e 32 cd 19 85 ...Ma...~v...~.....9.v]..2..2...
a36e0 a2 8c 52 79 b6 bc b4 03 0c 99 45 c5 d9 d9 c5 45 85 26 53 06 c3 12 a7 25 57 76 0b a8 c7 80 b8 10 ..Ry......E....E.&S....%Wv......
a3700 bc aa 31 67 af 6f 64 a7 34 93 e3 c2 d9 32 1b 1e 85 dd 8a 9b be aa 12 4c 76 49 e5 e5 dd e5 f2 ca ..1g.od.4....2.........LvI......
a3720 ec 6c b3 46 d3 41 a2 90 1b a2 1a b3 3c e9 c4 b6 ee 4a 30 fa 6a 4c 26 07 28 7c 0e 86 c3 04 a4 03 .l.F.A......<....J0.jL&.(|......
a3740 c4 72 b3 b9 a3 a8 a8 b4 fc c3 c1 f4 74 6d 4a 08 34 36 6d be 59 9d b7 9c 45 28 e3 5e af cb 4d 48 .r..........tmJ.46m.Y...E(.^..MH
a3760 f2 c1 58 59 48 82 14 75 74 68 cc e6 ee a4 5f 69 87 0f 0d 33 d7 2d aa 18 05 7a 99 e5 c0 c0 8a 25 ..XYH..uth...._i...3.-...z.....%
a3780 37 93 c0 24 b1 46 be a8 eb 6c 7a 4a 7a db 51 6d 99 1a 95 e0 ff 43 d7 9c c2 30 18 ce dd 2e 18 ae 7..$.F...lzJz.Qm.....C...0......
a37a0 c8 d6 00 33 cb 4b 4b cb d7 6f 4b 2d 18 19 0e 44 58 34 43 40 ef 5d 05 3c ba ea c2 c1 83 ab 2e 2c ...3.KK..oK-...DX4C@.].<.......,
a37c0 a5 94 2b 02 5f 1d f2 24 6e 28 3d 9d 1c 5d b4 65 9d 03 3a 62 0e 38 30 d9 af c2 33 97 ad 5c 73 e2 ..+._..$n(=..].e..:b.80...3..\s.
a37e0 8a ba 7a e0 78 7e 52 45 52 d2 fe fc d4 cf a1 c9 c3 01 88 46 19 1b 0d e2 e4 de 03 2c e1 b9 24 00 ..z.x~RER..........F.......,..$.
a3800 87 0c 2a 00 63 ee fe 0c 44 70 cc ac d6 f4 01 1c 87 e7 aa ce f7 9d dc 81 6d 5e af c4 7b 6e a8 39 ..*.c...Dp..............m^..{n.9
a3820 17 a2 b1 69 71 cb f3 f1 a6 b7 a3 e0 c5 dd 1d 40 18 00 53 ba 8d f4 53 dc aa d2 41 18 cf f2 ec 7b ...iq..........@..S...S...A....{
a3840 62 bf 03 cf c2 71 38 bd 4e 39 41 03 d2 4c c4 70 90 a3 3c dd 74 59 1b 4a 32 8b 8a 34 e6 f2 45 65 b....q8.N9A..L.p..<.tY.J2..4..Ee
a3860 64 d0 4c 59 4a 08 9d be a6 f4 7b 71 dc ee d9 5f c5 80 2b 30 9c 9b 4b 9b 31 08 32 d4 4a 78 33 57 d.LYJ.....{q..._..+0..K.1.2.Jx3W
a3880 d0 1d 2c 95 97 57 7c d6 7c 36 14 8a 09 13 4a 01 49 95 ae 77 2e 9e f5 e5 d3 09 38 8a e8 b5 8f ae ..,..W|.|6....J.I..w......8.....
a38a0 3a 0d c8 09 eb 91 69 98 89 3f f6 2a d5 f5 f1 0b 55 dc 6e c2 2b 93 b9 8f d7 0d 9e 4d 8f f9 29 1d :.....i..?.*....U.n.+......M..).
a38c0 54 1c 2d ca 45 7d 4e 78 d6 17 4a cc 83 dd df 12 c0 8a 6f 8d 69 c2 db ee b7 36 ce 68 33 f1 9b 81 T.-.E}Nx..J.......o.i....6.h3...
a38e0 b0 0e 9f c6 19 3a d6 1c 2a eb 09 15 c4 76 49 c0 b7 36 14 2a 73 62 30 1e 9d bd 25 9e 5e 73 5f 37 .....:..*....vI..6.*sb0...%.^s_7
a3900 b3 a6 b7 e5 0d 10 14 99 e1 51 3b 09 85 7b ea 1c 24 de ae ac 0a 55 4d c5 af f6 68 57 8f 4f df c8 .........Q;..{..$....UM...hW.O..
a3920 ff 0e ad 6f f6 5a 77 8c 03 e6 d4 19 6d a0 37 ea 75 e4 69 49 05 75 e1 11 3e 44 f9 88 8a 5d 32 6a ...o.Zw.....m.7.u.iI.u..>D...]2j
a3940 7a ea c3 3a d8 35 d7 4b 48 e6 86 33 16 a1 41 09 40 39 3a f2 bc 04 88 1a 7a 7f 3b 5f a6 4c 99 b1 z..:.5.KH..3..A.@9:.....z.;_.L..
a3960 50 9e 14 c7 a2 30 76 2b 3f 09 a0 b0 85 68 79 7e a5 b2 97 62 99 98 18 a9 c5 62 6e e2 74 59 43 29 P....0v+?....hy~...b.....bn.tYC)
a3980 9d a1 19 18 6d 55 01 8a 83 e6 04 56 dc 42 1c 58 96 3e f1 9a 32 af 4d c9 9a 20 71 72 df 8f 2d 8b ....mU.....V.B.X.>..2.M...qr..-.
a39a0 d8 50 57 28 c1 4d 5a 6d a8 59 3f 40 97 dc e2 cf 49 c0 d1 a0 76 c4 4e 8b 18 c8 70 9e e8 cd 3b 99 .PW(.MZm.Y?@....I...v.N...p...;.
a39c0 33 a0 a3 a2 14 e7 5a e3 aa 50 40 cd 7a 7d 23 7d 4e e9 74 43 38 2e 59 5d 0a 44 9b 88 20 10 a8 ca 3.....Z..P@.z}#}N.tC8.Y].D......
a39e0 ac 1c 1b 4c c4 52 86 70 d5 85 a6 71 8e a6 5b 0b 7c 38 8c c3 d1 5b 8d 43 b4 06 a6 c3 78 c2 10 a1 ...L.R.p...q..[.|8...[.C....x...
a3a00 eb 78 b1 4b f4 5c 20 c3 53 c8 95 9b c2 91 a6 f2 61 fc 86 69 e6 80 73 1c 85 12 70 72 78 60 16 bb .x.K.\..S.......a..i..s...prx`..
a3a20 08 c6 fa 73 67 b8 d2 50 1c 27 94 52 e0 d3 25 76 06 b7 10 c7 cb 29 98 c2 81 de 47 79 3a ba 8c cb ...sg..P.'.R..%v.....)....Gy:...
a3a40 71 e2 41 49 9d 55 9b 42 55 1c b2 a3 90 52 1f 78 50 28 6e 39 0e ce 81 a6 6a ce 04 1b a5 c3 dc ae q.AI.U.BU....R.xP(n9....j.......
a3a60 50 a8 59 ca 39 d6 de 43 46 8e 32 25 74 b2 40 a9 e7 38 a3 37 67 b3 c6 c9 a2 5b d9 53 ea d8 0d 05 P.Y.9..CF.2%t.@..8.7g....[.S....
a3a80 32 90 dc 55 55 29 65 21 6b 57 7a 7a 28 4f 59 95 d2 5c e3 8b 12 8a bf 0f 0e 11 a5 f7 15 4c f5 5c 2..UU)e!kWzz(OY..\...........L.\
a3aa0 d0 88 1d 6d b7 a6 90 2d 4d 88 ea 6b d8 fe d7 aa 40 57 83 45 6f da 66 89 e3 e2 0a 27 62 0d 17 58 ...m...-M..k....@W.Eo.f....'b..X
a3ac0 26 84 27 7d 36 ed 4c 0d 4e b1 b2 99 ad 29 a1 b2 fa bf 1b 0e 4c 67 8f 91 38 e0 1f 42 83 22 be 2c &.'}6.L.N....)......Lg..8..B.".,
a3ae0 0a 27 3d 56 8a d3 ab de 90 72 ea b4 7c 18 ff 7b e1 60 32 04 ac 51 9f 47 f2 f2 68 79 4a 16 d4 8a .'=V.....r..|..{.`2..Q.G..hyJ...
a3b00 0f 75 4e d7 e1 f4 14 65 48 0d 4b c2 ce 28 fc f7 c2 21 6c 56 b2 27 65 43 bd 39 6a 28 40 d3 9f e9 .uN....eH.K..(...!lV.'eC.9j(@...
a3b20 4a 8f 3b 8b 54 28 14 6a 3d 87 63 73 85 81 c9 0b a9 88 ab 06 d3 59 e2 e0 5c 03 8d cc f3 5c 5a ab J.;.T(.j=.cs.........Y..\....\Z.
a3b40 1e f5 f5 33 53 66 5c d5 2c 6d d5 ea 6f 40 08 cc 15 a6 d3 6d 6e e2 06 70 60 9b ec 68 1e 44 63 f5 ...3Sf\.,m..o@.....mn..p`..h.Dc.
a3b60 d2 90 11 7d 16 de df 56 45 e2 90 ad 5f 41 4a b3 0f b6 b9 e6 4e 03 d3 b9 7a 14 d5 a7 d6 cf e1 5a ...}...VE..._AJ.....N...z......Z
a3b80 f7 29 d3 c9 26 ed 79 a0 ff 6b f3 18 7a 7d 3a cc 76 86 24 09 b1 d9 ec 90 d2 0a 86 28 6c ce 97 54 .)..&.y..k..z}:.v.$........(l..T
a3ba0 e3 2e 99 9e c3 a1 c3 ab c2 28 47 37 e7 cf f6 11 de aa 11 1a ed 73 a5 54 8a d6 07 e9 74 19 d9 51 .........(G7.........s.T....t..Q
a3bc0 34 a7 57 69 f5 3d da 56 ce 8d 5c c3 2c e1 ea eb b4 5a 6d a3 0c 26 d0 01 dc ad 98 13 0e 21 39 d3 4.Wi.=.V..\.,....Zm..&.......!9.
a3be0 0e 02 e7 f3 5e 1a 27 2b 78 2c a5 40 0b 8a de d1 ce 2e d0 64 c0 e1 f0 8d 24 14 26 93 96 95 a9 a5 ....^.'+x,.@.......d....$.&.....
a3c00 6a 75 57 3f 1c e6 2a e0 39 e2 c0 29 06 16 a8 3a 23 4a 1f 66 d3 b2 ad ca 50 28 84 c2 12 d8 0d fe juW?..*.9..)...:#J.f....P(......
a3c20 8e c2 35 67 1c 22 4b d2 5e ab 6d d4 9f e9 d7 37 6a f5 18 37 e1 22 d4 59 c6 0e 9f 9d 3b 21 cc 3b ..5g."K.^.m....7j..7.".Y....;!.;
a3c40 c9 e7 e9 60 4e 67 19 aa 6e 53 87 f1 1b 6e 24 e0 21 99 ba b3 55 9f 93 93 23 ed 6b 6d ab e7 f0 2f ...`Ng..nS...n$.!...U...#.km.../
a3c60 c2 04 71 11 23 2f dd 9c 15 0e 16 94 29 c7 68 63 6a 27 8f c0 71 9e c4 85 bb c2 12 18 be c1 aa 87 ..q.#/......).hcj'..q...........
a3c80 49 ce 34 4a d5 9d ea 1c b4 b5 55 ad ee d7 72 e9 28 a1 0b da e8 3e 7a bd 53 31 1b 1c 85 e4 d8 64 I.4J......U...r.(....>z.S1.....d
a3ca0 2e 04 8d d4 3a 17 03 cf 28 9c 0a 1c 04 1f ef 46 0b 2f 21 53 4b 73 80 3a 28 da 53 d3 28 ed 2f eb ....:...(......F./!SKs.:(.S.(./.
a3cc0 a3 f3 71 0e 57 e6 0b 87 e9 9c 8b b3 c0 51 2c f6 36 8f 19 a0 37 d0 b9 0d 07 3c f2 13 81 58 f4 6a ..q.W........Q,.6...7....<...X.j
a3ce0 11 b1 73 7a b5 54 2a ed a9 6b d4 f7 74 f6 e8 a5 65 52 1f ca f7 9d 0b 4b c2 5e 97 8d 3f 0b 1c 18 ..sz.T*..k..t...eR.....K.^..?...
a3d00 c6 50 04 78 6a 8e 43 13 ce ab e7 d0 87 82 57 77 86 84 b3 5f ad ce d1 4b 7b 5a 3b 3b a5 39 28 b8 .P.xj.C.......Ww..._...K{Z;;.9(.
a3d20 e1 a3 f5 dc be d6 ce d6 9a 76 ae 7e 36 38 0a 22 c8 47 25 c4 dc 70 08 37 b7 bd a6 b1 91 eb be 2a .........v.~68.".G%..p.7.......*
a3d40 e0 79 3c 3e ca e7 f8 d0 d4 1c a9 34 47 df 5f d3 99 c3 97 35 d6 a8 73 38 f5 fc ce ce 9e 59 c5 4e .y<>.......4G._....5..s8.....Y.N
a3d60 14 d7 cd 71 85 84 15 3c 59 7b 23 38 60 a3 0f c7 08 82 c0 c9 e9 99 fc a8 96 02 86 79 12 3a 0a 88 ...q...<Y{#8`..............y.:..
a3d80 f4 e0 d5 9e 9a ce 1a 54 d6 d7 d3 d8 77 8e ce a9 e7 f6 a8 6f d1 7f 1e 00 13 f5 7d 8d 7d 3d 39 d2 .......T....w......o......}.}=9.
a3da0 1e 5f 90 c3 e7 a2 f4 28 e6 86 71 f2 04 00 ee 96 b5 d7 b5 aa 5b f5 7a b5 1e e5 eb db 3b 7d 3d 3d ._.....(..q.........[.z.....;}==
a3dc0 ed 8d a8 4c af cf f1 f5 48 6f 15 0e ce 01 da 80 f7 9f c3 3f d3 97 a3 56 f7 70 25 98 84 23 e3 0f ...L....Ho.........?...V.p%..#..
a3de0 d4 4b b8 35 ea ce a3 e0 27 a8 1e d5 eb 01 06 da d3 d7 d7 88 4a 7d 74 94 7e eb d4 c1 b9 52 ca 52 .K.5....'...........J}t.~....R.R
a3e00 a5 7d 52 bd 54 9f 23 e5 d2 b9 3e a7 8d c3 45 6b 6a 7b fa 51 bd b4 11 d5 83 f2 a3 96 72 d0 be be .}R.T.#...>...Ekj{.Q........r...
a3e20 3e 29 a7 47 ef e3 f4 f7 e8 6f 19 8e ac 4f af 97 a6 a6 02 1c 70 a3 d7 73 f9 7a a7 44 76 06 3c e8 >).G.....o...O......p..s.z.Dv.<.
a3e40 53 eb 39 fd 28 58 8c 53 53 07 9c e1 7e 54 26 05 38 12 8e 54 aa 96 f6 85 ff 5b 80 01 00 95 28 7d S.9.(X.SS...~T&.8..T.....[....(}
a3e60 0a b9 3c 34 69 00 00 00 00 49 45 4e 44 ae 42 60 82 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..<4i....IEND.B`................
a3e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4000 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 2e 65 6c 00 00 dash-2.19.1/dash-functional.el..
a4020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4060 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
a4080 30 30 30 33 37 33 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 36 36 00 20 30 00 00 00 0003730.00000000000.014566..0...
a40a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a40c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a40e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4100 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...................
a4120 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...................
a4140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a41a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a41c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a41e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4200 3b 3b 3b 20 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 2e 65 6c 20 2d 2d 2d 20 43 6f 6c 6c 65 ;;;.dash-functional.el.---.Colle
a4220 63 74 69 6f 6e 20 6f 66 20 75 73 65 66 75 6c 20 63 6f 6d 62 69 6e 61 74 6f 72 73 20 66 6f 72 20 ction.of.useful.combinators.for.
a4240 45 6d 61 63 73 20 4c 69 73 70 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a Emacs.Lisp..-*-.lexical-binding:
a4260 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 31 33 2d 32 30 .t.-*-..;;.Copyright.(C).2013-20
a4280 32 31 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 21.Free.Software.Foundation,.Inc
a42a0 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 4d 61 74 75 73 20 47 6f 6c 6a 65 72 20 3c 6d 61 74 75 ...;;.Author:.Matus.Goljer.<matu
a42c0 73 2e 67 6f 6c 6a 65 72 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 20 20 20 20 20 20 20 20 4d s.goljer@gmail.com>.;;.........M
a42e0 61 67 6e 61 72 20 53 76 65 65 6e 20 3c 6d 61 67 6e 61 72 73 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a agnar.Sveen.<magnars@gmail.com>.
a4300 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 31 2e 33 2e 30 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 ;;.Version:.1.3.0.;;.Package-Req
a4320 75 69 72 65 73 3a 20 28 28 64 61 73 68 20 22 32 2e 31 38 2e 30 22 29 29 0a 3b 3b 20 4b 65 79 77 uires:.((dash."2.18.0")).;;.Keyw
a4340 6f 72 64 73 3a 20 65 78 74 65 6e 73 69 6f 6e 73 2c 20 6c 69 73 70 0a 3b 3b 20 48 6f 6d 65 70 61 ords:.extensions,.lisp.;;.Homepa
a4360 67 65 3a 20 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 ge:.https://github.com/magnars/d
a4380 61 73 68 2e 65 6c 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 ash.el..;;.This.program.is.free.
a43a0 73 6f 66 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 software:.you.can.redistribute.i
a43c0 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 t.and/or.modify.;;.it.under.the.
a43e0 74 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 terms.of.the.GNU.General.Public.
a4400 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 License.as.published.by.;;.the.F
a4420 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 20 ree.Software.Foundation,.either.
a4440 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 0a 3b 3b 20 version.3.of.the.License,.or.;;.
a4460 28 61 74 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 72 73 69 (at.your.option).any.later.versi
a4480 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 on...;;.This.program.is.distribu
a44a0 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 6c 20 62 65 20 ted.in.the.hope.that.it.will.be.
a44c0 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 useful,.;;.but.WITHOUT.ANY.WARRA
a44e0 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 6c 69 65 64 20 77 61 NTY;.without.even.the.implied.wa
a4500 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 rranty.of.;;.MERCHANTABILITY.or.
a4520 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 FITNESS.FOR.A.PARTICULAR.PURPOSE
a4540 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 ...See.the.;;.GNU.General.Public
a4560 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 .License.for.more.details...;;.Y
a4580 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f ou.should.have.received.a.copy.o
a45a0 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 69 63 65 6e 73 65 f.the.GNU.General.Public.License
a45c0 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 .;;.along.with.this.program...If
a45e0 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c .not,.see.<https://www.gnu.org/l
a4600 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 icenses/>...;;;.Commentary:..;;.
a4620 2a 4e 2e 42 2e 3a 2a 20 54 68 69 73 20 70 61 63 6b 61 67 65 20 68 61 73 20 62 65 65 6e 20 61 62 *N.B.:*.This.package.has.been.ab
a4640 73 6f 72 62 65 64 2c 20 61 6e 64 20 69 73 20 74 68 65 72 65 66 6f 72 65 20 6d 61 64 65 0a 3b 3b sorbed,.and.is.therefore.made.;;
a4660 20 6f 62 73 6f 6c 65 74 65 2c 20 62 79 20 74 68 65 20 60 64 61 73 68 27 20 70 61 63 6b 61 67 65 .obsolete,.by.the.`dash'.package
a4680 2c 20 76 65 72 73 69 6f 6e 20 32 2e 31 38 2e 30 2e 0a 3b 3b 0a 3b 3b 20 49 66 20 79 6f 75 20 6d ,.version.2.18.0..;;.;;.If.you.m
a46a0 61 69 6e 74 61 69 6e 20 61 20 70 61 63 6b 61 67 65 20 74 68 61 74 20 64 65 70 65 6e 64 73 20 6f aintain.a.package.that.depends.o
a46c0 6e 20 60 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 27 2c 20 74 68 65 6e 0a 3b 3b 20 79 6f 75 n.`dash-functional',.then.;;.you
a46e0 20 73 68 6f 75 6c 64 20 63 68 61 6e 67 65 20 74 68 61 74 20 74 6f 20 69 6e 73 74 65 61 64 20 64 .should.change.that.to.instead.d
a4700 65 70 65 6e 64 20 6f 6e 20 60 64 61 73 68 27 20 76 65 72 73 69 6f 6e 20 32 2e 31 38 2e 30 2c 0a epend.on.`dash'.version.2.18.0,.
a4720 3b 3b 20 61 6e 64 20 72 65 6d 6f 76 65 20 61 6c 6c 20 72 65 66 65 72 65 6e 63 65 73 20 74 6f 20 ;;.and.remove.all.references.to.
a4740 60 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 27 2e 0a 3b 3b 0a 3b 3b 20 49 66 20 79 6f 75 20 `dash-functional'..;;.;;.If.you.
a4760 75 73 65 20 61 6e 79 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 64 65 70 65 6e 64 20 6f 6e 20 use.any.packages.that.depend.on.
a4780 60 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 27 2c 20 65 69 74 68 65 72 0a 3b 3b 20 64 69 72 `dash-functional',.either.;;.dir
a47a0 65 63 74 6c 79 20 6f 72 20 69 6e 64 69 72 65 63 74 6c 79 2c 20 74 68 65 6e 20 79 6f 75 20 77 69 ectly.or.indirectly,.then.you.wi
a47c0 6c 6c 20 68 61 76 65 20 74 6f 20 77 61 69 74 20 75 6e 74 69 6c 20 61 6c 6c 20 6f 66 0a 3b 3b 20 ll.have.to.wait.until.all.of.;;.
a47e0 74 68 65 6d 20 68 61 76 65 20 74 72 61 6e 73 69 74 69 6f 6e 65 64 20 61 77 61 79 20 66 72 6f 6d them.have.transitioned.away.from
a4800 20 69 74 20 62 65 66 6f 72 65 20 79 6f 75 20 63 61 6e 20 72 65 6d 6f 76 65 20 69 74 2e 0a 3b 3b .it.before.you.can.remove.it..;;
a4820 0a 3b 3b 20 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 74 68 69 73 .;;.For.more.information.on.this
a4840 2c 20 73 65 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 55 52 4c 3a 0a 3b 3b 20 60 68 74 74 ,.see.the.following.URL:.;;.`htt
a4860 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 61 73 68 2e 65 6c 2f ps://github.com/magnars/dash.el/
a4880 77 69 6b 69 2f 4f 62 73 6f 6c 65 74 69 6f 6e 2d 6f 66 2d 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e wiki/Obsoletion-of-dash-function
a48a0 61 6c 2e 65 6c 27 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 64 61 73 al.el'..;;;.Code:..(require.'das
a48c0 68 29 0a 0a 28 65 76 61 6c 2d 61 6e 64 2d 63 6f 6d 70 69 6c 65 0a 20 20 28 6c 65 74 20 28 28 6d h)..(eval-and-compile...(let.((m
a48e0 73 67 20 22 50 61 63 6b 61 67 65 20 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 20 69 73 20 6f sg."Package.dash-functional.is.o
a4900 62 73 6f 6c 65 74 65 3b 20 75 73 65 20 64 61 73 68 20 32 2e 31 38 2e 30 20 69 6e 73 74 65 61 64 bsolete;.use.dash.2.18.0.instead
a4920 22 29 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 6e 6f 6e 69 6e 74 65 72 61 63 74 69 76 65 20 ")).....(if.(and.noninteractive.
a4940 28 66 62 6f 75 6e 64 70 20 27 62 79 74 65 2d 63 6f 6d 70 69 6c 65 2d 77 61 72 6e 29 29 0a 20 20 (fboundp.'byte-compile-warn))...
a4960 20 20 20 20 20 20 28 62 79 74 65 2d 63 6f 6d 70 69 6c 65 2d 77 61 72 6e 20 6d 73 67 29 0a 20 20 ......(byte-compile-warn.msg)...
a4980 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 73 22 20 6d 73 67 29 29 29 29 0a 0a 28 70 72 6f 76 ....(message."%s".msg))))..(prov
a49a0 69 64 65 20 27 64 61 73 68 2d 66 75 6e 63 74 69 6f 6e 61 6c 29 0a 0a 3b 3b 3b 20 64 61 73 68 2d ide.'dash-functional)..;;;.dash-
a49c0 66 75 6e 63 74 69 6f 6e 61 6c 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 functional.el.ends.here.........
a49e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4a00 64 61 73 68 2d 32 2e 31 39 2e 31 2f 2e 64 69 72 2d 6c 6f 63 61 6c 73 2e 65 6c 00 00 00 00 00 00 dash-2.19.1/.dir-locals.el......
a4a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4a60 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
a4a80 30 30 30 30 36 34 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 36 32 32 00 20 30 00 00 00 0000647.00000000000.013622..0...
a4aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4b00 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...................
a4b20 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...................
a4b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4c00 28 28 6e 69 6c 0a 20 20 28 62 75 67 2d 72 65 66 65 72 65 6e 63 65 2d 62 75 67 2d 72 65 67 65 78 ((nil...(bug-reference-bug-regex
a4c20 70 20 2e 20 22 5c 5c 28 5c 5c 28 3f 3a 69 73 73 75 65 5c 5c 7c 70 72 5c 5c 29 20 3f 5c 5c 29 3f p..."\\(\\(?:issue\\|pr\\).?\\)?
a4c40 23 5c 5c 28 5b 5b 3a 64 69 67 69 74 3a 5d 5d 2b 5c 5c 29 22 29 0a 20 20 28 62 75 67 2d 72 65 66 #\\([[:digit:]]+\\)")...(bug-ref
a4c60 65 72 65 6e 63 65 2d 75 72 6c 2d 66 6f 72 6d 61 74 20 2e 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 erence-url-format..."https://git
a4c80 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 2f 69 73 73 75 65 73 2f 25 hub.com/magnars/dash.el/issues/%
a4ca0 73 22 29 0a 20 20 28 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 20 2e 20 37 30 29 0a 20 20 28 73 65 6e 74 s")...(fill-column...70)...(sent
a4cc0 65 6e 63 65 2d 65 6e 64 2d 64 6f 75 62 6c 65 2d 73 70 61 63 65 20 2e 20 74 29 0a 20 20 28 74 61 ence-end-double-space...t)...(ta
a4ce0 62 2d 77 69 64 74 68 20 2e 20 38 29 29 0a 20 28 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 0a b-width...8))..(emacs-lisp-mode.
a4d00 20 20 28 69 6e 64 65 6e 74 2d 74 61 62 73 2d 6d 6f 64 65 20 2e 20 6e 69 6c 29 0a 20 20 28 6d 6f ..(indent-tabs-mode...nil)...(mo
a4d20 64 65 20 2e 20 62 75 67 2d 72 65 66 65 72 65 6e 63 65 2d 70 72 6f 67 29 29 0a 20 28 73 68 2d 6d de...bug-reference-prog))..(sh-m
a4d40 6f 64 65 0a 20 20 28 73 68 2d 62 61 73 69 63 2d 6f 66 66 73 65 74 20 2e 20 34 29 29 0a 20 28 74 ode...(sh-basic-offset...4))..(t
a4d60 65 78 69 6e 66 6f 2d 6d 6f 64 65 0a 20 20 28 69 6e 64 65 6e 74 2d 74 61 62 73 2d 6d 6f 64 65 20 exinfo-mode...(indent-tabs-mode.
a4d80 2e 20 6e 69 6c 29 0a 20 20 28 6d 6f 64 65 20 2e 20 62 75 67 2d 72 65 66 65 72 65 6e 63 65 2d 70 ..nil)...(mode...bug-reference-p
a4da0 72 6f 67 29 29 29 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 rog)))..........................
a4dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4e00 64 61 73 68 2d 32 2e 31 39 2e 31 2f 64 61 73 68 2d 74 65 6d 70 6c 61 74 65 2e 74 65 78 69 00 00 dash-2.19.1/dash-template.texi..
a4e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4e60 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
a4e80 30 30 32 31 35 32 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 36 30 37 00 20 30 00 00 00 0021522.00000000000.014607..0...
a4ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4f00 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...................
a4f20 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...................
a4f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a5000 5c 69 6e 70 75 74 20 74 65 78 69 6e 66 6f 20 20 20 20 40 63 20 2d 2a 2d 20 74 65 78 69 6e 66 6f \input.texinfo....@c.-*-.texinfo
a5020 20 2d 2a 2d 0a 40 63 20 25 2a 2a 73 74 61 72 74 20 6f 66 20 68 65 61 64 65 72 0a 40 73 65 74 66 .-*-.@c.%**start.of.header.@setf
a5040 69 6c 65 6e 61 6d 65 20 64 61 73 68 2e 69 6e 66 6f 0a 40 73 65 74 20 44 41 53 48 56 45 52 20 40 ilename.dash.info.@set.DASHVER.@
a5060 63 20 5b 5b 20 64 61 73 68 2d 76 65 72 73 69 6f 6e 20 5d 5d 0a 40 73 65 74 74 69 74 6c 65 20 44 c.[[.dash-version.]].@settitle.D
a5080 61 73 68 3a 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 ash:.A.modern.list.library.for.G
a50a0 4e 55 20 45 6d 61 63 73 2e 0a 40 64 6f 63 75 6d 65 6e 74 65 6e 63 6f 64 69 6e 67 20 55 54 46 2d NU.Emacs..@documentencoding.UTF-
a50c0 38 0a 40 64 6f 63 75 6d 65 6e 74 6c 61 6e 67 75 61 67 65 20 65 6e 0a 40 63 20 25 2a 2a 65 6e 64 8.@documentlanguage.en.@c.%**end
a50e0 20 6f 66 20 68 65 61 64 65 72 0a 0a 40 63 6f 70 79 69 6e 67 0a 54 68 69 73 20 6d 61 6e 75 61 6c .of.header..@copying.This.manual
a5100 20 69 73 20 66 6f 72 20 44 61 73 68 20 76 65 72 73 69 6f 6e 20 40 76 61 6c 75 65 7b 44 41 53 48 .is.for.Dash.version.@value{DASH
a5120 56 45 52 7d 2e 0a 0a 43 6f 70 79 72 69 67 68 74 20 40 63 6f 70 79 72 69 67 68 74 7b 7d 20 32 30 VER}...Copyright.@copyright{}.20
a5140 31 32 2d 2d 32 30 32 31 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 12--2021.Free.Software.Foundatio
a5160 6e 2c 20 49 6e 63 2e 0a 0a 40 71 75 6f 74 61 74 69 6f 6e 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 n,.Inc...@quotation.Permission.i
a5180 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 62 75 74 65 20 61 6e s.granted.to.copy,.distribute.an
a51a0 64 2f 6f 72 20 6d 6f 64 69 66 79 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 0a 75 6e 64 65 72 20 d/or.modify.this.document.under.
a51c0 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
a51e0 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 20 6f 72 0a ntation.License,.Version.1.3.or.
a5200 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
a5220 68 65 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 3b 20 77 69 74 he.Free.Software.Foundation;.wit
a5240 68 20 74 68 65 0a 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 60 h.the.Invariant.Sections.being.`
a5260 60 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 27 27 20 61 `GNU.General.Public.License,''.a
a5280 6e 64 20 6e 6f 0a 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 nd.no.Front-Cover.Texts.or.Back-
a52a0 43 6f 76 65 72 20 54 65 78 74 73 2e 20 20 41 20 63 6f 70 79 20 6f 66 20 74 68 65 20 6c 69 63 65 Cover.Texts...A.copy.of.the.lice
a52c0 6e 73 65 20 69 73 0a 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 73 65 63 74 69 6f 6e 20 65 nse.is.included.in.the.section.e
a52e0 6e 74 69 74 6c 65 64 20 60 60 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e ntitled.``GNU.Free.Documentation
a5300 20 4c 69 63 65 6e 73 65 27 27 2e 0a 40 65 6e 64 20 71 75 6f 74 61 74 69 6f 6e 0a 40 65 6e 64 20 .License''..@end.quotation.@end.
a5320 63 6f 70 79 69 6e 67 0a 0a 40 64 69 72 63 61 74 65 67 6f 72 79 20 45 6d 61 63 73 0a 40 64 69 72 copying..@dircategory.Emacs.@dir
a5340 65 6e 74 72 79 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 41 20 entry.*.Dash:.(dash.info).....A.
a5360 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 55 20 45 6d 61 63 modern.list.library.for.GNU.Emac
a5380 73 2e 0a 40 65 6e 64 20 64 69 72 65 6e 74 72 79 0a 0a 40 74 69 74 6c 65 70 61 67 65 0a 40 74 69 s..@end.direntry..@titlepage.@ti
a53a0 74 6c 65 20 44 61 73 68 20 4d 61 6e 75 61 6c 0a 40 73 75 62 74 69 74 6c 65 20 46 6f 72 20 44 61 tle.Dash.Manual.@subtitle.For.Da
a53c0 73 68 20 56 65 72 73 69 6f 6e 20 40 76 61 6c 75 65 7b 44 41 53 48 56 45 52 7d 2e 0a 40 61 75 74 sh.Version.@value{DASHVER}..@aut
a53e0 68 6f 72 20 4d 61 67 6e 61 72 20 53 76 65 65 6e 0a 40 70 61 67 65 0a 40 76 73 6b 69 70 20 30 70 hor.Magnar.Sveen.@page.@vskip.0p
a5400 74 20 70 6c 75 73 20 31 66 69 6c 6c 6c 0a 40 69 6e 73 65 72 74 63 6f 70 79 69 6e 67 0a 40 65 6e t.plus.1filll.@insertcopying.@en
a5420 64 20 74 69 74 6c 65 70 61 67 65 0a 0a 40 63 6f 6e 74 65 6e 74 73 0a 0a 40 69 66 6e 6f 74 74 65 d.titlepage..@contents..@ifnotte
a5440 78 0a 40 6e 6f 64 65 20 54 6f 70 0a 40 74 6f 70 20 44 61 73 68 0a 0a 40 69 6e 73 65 72 74 63 6f x.@node.Top.@top.Dash..@insertco
a5460 70 79 69 6e 67 0a 40 65 6e 64 20 69 66 6e 6f 74 74 65 78 0a 0a 40 6d 65 6e 75 0a 2a 20 49 6e 73 pying.@end.ifnottex..@menu.*.Ins
a5480 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 67 20 61 6e tallation::........Installing.an
a54a0 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 6f 6e 73 3a d.configuring.Dash..*.Functions:
a54c0 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 63 65 2e 0a :...........Dash.API.reference..
a54e0 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 72 69 62 75 *.Development::.........Contribu
a5500 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 70 70 65 6e ting.to.Dash.development...Appen
a5520 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 20 20 20 54 dices..*.FDL::.................T
a5540 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 61 74 69 6f he.license.for.this.documentatio
a5560 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 6f 6e 64 69 n..*.GPL::.................Condi
a5580 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 6e 67 20 44 tions.for.copying.and.changing.D
a55a0 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 20 49 6e 64 ash..*.Index::...............Ind
a55c0 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 61 63 72 6f ex.including.functions.and.macro
a55e0 73 2e 0a 0a 40 64 65 74 61 69 6c 6d 65 6e 75 0a 20 2d 2d 2d 20 54 68 65 20 44 65 74 61 69 6c 65 s...@detailmenu..---.The.Detaile
a5600 64 20 4e 6f 64 65 20 4c 69 73 74 69 6e 67 20 2d 2d 2d 0a 0a 49 6e 73 74 61 6c 6c 61 74 69 6f 6e d.Node.Listing.---..Installation
a5620 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 4c 69 73 74 69 6e ..*.Using.in.a.package::..Listin
a5640 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 65 6e 63 79 2e 0a g.Dash.as.a.package.dependency..
a5660 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 20 76 61 72 69 61 *.Fontification.of.special.varia
a5680 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 6f 72 69 63 20 6d bles::..Font.Lock.of.anaphoric.m
a56a0 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 62 6f 6c 20 6c 6f acro.variables..*.Info.symbol.lo
a56c0 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 6d 62 6f 6c 73 20 okup::..Looking.up.Dash.symbols.
a56e0 69 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 2e 0a 0a 46 75 6e 63 74 69 6f 6e 73 0a 0a 40 63 20 5b in.this.manual...Functions..@c.[
a5700 5b 20 66 75 6e 63 74 69 6f 6e 2d 6c 69 73 74 20 5d 5d 0a 0a 44 65 76 65 6c 6f 70 6d 65 6e 74 0a [.function-list.]]..Development.
a5720 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 6f 20 .*.Contribute::..........How.to.
a5740 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 20 20 contribute..*.Contributors::....
a5760 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 40 65 6e 64 20 64 ....List.of.contributors..@end.d
a5780 65 74 61 69 6c 6d 65 6e 75 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 49 6e 73 74 61 etailmenu.@end.menu..@node.Insta
a57a0 6c 6c 61 74 69 6f 6e 0a 40 63 68 61 70 74 65 72 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 44 llation.@chapter.Installation..D
a57c0 61 73 68 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 40 75 72 6c 7b 68 74 74 70 73 3a 2f ash.is.available.on.@url{https:/
a57e0 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 2c 20 47 4e 55 20 45 4c 50 41 7d 2c 0a 40 75 72 6c 7b /elpa.gnu.org/,.GNU.ELPA},.@url{
a5800 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 2c 20 47 4e 55 https://elpa.gnu.org/devel/,.GNU
a5820 2d 64 65 76 65 6c 20 45 4c 50 41 7d 2c 20 61 6e 64 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 6d -devel.ELPA},.and.@url{https://m
a5840 65 6c 70 61 2e 6f 72 67 2f 2c 20 4d 45 4c 50 41 7d 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 69 6e elpa.org/,.MELPA},.and.can.be.in
a5860 73 74 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 0a 73 74 61 6e 64 61 72 64 20 63 6f 6d 6d 61 6e stalled.with.the.standard.comman
a5880 64 20 40 63 6f 64 65 7b 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 7d 20 28 40 70 78 72 65 66 d.@code{package-install}.(@pxref
a58a0 7b 50 61 63 6b 61 67 65 0a 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2c 2c 2c 20 65 6d 61 63 73 2c 20 {Package.Installation,,,.emacs,.
a58c0 54 68 65 20 47 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 7d 29 2e 0a 0a 40 74 61 62 6c 65 20 The.GNU.Emacs.Manual})...@table.
a58e0 40 6b 62 64 0a 40 69 74 65 6d 20 4d 2d 78 20 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 20 40 @kbd.@item.M-x.package-install.@
a5900 6b 65 79 7b 52 45 54 7d 20 64 61 73 68 20 40 6b 65 79 7b 52 45 54 7d 0a 49 6e 73 74 61 6c 6c 20 key{RET}.dash.@key{RET}.Install.
a5920 74 68 65 20 44 61 73 68 20 6c 69 62 72 61 72 79 2e 0a 40 65 6e 64 20 74 61 62 6c 65 0a 0a 41 6c the.Dash.library..@end.table..Al
a5940 74 65 72 6e 61 74 69 76 65 6c 79 2c 20 79 6f 75 20 63 61 6e 20 6a 75 73 74 20 64 75 6d 70 20 40 ternatively,.you.can.just.dump.@
a5960 66 69 6c 65 7b 64 61 73 68 2e 65 6c 7d 20 69 6e 20 79 6f 75 72 0a 40 63 6f 64 65 7b 6c 6f 61 64 file{dash.el}.in.your.@code{load
a5980 2d 70 61 74 68 7d 20 73 6f 6d 65 77 68 65 72 65 20 28 40 70 78 72 65 66 7b 4c 69 73 70 20 4c 69 -path}.somewhere.(@pxref{Lisp.Li
a59a0 62 72 61 72 69 65 73 2c 2c 2c 20 65 6d 61 63 73 2c 20 54 68 65 20 47 4e 55 0a 45 6d 61 63 73 20 braries,,,.emacs,.The.GNU.Emacs.
a59c0 4d 61 6e 75 61 6c 7d 29 2e 0a 0a 40 6d 65 6e 75 0a 2a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 Manual})...@menu.*.Using.in.a.pa
a59e0 63 6b 61 67 65 3a 3a 20 20 4c 69 73 74 69 6e 67 20 44 61 73 68 20 61 73 20 61 20 70 61 63 6b 61 ckage::..Listing.Dash.as.a.packa
a5a00 67 65 20 64 65 70 65 6e 64 65 6e 63 79 2e 0a 2a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f ge.dependency..*.Fontification.o
a5a20 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 3a 3a 20 20 46 6f 6e 74 20 4c 6f 63 6b f.special.variables::..Font.Lock
a5a40 20 6f 66 20 61 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 76 61 72 69 61 62 6c 65 73 2e 0a 2a .of.anaphoric.macro.variables..*
a5a60 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 3a 3a 20 20 4c 6f 6f 6b 69 6e 67 20 75 .Info.symbol.lookup::..Looking.u
a5a80 70 20 44 61 73 68 20 73 79 6d 62 6f 6c 73 20 69 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 2e 0a 40 p.Dash.symbols.in.this.manual..@
a5aa0 65 6e 64 20 6d 65 6e 75 0a 0a 40 6e 6f 64 65 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 end.menu..@node.Using.in.a.packa
a5ac0 67 65 0a 40 73 65 63 74 69 6f 6e 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 0a 0a ge.@section.Using.in.a.package..
a5ae0 49 66 20 79 6f 75 20 75 73 65 20 44 61 73 68 20 69 6e 20 79 6f 75 72 20 6f 77 6e 20 70 61 63 6b If.you.use.Dash.in.your.own.pack
a5b00 61 67 65 2c 20 62 65 20 73 75 72 65 20 74 6f 20 6c 69 73 74 20 69 74 20 61 73 20 61 0a 64 65 70 age,.be.sure.to.list.it.as.a.dep
a5b20 65 6e 64 65 6e 63 79 20 69 6e 20 74 68 65 20 6c 69 62 72 61 72 79 27 73 20 68 65 61 64 65 72 73 endency.in.the.library's.headers
a5b40 20 61 73 20 66 6f 6c 6c 6f 77 73 20 28 40 70 78 72 65 66 7b 4c 69 62 72 61 72 79 0a 48 65 61 64 .as.follows.(@pxref{Library.Head
a5b60 65 72 73 2c 2c 2c 20 65 6c 69 73 70 2c 20 54 68 65 20 45 6d 61 63 73 20 4c 69 73 70 20 52 65 66 ers,,,.elisp,.The.Emacs.Lisp.Ref
a5b80 65 72 65 6e 63 65 20 4d 61 6e 75 61 6c 7d 29 2e 0a 0a 40 6c 69 73 70 0a 3b 3b 20 50 61 63 6b 61 erence.Manual})...@lisp.;;.Packa
a5ba0 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 64 61 73 68 20 22 40 76 61 6c 75 65 7b 44 41 53 48 ge-Requires:.((dash."@value{DASH
a5bc0 56 45 52 7d 22 29 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 46 6f 6e 74 69 66 69 VER}")).@end.lisp..@node.Fontifi
a5be0 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 40 73 65 63 cation.of.special.variables.@sec
a5c00 74 69 6f 6e 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 20 76 61 tion.Fontification.of.special.va
a5c20 72 69 61 62 6c 65 73 0a 0a 40 66 69 6e 64 65 78 20 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f riables..@findex.dash-fontify-mo
a5c40 64 65 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 40 63 6f de.The.autoloaded.minor.mode.@co
a5c60 64 65 7b 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 7d 20 69 73 20 70 72 6f 76 69 64 65 de{dash-fontify-mode}.is.provide
a5c80 64 20 66 6f 72 0a 6f 70 74 69 6f 6e 61 6c 20 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 d.for.optional.fontification.of.
a5ca0 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 40 63 6f 64 65 7b anaphoric.Dash.variables.(@code{
a5cc0 69 74 7d 2c 0a 40 63 6f 64 65 7b 61 63 63 7d 2c 20 65 74 63 2e 40 3a 29 20 69 6e 20 45 6d 61 63 it},.@code{acc},.etc.@:).in.Emac
a5ce0 73 20 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 s.Lisp.buffers.using.search-base
a5d00 64 20 46 6f 6e 74 20 4c 6f 63 6b 0a 28 40 70 78 72 65 66 7b 46 6f 6e 74 20 4c 6f 63 6b 2c 2c 2c d.Font.Lock.(@pxref{Font.Lock,,,
a5d20 20 65 6d 61 63 73 2c 20 54 68 65 20 47 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 7d 29 2e 20 .emacs,.The.GNU.Emacs.Manual})..
a5d40 20 49 6e 20 6f 6c 64 65 72 20 45 6d 61 63 73 0a 76 65 72 73 69 6f 6e 73 20 77 68 69 63 68 20 64 .In.older.Emacs.versions.which.d
a5d60 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 63 72 6f 73 2c o.not.dynamically.detect.macros,
a5d80 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 61 6c 73 6f 0a 66 6f 6e 74 69 66 69 65 73 20 63 .the.minor.mode.also.fontifies.c
a5da0 61 6c 6c 73 20 74 6f 20 44 61 73 68 20 6d 61 63 72 6f 73 2e 0a 0a 40 66 69 6e 64 65 78 20 67 6c alls.to.Dash.macros...@findex.gl
a5dc0 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 0a 54 6f 20 61 75 74 6f 6d 61 obal-dash-fontify-mode.To.automa
a5de0 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 6d 6f 64 65 20 69 6e tically.enable.the.minor.mode.in
a5e00 20 61 6c 6c 20 45 6d 61 63 73 20 4c 69 73 70 20 62 75 66 66 65 72 73 2c 20 6a 75 73 74 0a 63 61 .all.Emacs.Lisp.buffers,.just.ca
a5e20 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 63 6f 75 6e 74 65 72 ll.its.autoloaded.global.counter
a5e40 70 61 72 74 0a 40 63 6f 64 65 7b 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d part.@code{global-dash-fontify-m
a5e60 6f 64 65 7d 2c 20 65 69 74 68 65 72 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 6f 72 20 66 72 ode},.either.interactively.or.fr
a5e80 6f 6d 20 79 6f 75 72 0a 40 63 6f 64 65 7b 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 7d 3a 0a 0a om.your.@code{user-init-file}:..
a5ea0 40 6c 69 73 70 0a 28 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 29 @lisp.(global-dash-fontify-mode)
a5ec0 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f .@end.lisp..@node.Info.symbol.lo
a5ee0 6f 6b 75 70 0a 40 73 65 63 74 69 6f 6e 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 okup.@section.Info.symbol.lookup
a5f00 0a 0a 40 66 69 6e 64 65 78 20 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f ..@findex.dash-register-info-loo
a5f20 6b 75 70 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 kup.While.editing.Elisp.files,.y
a5f40 6f 75 20 63 61 6e 20 75 73 65 20 40 6b 62 64 7b 43 2d 68 20 53 7d 0a 28 40 63 6f 64 65 7b 69 6e ou.can.use.@kbd{C-h.S}.(@code{in
a5f60 66 6f 2d 6c 6f 6f 6b 75 70 2d 73 79 6d 62 6f 6c 7d 29 20 74 6f 20 6c 6f 6f 6b 20 75 70 20 45 6c fo-lookup-symbol}).to.look.up.El
a5f80 69 73 70 20 73 79 6d 62 6f 6c 73 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 0a 49 6e 66 6f isp.symbols.in.the.relevant.Info
a5fa0 20 6d 61 6e 75 61 6c 73 20 28 40 70 78 72 65 66 7b 49 6e 66 6f 20 4c 6f 6f 6b 75 70 2c 2c 2c 20 .manuals.(@pxref{Info.Lookup,,,.
a5fc0 65 6d 61 63 73 2c 20 54 68 65 20 47 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 7d 29 2e 20 20 emacs,.The.GNU.Emacs.Manual})...
a5fe0 54 6f 0a 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 73 79 6d 62 To.enable.the.same.for.Dash.symb
a6000 6f 6c 73 2c 20 75 73 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 40 63 6f 64 65 7b 64 61 73 68 2d ols,.use.the.command.@code{dash-
a6020 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 7d 2e 20 20 49 74 20 63 61 6e 20 62 register-info-lookup}...It.can.b
a6040 65 20 63 61 6c 6c 65 64 20 64 69 72 65 63 74 6c 79 20 77 68 65 6e 0a 6e 65 65 64 65 64 2c 20 6f e.called.directly.when.needed,.o
a6060 72 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 79 6f 75 72 20 40 63 6f 64 65 7b r.automatically.from.your.@code{
a6080 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 7d 2e 20 20 46 6f 72 0a 65 78 61 6d 70 6c 65 3a 0a 0a user-init-file}...For.example:..
a60a0 40 6c 69 73 70 0a 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 66 @lisp.(with-eval-after-load.'inf
a60c0 6f 2d 6c 6f 6f 6b 0a 20 20 28 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f o-look...(dash-register-info-loo
a60e0 6b 75 70 29 29 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6e 6f 64 65 20 46 75 6e 63 74 69 6f 6e 73 kup)).@end.lisp..@node.Functions
a6100 0a 40 63 68 61 70 74 65 72 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 54 68 69 73 20 63 68 61 70 74 65 .@chapter.Functions..This.chapte
a6120 72 20 63 6f 6e 74 61 69 6e 73 20 72 65 66 65 72 65 6e 63 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 r.contains.reference.documentati
a6140 6f 6e 20 66 6f 72 20 74 68 65 20 44 61 73 68 0a 40 61 63 72 6f 6e 79 6d 7b 41 50 49 2c 20 41 70 on.for.the.Dash.@acronym{API,.Ap
a6160 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 7d plication.Programming.Interface}
a6180 2e 20 20 54 68 65 20 6e 61 6d 65 73 20 6f 66 20 61 6c 6c 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ...The.names.of.all.public.funct
a61a0 69 6f 6e 73 20 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.
a61c0 70 72 65 66 69 78 65 64 20 77 69 74 68 20 61 20 64 61 73 68 0a 63 68 61 72 61 63 74 65 72 20 28 prefixed.with.a.dash.character.(
a61e0 40 73 61 6d 70 7b 2d 7d 29 2e 0a 0a 54 68 65 20 6c 69 62 72 61 72 79 20 61 6c 73 6f 20 70 72 6f @samp{-})...The.library.also.pro
a6200 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 20 6f vides.anaphoric.macro.versions.o
a6220 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 65 6e f.functions.where.that.makes.sen
a6240 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 20 61 se...The.names.of.these.macros.a
a6260 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 40 73 61 re.prefixed.with.two.dashes.(@sa
a6280 6d 70 7b 2d 2d 7d 29 20 69 6e 73 74 65 61 64 20 6f 66 20 6f 6e 65 2e 0a 0a 46 6f 72 20 69 6e 73 mp{--}).instead.of.one...For.ins
a62a0 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 40 63 6f 64 65 7b tance,.while.the.function.@code{
a62c0 2d 6d 61 70 7d 20 61 70 70 6c 69 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 0a 65 61 63 68 -map}.applies.a.function.to.each
a62e0 20 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 6f 72 69 .element.of.a.list,.its.anaphori
a6300 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 40 63 6f 64 65 7b 2d 2d 6d 61 70 7d 0a 65 76 61 6c 75 c.counterpart.@code{--map}.evalu
a6320 61 74 65 73 20 61 20 66 6f 72 6d 20 77 69 74 68 20 74 68 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 ates.a.form.with.the.local.varia
a6340 62 6c 65 20 40 63 6f 64 65 7b 69 74 7d 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 62 6f 75 6e 64 0a ble.@code{it}.temporarily.bound.
a6360 74 6f 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 20 69 6e 73 74 to.the.current.list.element.inst
a6380 65 61 64 2e 0a 0a 40 6c 69 73 70 0a 40 67 72 6f 75 70 0a 3b 3b 20 4e 6f 72 6d 61 6c 20 76 65 72 ead...@lisp.@group.;;.Normal.ver
a63a0 73 69 6f 6e 2e 0a 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 sion..(-map.(lambda.(n).(*.n.n))
a63c0 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 .'(1.2.3.4)).....@result{}.(1.4.
a63e0 39 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 0a 40 67 72 6f 75 70 0a 3b 3b 20 41 6e 61 70 9.16).@end.group..@group.;;.Anap
a6400 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 2e 0a 28 2d 2d 6d 61 70 20 28 2a 20 69 74 20 69 74 29 20 horic.version..(--map.(*.it.it).
a6420 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 '(1.2.3.4)).....@result{}.(1.4.9
a6440 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 54 68 65 20 6e .16).@end.group.@end.lisp..The.n
a6460 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 61 6c ormal.version.can,.of.course,.al
a6480 73 6f 20 62 65 20 77 72 69 74 74 65 6e 20 61 73 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e so.be.written.as.in.the.followin
a64a0 67 0a 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 74 68 g.example,.which.demonstrates.th
a64c0 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 40 6c 69 e.utility.of.both.versions...@li
a64e0 73 70 0a 40 67 72 6f 75 70 0a 28 64 65 66 75 6e 20 6d 79 2d 73 71 75 61 72 65 20 28 6e 29 0a 20 sp.@group.(defun.my-square.(n)..
a6500 20 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 ."Return.N.multiplied.by.itself.
a6520 22 0a 20 20 28 2a 20 6e 20 6e 29 29 0a 0a 28 2d 6d 61 70 20 23 27 6d 79 2d 73 71 75 61 72 65 20 "...(*.n.n))..(-map.#'my-square.
a6540 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 40 72 65 73 75 6c 74 7b 7d 20 28 31 20 34 20 39 '(1.2.3.4)).....@result{}.(1.4.9
a6560 20 31 36 29 0a 40 65 6e 64 20 67 72 6f 75 70 0a 40 65 6e 64 20 6c 69 73 70 0a 0a 40 6d 65 6e 75 .16).@end.group.@end.lisp..@menu
a6580 0a 40 63 20 5b 5b 20 66 75 6e 63 74 69 6f 6e 2d 6c 69 73 74 20 5d 5d 0a 40 65 6e 64 20 6d 65 6e .@c.[[.function-list.]].@end.men
a65a0 75 0a 0a 40 63 20 5b 5b 20 66 75 6e 63 74 69 6f 6e 2d 64 6f 63 73 20 5d 5d 0a 40 6e 6f 64 65 20 u..@c.[[.function-docs.]].@node.
a65c0 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 40 63 68 61 70 74 65 72 20 44 65 76 65 6c 6f 70 6d 65 6e 74 Development.@chapter.Development
a65e0 0a 0a 54 68 65 20 44 61 73 68 20 72 65 70 6f 73 69 74 6f 72 79 20 69 73 20 68 6f 73 74 65 64 20 ..The.Dash.repository.is.hosted.
a6600 6f 6e 20 47 69 74 48 75 62 20 61 74 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 on.GitHub.at.@url{https://github
a6620 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 7d 2e 0a 0a 40 6d 65 6e 75 0a 2a 20 .com/magnars/dash.el}...@menu.*.
a6640 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 6f 20 63 6f 6e Contribute::..........How.to.con
a6660 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 20 20 20 20 20 tribute..*.Contributors::.......
a6680 20 4c 69 73 74 20 6f 66 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 2e 0a 40 65 6e 64 20 6d 65 6e 75 .List.of.contributors..@end.menu
a66a0 0a 0a 40 6e 6f 64 65 20 43 6f 6e 74 72 69 62 75 74 65 0a 40 73 65 63 74 69 6f 6e 20 43 6f 6e 74 ..@node.Contribute.@section.Cont
a66c0 72 69 62 75 74 65 0a 0a 59 65 73 2c 20 70 6c 65 61 73 65 20 64 6f 2e 20 20 50 75 72 65 20 66 75 ribute..Yes,.please.do...Pure.fu
a66e0 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 74 69 6f 6e nctions.in.the.list.manipulation
a6700 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 27 73 20 61 20 .realm.only,.please...There's.a.
a6720 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 20 40 66 69 6c 65 suite.of.examples/tests.in.@file
a6740 7b 64 65 76 2f 65 78 61 6d 70 6c 65 73 2e 65 6c 7d 2c 0a 73 6f 20 72 65 6d 65 6d 62 65 72 20 74 {dev/examples.el},.so.remember.t
a6760 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 6f 6e 73 2c 20 o.add.tests.for.your.additions,.
a6780 6f 72 20 74 68 65 79 20 6d 61 79 20 67 65 74 20 62 72 6f 6b 65 6e 0a 6c 61 74 65 72 2e 0a 0a 52 or.they.may.get.broken.later...R
a67a0 75 6e 20 74 68 65 20 74 65 73 74 73 20 77 69 74 68 20 40 73 61 6d 70 7b 6d 61 6b 65 20 63 68 65 un.the.tests.with.@samp{make.che
a67c0 63 6b 7d 2e 20 20 52 65 67 65 6e 65 72 61 74 65 20 74 68 65 20 64 6f 63 73 20 77 69 74 68 0a 40 ck}...Regenerate.the.docs.with.@
a67e0 73 61 6d 70 7b 6d 61 6b 65 20 64 6f 63 73 7d 2e 20 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 samp{make.docs}...Contributors.a
a6800 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 68 65 73 65 0a 63 re.encouraged.to.install.these.c
a6820 6f 6d 6d 61 6e 64 73 20 61 73 20 61 20 47 69 74 20 70 72 65 2d 63 6f 6d 6d 69 74 20 68 6f 6f 6b ommands.as.a.Git.pre-commit.hook
a6840 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 77 61 79 73 0a 72 ,.so.that.the.tests.are.always.r
a6860 75 6e 6e 69 6e 67 20 61 6e 64 20 74 68 65 20 64 6f 63 73 20 61 72 65 20 61 6c 77 61 79 73 20 69 unning.and.the.docs.are.always.i
a6880 6e 20 73 79 6e 63 3a 0a 0a 40 65 78 61 6d 70 6c 65 0a 24 20 63 70 20 64 65 76 2f 70 72 65 2d 63 n.sync:..@example.$.cp.dev/pre-c
a68a0 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 0a 40 ommit.sh..git/hooks/pre-commit.@
a68c0 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 4f 68 2c 20 61 6e 64 20 64 6f 6e 27 74 20 65 64 69 74 20 end.example..Oh,.and.don't.edit.
a68e0 40 66 69 6c 65 7b 52 45 41 44 4d 45 2e 6d 64 7d 20 6f 72 20 40 66 69 6c 65 7b 64 61 73 68 2e 74 @file{README.md}.or.@file{dash.t
a6900 65 78 69 7d 20 64 69 72 65 63 74 6c 79 2c 20 61 73 0a 74 68 65 79 20 61 72 65 20 61 75 74 6f 2d exi}.directly,.as.they.are.auto-
a6920 67 65 6e 65 72 61 74 65 64 2e 20 20 49 6e 73 74 65 61 64 2c 20 63 68 61 6e 67 65 20 74 68 65 69 generated...Instead,.change.thei
a6940 72 20 72 65 73 70 65 63 74 69 76 65 20 74 65 6d 70 6c 61 74 65 73 0a 40 66 69 6c 65 7b 72 65 61 r.respective.templates.@file{rea
a6960 64 6d 65 2d 74 65 6d 70 6c 61 74 65 2e 6d 64 7d 20 6f 72 20 40 66 69 6c 65 7b 64 61 73 68 2d 74 dme-template.md}.or.@file{dash-t
a6980 65 6d 70 6c 61 74 65 2e 74 65 78 69 7d 2e 0a 0a 54 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 44 emplate.texi}...To.ensure.that.D
a69a0 61 73 68 20 63 61 6e 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 ash.can.be.distributed.with.GNU.
a69c0 45 4c 50 41 20 6f 72 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 ELPA.or.Emacs,.we.require.that.a
a69e0 6c 6c 20 63 6f 6e 74 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 ll.contributors.assign.copyright
a6a00 20 74 6f 20 74 68 65 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 .to.the.Free.Software.Foundation
a6a20 2e 20 20 46 6f 72 20 6d 6f 72 65 20 6f 6e 20 74 68 69 73 2c 20 40 70 78 72 65 66 7b 43 6f 70 79 ...For.more.on.this,.@pxref{Copy
a6a40 72 69 67 68 74 20 41 73 73 69 67 6e 6d 65 6e 74 2c 2c 2c 20 65 6d 61 63 73 2c 0a 54 68 65 20 47 right.Assignment,,,.emacs,.The.G
a6a60 4e 55 20 45 6d 61 63 73 20 4d 61 6e 75 61 6c 7d 2e 0a 0a 40 6e 6f 64 65 20 43 6f 6e 74 72 69 62 NU.Emacs.Manual}...@node.Contrib
a6a80 75 74 6f 72 73 0a 40 73 65 63 74 69 6f 6e 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 0a 0a 40 69 74 utors.@section.Contributors..@it
a6aa0 65 6d 69 7a 65 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e emize.@item.@url{https://github.
a6ac0 63 6f 6d 2f 46 75 63 6f 31 2c 20 4d 61 74 75 73 20 47 6f 6c 6a 65 72 7d 20 63 6f 6e 74 72 69 62 com/Fuco1,.Matus.Goljer}.contrib
a6ae0 75 74 65 64 20 6c 6f 74 73 20 6f 66 0a 66 65 61 74 75 72 65 73 20 61 6e 64 20 66 75 6e 63 74 69 uted.lots.of.features.and.functi
a6b00 6f 6e 73 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 ons..@item.@url{https://github.c
a6b20 6f 6d 2f 74 6b 66 2c 20 54 61 6b 61 66 75 6d 69 20 41 72 61 6b 61 6b 69 7d 20 63 6f 6e 74 72 69 om/tkf,.Takafumi.Arakaki}.contri
a6b40 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 67 72 6f 75 70 2d 62 79 7d 2e 0a 40 69 74 65 6d 0a 40 75 buted.@code{-group-by}..@item.@u
a6b60 72 6c 7b 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 2c 20 74 rl{https://github.com/tali713,.t
a6b80 61 6c 69 37 31 33 7d 20 69 73 20 74 68 65 20 61 75 74 68 6f 72 20 6f 66 0a 40 63 6f 64 65 7b 2d ali713}.is.the.author.of.@code{-
a6ba0 61 70 70 6c 69 66 79 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 applify}..@item.@url{https://git
a6bc0 68 75 62 2e 63 6f 6d 2f 76 65 6d 76 2c 20 56 40 27 7b 69 7d 63 74 6f 72 20 4d 2e 20 56 61 6c 65 hub.com/vemv,.V@'{i}ctor.M..Vale
a6be0 6e 7a 75 65 6c 61 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 72 65 70 65 61 nzuela}.contributed.@code{-repea
a6c00 74 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f t}..@item.@url{https://github.co
a6c20 6d 2f 6e 69 63 66 65 72 72 69 65 72 2c 20 4e 69 63 20 46 65 72 72 69 65 72 7d 20 63 6f 6e 74 72 m/nicferrier,.Nic.Ferrier}.contr
a6c40 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 63 6f 6e 73 2a 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c ibuted.@code{-cons*}..@item.@url
a6c60 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 57 69 6c 66 72 65 64 2c 20 57 69 6c {https://github.com/Wilfred,.Wil
a6c80 66 72 65 64 20 48 75 67 68 65 73 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d fred.Hughes}.contributed.@code{-
a6ca0 73 6c 69 63 65 7d 2c 20 40 63 6f 64 65 7b 2d 66 69 72 73 74 2d 69 74 65 6d 7d 2c 20 61 6e 64 20 slice},.@code{-first-item},.and.
a6cc0 40 63 6f 64 65 7b 2d 6c 61 73 74 2d 69 74 65 6d 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 @code{-last-item}..@item.@url{ht
a6ce0 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 68 6f 73 74 69 2c 20 45 6d 61 6e 75 65 6c tps://github.com/shosti,.Emanuel
a6d00 20 45 76 61 6e 73 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 69 66 2d 6c 65 .Evans}.contributed.@code{-if-le
a6d20 74 7d 2c 20 40 63 6f 64 65 7b 2d 77 68 65 6e 2d 6c 65 74 7d 2c 20 61 6e 64 20 40 63 6f 64 65 7b t},.@code{-when-let},.and.@code{
a6d40 2d 69 6e 73 65 72 74 2d 61 74 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f -insert-at}..@item.@url{https://
a6d60 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 6a 65 65 70 2c 20 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 github.com/rejeep,.Johan.Anderss
a6d80 6f 6e 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 73 75 6d 7d 2c 20 40 63 6f on}.contributed.@code{-sum},.@co
a6da0 64 65 7b 2d 70 72 6f 64 75 63 74 7d 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d 73 61 6d 65 2d 69 74 de{-product},.and.@code{-same-it
a6dc0 65 6d 73 3f 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 ems?}..@item.@url{https://github
a6de0 2e 63 6f 6d 2f 6b 75 72 69 73 75 77 68 79 74 65 2c 20 43 68 72 69 73 74 69 6e 61 20 57 68 79 74 .com/kurisuwhyte,.Christina.Whyt
a6e00 65 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 63 6f 6d 70 6f 73 65 7d 2e 0a e}.contributed.@code{-compose}..
a6e20 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 74 @item.@url{https://github.com/st
a6e40 65 76 65 6e 74 6c 61 6d 62 2c 20 53 74 65 76 65 20 4c 61 6d 62 7d 20 63 6f 6e 74 72 69 62 75 74 eventlamb,.Steve.Lamb}.contribut
a6e60 65 64 0a 40 63 6f 64 65 7b 2d 63 79 63 6c 65 7d 2c 20 40 63 6f 64 65 7b 2d 70 61 64 7d 2c 20 40 ed.@code{-cycle},.@code{-pad},.@
a6e80 63 6f 64 65 7b 2d 61 6e 6e 6f 74 61 74 65 7d 2c 20 40 63 6f 64 65 7b 2d 7a 69 70 2d 66 69 6c 6c code{-annotate},.@code{-zip-fill
a6ea0 7d 2c 20 61 6e 64 20 61 0a 76 61 72 69 61 64 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 40 63 6f },.and.a.variadic.version.of.@co
a6ec0 64 65 7b 2d 7a 69 70 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 de{-zip}..@item.@url{https://git
a6ee0 68 75 62 2e 63 6f 6d 2f 66 62 65 72 67 72 6f 74 68 2c 20 46 72 65 64 72 69 6b 20 42 65 72 67 72 hub.com/fbergroth,.Fredrik.Bergr
a6f00 6f 74 68 7d 20 6d 61 64 65 20 74 68 65 0a 40 63 6f 64 65 7b 2d 69 66 2d 6c 65 74 7d 20 66 61 6d oth}.made.the.@code{-if-let}.fam
a6f20 69 6c 79 20 75 73 65 20 40 63 6f 64 65 7b 2d 6c 65 74 7d 20 64 65 73 74 72 75 63 74 75 72 69 6e ily.use.@code{-let}.destructurin
a6f40 67 20 61 6e 64 20 69 6d 70 72 6f 76 65 64 20 74 68 65 0a 73 63 72 69 70 74 20 66 6f 72 20 67 65 g.and.improved.the.script.for.ge
a6f60 6e 65 72 61 74 69 6e 67 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 40 69 74 65 6d 0a 40 75 nerating.documentation..@item.@u
a6f80 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 68 6f 6c 6f 6d 6f 72 70 68 2c rl{https://github.com/holomorph,
a6fa0 20 4d 61 72 6b 20 4f 74 65 69 7a 61 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 7b .Mark.Oteiza}.contributed.@code{
a6fc0 2d 69 6f 74 61 7d 20 61 6e 64 20 74 68 65 20 73 63 72 69 70 74 20 74 6f 20 63 72 65 61 74 65 20 -iota}.and.the.script.to.create.
a6fe0 61 6e 20 49 6e 66 6f 20 6d 61 6e 75 61 6c 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 an.Info.manual..@item.@url{https
a7000 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 77 61 73 61 6d 61 73 61 2c 20 56 61 73 69 6c 69 6a 20 ://github.com/wasamasa,.Vasilij.
a7020 53 63 68 6e 65 69 64 65 72 6d 61 6e 6e 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 40 63 6f 64 65 Schneidermann}.contributed.@code
a7040 7b 2d 73 6f 6d 65 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 {-some}..@item.@url{https://gith
a7060 75 62 2e 63 6f 6d 2f 6f 63 63 69 64 65 6e 73 2c 20 57 69 6c 6c 69 61 6d 20 57 65 73 74 7d 20 6d ub.com/occidens,.William.West}.m
a7080 61 64 65 20 40 63 6f 64 65 7b 2d 66 69 78 66 6e 7d 0a 6d 6f 72 65 20 72 6f 62 75 73 74 20 61 74 ade.@code{-fixfn}.more.robust.at
a70a0 20 68 61 6e 64 6c 69 6e 67 20 66 6c 6f 61 74 73 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 .handling.floats..@item.@url{htt
a70c0 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 61 6d 73 61 75 6c 2c 20 43 61 6d 20 53 61 75 ps://github.com/camsaul,.Cam.Sau
a70e0 6c 7d 20 63 6f 6e 74 72 69 62 75 74 65 64 20 40 63 6f 64 65 7b 2d 73 6f 6d 65 2d 3e 7d 2c 0a 40 l}.contributed.@code{-some->},.@
a7100 63 6f 64 65 7b 2d 73 6f 6d 65 2d 3e 3e 7d 2c 20 61 6e 64 20 40 63 6f 64 65 7b 2d 73 6f 6d 65 2d code{-some->>},.and.@code{-some-
a7120 2d 3e 7d 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 ->}..@item.@url{https://github.c
a7140 6f 6d 2f 62 61 73 69 6c 2d 63 6f 6e 74 6f 2c 20 42 61 73 69 6c 20 4c 2e 20 43 6f 6e 74 6f 76 6f om/basil-conto,.Basil.L..Contovo
a7160 75 6e 65 73 69 6f 73 7d 0a 63 6f 6e 74 72 69 62 75 74 65 64 20 40 63 6f 64 65 7b 2d 63 6f 6d 6d unesios}.contributed.@code{-comm
a7180 6f 6e 2d 70 72 65 66 69 78 7d 2c 20 40 63 6f 64 65 7b 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 on-prefix},.@code{-common-suffix
a71a0 7d 2c 20 61 6e 64 20 76 61 72 69 6f 75 73 0a 6f 74 68 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 },.and.various.other.improvement
a71c0 73 2e 0a 40 69 74 65 6d 0a 40 75 72 6c 7b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d s..@item.@url{https://github.com
a71e0 2f 64 6f 75 62 6c 65 70 2c 20 50 61 75 6c 20 50 6f 67 6f 6e 79 73 68 65 76 7d 20 63 6f 6e 74 72 /doublep,.Paul.Pogonyshev}.contr
a7200 69 62 75 74 65 64 0a 40 63 6f 64 65 7b 2d 65 61 63 68 2d 72 7d 20 61 6e 64 20 40 63 6f 64 65 7b ibuted.@code{-each-r}.and.@code{
a7220 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 7d 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 54 68 -each-r-while}..@end.itemize..Th
a7240 61 6e 6b 73 21 0a 0a 4e 65 77 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 72 65 20 76 65 72 79 anks!..New.contributors.are.very
a7260 20 77 65 6c 63 6f 6d 65 2e 20 20 40 78 72 65 66 7b 43 6f 6e 74 72 69 62 75 74 65 7d 2e 0a 0a 40 .welcome...@xref{Contribute}...@
a7280 63 20 41 70 70 65 6e 64 69 63 65 73 2e 0a 0a 40 6e 6f 64 65 20 46 44 4c 0a 40 61 70 70 65 6e 64 c.Appendices...@node.FDL.@append
a72a0 69 78 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 73 ix.GNU.Free.Documentation.Licens
a72c0 65 0a 40 69 6e 63 6c 75 64 65 20 64 6f 63 2f 66 64 6c 2e 74 65 78 69 0a 0a 40 6e 6f 64 65 20 47 e.@include.doc/fdl.texi..@node.G
a72e0 50 4c 0a 40 61 70 70 65 6e 64 69 78 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 PL.@appendix.GNU.General.Public.
a7300 4c 69 63 65 6e 73 65 0a 40 69 6e 63 6c 75 64 65 20 64 6f 63 2f 67 70 6c 2e 74 65 78 69 0a 0a 40 License.@include.doc/gpl.texi..@
a7320 6e 6f 64 65 20 49 6e 64 65 78 0a 40 75 6e 6e 75 6d 62 65 72 65 64 20 49 6e 64 65 78 0a 40 70 72 node.Index.@unnumbered.Index.@pr
a7340 69 6e 74 69 6e 64 65 78 20 66 6e 0a 0a 40 62 79 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 intindex.fn..@bye...............
a7360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a73a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a73c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a73e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7400 64 61 73 68 2d 32 2e 31 39 2e 31 2f 72 65 61 64 6d 65 2d 74 65 6d 70 6c 61 74 65 2e 6d 64 00 00 dash-2.19.1/readme-template.md..
a7420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7460 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
a7480 30 30 31 37 30 36 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 36 34 00 20 30 00 00 00 0017066.00000000000.014564..0...
a74a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a74c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a74e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7500 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...................
a7520 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...................
a7540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a75a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a75c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a75e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7600 5b 21 5b 43 49 5d 28 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 [![CI](https://github.com/magnar
a7620 73 2f 64 61 73 68 2e 65 6c 2f 61 63 74 69 6f 6e 73 2f 77 6f 72 6b 66 6c 6f 77 73 2f 74 65 73 74 s/dash.el/actions/workflows/test
a7640 2e 79 6d 6c 2f 62 61 64 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e .yml/badge.svg)](https://github.
a7660 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 2f 61 63 74 69 6f 6e 73 2f 77 6f 72 6b com/magnars/dash.el/actions/work
a7680 66 6c 6f 77 73 2f 74 65 73 74 2e 79 6d 6c 29 0a 5b 21 5b 47 4e 55 20 45 4c 50 41 5d 28 68 74 74 flows/test.yml).[![GNU.ELPA](htt
a76a0 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f 64 61 73 68 2e ps://elpa.gnu.org/packages/dash.
a76c0 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 70 61 63 6b 61 svg)](https://elpa.gnu.org/packa
a76e0 67 65 73 2f 64 61 73 68 2e 68 74 6d 6c 29 0a 5b 21 5b 47 4e 55 2d 64 65 76 65 6c 20 45 4c 50 41 ges/dash.html).[![GNU-devel.ELPA
a7700 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 64 61 73 ](https://elpa.gnu.org/devel/das
a7720 68 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 h.svg)](https://elpa.gnu.org/dev
a7740 65 6c 2f 64 61 73 68 2e 68 74 6d 6c 29 0a 5b 21 5b 4d 45 4c 50 41 20 53 74 61 62 6c 65 5d 28 68 el/dash.html).[![MELPA.Stable](h
a7760 74 74 70 73 3a 2f 2f 73 74 61 62 6c 65 2e 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 ttps://stable.melpa.org/packages
a7780 2f 64 61 73 68 2d 62 61 64 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 73 74 61 62 6c 65 /dash-badge.svg)](https://stable
a77a0 2e 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 64 61 73 68 29 0a 5b 21 5b 4d 45 4c 50 41 5d 28 68 74 74 .melpa.org/#/dash).[![MELPA](htt
a77c0 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f 64 61 73 68 2d 62 61 64 ps://melpa.org/packages/dash-bad
a77e0 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 64 61 73 ge.svg)](https://melpa.org/#/das
a7800 68 29 0a 0a 23 20 3c 69 6d 67 20 61 6c 69 67 6e 3d 22 72 69 67 68 74 22 20 73 72 63 3d 22 72 61 h)..#.<img.align="right".src="ra
a7820 69 6e 62 6f 77 2d 64 61 73 68 2e 70 6e 67 22 3e 20 64 61 73 68 2e 65 6c 0a 0a 41 20 6d 6f 64 65 inbow-dash.png">.dash.el..A.mode
a7840 72 6e 20 6c 69 73 74 20 41 50 49 20 66 6f 72 20 45 6d 61 63 73 2e 20 20 4e 6f 0a 5b 60 27 63 6c rn.list.API.for.Emacs...No.[`'cl
a7860 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 `](https://gnu.org/software/emac
a7880 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 63 6c 2f 29 20 72 65 71 75 69 72 65 64 s/manual/html_node/cl/).required
a78a0 2e 0a 0a 53 65 65 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 66 69 6c 65 20 66 6f 72 20 6c ...See.the.end.of.the.file.for.l
a78c0 69 63 65 6e 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a 0a 23 23 20 43 6f 6e 74 65 6e 74 73 0a icense.conditions...##.Contents.
a78e0 0a 2a 20 5b 43 68 61 6e 67 65 20 6c 6f 67 5d 28 23 63 68 61 6e 67 65 2d 6c 6f 67 29 0a 20 20 2a .*.[Change.log](#change-log)...*
a7900 20 5b 55 70 63 6f 6d 69 6e 67 20 62 72 65 61 6b 69 6e 67 20 63 68 61 6e 67 65 21 5d 28 23 75 70 .[Upcoming.breaking.change!](#up
a7920 63 6f 6d 69 6e 67 2d 62 72 65 61 6b 69 6e 67 2d 63 68 61 6e 67 65 29 0a 2a 20 5b 49 6e 73 74 61 coming-breaking-change).*.[Insta
a7940 6c 6c 61 74 69 6f 6e 5d 28 23 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 29 0a 2a 20 5b 46 75 6e 63 74 llation](#installation).*.[Funct
a7960 69 6f 6e 73 5d 28 23 66 75 6e 63 74 69 6f 6e 73 29 0a 2a 20 5b 43 6f 6e 74 72 69 62 75 74 65 5d ions](#functions).*.[Contribute]
a7980 28 23 63 6f 6e 74 72 69 62 75 74 65 29 0a 2a 20 5b 43 6f 6e 74 72 69 62 75 74 6f 72 73 5d 28 23 (#contribute).*.[Contributors](#
a79a0 63 6f 6e 74 72 69 62 75 74 6f 72 73 29 0a 2a 20 5b 4c 69 63 65 6e 73 65 5d 28 23 6c 69 63 65 6e contributors).*.[License](#licen
a79c0 73 65 29 0a 0a 23 23 20 43 68 61 6e 67 65 20 6c 6f 67 0a 0a 53 65 65 20 74 68 65 20 5b 60 4e 45 se)..##.Change.log..See.the.[`NE
a79e0 57 53 2e 6d 64 60 5d 28 4e 45 57 53 2e 6d 64 29 20 66 69 6c 65 2e 0a 0a 23 23 23 20 55 70 63 6f WS.md`](NEWS.md).file...###.Upco
a7a00 6d 69 6e 67 20 62 72 65 61 6b 69 6e 67 20 63 68 61 6e 67 65 21 0a 0a 2d 20 46 6f 72 20 62 61 63 ming.breaking.change!..-.For.bac
a7a20 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 72 65 61 73 6f 6e 73 2c 20 60 2d 7a kward.compatibility.reasons,.`-z
a7a40 69 70 60 20 77 68 65 6e 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 77 6f 0a 20 20 6c 69 73 74 73 ip`.when.called.with.two...lists
a7a60 20 72 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 2c 20 72 .returns.a.list.of.cons.cells,.r
a7a80 61 74 68 65 72 20 74 68 61 6e 20 61 20 6c 69 73 74 20 6f 66 20 70 72 6f 70 65 72 0a 20 20 6c 69 ather.than.a.list.of.proper...li
a7aa0 73 74 73 2e 20 20 54 68 69 73 20 69 73 20 61 20 63 6c 75 6e 6b 79 20 41 50 49 2c 20 61 6e 64 20 sts...This.is.a.clunky.API,.and.
a7ac0 6d 61 79 20 62 65 20 63 68 61 6e 67 65 64 20 69 6e 20 61 20 66 75 74 75 72 65 20 72 65 6c 65 61 may.be.changed.in.a.future.relea
a7ae0 73 65 0a 20 20 74 6f 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 se...to.always.return.a.list.of.
a7b00 70 72 6f 70 65 72 20 6c 69 73 74 73 2c 20 61 73 20 60 2d 7a 69 70 2d 6c 69 73 74 73 60 20 63 75 proper.lists,.as.`-zip-lists`.cu
a7b20 72 72 65 6e 74 6c 79 0a 20 20 64 6f 65 73 2e 0a 0a 20 20 2a 2a 4e 2e 42 2e 3a 2a 2a 20 44 6f 20 rrently...does.....**N.B.:**.Do.
a7b40 6e 6f 74 20 72 65 6c 79 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 65 68 61 76 69 6f 72 not.rely.on.the.current.behavior
a7b60 20 6f 66 20 60 2d 7a 69 70 60 20 66 6f 72 20 74 77 6f 0a 20 20 6c 69 73 74 73 2e 20 20 49 6e 73 .of.`-zip`.for.two...lists...Ins
a7b80 74 65 61 64 2c 20 75 73 65 20 60 2d 7a 69 70 2d 70 61 69 72 60 20 66 6f 72 20 61 20 6c 69 73 74 tead,.use.`-zip-pair`.for.a.list
a7ba0 20 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 2c 20 61 6e 64 0a 20 20 60 2d 7a 69 70 2d 6c 69 73 74 .of.cons.cells,.and...`-zip-list
a7bc0 73 60 20 66 6f 72 20 61 20 6c 69 73 74 20 6f 66 20 70 72 6f 70 65 72 20 6c 69 73 74 73 2e 0a 0a s`.for.a.list.of.proper.lists...
a7be0 23 23 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 44 61 73 68 20 69 73 20 61 76 61 69 6c 61 62 ##.Installation..Dash.is.availab
a7c00 6c 65 20 6f 6e 20 5b 47 4e 55 20 45 4c 50 41 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e le.on.[GNU.ELPA](https://elpa.gn
a7c20 75 2e 6f 72 67 2f 29 2c 20 5b 47 4e 55 2d 64 65 76 65 6c 0a 45 4c 50 41 5d 28 68 74 74 70 73 3a u.org/),.[GNU-devel.ELPA](https:
a7c40 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 29 2c 20 61 6e 64 20 5b 4d 45 4c //elpa.gnu.org/devel/),.and.[MEL
a7c60 50 41 5d 28 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 29 2c 0a 61 6e 64 20 63 61 6e PA](https://melpa.org/),.and.can
a7c80 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 .be.installed.with.the.standard.
a7ca0 63 6f 6d 6d 61 6e 64 20 60 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 60 3a 0a 0a 20 20 20 20 command.`package-install`:......
a7cc0 4d 2d 78 20 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 20 52 45 54 20 64 61 73 68 20 52 45 54 M-x.package-install.RET.dash.RET
a7ce0 0a 0a 53 65 65 20 5b 60 28 69 6e 66 6f 20 22 28 65 6d 61 63 73 29 20 50 61 63 6b 61 67 65 0a 49 ..See.[`(info."(emacs).Package.I
a7d00 6e 73 74 61 6c 6c 61 74 69 6f 6e 22 29 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f nstallation")`](https://gnu.org/
a7d20 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f software/emacs/manual/html_node/
a7d40 65 6d 61 63 73 2f 50 61 63 6b 61 67 65 2d 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2e 68 74 6d 6c 29 emacs/Package-Installation.html)
a7d60 2e 0a 0a 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 2c 20 79 6f 75 20 63 61 6e 20 6a 75 73 74 20 64 ...Alternatively,.you.can.just.d
a7d80 75 6d 70 20 60 64 61 73 68 2e 65 6c 60 20 69 6e 20 79 6f 75 72 20 60 6c 6f 61 64 2d 70 61 74 68 ump.`dash.el`.in.your.`load-path
a7da0 60 0a 73 6f 6d 65 77 68 65 72 65 2e 20 20 53 65 65 20 5b 60 28 69 6e 66 6f 20 22 28 65 6d 61 63 `.somewhere...See.[`(info."(emac
a7dc0 73 29 20 4c 69 73 70 0a 4c 69 62 72 61 72 69 65 73 22 29 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e s).Lisp.Libraries")`](https://gn
a7de0 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c u.org/software/emacs/manual/html
a7e00 5f 6e 6f 64 65 2f 65 6d 61 63 73 2f 4c 69 73 70 2d 4c 69 62 72 61 72 69 65 73 2e 68 74 6d 6c 29 _node/emacs/Lisp-Libraries.html)
a7e20 2e 0a 0a 23 23 23 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 0a 0a 41 64 64 20 73 ...###.Using.in.a.package..Add.s
a7e40 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 74 68 69 73 20 74 6f 20 74 68 65 20 6c 69 62 72 61 72 omething.like.this.to.the.librar
a7e60 79 27 73 20 68 65 61 64 65 72 73 3a 0a 0a 20 20 20 20 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 y's.headers:......;;.Package-Req
a7e80 75 69 72 65 73 3a 20 28 28 64 61 73 68 20 22 5b 5b 20 64 61 73 68 2d 76 65 72 73 69 6f 6e 20 5d uires:.((dash."[[.dash-version.]
a7ea0 5d 22 29 29 0a 0a 53 65 65 20 5b 60 28 69 6e 66 6f 20 22 28 65 6c 69 73 70 29 20 4c 69 62 72 61 ]"))..See.[`(info."(elisp).Libra
a7ec0 72 79 0a 48 65 61 64 65 72 73 22 29 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 ry.Headers")`](https://gnu.org/s
a7ee0 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 oftware/emacs/manual/html_node/e
a7f00 6c 69 73 70 2f 4c 69 62 72 61 72 79 2d 48 65 61 64 65 72 73 2e 68 74 6d 6c 29 2e 0a 0a 23 23 23 lisp/Library-Headers.html)...###
a7f20 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 20 76 61 72 69 61 62 .Fontification.of.special.variab
a7f40 6c 65 73 0a 0a 46 6f 6e 74 20 6c 6f 63 6b 20 6f 66 20 73 70 65 63 69 61 6c 20 44 61 73 68 20 76 les..Font.lock.of.special.Dash.v
a7f60 61 72 69 61 62 6c 65 73 20 28 60 69 74 60 2c 20 60 61 63 63 60 2c 20 65 74 63 2e 29 20 69 6e 20 ariables.(`it`,.`acc`,.etc.).in.
a7f80 45 6d 61 63 73 20 4c 69 73 70 0a 62 75 66 66 65 72 73 20 63 61 6e 20 6f 70 74 69 6f 6e 61 6c 6c Emacs.Lisp.buffers.can.optionall
a7fa0 79 20 62 65 20 65 6e 61 62 6c 65 64 20 77 69 74 68 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 64 y.be.enabled.with.the.autoloaded
a7fc0 20 6d 69 6e 6f 72 20 6d 6f 64 65 0a 60 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 60 2e .minor.mode.`dash-fontify-mode`.
a7fe0 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 20 77 68 69 63 68 20 ..In.older.Emacs.versions.which.
a8000 64 6f 20 6e 6f 74 20 64 79 6e 61 6d 69 63 61 6c 6c 79 0a 64 65 74 65 63 74 20 6d 61 63 72 6f 73 do.not.dynamically.detect.macros
a8020 2c 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 61 6c 73 6f 20 66 6f 6e 74 69 66 69 65 73 20 ,.the.minor.mode.also.fontifies.
a8040 44 61 73 68 20 6d 61 63 72 6f 20 63 61 6c 6c 73 2e 0a 0a 54 6f 20 61 75 74 6f 6d 61 74 69 63 61 Dash.macro.calls...To.automatica
a8060 6c 6c 79 20 65 6e 61 62 6c 65 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 69 6e 20 61 6c 6c lly.enable.the.minor.mode.in.all
a8080 20 45 6d 61 63 73 20 4c 69 73 70 20 62 75 66 66 65 72 73 2c 20 6a 75 73 74 0a 63 61 6c 6c 20 69 .Emacs.Lisp.buffers,.just.call.i
a80a0 74 73 20 61 75 74 6f 6c 6f 61 64 65 64 20 67 6c 6f 62 61 6c 20 63 6f 75 6e 74 65 72 70 61 72 74 ts.autoloaded.global.counterpart
a80c0 20 60 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 60 2c 0a 65 69 74 .`global-dash-fontify-mode`,.eit
a80e0 68 65 72 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 6f 72 20 66 72 6f 6d 20 79 6f 75 72 20 60 her.interactively.or.from.your.`
a8100 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 60 3a 0a 0a 60 60 60 65 6c 0a 28 67 6c 6f 62 61 6c 2d user-init-file`:..```el.(global-
a8120 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 29 0a 60 60 60 0a 0a 23 23 23 20 49 6e 66 6f dash-fontify-mode).```..###.Info
a8140 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 0a 0a 57 68 69 6c 65 20 65 64 69 74 69 6e 67 20 45 6c .symbol.lookup..While.editing.El
a8160 69 73 70 20 66 69 6c 65 73 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 60 43 2d 68 20 53 60 20 28 isp.files,.you.can.use.`C-h.S`.(
a8180 60 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 2d 73 79 6d 62 6f 6c 60 29 0a 74 6f 20 6c 6f 6f 6b 20 75 70 `info-lookup-symbol`).to.look.up
a81a0 20 45 6c 69 73 70 20 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 .Elisp.symbols.in.the.relevant.I
a81c0 6e 66 6f 20 6d 61 6e 75 61 6c 73 20 28 73 65 65 20 5b 60 28 65 6d 61 63 73 29 0a 49 6e 66 6f 0a nfo.manuals.(see.[`(emacs).Info.
a81e0 4c 6f 6f 6b 75 70 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 Lookup`](https://gnu.org/softwar
a8200 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6d 61 63 73 2f 49 e/emacs/manual/html_node/emacs/I
a8220 6e 66 6f 2d 4c 6f 6f 6b 75 70 2e 68 74 6d 6c 29 29 2e 0a 54 6f 20 65 6e 61 62 6c 65 20 74 68 65 nfo-Lookup.html))..To.enable.the
a8240 20 73 61 6d 65 20 66 6f 72 20 44 61 73 68 20 73 79 6d 62 6f 6c 73 2c 20 75 73 65 20 74 68 65 20 .same.for.Dash.symbols,.use.the.
a8260 63 6f 6d 6d 61 6e 64 0a 60 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b command.`dash-register-info-look
a8280 75 70 60 2e 20 20 49 74 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 64 69 72 65 63 74 6c 79 20 up`...It.can.be.called.directly.
a82a0 77 68 65 6e 20 6e 65 65 64 65 64 2c 0a 6f 72 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 when.needed,.or.automatically.fr
a82c0 6f 6d 20 79 6f 75 72 20 60 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 60 2e 20 20 46 6f 72 20 65 om.your.`user-init-file`...For.e
a82e0 78 61 6d 70 6c 65 3a 0a 0a 60 60 60 65 6c 0a 28 77 69 74 68 2d 65 76 61 6c 2d 61 66 74 65 72 2d xample:..```el.(with-eval-after-
a8300 6c 6f 61 64 20 27 69 6e 66 6f 2d 6c 6f 6f 6b 0a 20 20 28 64 61 73 68 2d 72 65 67 69 73 74 65 72 load.'info-look...(dash-register
a8320 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 29 29 0a 60 60 60 0a 0a 23 23 20 46 75 6e 63 74 69 6f 6e 73 -info-lookup)).```..##.Functions
a8340 0a 0a 41 6c 6c 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 63 6f 6e 73 74 72 75 63 74 73 20 69 ..All.functions.and.constructs.i
a8360 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 75 73 65 20 61 20 64 61 73 68 20 28 60 2d 60 29 20 70 n.the.library.use.a.dash.(`-`).p
a8380 72 65 66 69 78 2e 0a 0a 54 68 65 20 6c 69 62 72 61 72 79 20 61 6c 73 6f 20 70 72 6f 76 69 64 65 refix...The.library.also.provide
a83a0 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 20 6f 66 20 66 75 s.anaphoric.macro.versions.of.fu
a83c0 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 65 6e 73 65 2e 20 nctions.where.that.makes.sense..
a83e0 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 20 61 72 65 20 70 .The.names.of.these.macros.are.p
a8400 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 60 2d 2d 60 29 20 69 refixed.with.two.dashes.(`--`).i
a8420 6e 73 74 65 61 64 20 6f 66 20 6f 6e 65 2e 0a 0a 57 68 69 6c 65 20 60 2d 6d 61 70 60 20 61 70 70 nstead.of.one...While.`-map`.app
a8440 6c 69 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 lies.a.function.to.each.element.
a8460 6f 66 20 61 20 6c 69 73 74 2c 20 69 74 73 0a 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 of.a.list,.its.anaphoric.counter
a8480 70 61 72 74 20 60 2d 2d 6d 61 70 60 20 65 76 61 6c 75 61 74 65 73 20 61 20 66 6f 72 6d 20 77 69 part.`--map`.evaluates.a.form.wi
a84a0 74 68 20 74 68 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 0a 60 69 74 60 20 74 65 6d 70 6f th.the.local.variable.`it`.tempo
a84c0 72 61 72 69 6c 79 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 rarily.bound.to.the.current.list
a84e0 20 65 6c 65 6d 65 6e 74 20 69 6e 73 74 65 61 64 2e 20 20 46 6f 72 0a 65 78 61 6d 70 6c 65 3a 0a .element.instead...For.example:.
a8500 0a 60 60 60 65 6c 0a 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 .```el.(-map.(lambda.(n).(*.n.n)
a8520 29 20 27 28 31 20 32 20 33 20 34 29 29 20 3b 20 4e 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e 2e 0a ).'(1.2.3.4)).;.Normal.version..
a8540 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 20 20 20 20 (--map.(*.it.it).'(1.2.3.4))....
a8560 20 20 20 20 20 20 20 3b 20 41 6e 61 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 2e 0a 60 60 60 0a .......;.Anaphoric.version..```.
a8580 0a 54 68 65 20 6e 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e 20 63 61 6e 20 6f 66 20 63 6f 75 72 73 .The.normal.version.can.of.cours
a85a0 65 20 61 6c 73 6f 20 62 65 20 77 72 69 74 74 65 6e 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 60 e.also.be.written.as.follows:..`
a85c0 60 60 65 6c 0a 28 64 65 66 75 6e 20 6d 79 2d 73 71 75 61 72 65 20 28 6e 29 0a 20 20 22 52 65 74 ``el.(defun.my-square.(n)..."Ret
a85e0 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 0a 20 20 28 urn.N.multiplied.by.itself."...(
a8600 2a 20 6e 20 6e 29 29 0a 0a 28 2d 6d 61 70 20 23 27 6d 79 2d 73 71 75 61 72 65 20 27 28 31 20 32 *.n.n))..(-map.#'my-square.'(1.2
a8620 20 33 20 34 29 29 0a 60 60 60 0a 0a 54 68 69 73 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 74 68 .3.4)).```..This.demonstrates.th
a8640 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 5b 5b 20 66 e.utility.of.both.versions..[[.f
a8660 75 6e 63 74 69 6f 6e 2d 6c 69 73 74 20 5d 5d 0a 0a 5b 5b 20 66 75 6e 63 74 69 6f 6e 2d 64 6f 63 unction-list.]]..[[.function-doc
a8680 73 20 5d 5d 0a 23 23 20 43 6f 6e 74 72 69 62 75 74 65 0a 0a 59 65 73 2c 20 70 6c 65 61 73 65 20 s.]].##.Contribute..Yes,.please.
a86a0 64 6f 2e 20 20 50 75 72 65 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 6c 69 73 74 20 do...Pure.functions.in.the.list.
a86c0 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 72 65 61 6c 6d 20 6f 6e 6c 79 2c 0a 70 6c 65 61 73 65 2e manipulation.realm.only,.please.
a86e0 20 20 54 68 65 72 65 27 73 20 61 20 73 75 69 74 65 20 6f 66 20 65 78 61 6d 70 6c 65 73 2f 74 65 ..There's.a.suite.of.examples/te
a8700 73 74 73 20 69 6e 20 60 64 65 76 2f 65 78 61 6d 70 6c 65 73 2e 65 6c 60 2c 20 73 6f 0a 72 65 6d sts.in.`dev/examples.el`,.so.rem
a8720 65 6d 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 ember.to.add.tests.for.your.addi
a8740 74 69 6f 6e 73 2c 20 6f 72 20 49 20 6d 69 67 68 74 20 62 72 65 61 6b 20 74 68 65 6d 20 6c 61 74 tions,.or.I.might.break.them.lat
a8760 65 72 2e 0a 0a 59 6f 75 27 6c 6c 20 66 69 6e 64 20 74 68 65 20 72 65 70 6f 20 61 74 3a 0a 0a 20 er...You'll.find.the.repo.at:...
a8780 20 20 20 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 61 ...https://github.com/magnars/da
a87a0 73 68 2e 65 6c 0a 0a 52 75 6e 20 74 68 65 20 74 65 73 74 73 20 77 69 74 68 3a 0a 0a 20 20 20 20 sh.el..Run.the.tests.with:......
a87c0 6d 61 6b 65 20 63 68 65 63 6b 0a 0a 52 65 67 65 6e 65 72 61 74 65 20 74 68 65 20 64 6f 63 73 20 make.check..Regenerate.the.docs.
a87e0 77 69 74 68 3a 0a 0a 20 20 20 20 6d 61 6b 65 20 64 6f 63 73 0a 0a 49 20 68 69 67 68 6c 79 20 72 with:......make.docs..I.highly.r
a8800 65 63 6f 6d 6d 65 6e 64 20 74 68 61 74 20 79 6f 75 20 69 6e 73 74 61 6c 6c 20 74 68 65 73 65 20 ecommend.that.you.install.these.
a8820 61 73 20 61 20 70 72 65 2d 63 6f 6d 6d 69 74 20 68 6f 6f 6b 2c 20 73 6f 0a 74 68 61 74 20 74 68 as.a.pre-commit.hook,.so.that.th
a8840 65 20 74 65 73 74 73 20 61 72 65 20 61 6c 77 61 79 73 20 72 75 6e 6e 69 6e 67 20 61 6e 64 20 74 e.tests.are.always.running.and.t
a8860 68 65 20 64 6f 63 73 20 61 72 65 20 61 6c 77 61 79 73 20 69 6e 20 73 79 6e 63 3a 0a 0a 20 20 20 he.docs.are.always.in.sync:.....
a8880 20 63 70 20 64 65 76 2f 70 72 65 2d 63 6f 6d 6d 69 74 2e 73 68 20 2e 67 69 74 2f 68 6f 6f 6b 73 .cp.dev/pre-commit.sh..git/hooks
a88a0 2f 70 72 65 2d 63 6f 6d 6d 69 74 0a 0a 4f 68 2c 20 61 6e 64 20 64 6f 6e 27 74 20 65 64 69 74 20 /pre-commit..Oh,.and.don't.edit.
a88c0 60 52 45 41 44 4d 45 2e 6d 64 60 20 6f 72 20 60 64 61 73 68 2e 74 65 78 69 60 20 64 69 72 65 63 `README.md`.or.`dash.texi`.direc
a88e0 74 6c 79 3b 20 74 68 65 79 20 61 72 65 0a 61 75 74 6f 2d 67 65 6e 65 72 61 74 65 64 2e 20 20 43 tly;.they.are.auto-generated...C
a8900 68 61 6e 67 65 20 60 72 65 61 64 6d 65 2d 74 65 6d 70 6c 61 74 65 2e 6d 64 60 20 6f 72 20 60 64 hange.`readme-template.md`.or.`d
a8920 61 73 68 2d 74 65 6d 70 6c 61 74 65 2e 74 65 78 69 60 0a 69 6e 73 74 65 61 64 2c 20 72 65 73 70 ash-template.texi`.instead,.resp
a8940 65 63 74 69 76 65 6c 79 2e 0a 0a 54 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 60 64 61 73 68 2e ectively...To.ensure.that.`dash.
a8960 65 6c 60 20 63 61 6e 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 el`.can.be.distributed.with.GNU.
a8980 45 4c 50 41 20 6f 72 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 ELPA.or.Emacs,.we.require.that.a
a89a0 6c 6c 20 63 6f 6e 74 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 ll.contributors.assign.copyright
a89c0 20 74 6f 20 74 68 65 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 .to.the.Free.Software.Foundation
a89e0 2e 20 20 46 6f 72 20 6d 6f 72 65 20 6f 6e 20 74 68 69 73 2c 20 73 65 65 20 5b 60 28 69 6e 66 6f ...For.more.on.this,.see.[`(info
a8a00 20 22 28 65 6d 61 63 73 29 20 43 6f 70 79 72 69 67 68 74 0a 41 73 73 69 67 6e 6d 65 6e 74 22 29 ."(emacs).Copyright.Assignment")
a8a20 60 5d 28 68 74 74 70 73 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 `](https://gnu.org/software/emac
a8a40 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6d 61 63 73 2f 43 6f 70 79 72 69 67 s/manual/html_node/emacs/Copyrig
a8a60 68 74 2d 41 73 73 69 67 6e 6d 65 6e 74 2e 68 74 6d 6c 29 2e 0a 0a 23 23 20 43 6f 6e 74 72 69 62 ht-Assignment.html)...##.Contrib
a8a80 75 74 6f 72 73 0a 0a 2d 20 5b 4d 61 74 75 73 20 47 6f 6c 6a 65 72 5d 28 68 74 74 70 73 3a 2f 2f utors..-.[Matus.Goljer](https://
a8aa0 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 6f github.com/Fuco1).contributed.lo
a8ac0 74 73 20 6f 66 20 66 65 61 74 75 72 65 73 20 61 6e 64 0a 20 20 66 75 6e 63 74 69 6f 6e 73 2e 0a ts.of.features.and...functions..
a8ae0 2d 20 5b 54 61 6b 61 66 75 6d 69 20 41 72 61 6b 61 6b 69 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 -.[Takafumi.Arakaki](https://git
a8b00 68 75 62 2e 63 6f 6d 2f 74 6b 66 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 67 72 6f 75 70 hub.com/tkf).contributed.`-group
a8b20 2d 62 79 60 2e 0a 2d 20 5b 74 61 6c 69 37 31 33 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 -by`..-.[tali713](https://github
a8b40 2e 63 6f 6d 2f 74 61 6c 69 37 31 33 29 20 69 73 20 74 68 65 20 61 75 74 68 6f 72 20 6f 66 20 60 .com/tali713).is.the.author.of.`
a8b60 2d 61 70 70 6c 69 66 79 60 2e 0a 2d 20 5b 56 c3 ad 63 74 6f 72 20 4d 2e 20 56 61 6c 65 6e 7a 75 -applify`..-.[V..ctor.M..Valenzu
a8b80 65 6c 61 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 76 65 6d 76 29 20 63 6f ela](https://github.com/vemv).co
a8ba0 6e 74 72 69 62 75 74 65 64 20 60 2d 72 65 70 65 61 74 60 2e 0a 2d 20 5b 4e 69 63 20 46 65 72 72 ntributed.`-repeat`..-.[Nic.Ferr
a8bc0 69 65 72 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6e 69 63 66 65 72 72 69 ier](https://github.com/nicferri
a8be0 65 72 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 63 6f 6e 73 2a 60 2e 0a 2d 20 5b 57 69 6c er).contributed.`-cons*`..-.[Wil
a8c00 66 72 65 64 20 48 75 67 68 65 73 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f fred.Hughes](https://github.com/
a8c20 57 69 6c 66 72 65 64 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 73 6c 69 63 65 60 2c 0a 20 Wilfred).contributed.`-slice`,..
a8c40 20 60 2d 66 69 72 73 74 2d 69 74 65 6d 60 2c 20 61 6e 64 20 60 2d 6c 61 73 74 2d 69 74 65 6d 60 .`-first-item`,.and.`-last-item`
a8c60 2e 0a 2d 20 5b 45 6d 61 6e 75 65 6c 20 45 76 61 6e 73 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 ..-.[Emanuel.Evans](https://gith
a8c80 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 60 2d 69 66 2d ub.com/shosti).contributed.`-if-
a8ca0 6c 65 74 60 2c 20 60 2d 77 68 65 6e 2d 6c 65 74 60 2c 0a 20 20 61 6e 64 20 60 2d 69 6e 73 65 72 let`,.`-when-let`,...and.`-inser
a8cc0 74 2d 61 74 60 2e 0a 2d 20 5b 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 5d 28 68 74 74 70 73 t-at`..-.[Johan.Andersson](https
a8ce0 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 6a 65 65 70 29 20 63 6f 6e 74 72 69 62 75 74 65 ://github.com/rejeep).contribute
a8d00 64 20 60 2d 73 75 6d 60 2c 20 60 2d 70 72 6f 64 75 63 74 60 2c 0a 20 20 61 6e 64 20 60 2d 73 61 d.`-sum`,.`-product`,...and.`-sa
a8d20 6d 65 2d 69 74 65 6d 73 3f 60 2e 0a 2d 20 5b 43 68 72 69 73 74 69 6e 61 20 57 68 79 74 65 5d 28 me-items?`..-.[Christina.Whyte](
a8d40 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 68 79 74 65 29 20 https://github.com/kurisuwhyte).
a8d60 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 63 6f 6d 70 6f 73 65 60 2e 0a 2d 20 5b 53 74 65 76 65 contributed.`-compose`..-.[Steve
a8d80 20 4c 61 6d 62 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 74 65 76 65 6e .Lamb](https://github.com/steven
a8da0 74 6c 61 6d 62 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 63 79 63 6c 65 60 2c 20 60 2d 70 tlamb).contributed.`-cycle`,.`-p
a8dc0 61 64 60 2c 0a 20 20 60 2d 61 6e 6e 6f 74 61 74 65 60 2c 20 60 2d 7a 69 70 2d 66 69 6c 6c 60 2c ad`,...`-annotate`,.`-zip-fill`,
a8de0 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 20 60 2d 7a 69 70 .and.a.variadic.version.of.`-zip
a8e00 60 2e 0a 2d 20 5b 46 72 65 64 72 69 6b 20 42 65 72 67 72 6f 74 68 5d 28 68 74 74 70 73 3a 2f 2f `..-.[Fredrik.Bergroth](https://
a8e20 67 69 74 68 75 62 2e 63 6f 6d 2f 66 62 65 72 67 72 6f 74 68 29 20 6d 61 64 65 20 74 68 65 20 60 github.com/fbergroth).made.the.`
a8e40 2d 69 66 2d 6c 65 74 60 20 66 61 6d 69 6c 79 20 75 73 65 0a 20 20 60 2d 6c 65 74 60 20 64 65 73 -if-let`.family.use...`-let`.des
a8e60 74 72 75 63 74 75 72 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 tructuring.and.improved.the.scri
a8e80 70 74 20 66 6f 72 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 pt.for.generating.documentation.
a8ea0 0a 2d 20 5b 4d 61 72 6b 20 4f 74 65 69 7a 61 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e .-.[Mark.Oteiza](https://github.
a8ec0 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 60 2d 69 6f 74 com/holomorph).contributed.`-iot
a8ee0 61 60 20 61 6e 64 0a 20 20 74 68 65 20 73 63 72 69 70 74 20 74 6f 20 63 72 65 61 74 65 20 61 6e a`.and...the.script.to.create.an
a8f00 20 49 6e 66 6f 20 6d 61 6e 75 61 6c 2e 0a 2d 20 5b 56 61 73 69 6c 69 6a 20 53 63 68 6e 65 69 64 .Info.manual..-.[Vasilij.Schneid
a8f20 65 72 6d 61 6e 6e 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 77 61 73 61 6d ermann](https://github.com/wasam
a8f40 61 73 61 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 73 6f 6d 65 60 2e 0a 2d 20 5b 57 69 6c asa).contributed.`-some`..-.[Wil
a8f60 6c 69 61 6d 20 57 65 73 74 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6f 63 liam.West](https://github.com/oc
a8f80 63 69 64 65 6e 73 29 20 6d 61 64 65 20 60 2d 66 69 78 66 6e 60 20 6d 6f 72 65 20 72 6f 62 75 73 cidens).made.`-fixfn`.more.robus
a8fa0 74 20 61 74 0a 20 20 68 61 6e 64 6c 69 6e 67 20 66 6c 6f 61 74 73 2e 0a 2d 20 5b 43 61 6d 20 53 t.at...handling.floats..-.[Cam.S
a8fc0 61 75 6c 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 61 6d 73 61 75 6c 29 aul](https://github.com/camsaul)
a8fe0 20 63 6f 6e 74 72 69 62 75 74 65 64 20 60 2d 73 6f 6d 65 2d 3e 60 2c 20 60 2d 73 6f 6d 65 2d 3e .contributed.`-some->`,.`-some->
a9000 3e 60 2c 20 61 6e 64 0a 20 20 60 2d 73 6f 6d 65 2d 2d 3e 60 2e 0a 2d 20 5b 42 61 73 69 6c 20 4c >`,.and...`-some-->`..-.[Basil.L
a9020 2e 20 43 6f 6e 74 6f 76 6f 75 6e 65 73 69 6f 73 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 ..Contovounesios](https://github
a9040 2e 63 6f 6d 2f 62 61 73 69 6c 2d 63 6f 6e 74 6f 29 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 20 20 .com/basil-conto).contributed...
a9060 60 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 60 2c 20 60 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 `-common-prefix`,.`-common-suffi
a9080 78 60 2c 20 61 6e 64 20 76 61 72 69 6f 75 73 20 6f 74 68 65 72 20 69 6d 70 72 6f 76 65 6d 65 6e x`,.and.various.other.improvemen
a90a0 74 73 2e 0a 2d 20 5b 50 61 75 6c 20 50 6f 67 6f 6e 79 73 68 65 76 5d 28 68 74 74 70 73 3a 2f 2f ts..-.[Paul.Pogonyshev](https://
a90c0 67 69 74 68 75 62 2e 63 6f 6d 2f 64 6f 75 62 6c 65 70 29 20 63 6f 6e 74 72 69 62 75 74 65 64 20 github.com/doublep).contributed.
a90e0 60 2d 65 61 63 68 2d 72 60 20 61 6e 64 0a 20 20 60 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 60 2e `-each-r`.and...`-each-r-while`.
a9100 0a 0a 54 68 61 6e 6b 73 21 0a 0a 4e 65 77 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 20 61 72 65 20 ..Thanks!..New.contributors.are.
a9120 76 65 72 79 20 77 65 6c 63 6f 6d 65 2e 20 20 53 65 65 20 74 68 65 0a 5b 60 43 6f 6e 74 72 69 62 very.welcome...See.the.[`Contrib
a9140 75 74 65 60 5d 28 23 63 6f 6e 74 72 69 62 75 74 65 29 20 73 65 63 74 69 6f 6e 20 61 62 6f 76 65 ute`](#contribute).section.above
a9160 2e 0a 0a 23 23 20 4c 69 63 65 6e 73 65 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 ...##.License..Copyright.(C).201
a9180 32 2d 32 30 32 31 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 2-2021.Free.Software.Foundation,
a91a0 20 49 6e 63 2e 0a 0a 41 75 74 68 6f 72 3a 20 4d 61 67 6e 61 72 20 53 76 65 65 6e 20 3c 6d 61 67 .Inc...Author:.Magnar.Sveen.<mag
a91c0 6e 61 72 73 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 0a 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 nars@gmail.com>..This.program.is
a91e0 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 .free.software:.you.can.redistri
a9200 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 69 74 20 75 6e 64 65 72 20 74 bute.it.and/or.modify.it.under.t
a9220 68 65 20 74 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 he.terms.of.the.GNU.General.Publ
a9240 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 74 68 65 20 46 ic.License.as.published.by.the.F
a9260 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 20 ree.Software.Foundation,.either.
a9280 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 0a 28 61 74 version.3.of.the.License,.or.(at
a92a0 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 72 73 69 6f 6e 2e .your.option).any.later.version.
a92c0 0a 0a 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e ..This.program.is.distributed.in
a92e0 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c .the.hope.that.it.will.be.useful
a9300 2c 0a 62 75 74 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 ,.but.WITHOUT.ANY.WARRANTY;.with
a9320 6f 75 74 20 65 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 out.even.the.implied.warranty.of
a9340 0a 4d 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 .MERCHANTABILITY.or.FITNESS.FOR.
a9360 41 20 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 47 A.PARTICULAR.PURPOSE...See.the.G
a9380 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 6f NU.General.Public.License.for.mo
a93a0 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 re.details...You.should.have.rec
a93c0 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 72 61 6c 20 eived.a.copy.of.the.GNU.General.
a93e0 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 Public.License.along.with.this.p
a9400 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 2f 2f 77 77 rogram...If.not,.see.<https://ww
a9420 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 00 00 00 00 00 00 00 00 00 00 w.gnu.org/licenses/>............
a9440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a94a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a94c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a94e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a95a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a95c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a95e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9600 64 61 73 68 2d 32 2e 31 39 2e 31 2f 2e 65 6c 70 61 69 67 6e 6f 72 65 00 00 00 00 00 00 00 00 00 dash-2.19.1/.elpaignore.........
a9620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9660 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
a9680 30 30 30 30 30 30 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 33 30 34 00 20 30 00 00 00 0000006.00000000000.013304..0...
a96a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a96c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a96e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9700 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...................
a9720 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...................
a9740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a97a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a97c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a97e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9800 64 65 76 2f 2a 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 dev/*...........................
a9820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a98a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a98c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a98e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a99a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a99c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a99e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................